Skip to content

Releases: JetBrains/kotlin

Kotlin M8

02 Jul 13:13
Compare
Choose a tag to compare
Kotlin M8 Pre-release
Pre-release

What's new:

  • JVM
    • Reflection for properties introduced
    • Inline functions
      • Inlines into objects are supported
      • Default parameter values supported for inline functions
    • Generated code speedups
      • delegated properties work faster now
      • when's with constants are faster due to dedicated bytecode instructions used
    • breaking change Reporting platform signature clashes
      • [platformName] annotation to resolve signature conflicts
    • transient, synchronized and strictfp supported on the JVM
  • JS
    • data classes supported
    • LinkedHashSet/LinkedHashMap supported
  • Language
    • breaking change private in a package now means "in this package and subpackages in the same module"
    • breaking change extension properties can't have backing fields
    • breaking change Bare @ and @@ are no longer available
  • Standard library
    • slice()
    • collection-like operations on strings
    • Map.contains
    • join() for rendering separated lists
    • String.substringBefore/After[Last]
    • String.replaceBefore/After[Last]
    • Appendable.appendln()
    • StringBuilder {}
    • Iterable.merge(other) { (v1,v2)→v }
    • set operations (union, intersect, subtract)
  • IDE
    • IntelliJ IDEA 14 EAP supported
    • Debugger
      • Evaluate expression
      • Smart step into
    • Refactorings
      • Move toplevel declarations to separate file
      • Extract function (not finished, but some cases working)
      • Extract local function
    • Intentions
      • DeMorgan law
      • Flip binary expression (== etc)
      • Split if
      • Replace with operator sign
      • Replace with traditional assignment
      • Replace with infix call
      • Simplify boolean expressions
      • Add/Remove explicit type arguments
      • assert <-> if with throw
      • if <-> ?:
      • !! <-> if
      • make types explicit/implicit in lambda
      • forEach { } <-> for loop
      • string concatenation <-> interpolation
    • Smart completion
      • smarter on overloads
      • callable references (::functionName)
      • lambdas
      • !! and ?: for nullable members
      • anonymous classes (object expressions)
      • constants in when()
    • Formatter improved
    • Structure view shows members of supertypes
    • J2K converter improved
    • Speedups in highlighting and completion
  • Support for new versions of Gradle/Android (0.10, 0.11, 0.12)

Dot Operator

01 Apr 13:14
Compare
Choose a tag to compare
Dot Operator Pre-release
Pre-release

Release date: April 1, 2014

What's new

  • The Dot operator, as described here
    Implemented here.

Limitations:

The following things are NOT implemented:

  1. The higher-order dots. I find this feature quite specific and less useful in practice so I guess it can be put off for a while
  2. Dot flavours. For me this feature looks rather confusing, so I suggest reconsidering whether it's worth implementing at all

Kotlin M7

20 Mar 16:30
Compare
Choose a tag to compare
Kotlin M7 Pre-release
Pre-release

What's new:

  • Language
    • Inline functions
    • [breaking change] jet package renamed to kotlin
    • [breaking change] toString(), equals() and hashCode() are now members of Any
    • References to local functions
  • Interop
    • [throws] annotation for JVM target
    • Overloading supported for JS target
  • Standard Library
    • [breaking change] Streams introduced
  • IDE enhancements
    • Rename/move refactorings improved
    • Safe delete
    • New intention actions
    • Performance improvements

Kotlin M6.2

06 Dec 16:02
Compare
Choose a tag to compare
Kotlin M6.2 Pre-release
Pre-release

What's new:

  • Language features
    • Tail-call optimization with [tailRecursive]
    • Constant expression evaluation
    • Suffixes for Longs and Floats: 1L and 1.0F
  • Compilation to JavaScript
    • Default arguments
    • Super-constructor calls
    • Class-objects in traits
  • Java Inteoperability
    • @ReadOnly and @Mutable for collections
  • Android
    • Better annotations for Android SDK
  • IDE
    • Support for IntelliJ IDEA 13
    • Find Usages
    • Compiler preferences
    • Smart completion (Ctrl+Shift+Space)
    • Rename from Java
    • IDE warns on misusing Kotlin APIs from Java
  • Ant
    • Integration with <javac>
    • Support for compilation to JavaScript

Kotlin M6.1

03 Oct 13:56
Compare
Choose a tag to compare
Kotlin M6.1 Pre-release
Pre-release

What's new:

  • Language features
    • else is not required in when-statements
    • Type argument inference uses smart casts
    • Ability to suppress warnings with [suppress("...")] annotation
    • Local returns in lambda expressions
  • Compilation to JavaScript
    • Enums
    • Class Objects
    • Delegated properties
    • Multi-Declarations
    • SourceMaps
  • IntelliJ Plugin Improvements
    • Automatic configuration of Maven and Gradle projects
    • Convert member function to extension function
    • Navigation to getters and setters of a delegated property
    • Navigation to iterator/next/hasNext in a for loop
    • Navigation to invoke() from a call site
    • Improvements on Find Usages including support for constructors and overrides

Read more in this blog post

Kotlin M6

14 Aug 14:07
Compare
Choose a tag to compare
Kotlin M6 Pre-release
Pre-release

What's new:

  • Language features
    • SAM Conversions
    • Annotation improvements
    • Static fields visible from Java
  • Android
  • IDE features
    • Inline variable, Safe delete and other refactorings
    • TestNG support
    • Faster code completion

See a detailed description in this blog post.