Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 41 additions & 0 deletions _posts/2016-10-03-xtermjs-2.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
---
title: Announcing xterm.js 2.0
author: parisk
categories: xtermjs update
---

We are excited to announce a new major update for xterm.js; **<a href="https://github.com/sourcelair/xterm.js" target="_blank">xterm.js 2.0</a>**! This new release includes the following great updates:

1. Launch of official project website with [public API docs](/docs/) and [blog](/blog/)
2. Migration of code base to ES2015 modules to make development much easier
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is not so important for an update announcement imo and should we mention it if we're moving to TypeScript?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it's a good idea to have this here to encourage developers to contribute.

Considering TypeScript, since we are not settled on this yet let's leave it out of this "announcement".

3. Significant features and improvements

Let's take a quick look on each one of this updates

## Project website
Xterm.js definitely deserved it's own place in the web, so we gifted [xtermjs.org](http://xtermjs.org) to it! Here you can find the official [docs](/docs/) for the public API of the project, including some more high-level guides and a [blog](/blog/), where we will post articles about xterm.js, like releases, presentations, engineering etc.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

including some more high-level guides -> include some high-level guides


## Migration to ES2015
Xterm.js used to be a huge monolith and it was a real pain to develop it, especially when dealing with core parts like rendering. We decided to take a big step forward, break the code base into multiple native ES2015 modules and ship xterm.js as a UMD monolith which can be imported using either native modules, CommonJS, RequireJS or no module system at all!
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"develop it" -> "maintain" or "work on" sounds better imo


This will allow us to develop xterm.js faster, with less hassle and friction and at the end ship a better open source project to the world.

### ⚠️ Migrating from xterm.js 1.0 to 2.0
Since this is a major xterm.js release, we had to break our public API because of this update, so take a look here before migrating!

The only thing that you have to take into account when migrating from xterm.js 1.0 to 2.0 is importing the appropriate files. The xterm.js core is not stored as two built files (one JavaScript and one CSS) into the `dist` directory of the code base (instead of `src`, where they used to be).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A mention on the fact that the API is not strict would be good, meaning that people may have been relying on what we now consider to be private and could change at any time without notice.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.


To learn more about how to import xterm.js properly into your project, take a look at the [Importing](/docs/guides/import/) documentation page.

**Note**: If you are importing xterm.js using CommonJS, there should be nothing to change there, since we updated the package.json file of the project accordingly.

## Features and improvements
Copy link
Member

@Tyriar Tyriar Oct 3, 2016

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure the level of detail we want here but:

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍 Added Terminal.clear reference. The rest are mentioned in the GitHub Release.

Xterm.js 2.0 ships with a few great improvements:

- New APIs to [get](http://xtermjs.org/docs/api/Terminal/#getoptionkey) and [set](http://xtermjs.org/docs/api/Terminal/#setoptionkey-value) terminal options
- Better mouse and mouse wheel support
- Improved scrolling in curses-based applications (e.g. Vim)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The biggest wins from my perspective is scrolling in oh-my-zsh and powershell for Linux. Not sure vim scrolling changed did it?


As always, this release could not be made possible without the contribution of our [**amazing contributors**](https://github.com/sourcelair/xterm.js/blob/2.0.1/AUTHORS), so **THANK YOU** for making this happen!

Xterm.js 2.0 is available at [npm](http://npmjs.org/package/xterm), [bower](https://bower.io) and [GitHub Releases](https://github.com/sourcelair/xterm.js/releases/tag/2.0.1) as usual, so go get it and create amazing terminal apps now!