In regards to the Kotlin 1.2 release:
Kotlin 1.2 is already bundled in IntelliJ IDEA 2017.3, which is being released this week. If you’re using Android Studio or an older version of IntelliJ IDEA, you can install the new version from the Tools | Kotlin | Configure Kotlin Plugin Updates dialog.
This release includes a lot of work done by external contributors, and we’d like to thank everyone who sent us feedback, reported issues, and especially those who submitted pull requests.
A multiplatform project allows you to build multiple tiers of your application – backend, frontend and Android app – from the same codebase. Such a project contains both common modules, which contain platform-independent code, as well as platform-specific modules, which contain code for a specific platform (JVM or JS) and can use platform-specific libraries. To call platform-specific code from a common module, you can specify expected declarations – declarations for which all platform-specific modules need to provide actual implementations.
Multiplatform projects isn’t the only new feature of Kotlin 1.2, other new 1.2 features include:
- A more concise syntax for passing multiple arguments to an annotation (array literals);
- Support for the
lateinitmodifier on top-level properties and local variables, as well as checking whether a
lateinitvariable is initialized;
- Smarter smart casts and improved type inference in certain cases;
- Compatibility of the standard library with the split package restrictions introduced in Java 9;
kotlin.mathpackage in the standard library;
- New standard library functions for working with sequences and collections, including a set of functions for breaking a collection or sequence into potentially overlapping groups of a fixed size.
You can learn more about the release on their blog as well as in the more detailed What’s New article. I did a cheat sheet for programmers used to other languages to get up to speed with Kotlin. This was written shortly after the language was released however, so may not be current in regards to modern Kotlin language features.