Releases: JetBrains/kotlin
Releases · JetBrains/kotlin
1.2.21
1.2.20
CHANGELOG
Android
KT-20085
Android Extensions: ClassCastException after changing type of view in layout XMLKT-20235
Error, can't use plugin kotlin-android-extensionsKT-20269
Mark 'kapt.kotlin.generated' as a source root automatically in Android projectsKT-20545
Parcelable: Migrate to canonical NEW-DUP-INVOKESPECIAL formKT-20742
@serializable and @parcelize do not work togetherKT-20928
@parcelize. Verify Error for Android Api 19
Binary Metadata
KT-11586
Support class literal annotation arguments in AnnotationSerializer
Compiler
New Features
KT-17944
Allow 'expect' final member be implemented by 'actual' open memberKT-21982
Recognize Checker Framework declaration annotationsKT-17609
Intrinsic suspend val coroutineContext
Performance Improvements
Fixes
KT-4174
Verify error on lambda with closure in local class super callKT-10473
Inapplicable diagnostics for mixed JS / JVM projectsKT-12541
VerifyError: Bad type on operand stack for local variable captured in local classKT-13454
VerifyError on capture of outer class properties in closure inside inner class constructorKT-14148
VerifyError: Bad type on operand stack
for anonymous type inheriting inner classKT-18254
enumValueOf and enumValues throw UnsupportedOperationException when used within a non-inline function blockKT-18514
IllegalStateException on compile object that inherits its inner interface or classKT-18639
VerifyError: Bad type on operand stackKT-19188
Nondeterministic method order in class files using DefaultImplsKT-19827
Strange VerifyError in simple ExampleKT-19928
Analyze / Inspect Code: ISE "Concrete fake override public final fun ()" at BridgesKt.findConcreteSuperDeclaration()KT-20433
NPE during JVM code generationKT-20639
Obsolete term "native" used in error messageKT-20802
USELESS_CAST diagnostic in functions with expression bodyKT-20873
False CAST_NEVER_SUCCEEDS when upcasting NothingKT-20903
Method reference to expect function results in bogus resolution ambiguityKT-21105
Compiler incorrectly optimize the operatorin
with a floating point type range with NaN bound.KT-21146
ArrayIndexOutOfBoundsException at org.jetbrains.kotlin.codegen.MemberCodegen.generateMethodCallTo(MemberCodegen.java:841)KT-21267
Report pre-release errors if pre-release compiler is run with a release language versionKT-21321
for-in-array loop improvementsKT-21343
Compound assignment operator compiles incorrectly when LHS is a property imported from objectKT-21354
Inconsistent behavior of 'for-in-range' loop if range is an array variable modified in loop bodyKT-21532
Enum constructor not foundKT-21535
SAM wrapper is not created for a value of functional type in delegating or super constructor call in secondary constructorKT-21671
Inline sam wrapper during inline in another moduleKT-21919
Invalid MethodParameters attribute generated for "$DefaultImpls" synthetic class with javaParameters=trueKT-20429
False-positive 'Unused return value of a function with lambda expression body' in enum constant constructorKT-21827
SMAP problem during default lambda parameter inline
IDE
New Features
KT-4001
Allow to set arguments indent to 1 tab (currently two and not customized)KT-13378
Provide ability to configure highlighting for !! in expressions and ? in typesKT-17928
Support code folding for primary constructorsKT-20591
Show @StringRes/@IntegerRes annotations in parameter infoKT-20952
"Navigate | Related symbol" should support expect/actual navigationKT-21229
Make it possible to explicitly select "latest" language/API versionKT-21469
Wrap property initializers after equals signKT-14670
Support kotlinPackageName() macro in live templatesKT-14951
Editor: navigate actions could be available in intention menu (as done in Java)KT-15320
Live templates: Add function which returns the "outer" class nameKT-20067
Return label hintsKT-20533
Show "this" and "it" type hints in lambdas.KT-20614
Change location of initial parameter type hint when parameters are on multiple linesKT-21949
Please add a separate Color Scheme settings for properties synthesized from Java accessorsKT-21974
Editor color scheme option for Kotlin typealias names
Performance Improvements
KT-17367
Rebuild requested for index KotlinJavaScriptMetaFileIndexKT-21632
Freezing on typingKT-21701
IDEA 2017.3 high CPU usage
Fixes
KT-9562
Wrong indent after Enter after an annotationKT-12176
Formatter could reformat long primary constructorsKT-12862
Formatting: Weird wrapping setting for long ?: operatorKT-15099
Odd code formatting when chaining lambdas and splitting lines on operatorsKT-15254
Use Platform icons for "Run" icon in gutterKT-17254
Remove obsolete unfold-icons in structure viewKT-17838
Can't report exceptions from the Kotlin plugin 1.1.4-dev-119 in IDEA #IU-171.4424.37KT-17843
Don't show parameter name hints when calling Java methods with unknown parameter namesKT-17964
Local variable type hints in editor for anonymous objectKT-17965
Do not shown argument name hints for assertKT-18829
Do not show parameter name hints for mapOfKT-18839
Semantic highlighting not work for local variables in initKT-19012
Data Flow from here: doesn't find template usagesKT-19017
Data Flow from here doesn't find usage in range position of for cycleKT-19018
Data Flow from here doesn't find any usages of for-variableKT-19036
Data Flow from here: please find calls of extension tooKT-19039
Data Flow from here: please find cases when an investigated variable is transferred as a parameter into a library functionKT-19087
Data flow to here: usages with explicit receiver are not foundKT-19089
Data Flow to here: ...
1.2.20-eap-71
Changes since 1.2.20-eap-33
Compiler
KT-17609
Intrinsic suspend val coroutineContextKT-20864
Provide ReadOnly and Mutable annotations to control java collection mutability in kotlinKT-20429
False-positive 'Unused return value of a function with lambda expression body' in enum constant constructor
IDE
New Features
KT-14670
Support kotlinPackageName() macro in live templatesKT-14951
Editor: navigate actions could be available in intention menu (as done in Java)KT-15320
Live templates: please add function which returns the "outer" class nameKT-20067
Return label hintsKT-20533
Show "this" and "it" type hints in lambdas.KT-20614
Change location of initial parameter type hint when parameters are on multiple linesKT-21949
Please add a separate Color Scheme settings for properties synthesized from Java accessorsKT-21974
Editor color scheme option for Kotlin typealias names
Fixes
KT-11503
cmd+shift+enter action in .kt files does not work on empty linesKT-17217
Navigate to symbol: hard to choose between a lot of extension overloadsKT-18674
Join Lines should join stringsKT-19524
"Local variable type hints" should respect static importsKT-21010
gutter "Is subclassed by" should show actual subclass from the all platform modules in IDEA 2017.3/2018.1KT-21036
Throwable “Access is allowed from event dispatch thread only.” after creating nine similar classes with functions.KT-21213
multiline kdoc - intellij joins lines together without spaceKT-21592
-Xjsr305=strict not taken into account during the kotlin files compilation in Idea (maven)KT-22050
Redundant parameter type hint on SAMKT-22071
Formatter insists on increasing indentation in forEach lambdaKT-22093
Unnecessary line wrap with new Kotlin code styleKT-22111
Error while indexing PsiPlainTextFileImpl cannot be cast to KtFileKT-22121
Enter in empty argument list should apply normal indent if "Continuation indent for argument list" is off
IDE. Inspections and Intentions
New Features
KT-16260
Add intention to specify all types explicitly in destructuring assignmentKT-21547
Allow separate regex for test class and function names in IDE inspectionKT-21741
Inspection to detect is checks for object typesKT-21950
Enable quick-fixes for annotator-reported problems in "Inspect Code"KT-22103
SortModifiersInspection should report annotations after modifiers
Fixes
KT-12814
Specify type explicitly produces erroneous code when platform type overrides not-null typeKT-15180
Incorrect quickfix 'Specify type explicitly'KT-17816
"Replace elvis with if" produce nasty code when safe casts are involvedKT-18396
Bad quickfix for wrong nested classes in inner classKT-19073
No-op quick fix for "Convert lambda to reference" IDE suggestionKT-19283
Kotlin KProperty reference cannot be converted to lambdaKT-19736
Rephrase text in the unconventional property name inspectionKT-19771
Preserve old "Convert to expression body" rangeKT-20437
Naming convetions inspection: Add separate inspection for top-level and object propertiesKT-20620
Replace operator with function call breaks codeKT-21414
OverridersSearch attempts to create nameless fake light methodKT-21780
Wrong redundant setter inspectionKT-21837
Don't require documentation on tests and test classesKT-21929
Inappropriate quick fix for a sealed class instantiationKT-21983
Do not suggest to remove explicit Unit type for expression body
IDE. Refactorings
KT-21508
java.lang.AssertionError: PsiLiteralExpression
on property safe delete in Idea 173KT-21536
Rename refactoring sometimes doesn't quite workKT-21604
Rename package missing titleKT-21963
Refactor / Inline Property: "null" in place of number of occurrences of local variable referencesKT-21964
Refactor / Inline: on declaration of element with one usage "Inline and keep" choice is not suggestedKT-21965
Refactor / Inline: wording in dialog could be unified
Libraries
KT-16348
KotlinJS - String.toBoolean()KT-21191
Can't wrap exceptions in multiplatform projectsKT-21861
NumberFormatException in multiplatform project
Tools. Gradle
KT-15753
Support cacheable tasksKT-17656
Kotlin and Kotlin Android plugin not using available build cachesKT-20017
Support local (non-relocatable) Gradle build cacheKT-20598
Missing input annotations on AbstractKotlinCompileToolKT-20604
Kotlin plugin breaks relocatability and compile avoidance for Java compile tasksKT-21203
Kotlin gradle plugin does not create proper Ivy metadata for dependenciesKT-21261
Gradle plugin 1.1.60 creates "build-history.bin" outside project.buildDirKT-21805
Gradle plugin does not work with JDK 1.7 (KaptGradleModel)KT-21806
Gradle Plugin: Using automatic dependency versions with 'maven-publish' plugin does not include dependency version in generated publication POMs
1.2.20-eap-33
Changes since 1.2.20-eap-11
Compiler
KT-21982
Recognize Checker Framework declaration annotationsKT-21919
Invalid MethodParameters attribute generated for "$DefaultImpls" synthetic class with javaParameters=trueKT-21827
SMAP problem during default lambda parameter inline
IDE
KT-4001
Allow to set arguments indent to 1 tab (currently two and not customized)KT-21469
Wrap property initializers after equals signKT-9562
Wrong indent after Enter after an annotationKT-12176
Formatter could reformat long primary constructorsKT-12862
Formatting: Weird wrapping setting for long ?: operatorKT-15099
Odd code formatting when chaining lambdas and splitting lines on operatorsKT-17843
Don't show parameter name hints when calling Java methods with unknown parameter namesKT-17964
Local variable type hints in editor for anonymous objectKT-17965
Do not shown argument name hints for assertKT-18829
Do not show parameter name hints for mapOfKT-18839
Semantic highlighting not work for local variables in initKT-19727
Code style: New line after '(' with anonymous object or multi-line lambda unexpected behaviorKT-19820
Strange highlightning for enum constructorKT-19915
TODO calls not blue highlighted in lambdas/DSLsKT-20314
Kotlin formatter does not respect annotations code style settingsKT-20380
Configure Kotlin plugin updates dialog does not open without opened projectKT-21214
Fix funcion selection in kotlinKT-21275
Don't show argument name hints in calls of methods on 'dynamic' typeKT-21645
weird parameter hint positionKT-21833
type hints shown when destructing triple with type parametersKT-11023
Inspection to highlight usages of Collections.sort() and replace them with .sort() method from Kotlin stdlibKT-21510
Add inspection to add/remove this to/from bound callableKT-21573
Code Style Inspection:to -> Pair
function used not in infix formKT-21698
Create interface
shouldn't suggest to declare it inside a class which implements itKT-17212
Refactor / Inline Function: with 1 occurrence both "Inline all" and "Inline this only" are suggestedKT-21288
Change Signature refactoring fails to change signature of overriders
Libraries
KT-21868
Data race in SafePublicationLazyImplKT-21918
toTypedArray() implementation is inefficient and not thread-safeKT-22003
Replace Regex constructor-like functions with secondary constructors
Tools
KT-21628
Can't find referenced class kotlin.internal.annotations.AvoidUninitializedObjectCopyingCheckKT-21777
RMI "Connection refused" errors with daemonKT-21992
@transient warning for lazy propertyKT-21596
Improve Kapt Gradle Plugin to be more friendly for Kotlin-DSLKT-20840
Multiplatform IC fails if expected or actual file is modified separatelyKT-17561
embedding kotlin-script-utils may cause version conflicts e.g. with guavaKT-17921
The JSR 223 scripting engine fails to eval anything after encountering an unresolved referenceKT-21075
KotlinJsr223JvmLocalScriptEngineFactory does not well with kotlin-compiler-embeddableKT-21141
Kotlin script: KotlinJsr223JvmLocalScriptEngine.state.history.reset() seems not clearing the compiler cache
1.2.20-eap-11
Android
KT-20085
Android Extensions: ClassCastException after changing type of view in layout XMLKT-20235
Error, can't use plugin kotlin-android-extensionsKT-20269
Mark 'kapt.kotlin.generated' as a source root automatically in Android projectsKT-20545
Parcelable: Migrate to canonical NEW-DUP-INVOKESPECIAL formKT-20742
@serializable and @parcelize do not work togetherKT-20928
@parcelize. Verify Error for Android Api 19
Binary Metadata
KT-11586
Class literal annotation arguments are not yet supported in AnnotationSerializer
Compiler
New Features
KT-17944
Allow 'expect' final member be implemented by 'actual' open member
Performance Improvements
Fixes
KT-4174
Verify error on lambda with closure in local class super callKT-10473
Inapplicable diagnostics for mixed JS / JVM projectsKT-12541
VerifyError: Bad type on operand stack for local variable captured in local classKT-13454
VerifyError on capture of outer class properties in closure inside inner class constructorKT-14148
VerifyError: Bad type on operand stack
for anonymous type inheriting inner classKT-18254
enumValueOf and enumValues throw UnsupportedOperationException when used within a non-inline function blockKT-18514
IllegalStateException on compile object that inherits its inner interface or classKT-18639
VerifyError: Bad type on operand stackKT-19188
Nondeterministic method order in class files using DefaultImplsKT-19827
Strange VerifyError in simple ExampleKT-19928
Analyze / Inspect Code: ISE "Concrete fake override public final fun ()" at BridgesKt.findConcreteSuperDeclaration()KT-20433
NPE during JVM code generationKT-20639
Obsolete term "native" used in error messageKT-20802
USELESS_CAST diagnostic in functions with expression bodyKT-20873
False CAST_NEVER_SUCCEEDS when upcasting NothingKT-20903
Method reference to expect function results in bogus resolution ambiguityKT-21105
Compiler incorrectly optimize the operatorin
with a floating point type range with NaN bound.KT-21146
ArrayIndexOutOfBoundsException at org.jetbrains.kotlin.codegen.MemberCodegen.generateMethodCallTo(MemberCodegen.java:841)KT-21267
Report pre-release errors if pre-release compiler is run with a release language versionKT-21321
for-in-array loop improvementsKT-21343
Compound assignment operator compiles incorrectly when LHS is a property imported from objectKT-21354
Inconsistent behavior of 'for-in-range' loop if range is an array variable modified in loop bodyKT-21532
Enum constructor not foundKT-21535
SAM wrapper is not created for a value of functional type in delegating or super constructor call in secondary constructorKT-21671
Inline sam wrapper during inline in another module
IDE
New Features
KT-13378
Provide ability to configure highlighting for !! in expressions and ? in typesKT-17928
Support code folding for primary constructorsKT-20591
Show @StringRes/@IntegerRes annotations in parameter infoKT-20952
"Navigate | Related symbol" should support expect/actual navigationKT-21229
Make it possible to explicitly select "latest" language/API version
Performance Improvements
KT-17367
Rebuild requested for index KotlinJavaScriptMetaFileIndexKT-21557
IntelliJ 2017.3 Gradle Performance RegressionKT-21632
Freezing on typingKT-21701
IDEA 2017.3 high CPU usage
Fixes
KT-15254
Please use Platform icons for "Run" icon in gutterKT-17254
Remove obsolete unfold-icons in structure viewKT-17838
Can't report exceptions from the Kotlin plugin 1.1.4-dev-119 in IDEA #IU-171.4424.37KT-19012
Data Flow from here: doesn't find template usagesKT-19017
Data Flow from here doesn't find usage in range position of for cycleKT-19018
Data Flow from here doesn't find any usages of for-variableKT-19036
Data Flow from here: please find calls of extension tooKT-19039
Data Flow from here: please find cases when an investigated variable is transferred as a parameter into a library functionKT-19087
Data flow to here: usages with explicit receiver are not foundKT-19089
Data Flow to here: assigned values are not found if an investigated property is a delegated oneKT-19104
Data Flow from here: usage of parameter or variable not found when used as lambda receiver/parameterKT-19106
Data Flow from here: show point of call of a function used as a parameter investigated parameter/variableKT-19112
Data Flow to here for a function (or its return value) doesn't find shorten forms of assignmentsKT-19519
Structure view is not updated properly for function classesKT-19823
Kotlin Gradle project import into IntelliJ: import kapt generated classes into classpathKT-19824
Please provide a separate icon for a common libraryKT-20096
Kotlin Gradle script: SOE after beginning of Pair definition before some script sectionKT-20329
multiplatform: gutter "Is subclassed by" should show expect subclass from the common moduleKT-20521
Kotlin Gradle script: valid build.gradle.kts is red and becomes normal only after reopening the projectKT-20603
Facet import: when API version > language version, set API version = language version, not to 1.0KT-20782
Non-atomic trees updateKT-20813
SAM with receiver: call with SAM usage is compiled with Gradle, but not with JPSKT-20880
Add documentation quick fix should create multiline comment and place caret in right placeKT-20883
Provide more information in "Missing documentation" inspection messageKT-20884
Functions with receivers should allow [this] in KDocKT-20937
Exception thrown on RMB click on folder in Kotlin projectKT-20938
IDE: kotlinc.xml with KotlinCommonCompilerArguments/freeArgs: XSE: "Cannot deserialize class CommonCompilerArguments$DummyImpl" at BaseKotlinCompilerSettings.loadState()KT-20953
"Choose actual" popup shows redundant informationKT-20985
Additional reimport is required in 2017.3/2018.1 idea after creating or importing mp project- [
KT-20987
](https://you...
1.2.10
Compiler
KT-20821
Error while inlining function reference implicitly applied to thisKT-21299
Restore adding JDK roots to the beginning of the classpath list
IDE
KT-21180
Project level api/language version settings are erroneously used as default during Gradle importKT-21335
Fix exception on Project Structure view openKT-21610
Fix "Could not determine the class-path for interface KotlinGradleModel" on Gradle sync- Optimize dependency handling during import of Gradle project
JavaScript
KT-21493
Losing lambda defined in inline function after incremental recompilation
Tools. CLI
KT-21495
Bash scripts in Kotlin v1.2 compiler have Windows line terminatorsKT-21537
javac 7 do nothing when kotlin-compiler(-embeddable) is in classpath
Libraries
- Unify docs wording of 'trim*' functions
- Improve cover documentation page of kotlin.test library
- Provide summary for kotlin.math package
- Fix unresolved references in the api docs
Previous releases
This release also includes fixes and improvements from previous release:
1.2.0
CHANGELOG
1.2
Android
KT-20974
NSME "AndroidModuleModel.getMainArtifact" on Gradle refreshKT-20975
IAE "Missing extension point" on Gradle refresh
Compiler
KT-6359
Provide the way to share code with different targets(JVM, JS)
IDE
KT-21300
IDEA slow down in Kotlin + Spring projectKT-20450
Exception in UAST during function inliningKT-20789
Can't navigate to inline call/inline use site when runner is delegated to GradleKT-21236
New project button doesn't work with Kotlin plugin enabled and Gradle plugin disabledKT-21263
"Configure Kotlin Plugin Updates" suggests incompatible plugin for AS 3.0
Tools. JPS
KT-20757
Rebuild when language/api version is changed
Previous releases
This release also includes fixes and improvements from pre-releases:
1.1.61
Compiler
KT-17640
Back-end (JVM) Internal error for inline reified suspend funKT-20651
"Don't know how to generate outer expression" for enum-values with non-trivial self-closures
IDE
KT-20782
Non-atomic trees updateKT-20789
Can't navigate to inline call/inline use site when runner is delegated to GradleKT-20843
Kotlin TypeDeclarationProvider may stop other declarations providers executionKT-20929
Import Project from Gradle wizard: the same page is shown twiceKT-20967
Kotlin plugin upgrade breaks Gradle refreshKT-21263
"Configure Kotlin Plugin Updates" suggests incompatible plugin for AS 3.0
IDE. Inspections and Intentions
KT-20315
"call chain on collection type may be simplified" generates code that does not compile
1.2-RC2
Compiler
KT-20844
VerifyError on Android after upgrading to 1.2.0-beta-88KT-20895
NPE in Kotlin 1.2-beta88 PseudocodeVariablesData.kt:337KT-21377
Create fallback flag for "Illegal smart cast is allowed after assignment in try block"
IDE
KT-18719
Configure Kotlin in Gradle project to 1.2-Mx: add repository mavenCentral() to buildscriptKT-20782
Exception when working with routing in ktor (non-atomic trees update)KT-20966
ISE: Facade class not found from Kotlin test filesKT-20967
Kotlin plugin upgrade breaks Gradle refreshKT-20990
String literal in string template causes ISEKT-21028
Add kotlin-stdlib-jre7/8 instead of kotlin-stdlib-jdk7/8 for Kotlin versions below 1.2KT-21383
Unsupported method: Library.getProject()
when importing Anko project- Downgrade "use expression body" inspection to INFORMATION default level
IDE. Debugger
KT-20962
NullPointerException because of nullable location in debugger
IDE. Inspections and Intentions
KT-20803
Create actual declaration in the same source root as expect declaration
IDE. Refactorings
KT-20979
Move class refactoring doesn't work anymore
Libraries
- Remove deprecated
pairwise
function
Tools. Gradle
KT-21395
“Unable to load class 'kotlin.collections.CollectionsKt'” on creating gradle project in IDEA 2016.3.7
Tools. kapt
- Add
kotlin-annotation-processing-embeddable
artifact (compatible withkotlin-compiler-embeddable
) - Return
kotlin-annotation-processing
artifact back (compatible with CLI Kotlin compiler)
Previous releases
This release also includes the fixes and improvements from the previous
1.2-RC1
release.
1.1.60
- Adds experimental support for Kotlin/JS incremental compilation
- Adds new features to JSR-305 custom nullability annotations support
- Brings a lot of bug fixes in the automatic Parcelable implementation generator and provides it with IDE support
- Improves Gradle incremental builds
- Introduces new inspections, performance improvements and bug fixes in the IntelliJ plugin
The complete list of changes in this release can be found in the changelog.
The update is compatible with all versions of IntelliJ IDEA from 2016.3 until 2017.3, as well as with Android Studio 2.3, 3.0 and 3.1 Canary.