Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
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
12 changes: 12 additions & 0 deletions _includes/head.html
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,16 @@
<link rel="canonical" href="{{ page.url | replace:'index.html','' | prepend: site.baseurl | prepend: site.url }}">
<script src="https://code.jquery.com/jquery-3.1.1.slim.min.js" integrity="sha256-/SIrNqv8h6QGKDuNoLGA4iret+kyesCkHGzVUUV0shc=" crossorigin="anonymous"></script>
<script src="https://use.fontawesome.com/47de3a5ce8.js"></script>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

// Run Google Analytics only on xtermjs.org
ga = (window.location.host == 'xtermjs.org') ? ga : function () {console.log('ga', arguments)}
ga('create', 'UA-85165416-1', 'auto');
ga('send', 'pageview');

</script>
</head>
44 changes: 44 additions & 0 deletions _posts/2016-10-03-xtermjs-2.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
---
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 high-level guides and a [blog](/blog/), where we will post articles about xterm.js, like releases, presentations, engineering etc.

**⚠️ Attention:** From now on, our public API is only the one documented in [http://xtermjs.org/docs/](http://xtermjs.org/docs/). Any other attributes, methods or events that you might be relying in previous versions should not be considered stable and might change without notice!

## Migration to ES2015
Xterm.js used to be a huge monolith and it was a real pain to work on, 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](https://github.com/umdjs/umd) monolith which can be imported using either native modules, CommonJS, RequireJS or no module system at all!

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
- New API to [clear](http://xtermjs.org/docs/api/Terminal/#clear) terminal
- Better mouse and mouse wheel support
- Improved scrolling in oh-my-zsh

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!