Releases: JetBrains/kotlin
Releases · JetBrains/kotlin
Kotlin 1.9.23
1.9.23
Apple Ecosystem
KT-65542
Cinterop tasks fails if Xcode 15.3 is used
Backend. Wasm
KT-64486
Kotlin/Wasm/WASI exported function callback for coroutines support
Compiler
KT-53478
Could not load module
KT-66044
JDK's new API is used over Kotlin's SDK functions
KT-64640
Prevent mutating SequenceCollection methods from JDK 21 be available on read-only collections
KT-65441
K1: Remove JDK 21 getFirst()/getLast() in (Mutable)List interfaces
KT-65634
K/N: data race during monolithic cache creation
KT-53109
CompilationErrorException generateUnboundSymbolsAsDependencies with builder inference and lambdas
KT-52757
Type inference for builders fails if inferred from a function
Tools. Gradle
KT-65792
Add JSON build report
KT-65091
Update compiler metrics in build reports
KT-62490
KGP dropping resource directories
Tools. Gradle. JS
KT-64119
K/JS: Migrate package manager from Yarn onto NPM
KT-64561
K/JS tests are not executed after upgrade to 1.9.22
Tools. Gradle. Multiplatform
KT-65954
commonTest dependencies affect commoMainMetadata compilation
Tools. Gradle. Native
KT-64573
Default value for produceUnpackedKlib
was not provided
Kotlin 2.0.0-Beta4
Changelog
Analysis. API
Performance Improvements
KT-64987
Analysis API: 50GB memory allocation on creating empty kotlinx.collections.immutable.persistentMapOf
Fixes
KT-65268
K2: Checking the presence of the delegated constructor call forces AST loading
KT-63330
Analysis API: Stub-based deserialized symbol providers provide unresolved enum entry annotation arguments
KT-65418
Analysis API: LLFirAbstractSessionFactory
loads anchor module sessions eagerly
KT-64718
Analysis API: do not expose SealedClassInheritorsProvider and FirRegularClass to IDE Plugin
KT-65075
K2: getContainingDeclaration() is broken for declarations inside code fragments
KT-61332
Support KtTypeCodeFragment
in PsiRawFirBuilder
KT-65150
AA: incorrect result from KtTypeProvider#getReceiverTypeForDoubleColonExpression
for Java static method
KT-55750
LL FIR: Implement multi-threaded resolve
KT-56551
LL FIR: implement parallel resolve for jumping phases
KT-65223
Psi: avoid KtFile usages
KT-65307
Analysis API FE10: support KtFe10AnalysisSessionProvider.getAnalysisSessionByUseSiteKtModule
KT-62695
K2 IDE: Unresolved extension functions in KDoc
KT-65152
Analysis API: KDoc references to packages are not fully resolved
KT-64988
K2 IDE: Navigation from the named argument in safe call does not work
KT-64074
K2: Investigate LL divergence for Script.testTopLevelPropertyInitialization
KT-64921
K2 IDE: references in platform code resolve to expect classifier instead of actual
KT-62441
K2: IDE K2: "No dangling modifier found"
KT-64528
K2 IDE: MPP: unregistered component 'org.jetbrains.kotlin.fir.scopes.impl.FirDelegatedMembersFilter'
KT-64993
Analysis API: KtExpressionTypeProvider.getExpectedType works incorrectly for arguments of safe calls
KT-64883
Allow direct creation of KtCommonFile
KT-64646
K2: properly forbid ast loading during raw fir phase in tests
KT-64862
Psi: missed parenthesis in type reference presentation
KT-62893
K2 IDE. FP 'when' expression must be exhaustive with Java sealed interface from library
KT-63795
K2: lazyResolveToPhase(BODY_RESOLVE)
cannot be called from a transformer with a phase BODY_RESOLVE from SealedClassInheritorsProviderIdeImpl
Analysis. Light Classes
KT-65425
K2 IDE: Seeing a reference to the class generated by compiler plugin exposed from Java code caused NPE from light classes
KT-64937
SLC: internal setters are not mangled
Apple Ecosystem
KT-63212
podInstall task fails without a proper diagnostic when xcodeproj gem is outdated
Backend. Wasm
KT-63939
Kotlin/Wasm Support lazy associated object initialisation
KT-64803
K/Wasm: non-capturing lambdas are not singleton unlike same lambdas in jvm
KT-64449
K2: Implement K1WasmWasiCodegenBoxTestGenerated for K2
KT-64829
K/Wasm: division remainder has a wrong sign
KT-65009
Generate TypeScript definitions for the @JsExport
declarations in K/Wasm
Compiler
New Features
KT-63670
Implement platform specific declaration clash diagnostics across all backends
KT-62547
Introduce a language feature flag for smartcasts based on "memory" variables
Fixes
KT-63344
K2: False positive ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED
KT-58845
K2: SAM checker can run incorrectly in presence of an expect supertype
KT-61843
K2: Missing TYPE_MISMATCH for nested array literals
KT-61798
K2 incorrectly calculates modality of property accessors
KT-65255
K2 / KJS: "IllegalArgumentException: Candidate is not successful, but system has no contradiction"
KT-65341
K2: "Cannot find cached type parameter by FIR symbol" caused by not-null assertion operator inside string in throw
KT-49283
Support contribution type info from a nested builder inference call
KT-64077
K2: Builder inference ignores constraints from nested builder inference
KT-49160
Couldn't infer a type argument through several builder inference calls broken by a local class
KT-61310
K2: "Not enough information to infer type variable R" for transformLatest
KT-63733
Builder-style type inference can't resolve to extension overloads when they're more applicable than member ones
KT-57707
K1: inconsistent TYPE_MISMATCH in builder inference
KT-55057
Builder inference changes behaviour sporadically based on BI annotation on unrelated call
KT-60663
Builder inference does not work inside a nested unrelated builder inference lambda
KT-53639
TYPE_MISMATCH: compiler can't infer the list's type when using buildList {}
builder or Collection#isNotEmpty
KT-60291
K2: "IllegalStateException: Cannot serialize error type: ERROR CLASS: Cannot infer argument for type parameter T" during FIR serialization
KT-65033
K2: Fir2LazyIr: Lazy type aliases not supported
KT-57709
Inconsistent extension function call resolution in builder inference
KT-53740
Builder inference with multiple lambdas leads to unsound type
KT-60877
Builder inference from the null literal results in Nothing instead of Nothing? for producing positions of the postponed type variable
KT-53553
Builder inference: inconsistent types in different lambda scopes
KT-54400
K2: builder inference does not work with assignments of literals to member properties
KT-53109
CompilationErrorException generateUnboundSymbolsAsDependencies with builder inference and lambdas
KT-52757
Type inference for builders fails if inferred from a function
KT-63840
Builder inference fails on calls to identity-shaped functions with postponed type variables inside select-constructions
KT-64276
[K/N][K2] K2 behaviorial difference with inconsistent inheritance of ObjCName
KT-59782
K2: Forbid local delegated properties with private accessors in public inline functions
KT-65482
K2: NoSuchFieldError due to using unboxed type
KT-63208
K2: Implement deprecation cycle and fix missing errors for error-level nullable arguments of warning-level Java types
KT-64891
K2: consider supporting/forbidding foo.(bar)() syntax
KT-62134
K2: handle non-simple types during FirStatusResolver.isPrivateToThis check
KT-65290
K2: No override for FUN DEFAULT_PROPERTY_ACCESSOR
KT-65111
K2: Java star imports don't work in KJK interdependencies
KT-59012
K2: Support inferring types based on self upper bounds
KT-65373
K2: there is a crash in KJK hierarchy with an extension member pro...
Read more
Kotlin 2.0.0-Beta3
Changelog
Analysis. API
Fixes
KT-62895
K2 IDE. FP 'when' expression must be exhaustive
with sealed interface from library
KT-64805
Analysis API: introduce common entry point for multi-file test cases
KT-64714
K2: Analysis API: CollectionsKt.map doesn't resolves from Java in kotlin repo
KT-64647
K2: Allow to calculate decompiled inheritors for sealed classes in tests
KT-64595
AA: stackoverflow while simplifying a type with a recursive type parameter
KT-64825
Analysis API. Cannot compute containing PSI for unknown source kind 'org.jetbrains.kotlin.KtFakeSourceElementKind$DefaultAccessor' exception on getContainingSymbol call for default setter parameter
KT-64080
K2: Analysis API: On-air resolve does not trigger resolution of delegated super call arguments
KT-64243
K2: proper lazy resolution for fake overrides
KT-62891
K2 IDE. FP [EXPOSED_FUNCTION_RETURN_TYPE] on overriding library method which returns protected type
KT-61890
Analysis API: Migrate KtFirScopeProvider to ContextCollector instead of onAirResolve
KT-64197
K2: Code fragments are only supported in JVM
KT-64604
K2: IDE K2: "Modules are inconsistent during performance tests"
KT-62357
K2 IDE. False positive on generated component methods and false negative on getter of @JvmRecord
classes in Java
KT-62892
K2 IDE. Java outer class from other module is not resolved when nested class is accessed with fq name in a type position
KT-62888
K2 IDE. IDE infers reference to KMutableProperty
as reference to just KProperty
KT-64584
K2: StubBasedFirDeserializedSymbolProvider: support deserialization of delegated declarations
KT-60324
K2 IDE: "NoSuchElementException: List is empty at JavaOverrideChecker#buildErasure"
KT-62896
K2 IDE. FP ABSTRACT_MEMBER_NOT_IMPLEMENTED on inheriting class from library which implements interface by delegation
KT-62947
Analysis API: Error while resolving FirPropertyImpl
KT-64468
Analysis API: Implement mixed multi-module tests which support different kinds of KtModule
s
KT-63547
K2 IDE. False Positive AMBIGUOUS_ANNOTATION_ARGUMENT
KT-62832
K2: ClassCastException: FirDeclarationStatusImpl cannot be cast to FirResolvedDeclarationStatus
KT-64205
Analysis API: Do not import non-top-level callables by default
KT-63056
K2: Cannot mutate an immutable ImplicitReceiverValue on FirCodeFragment analysis
KT-64108
K2: KtFirSymbolDeclarationOverridesProvider shouldn't provide fake overrides
KT-63752
K2: java.lang.StackOverflowError FirFieldSymbol.getHasInitializer
KT-63718
Analysis API: Stub-based dependency symbol providers of library source sessions compute the wrong package name sets
KT-64186
Analysis API: ContextCollector provides incorrect scopes for anonymous objects
KT-63979
K2 IDE: presentation of types in completion is too verbose
KT-63681
K2: LL FIR: Improve isResolved check coverage of after lazy resolution
Analysis. Light Classes
KT-63087
K2 IDE: in .java source reference to JvmName names on unsigned type / value class are unresolved
KT-64605
K2 IDE: usage of @Repeatable
annotation in Java: false positive "Duplicate annotation"
KT-64795
SLC: distinguish last v.s. non-last vararg
value parameter type during binary resolution
KT-61605
K2 IDE: Light elements do not obey platform contracts
KT-57536
SLC: no need to populate members with expect
modifier
KT-63949
K2 IDE. Analyze hang on @Autowired
constructor analysis
KT-64320
Decouple kotlin psi from java PSI
KT-64282
Decouple KotlinIconProviderService from java PSI
Apple Ecosystem
KT-63821
Copy framework to BUILT_PRODUCTS_DIR in the embedAndSign task
Backend. Wasm
KT-58852
WASM: two methods with different varargs: Class korlibs.template.dynamic.DynamicShape has 2 methods with the same signature [register(kotlin.Array)
Compiler
New Features
KT-4113
Smart casts for properties to not-null functional types at invoke
calls
Fixes
KT-64261
K2 / WASM: Extension function with star projection throws "RuntimeError: unreachable"
KT-64877
K2: PCLA doesn't allow infer types from value parameter having TV type
KT-63932
K2/Native codegen test failures around builder inference
KT-64222
K2: "return type is not a subtype of the return type of the overridden member"
KT-57094
K1: wrong type inferred for an instance of a local class inside a generic property
KT-62069
K2: ASSIGNMENT_TYPE_MISMATCH is reported in addition to NO_ELSE_IN_WHEN
KT-62776
FirLazyResolveContractViolationException: "lazyResolveToPhase(STATUS) cannot be called from a transformer with a phase TYPES" on Java annotation usage
KT-60056
K2: Introduced UNRESOLVED_REFERENCE
KT-59791
K2: Implement partially constrained lambda analysis
KT-42020
Psi2ir: IllegalStateException: "IrSimpleFunctionPublicSymbolImpl for public [...] is already bound" on generic function whose substitution leads to IdSignature clash
KT-64771
Investigate subtle FIR_DUMP difference for reversed order analysis
KT-62584
K2: different signature in subclass of local class declared in extension value getter
KT-64615
Inconsistent error messages for platform type nullability assertions
KT-59938
K2: Disappeared AMBIGUOUS_ACTUALS
KT-64501
K2: False-positive WRONG_INVOCATION_KIND when using default arguments
KT-64640
Prevent mutating SequenceCollection methods from JDK 21 be available on read-only collections
KT-63644
K2: Create special IR symbols for fake-overrides in fir2ir in mode with IR f/o generator
KT-62476
K2: Enable building fake overrides by ir on non-JVM targets
KT-63638
K2: Compiler crashes with "Inline class types should have the same representation"
KT-36220
NI: false positive NON_APPLICABLE_CALL_FOR_BUILDER_INFERENCE if one use cannot resolve
KT-64121
K2: Actual modifier is missed on override fun toString()
fro value class in native
KT-63703
K2: Eliminate call to Candidate.usesSAM and samResolver.getFunctionTypeForPossibleSamType in AbstractConeCallConflictResolver.toTypeWithConversion
KT-64435
K2: FIR2IR: Source offsets for data class members are inconsistent with PSI2IR
KT-64090
K2: false-positive new inference error on invoking from another module a generic function on Java list type with wildcard type argument bounded by raw-typed Java inner class
KT-64044
K2: Java mapped method should have a source from Java method, not from mapped Kotlin source class
KT-46674
ClassCastException with smartcast if plus
opera...
Read more
Kotlin 1.9.22
Changelog
JavaScript
KT-63719
KJS: Test results ignored for ES module kind
KT-63808
compileTestDevelopmentExecutableKotlinJs failed in JsIntrinsicTransformers
Native
KT-64139
Weird bug with while and coroutine in Kotlin Native
KT-63471
linkDebugTestIosX64 Failed to build cache: NoSuchFileException bitcode_deps
KT-63789
Native: Incremental compilation problem with compose
Tools. CLI
KT-64485
CLI: cache and optimize parsing of command-line arguments
Tools. Gradle
KT-63990
"Cannot query the value of property 'buildFlowServiceProperty' because it has no value available" with Isolated Projects
Tools. Gradle. Native
KT-63363
Kotlin Gradle Plugin: KotlinNativeHostSpecificMetadataArtifact
breaks configuration cache, implicitly includes output file as configuration cache input
KT-63742
Gradle wrongly caches Kotlin/Native compiler flags
Tools. JPS
KT-64305
Kotlin JPS builder requests chunk rebuild with graph implementation
KT-64112
Avoid using IJ's JPS mappings in Kotlin JPS tests
KT-63799
Make plugin classpath serialization path agnostic
Checksums
File |
Sha256 |
kotlin-compiler-1.9.22.zip |
88b39213506532c816ff56348c07bbeefe0c8d18943bffbad11063cf97cac3e6 |
kotlin-native-linux-x86_64-1.9.22.tar.gz |
c2b0a6481ced5401db4a7028661c039b7466996efaa554bbcc6a3d421ac5e7d4 |
kotlin-native-macos-x86_64-1.9.22.tar.gz |
4646c9bc289d48a228064f565f3a968dde3dcccd7821f403717c708f6ffa8285 |
kotlin-native-macos-aarch64-1.9.22.tar.gz |
8a95c0e0eb46b41b6d02a1942dc7dfe8c70082a2a26679490a77cd486f0ec8dd |
kotlin-native-windows-x86_64-1.9.22.zip |
a9d7bcf38a41a84002ba7a733b08e97b554225a39656d5158fc31dc6d0acede4 |
Kotlin 2.0.0-Beta2
Changelog
Analysis. API
Fixes
KT-62982
K2: Cannot get a PSI element for 'Enum.values'
KT-59732
FirLazyResolveContractViolationException: lazyResolveToPhase(IMPORTS)
cannot be called from a transformer with a phase IMPORTS from serialisation plugin
KT-61757
K2 IDE: resolution to buitlins does not work for from common module
KT-62676
K2 IDE: Reference shortener does not recoginize redundant this references
KT-63627
K2 IDE: shorten reference shortens required qualifier
KT-62675
K2 IDE: Reference shortener does not recoginize redundant labels
KT-63771
fe10: KtNamedClassOrObjectSymbol#isInline does not cover value classes
KT-62947
Analysis API: Error while resolving FirPropertyImpl
KT-60327
K2 IDE. "IllegalArgumentException: source must not be null" during delegation declaration
KT-63700
K2: "FirLazyExpression should be calculated before accessing" in the case of secondary constructor
KT-62111
K2 IDE. IllegalArgumentException on for loop with iterator declaration attempt
KT-63538
Analysis API: Removing a contract statement via PsiElement.delete()
does not trigger an out-of-block modification
KT-63694
K1/K2 IDE. "RuntimeException: Broken stub format, most likely version of kotlin.FILE (kotlin.FILE) was not updated after serialization changes" exception on incorrect class name
KT-63560
Analysis API: Modifiable PSI tests cannot rely on the cached application environment to allow write access
KT-62980
Implement KtFirSimpleNameReference#getImportAlias
KT-63130
Analysis API: No receiver found for broken code during commit document
KT-60170
K2 IDE: CCE from KtFirCallResolver on invalid code with wrong implicit invoke
KT-61783
K2: Analyze 'KtCodeFragment' in a separate session
KT-62010
K2: IDE K2: "ConeClassLikeTypeImpl is not resolved to symbol for on-error type"
KT-62957
Analysis API: NullPointerException on call resolution when builtins are not available
KT-62899
K2 IDE. IDE ignores @Suppress
annotation for errors
KT-62935
Analysis API: kotlin.Cloneable
should not be available in Kotlin/Native sources
KT-62910
Analysis API: create AbstractFirPsiNativeDiagnosticsTest for LL FIR
KT-63096
K2: Analysis API: KotlinAnnotationsResolver for IDE is created with incorrect scope
KT-63282
K2 Script: annotation arguments phase should resolve propagated annotations
KT-63223
Analysis API: reference to declarations with kotlin* package are not resolved
KT-63195
AA: incorrect results from KtTypeProvider#getReceiverTypeForDoubleColonExpression
Analysis. Light Classes
KT-63552
Symbol Light Classes don't support arrayOf and similar without parameters in property initializers and default parameter values
KT-63486
SLC: a lot of RAM is allocated in org.jetbrains.kotlin.asJava.LightClassUtil.isMangled
Backend. Wasm
KT-62863
Execution failed for task ':kotlinx-serialization-properties:wasmJsD8Test' in serialization in the K2 QG
Compiler
New Features
KT-22004
Allow to resolve CONFLICTING_OVERLOADS with Deprecated(HIDDEN)
KT-61955
Support more wider actual member visibility, if the expect member is effectively final
Fixes
KT-63695
JVM: Don't use plugin extensions when compiling code fragment
KT-59903
K2: Disappeared DELEGATE_SPECIAL_FUNCTION_NONE_APPLICABLE
KT-62961
K2 / KMP: NO_ACTUAL_CLASS_MEMBER_FOR_EXPECTED_CLASS with expect enum class and typealias
KT-59369
K2: Missing BUILDER_INFERENCE_STUB_RECEIVER
KT-53749
Support builder inference restriction in FIR
KT-59390
K2: Missing BUILDER_INFERENCE_MULTI_LAMBDA_RESTRICTION
KT-59887
K2: Disappeared ACTUAL_MISSING
KT-62885
Introduce a language feature entry for expect actual classes for easier configuration of MPP projects
KT-62589
K2: Investigate need of non-nullable IdSignature in Fir2IrLazyDeclarations
KT-63329
K2: difference in SAM-conversion casts generation
KT-64062
K2 IDE. NPE on typing nullable parameter in return
KT-63761
K2: False positive "Unresolved reference" caused by object's parameter in enum class which is passed as annotation parameter
KT-55252
Backend Internal error during psi2ir in native compile tasks (NPE in getKlibModuleOrigin)
KT-50453
Improve builder inference diagnostics with type mismatch due to chosen inapplicable overload
KT-56949
K2: Builder inference violates upper bound
KT-64028
K2: Investigate questionable condition in FirBuilderInfernceSession
KT-60031
K2: Introduced NO_ACTUAL_CLASS_MEMBER_FOR_EXPECTED_CLASS
KT-63646
K2: "IllegalStateException: Return type of provideDelegate is expected to be one of the type variables of a candidate, but D was found"
KT-59881
K2: Disappeared UNSUPPORTED
KT-64136
K2: NSME with Anvil compiler plugin
KT-63448
K2: CONFLICTING_INHERITED_JVM_DECLARATIONS with @JvmField
KT-63865
K2: "IllegalArgumentException: Failed requirement." caused by lambda parameters with different type in init block
KT-62609
K2. Type argument inference changed for object of Java class with several common parents
KT-63081
Optimize new native caches: CachedLibraries.computeVersionedCacheDirectory()
KT-63580
"AssertionError: access of const val: GET_FIELD" caused by const value and variable with delegation
KT-63567
"NoSuchMethodError" on getting value of lazily initialized property by companion's const value
KT-63540
Restrict the CONFLICTING_OVERLOADS + DeprecatedLevel.HIDDEN ignore to final callables
KT-30369
Smartcasts from safe call + null check don't work if explicit true/false check is used
KT-30376
Smartcasts don't propagate to the original variable when use not-null assertion or cast expression
KT-30868
Unsound smartcast if smartcast source and break is placed inside square brackets (indexing expression)
KT-31053
Nothing? type check isn't equivalent to null check is some places
KT-29935
Smartcasts don't work if explicit annotated true/false check is used
KT-30903
Smartcast to null doesn't affect computing of exhaustiveness
KT-62847
K2: Introduce FIR node for SAM conversion
KT-63564
K/Wasm: CompilationException with 2.0.0-Beta1
KT-63345
K2: FIR2IR chooses an incorrect type for smartcast in case of SAM conversion
KT-63848
ReflectiveAccessLowering does not count arguments of super-calls
KT-61920
K2: False negative CONST_VAL_WITH_NON_CONST_INITIALIZER when initializer is Java ...
Read more
Kotlin 1.9.21
Changelog
Compiler
KT-62885
Introduce a language feature entry for expect actual classes for easier configuration of MPP projects
KT-63081
Optimize new native caches: CachedLibraries.computeVersionedCacheDirectory()
Docs & Examples
KT-55619
Document String.format
function
IDE. Gradle Integration
KT-62877
Artifact files collecting for project configuration was finished. Resolution for configuration configuration X will be skipped
IDE. Gradle. Script
KT-60813
Scripts: NoSuchMethodError: 'void org.slf4j.Logger.error(java.lang.String, java.lang.Object)' when dependency uses Slf4j API
JavaScript
KT-60785
KJS: Destructured value class in suspend function fails with Uncaught TypeError: can't convert to primitive type error
KT-63207
KMP / JS: "TypeError: <mangled_name> is not a function" with 1.9.20
KT-62778
package.json "main" field has .js extension when the result files have .mjs extension
KT-61795
KJS: Incremental Cache is not invalidated if useEsClasses
compiler argument was changed
KT-61957
KJS: "Uncaught ReferenceError: entries is not defined" caused by enum class with @JsExport
and Enum.entries call
KT-62444
KJS with commonJS modules should re-export in 1.9.20
KT-63184
KJS / Serialization: JsExport on serializable interface creates erroneous TypeScript
KT-62190
KJS: "IllegalStateException: Expect to have either super call or partial linkage stub inside constructor" caused by Compose and useEsModules()
KT-58685
KJS: "IllegalStateException: Not locked" cused by "unlock" called twice
Klibs
KT-62515
Interop klib of concurrent version is not accepted when building dependent project: "The library versions don't match"
Tools. CLI
KT-63139
Incorrect kotlin implementation version (1.9.255-SNAPSHOT) in metadata info
Tools. Gradle
KT-63499
Gradle: Source sets conventions are still registered
Tools. Gradle. JS
KT-59523
MPP / KJS: ESM modules uses incorrect file extension on package.json (.mjs)
Tools. Gradle. Kapt
KT-63366
Kapt processing fails with custom source sets
Tools. Gradle. Multiplatform
KT-32608
Create JUnit-XML result file in multiplatform gradle build
KT-63315
Wasm gradle plugin DSL is invalid for parameterless wasmWasi method
KT-63338
[KMP] metadata task fails to find cinterop classes from dependency projects
KT-63044
KGP: Multiplatform - 8.4 configuration cache support
KT-63011
Apple Framework Artifacts is not connected to KotlinNativeTask
KT-62601
AS/IntelliJ exception after updating a KMP project with a macos target to Kotlin 1.9.20-RC
Tools. Incremental Compile
KT-61590
K2/KMP: Expect actual matching is breaking on the incremental compilation
Tools. JPS
KT-63594
ClassCastException in JPS statistics
KT-63651
Fix NPE in Kotlin JPS after enabling graph implementation of JPS
Tools. Kapt
KT-57389
KAPT3 uses a Javac API for JCImport which will break in JDK 21
KT-60507
Kapt: "IllegalAccessError: superclass access check failed" using java 21 toolchain
Tools. Scripts
KT-54819
Scripts: Not able to use slf4j in .main.kts
KT-61727
Scripts: Maven artifacts resolution is slow
Checksums
File |
Sha256 |
kotlin-compiler-1.9.21.zip |
cf17e0272bc065d49e64a86953b73af06065370629f090d5b7c2fe353ccf9c1a |
kotlin-native-linux-x86_64-1.9.21.tar.gz |
965564bb599a95283307be31947386b61f0de79514e894b1f20f4fe728eee7cc |
kotlin-native-macos-x86_64-1.9.21.tar.gz |
8f47cf1871bf0dfcacfc04e68ee71f2333a8a711ca25fd7a29e852eafe8da76e |
kotlin-native-macos-aarch64-1.9.21.tar.gz |
b3c45aa0a5aa08419bd79b06cb5bdeed32b30141a6a976b67ca91bb0959e28b7 |
kotlin-native-windows-x86_64-1.9.21.zip |
e917e67d5dfeb4683a413b932f080adef08ba48d8ede61fbb040f9c3481f7b3a |
Kotlin 2.0.0-Beta1
Changelog
Analysis. API
Performance Improvements
KT-61789
K2: optimize getFirForNonKtFileElement for references inside super type reference
KT-59498
K2: getOnAirGetTowerContextProvider took too much time due to on air resolve
KT-61728
Analysis API: optimize AllCandidatesResolver.getAllCandidates
Fixes
KT-61252
K2: IDE K2: "By now the annotations argument mapping should have been resolved"
KT-62310
K2 IDE. False positives errors with external annotations
KT-62397
K2 IDE. FP Error in the editor on RequiresOptIn
annotation from the lib despite the warning level
KT-62705
K2: "lazyResolveToPhase(IMPORTS) cannot be called..." from light classes
KT-62626
IllegalStateException: Cannot build symbol for class org.jetbrains.kotlin.psi.KtScriptInitializer
KT-62693
K2: IDE K2: "PSI should present for declaration built by Kotlin code"
KT-62674
K2: "Scope for type ConeClassLikeTypeImpl" is null from transitive dependencies
KT-61889
Analysis API: Migrate KtFirReferenceShortener to ContextCollector instead of FirResolveContextCollector
KT-62772
Analysis API: No 'org.jetbrains.kotlin.fir.java.FirSyntheticPropertiesStorage'(31) in array owner: LLFirSourcesSession when analysing builtins in a context of common code
KT-61296
K2: do not resolve the entire file on lazyResolve call if FirFile is passed
KT-60319
K2 IDE: "Stability for initialized variable always should be computable"
KT-62859
K2 IDE: "Evaluate expression" throws exception when calling "Any?.toString()"
KT-62421
K2: IDE K2: "lazyResolveToPhase(BODY_RESOLVE)
cannot be called from a transformer with a phase BODY_RESOLVE."
KT-63058
K2 IDE: Code completion unexpectedly imports static/companion object method
KT-62588
getExpectedType should not calculate type of the expression
KT-61990
K2: Unexpected returnTypeRef for FirSyntheticProperty
KT-62625
K2: 'FirLazyExpression should be calculated before accessing' for unresolved super type
KT-62071
Analysis API: KtFirScopeProvider.getScopeContextForPosition throws exception when ImplicitReceiverValue.implicitScope is null
KT-62691
K2: optimize getFirForNonKtFileElement for references inside 'where'
KT-62587
K2 IDE. FP unresolved reference on accessing nested class in annotation argument
KT-62834
K2: missing file node level in control flow builder
KT-62768
Analysis API: No 'org.jetbrains.kotlin.fir.scopes.impl.FirDelegatedMembersFilter'(44) in array owner: LLFirSourcesSession exception on analysing common code
KT-62874
K2: FirLazyExpression should be calculated before accessing
KT-62407
Analysis API: resolve [this]
in KDoc to extension receiver
KT-61204
K2: "FirLazyExpression should be calculated before accessing in ktor HttpBinApplication"
KT-61901
Analysis API: Declared member scopes for Java classes are missing static members
KT-61800
Analysis API: Provide separate declared member scopes for non-static and static callables
KT-61255
Analysis API: Get rid of valueOf
, values
and entries
from a declared member scope
KT-62466
Expected type for functional expression should include inferred types
KT-61203
IDE K2: "Expected FirResolvedArgumentList for FirAnnotationCallImpl of FirRegularClassImpl(Source) but FirArgumentListImpl found"
KT-61791
Analysis API: Implement combined getPackage
for combined Kotlin symbol providers
KT-62437
K2 IDE. Resolution does not work inside lambda expression in constructor argument in supertypes
KT-62244
K2: Analysis API Standalone: Resolving klib dependencies from binary roots terminates application
KT-62897
K2 IDE. Unresolved declarations from libraries which are doubled in intellij
project libraries
KT-61615
K2: No 'org.jetbrains.kotlin.fir.analysis.js.checkers.FirJsModuleKind' in array owner: LLFirSourcesSession
KT-59334
K2: LLFirImplicitTypesLazyResolver problems
KT-62038
K2: Nested classes are missing in symbol light class structure tests for libraries
KT-61788
Analysis API: Symbol for FirAnonymousInitializer
cannot be null
KT-62139
Analysis API: KtFe10AnalysisSession.createContextDependentCopy does not need validity check
KT-62090
Analysis API: introduce an API to get a substitution formed by class inheritance
KT-62268
K2 IDE. No autocompletion and IllegalStateException for Pair
KT-62302
Support PsiType -> KtType conversion
KT-60325
K2 IDE. "IllegalArgumentException: source must not be null" on throw
usage attempt
KT-61431
K2: KtPropertyAccessorSymbolPointer pointer already disposed for $$result script property
KT-60957
K2: Analysis API: Reference shortener does not work correctly with invoke function calls on properties
KT-58490
K2: LLFirTypeLazyResolver problems
KT-58494
K2: LLFirAnnotationArgumentsLazyResolver problems
KT-58492
K2: LLFirBodyLazyResolver problems
KT-58769
K2: LL FIR: implement platform-dependent session factories
KT-60343
K2 IDE. IllegalArgumentException on passing incorrect type parameter to function
KT-61383
K2: 'KtCompilerFacility' fails on code fragment compilation in library sources with duplicated dependencies
KT-61842
K2: reduce number of "in-block modification" events
KT-62012
K2: "KtReadActionConfinementLifetimeToken is inaccessible: Called outside analyse method"
KT-61371
K2: Analysis API standalone: register compiler symbol provider for libraries in standalone mode
KT-61422
K2 IDE: "No array element type for vararg value parameter: org.jetbrains.kotlin.fir.declarations.impl.FirValueParameterImpl"
KT-60611
K2: reduce number of "in-block modification" events
KT-61425
Analysis API: Provide a way to get a declared member scope for an enum entry's initializing anonymous object
KT-61405
Analysis API: An enum entry should not be a KtSymbolWithMembers
KT-60904
K2: IDE K2: "For DESTRUCTURING_DECLARATION_ENTRY with text _
, one of element types expected, but FirValueParameterSymbol found"
KT-61260
K2 Scripts: Containing function should be not null for KtParameter
KT-61568
FIR Analysis API: collectCallCandidates
gives presence to the top level functions in the presence of more suitable overrides
KT-60610
K2 IDE: move "out of block" processing logic into LL FIR
KT-61597
Analysis API: KotlinIllegalStateExceptionWithAttachments: expected as maximum one expect
for the actual on errorneous code with multiple expects
KT-59793
K2: class org.jetbrains.kotlin.fir.declarations.impl.FirErrorImportImpl cannot be cast to class org.jetbrains.kotlin.fir.declarations.FirResolvedImport
-...
Read more
Kotlin 1.9.20
1.9.20
Analysis. API
New Features
KT-58834
Analysis API: Add source shadowing feature to resolve extensions
Performance Improvements
KT-57515
LL FIR: Performance bottleneck in CompositeModificationTracker.getModificationCount
KT-59266
K2: optimize FirElementBuilder.getOrBuildFir for elements outside body
KT-59454
K2: drop resolve from org.jetbrains.kotlin.analysis.api.fir.components.KtFirVisibilityChecker#collectContainingDeclarations
KT-59453
K2: completion regression from org.jetbrains.kotlin.analysis.api.fir.components.KtFirVisibilityChecker#collectContainingDeclarations
KT-59189
Analysis API: KtFirKDocReference.resolveToSymbols is slow
KT-58125
K2: LL FIR: KtToFirMapping.getElement
is slow for KtUserType
s due to on-air resolution of types
Fixes
KT-59240
K2: FirLazyResolveContractViolationException: lazyResolveToPhase(IMPORTS)
cannot be called from a transformer with a phase IMPORTS from superTypes
KT-58499
K2: FirLazyBlock should be calculated before accessing
KT-57966
K2: Analysis API: Reference Shortener does not work correctly when called on entire file
KT-60954
K2: Analysis API: Reference shortener does not work correctly with variable assignments
KT-60940
K2: Analysis API: Reference shortener incorrectly handles types in vararg parameters declarations
KT-60488
Analysis API: forbid providing custom KtLifetimeToken for every analyze call
KT-60728
K2: proper support for scripts in LL FIR transformers
KT-59159
K2 IDE: declaration is not found exception
KT-59297
K2: exception from body resolve leads to corrupted state and broken analysis
KT-59077
KtFirExpressionTypeProvider behaviour for KtSimpleNameReferences in function calls
KT-60586
K2: forbid analyze from write action
KT-57743
K2 IDE: StackOverflowError from LLFirSessionCache for simple JPS project with cyclic dependencies
KT-61026
K2 Scripts: FirLazyExpression should be calculated before accessing from on-air resolve
KT-61009
K2 Scripts: KtFirExpressionTypeProvider: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImplWithoutSource
KT-60357
K2 IDE. Reified types parameters are not resolved in a function body
KT-60317
K2 IDE. IAE "This method will only work on compiled declarations, but this declaration is not compiled" on invoking Find Usages for enum method in library
KT-60706
K2 IDE: FirJvmTypeMapper is not found for kotlin.kotlin-stdlib-common
KT-60552
K2: merge StateKeeper and lazy body calculator for ANNOTATIONS_ARGUMENTS_MAPPING transformer
KT-60641
Analysis API: Scope for class org.jetbrains.kotlin.fir.types.impl.ConeClassLikeTypeImpl not found exception when stdlib is missing
KT-60638
K2: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImplWithoutSource
KT-54846
Analysis API: add isExpect/isActual to KtSymbol
KT-60448
FirLazyResolveContractViolationException: lazyResolveToPhase(COMPILER_REQUIRED_ANNOTATIONS)
cannot be called from a transformer with a phase COMPILER_REQUIRED_ANNOTATIONS from AllOpen plugin
KT-59342
K2 IDE. FirLazyResolveContractViolationException: lazyResolveToPhase(TYPES)
cannot be called from a transformer with a phase TYPES
KT-59687
K2: Implement proper body update for in-block modifications
KT-59329
Resolve Extensions reference resolution breaks Find Usages
KT-60295
K2: move checkIsResolved for annotations from LLFirAnnotationArgumentsLazyResolver to LLFirTypeLazyResolver
KT-59758
K2: Expected is FirResolvedTypeRef, but was FirImplicitTypeRefImplWithoutSource from ReturnTypeCalculatorWithJump
KT-60377
K2 IDE: This method will only work on compiled declarations, but this declaration is not compiled
KT-59685
K2: rewrite on-air resolution
KT-60132
K2: properties and functions without a name should be re-analyzable as well
KT-59199
K2 IDE: PSI changes which do not cause OOB modifications can be unseen from the FIR elements
KT-59667
Analysis API: PsiInvalidElementAccessException from JavaClassifierTypeImpl.substitutor
KT-59705
KotlinExceptionWithAttachments: No fir element was found for getter
KT-59697
AA standalone: JRT module paths are not properly populated in Windows
KT-59505
K2: implicit type lazy resolution doesn't work for delegated declaration from other module
KT-56426
K2 IDE: Typealised functional types cannot be rendered
KT-59598
AA: stackoverflow while simplifying a type with a recursive type parameter
KT-58497
K2: Expected FirResolvedTypeRef for initializer type of FirPropertyImpl(Source) but FirImplicitTypeRefImplWithoutSource found
KT-59511
AA standalone mode creates Application Environment for tests
KT-58161
Analysis API: Make methods in KtCallResolverMixIn
more distinctive based on their receiver/return type
KT-59093
Do not throw exception on KtCall resolution, KtCallElement.resolveCall
should return null
on unknown cases
KT-59243
K2: FirLazyResolveContractViolationException: lazyResolveToPhase(IMPORTS)
cannot be called from a transformer with a phase IMPORTS from permits types
KT-58194
K2: Low Level API: use smart pointers to store references to PSI from FIR declarations for JavaElement
KT-59133
K2: java.lang.IllegalStateException: Fir is not initialized for FirRegularClassSymbol
KT-58174
K2: LL FIR: Invalid type reference for T & Any type
KT-52615
LL FIR: build RAW FIR only by stubs
KT-55053
K2: Exception "lateinit property diagnostic has not been initialized" in FirBuilder
KT-58580
K2: LL FIR: Declarations provided by resolve extensions from a dependency module are not visible through LLFirCombinedKotlinSymbolProvider
KT-58992
Analysis API: move org.jetbrains.kotlin.analysis.api.fir.utils.addImportToFile out of Analysis API
KT-58727
K2: AA FIR: implicit type in delegated function treated as error
KT-58653
K2: Analysis API: add functions for KtScope members access by name
KT-57559
K2 IDE: KotlinExceptionWithAttachments: Modules are inconsistent on intellij project
KT-58262
Analysis API: Declarations from Analysis API Resolve Extensions are not seen from completion
KT-57455
LL FIR: Combine AbstractFirDeserializedSymbolProvider
s in session dependencies (optimization)
KT-57207
LL FIR: Combine JavaSymbolProvider
s in session dependencies (optimization)
KT-58546
K2: LL FIR: support name collision in a designation path
KT-58495
K2: Lazy calculation is redundant
KT-58500
K2: null cannot be cast to non-null type org.jetbrains.kotlin.fir.FirPureAbstractElement
KT-58493
K2: Expected ...
Read more
Kotlin 1.9.20-RC2
Changelog
Compiler
KT-62747
Wrong warning message when overriding vararg with Array during actualization
KT-62655
Don't report a warning when new members and new supertypes are added to open expect actualization
KT-62313
Kotlin/Native Compiler crash: ClassCastException in IntrinsicGenerator
JavaScript
KT-62790
java.lang.ClassCastException in compiler when ::class is used
Libraries
KT-62656
Drop @AllowDifferentMembersInActual
from stdlib
Reflection
KT-47973
Reflection: "IllegalArgumentException: argument type mismatch" when using callSuspend to call a function returning value class over primitive
Tools. Gradle
KT-61359
"Unresolved reference: platform" when enabling Gradle configuration cache
KT-62496
Configuration time regression with KGP 1.9.20-Beta caused by loading of properties
Checksums
File |
Sha256 |
kotlin-compiler-1.9.20-RC2.zip |
e7ecbb754203a427adcdfa97f609472e0840ef7c6722c04daaf218900b669728 |
kotlin-native-linux-x86_64-1.9.20-RC2.tar.gz |
5faf5f8b1f20c8214767f23a1c9918ab97191abbb93d39aae9fd529b1a93b463 |
kotlin-native-macos-x86_64-1.9.20-RC2.tar.gz |
64d40e0d3398a6fecc948391d1ccd02c30371a56da3710ee6491b5b7b98f7a24 |
kotlin-native-macos-aarch64-1.9.20-RC2.tar.gz |
41be3a0f63a6f726118024c5a9960e480390267a96a30a45211d2bcf49104c33 |
kotlin-native-windows-x86_64-1.9.20-RC2.zip |
a5305b21517756b108c748ade77780af564589b1f64feb810ce211fb72b2da2b |
Kotlin 1.9.20-RC
Changelog
Compiler
KT-62127
"NoSuchFieldError: TRUE$delegate" on referencing companion's variable in submodule
KT-62335
Improve debuggability of code generator crashes
KT-62263
Turn "different expect/actual members" error into a warning
KT-61933
K2: "Argument type mismatch: actual type is 'Foo<kotlin/Function0<kotlin/Unit>>' but 'Foo<kotlin/coroutines/SuspendFunction0<kotlin/Unit>>' was expected
"
IDE. Multiplatform
KT-61686
Check and update places in compiler and IDE where we are saying that MPP is experimental/Beta/Alpha
Native
KT-62532
Support Xcode 15.0 frameworks as Kotlin/Native platform libraries
Native. Runtime. Memory
KT-61914
Kotlin/Native: massive increase in memory usage
KT-61741
Kotlin/Native: tsan error in parallel mark
Tools. Gradle
KT-62318
Android Studio sync memory leak in 1.9.20-Beta
KT-61368
Native compiler option 'module-name' isn't available within the compilerOptions extension for native target while configuring it inside compilations
KT-61355
freeCompilerArgs arguments and its values are passed to the compiler 5 times if added through target-level compilerOptions{} extension inside compilations
Tools. Gradle. Multiplatform
KT-62029
Kotlin 1.9.20-Beta fails to detect some transitive dependency references in JVM+Android source set
Tools. Incremental Compile
KT-61852
Kotlin 1.9.20-Beta: incremental compilation fails with files outside of the project folder
Tools. Kapt
KT-62438
Change experimental K2 kapt diagnostic message
KT-61879
K2 Kapt: java.lang.NoSuchMethodError during stub generation
Tools. Wasm
KT-61973
K/Wasm: wasmWasiNodeRun is missed
KT-61971
K/Wasm: wasmWasiTest should depends on kotlinNodeJsSetup
Checksums
File |
Sha256 |
kotlin-compiler-1.9.20-RC.zip |
12d0ff13c62aedeabb6e03a9619b59f8275ec9600b4de25560d5b451e1deafdf |
kotlin-native-linux-x86_64-1.9.20-RC.tar.gz |
54cbb138324cf4a9bc1133329da40d9ffdd428b9441367dca6f96e49034423fa |
kotlin-native-macos-x86_64-1.9.20-RC.tar.gz |
82e8346bbfd01d06b3630ed0370982f24ace7e7abffd53cefdf1399ceb1ca5f0 |
kotlin-native-macos-aarch64-1.9.20-RC.tar.gz |
9b57d7631c879110e747eaa6da7a8819e48a191be3cb77169d0a4bfcef38bcca |
kotlin-native-windows-x86_64-1.9.20-RC.zip |
ec6381d769481209394c5b451145309075906a011e74b5ba9e0670579979323a |