Improvements to the new version start with better class support for mixins. This has been achieved by loosening some restrictions on classes, and by adjusting the way intersection types operate. These changs mean you can now express mixin-style classes in ES2015, where a class can extend anything that constructs some object type. This can be used to bridge ES2015 classes with APIs like Ember.Object.extend.
The editor is another area that has been improved, with some more quick fixes (also called code actions), that can guide you in fixing up errors. This includes
Adding missing imports
Adding missing properties
Adding forgotten this. to variables
Removing unused declarations
Implementing abstract members
There's a new object type in this version that matches any types except for primitive types. This means you can assign anything to the object type except for string, boolean, number, and symbol.
In previous versions, you couldn't access a property via the string index very easily, but in this version you access it using code such as x.propName.
The developers have added a new option for JSX, emit mode. This joins the preserve and react options, and is like a combination of the two, in that it emits to .js files (like --jsx react), but leaves JSX syntax alone (like --jsx preserve). The new mode reflects React Native’s behavior, which expects all input files to be .js files.
The final notable change is the addition of support for .the new.target metaproperty added in ES2015. This lets constructors figure out if a subclass is being constructed.
The developers are now working on TypeScript 2.3, and are planning to deliver