90% of ad revenue goes to creators. Go ad-free while supporting creators with Modrinth Plus. Subscribe today!
Changelog
1.8.0-Beta
Android
KT-53013
Increase AGP compile version in KGP to 4.1.3KT-53709
MPP, Android SSL2: Conflicting warnings forandroidTest/kotlin
source set folder
Backend. Native. Debug
KT-53561
Invalid LLVM module: "inlinable function call in a function with debug info must have a !dbg location"
Compiler
New Features
KT-53916
Support Xcode 14 and new Objective-C frameworks in Kotlin/Native compilerKT-54460
Implementation of non-local break and continueKT-32208
Generate method annotations into bytecode for suspend lambdas (on invokeSuspend)KT-53438
Introduce a way to get SourceDebugExtension attribute value via JVMTI for profiler and coverage
Performance Improvements
Fixes
KT-52974
"IllegalStateException: Symbol with IrSimpleFunctionSymbolImpl is unbound" compiling native targets of MPP projectKT-48678
Coroutine debugger: disable "was optimised out" compiler featureKT-54745
Restore KtToken constructors without tokenId parameter to preserve back compatibilityKT-54650
Binary incompatible ABI change in Kotlin 1.7.20KT-52786
Frontend / K2: IndexOutOfBoundsException when opting in to K2KT-54004
Builder type inference does not work correctly with variable assignment and breaks run-timeKT-54581
JVM: "VerifyError: Bad type on operand stack" with generic inline function andwhen
inside try-catch blockKT-52913
JVM / IR: "IllegalArgumentException: Inline class types should have the same representation" when trying to down cast cast a value classKT-54600
NPE on passing nullable Kotlin lambda as Java's generic SAM interface withsuper
type boundKT-54463
Delegating to a field with a platform type causes java.lang.NoSuchFieldError: value$delegateKT-54509
Ir Interpreter: unable to evaluate string concatenation with "this" as argumentKT-54393
Change in behavior from 1.7.10 to 1.7.20 for java field override.KT-54615
JVM: Internal error in file lowering: java.lang.AssertionError: Error occurred while optimizing an expressionKT-53146
JVM IR: unnecessary checkcast of null leads to NoClassDefFoundError if the type isn't available at runtimeKT-51868
JVM / IR: Inconsistent behaviour between lambda expression and SAM interface conversion for the same interfaceKT-53947
IllegalStateException: No mapping for symbol: VALUE_PARAMETER INSTANCE_RECEIVERKT-53712
Add mode to prevent generating JVM 1.8+ annotation targets (TYPE_USE, TYPE_PARAMETER)KT-48532
Remove old JVM backendKT-35187
NullPointerException on compiling suspend inline fun with typealias to suspend function typeKT-54275
K2: "IllegalArgumentException: KtParameter is not a subtype of class KtAnnotationEntry for factory REPEATED_ANNOTATION"KT-47475
"IncompatibleClassChangeError: disagree on InnerClasses attribute": cross-module inlined WhenMappings has mismatched InnerClassesKT-53197
K2: 'init' hides member of supertype 'UIComponent' and needs 'override' modifierKT-53867
K2: @JvmRecord does not compile to a java recordKT-53964
K2 is unable to work with Java recordsKT-53349
K2: TYPE_MISMATCH caused by non-local returnKT-54100
"Type variable TypeVariable(P) should not be fixed" crash in code with errorsKT-49017
Forbid usages of super or super if in fact it accesses an abstract memberKT-54192
Warn about unsupported feature on generic inline class parametersKT-53723
Friend modules aren't getting passed to cache build during box testsKT-53873
K2: Duplicated diagnostics reported from user type ref checkersKT-50909
"VerifyError: Bad type on operand stack" caused by smartcasting for nullable inline class property in classKT-48031
"IllegalStateException: Type variable TypeVariable(T) should not be fixed!"KT-54115
Restore Psi2IrTranslator constructor from 1.7.20KT-53908
K2: Self-referencing generics in Java class causes New Inference Error (IE: class Foo<T extends Foo>)KT-53193
K2: compile error on project that compiles fine with normal 1.7.10KT-53953
Forbid usages of super or super if in fact it accesses an abstract memberKT-47473
NI: Missed UPPER_BOUND_VIOLATED diagnostics if use type aliases with type parametersKT-54049
K2: false positive MANY_IMPL_MEMBER_NOT_IMPLEMENTEDKT-30054
Wrong approximation if nullable anonymous object with implemented interface is usedKT-53751
Postpone IgnoreNullabilityForErasedValueParameters featureKT-53324
Implement Enum.entries lowering on K/NKT-44441
K2: report redeclaration error if there is a Java class with the same name as the Kotlin classKT-53493
K2:val on function parameter
counts as just warningKT-53435
K2: "IllegalArgumentException: class KtValueArgument is not a subtype of class KtExpression for factory ANNOTATION_ARGUMENT_MUST_BE_CONST" if string in nested annotation is concatenatedKT-52927
AssertionError: LambdaKotlinCallArgumentImplKT-53922
Make Enum.entries unstable feature to poison binariesKT-53783
Exception during psi2ir when declaring expect data objectKT-41670
JVM IR: AbstractMethodError when using inheritance for fun interfacesKT-53178
K2: implement diagnostics for serialization pluginKT-53465
Unnecessary checkcast to array of reified type is not optimized since Kotlin 1.6.20KT-52970
Default value constant in companion object works on JVM and JS, but fails on nativeKT-27936
Write InnerClasses attribute for all class names used in a class fileKT-53007
JVM: "Bad invokespecial instruction: current class isn't assignable to reference class" when call superclass of outer class method from inner classKT-53261
Evaluate effect from inline for primitive typesKT-39492
Kotlin.Metadata's packageName field cannot be an empty stringKT-53664
Ir Interpreter: unable to evaluate name of function reference marked with JvmStatic from another moduleKT-52478
[Native] Partial linkage: Building native binary from cached KLIBs fails if one library depends on removed nested callable member from another oneKT-53667
Compiler crashes on attempt to alloc a string on the stack in new MMKT-48822
CompilationException: Back-end (JVM) Internal error: Failed to generate expression: KtProperty - ConcurrentModificationExceptionKT-50281
IllegalStateException: unsupported call of reified inlined functionKT-53480
Internal error in file lowering: java.lang.ClassNotFoundException: com.android.systemui.R$stringKT-50083
Different error messages in android and JVM (Intrinsics.checkNotNullParameter).KT-53270
K1: implement synthetic Enum.entries propertyKT-41017
FIR: should we support smartcast after null checkKT-52823
Cannot access class Thread.State after upgrading to 1.7 from 1.6.1 using -Xjdk-release=1.8KT-53257
FIR: Improper context receiver argument is chosen when there are two extension receiver candidatesKT-53090
Anonymous function and extension function literals are generated as classes even with -Xlambdas=indyKT-53208
K2: Cannot get annotation for default interface method parameter when compiled with-Xuse-k2
KT-53184
K2: NoSuchMethodError on KProperty1.get() referenced via nullable typealiasKT-53198
K2: Return type mismatch: expected kotlin/Unit, actual kotlin/Unit?KT-53100
Optimization needed: (CONSTANT_PRIMITIVE(x: T?)) => xKT-49875
[FIR] Support infering PRIVATE_TO_THIS visibilityKT-53024
Refactor FIR renderer to composable architectureKT-29168
Prohibit upper bounds violation with generic typealias using not all type parameters as arguments for underlying type in supertypesKT-53148
K1: introduce warning for inline virtual member in enumKT-53041
NPE in Kotlin 1.7.0 when using RxJava Maybe.doOnEvent with anonymous parametersKT-49847
Devirtualization fails to eliminate boxing in function reference contextKT-52875
Extension function literal creation with-Xlambdas=indy
fails with incorrect argumentsKT-53072
INVALID_IF_AS_EXPRESSION error isn't shown in the IDE (LV 1.8)KT-52985
Native: a function with typeT?
returned akotlin.Unit
instead ofnull
KT-52020
FIR warning message includes internal renderingKT-50835
Inline functions with suspend lambdas break the tail-call optimizationKT-54802
"VerifyError: Bad type on operand stack" for inline functions on arrays
IDE
KT-48773
Investigate the possibility of removing dependency on old JVM backend in light classesKT-51101
FIR IDE: Exception on "Show Type Info" actionKT-51656
FIR IDE: ProgressCancelled exception is masked in the compiler during resolveKT-51315
FIR IDE: move out base modules from fe10 plugin to reuse in k2 pluginKT-53097
Extract common part of light classes to another module
IDE. Debugger
KT-51755
Compilation exception with scripting compilation during debug session
IDE. Gradle Integration
KT-53514
HMPP: False positive forNone of the following functions can be called with the arguments supplied.
with Enum in common moduleKT-48135
In the IDE import, reuse dependency granular source set KLIBs across multi-project build to avoid duplicate external librariesKT-51583
Gradle 7.4+ | SamplesVariantRule interference: Could not resolve all files for configuration ':kotlinKlibCommonizerClasspath'
IDE. Inspections and Intentions
KT-49643
Intentions: "Implement members" fails when base type function declaration uses unresolved generic types
IDE. Navigation
KT-51314
FIR IDE: show Kotlin declarations in search symbol
IDE. Script
KT-54325
.settings.gradle.kts and .init.gradle.kts are reported as standalone scripts
IDE. Tests Support
KT-50269
FIR IDE: Allow running tests via gutter
JavaScript
Fixes
KT-53931
KJS / Gradle: Regression with 1.7.20-RC: ReferenceError: println is not definedKT-54520
KJS / IR Allow IdSignature clashesKT-54686
KJS / IR: Incorrect generation of signatures when one of argument is nested classKT-54479
KJS / IR + IC: Adding or removing companion fields leads java.lang.IllegalStateException in the compiler IC infrastructureKT-54382
KJS / IR: Wrong type check for inheritors of suspend functionsKT-54323
KJS / IR + IC: Intrinsics from stdlib may lose their dependencies in incremental rebuildKT-53361
KJS / IR: No debug info is generated for in-line js codeKT-53321
Implement Enum.entries lowering on JS/IRKT-53112
KJS IR turn on IC infra by defaultKT-50503
Kotlin/JS: IR + IC: compileTestDevelopmentExecutableKotlinJs fails with ISE: "Could not find library" after removing module dependencyKT-54120
JS IR + IC: pointless invalidation of dependent code after modifying companionsKT-54011
JS IR + IC: EnumEntries don't work well when IC is enabledKT-54010
JS IR + IC: Force IC cache invalidation after updating language version or featuresKT-53672
KJS / IR: "IndexOutOfBoundsException: Index 0 out of bounds for length 0" caused by function reference to extension function of reified type variableKT-43455
KJS: IR. Incremental compilation problem with unbound symbolsKT-53539
KJS: Exported class inherited non-exported class shows warningKT-53443
KJS/IR: NullPointerException caused by anonymous objects inside lambdasKT-52795
K/JS and K/Native IR-validation/compilation errors for a valid kotlin codeKT-52805
KJS/IR: Invalid call of inline function inalso
blockKT-51151
KJS / IR: Wrong overloaded generic method with receiver is calledKT-52830
KJS/IR: Sourcemap disabling doesn't workKT-52968
KJS / IR: Buggy generation of overridden methodsKT-53063
KJS / IR + IC: undefined cross module reference for implemented interface functionsKT-51099
KJS / IR + IC: Cache invalidation doesn't check generic class variance annotations (in, out)KT-51090
KJS / IR + IC: Cache invalidation doesn't check suspend qualifierKT-51088
KJS / IR + IC: Cache invalidation doesn't check class qualifiers (data, inline)KT-51083
KJS / IR + IC: Cache invalidation doesn't check inline function which was non inline initiallyKT-51896
KJS / IR + IC: Cache invalidation doesn't trigger rebuild for fake overridden inline functions
Language Design
KT-41886
Ability to require opt-in for interface implementation, but not for usageKT-34943
OVERLOAD_RESOLUTION_AMBIGUITY inconsistent with the equivalent Java codeKT-49110
Prohibit access to members of companion of enum class from initializers of entries of this enum
Libraries
New Features
KT-21007
Provide Kotlin OSGI Bundle with extensions for JRE8 (and JRE7)KT-54082
Comparable and subtractible TimeMarksKT-50484
Extensions for java.util.Optional in stdlibKT-52928
Provide copyToRecursively and deleteRecursively extension functions for java.nio.file.PathKT-52932
Open-ended ranges in the standard libraryKT-49425
Update OptIn documentation to reflect latest design changesKT-54005
Allow callingdeclaringJavaClass
on EnumKT-52933
rangeUntil members in built-in types
Performance Improvements
KT-53508
Cache typeOf-related KType instances when kotlin-reflect is used
Fixes
KT-51907
Switch JVM target of the standard libraries to 1.8KT-53277
Stabilize experimental API for 1.8KT-53864
Review deprecations in stdlib for 1.8KT-47707
Remove the system property and the brittlecontains
optimization code itselfKT-52336
Different behavior on JVM and Native in stringBuilder.append(charArray, 0, 1)KT-53927
Remove deprecation from ConcurrentModificationException constructorsKT-53134
stdlib > object Charsets > not thread safe lazy initializationKT-51063
Gradle project with JPS runner: "JUnitException: Failed to parse version" JUnit runner internal error with JUnitKT-52908
Native: setUnhandledExceptionHook swallows exceptions
Native
KT-51043
Kotlin Native: ObjC-Interop: kotlin.ClassCastException: null cannot be cast to kotlin.Function2KT-50786
Native: prohibit suspend calls inside autoreleasepool {}KT-53346
MPP project with kotlinx-serialization-json:1.4.0-RC is not builtKT-52834
Implement test infrastructure for K2/Native
Native. C Export
KT-36878
Reverse C Interop: incorrect headers generation for primitive unassigned type arraysKT-53599
[Reverse C Interop] Provide box/unbox API for unsigned primitive typesKT-41904
Kotlin/Native : error: duplicate member for interface and function with the same nameKT-42830
[Reverse C Interop] Add API to get value of boxed primitivesKT-39496
K/N C: optional unsigned types as function parameters crash the compilerKT-39015
Cannot compile native library with nullable inline class
Native. C and ObjC Import
KT-54738
Cocoapods cinterop: linking platform.CoreGraphics packageKT-54001
Kotlin/Native: support header exclusion in cinterop def filesKT-53151
Native: Custom declarations in .def don't work with modules, only headers
Native. ObjC Export
KT-53680
Obj-C refinement annotationsKT-54119
Native: runtime assertion failed due to missing thread state switchKT-42641
Don't export generated component* methods from Kotlin data classes to Obj-C header
Native. Platform Libraries
KT-39747
Why is there no WinHttp API in Kotlin/Native's Windows API?
Native. Runtime
KT-49228
Kotlin/Native: Allow to unset unhandled exception hookKT-27305
Fix FILE macro insideRuntimeCheck
andRuntimeAssert
Native. Runtime. Memory
KT-54498
Deprecation message of 'FreezingIsDeprecated' is not really helpfulKT-53182
New memory manager: Unexpected memory usage on IOS
Native. Stdlib
KT-52429
Small Usability Improvements for Worker API
Reflection
KT-54611
KTypeImpl
does not take into account class loader from theclassifier
propertyKT-48136
MakeReflection.getOrCreateKotlinPackage
use cache whenkotlin-reflect
is usedKT-50705
Use ClassValue to cache KClass objects in kotlin-reflectKT-53454
Properly cache the same class's KClass when it's loaded by multiple classloaders in getOrCreateKotlinClass
Specification
KT-53646
Incorporate rangeUntil (..<) operator into specification
Tools. CLI
KT-54116
Add JVM target bytecode version 19KT-53278
Support values 6 and 8 for -Xjdk-releaseKT-46312
CLI: Kotlin runner should use platform class loader to load JDK modules on Java 9+
Tools. Commonizer
KT-54310
Commonizer fails on 1.8.0-dev K/N distributionsKT-48576
[Commonizer] platform.posix.pselect not commonized in Ktor
Tools. Compiler Plugins
KT-46959
Kotlin Lombok: Support generated builders (@builder)KT-53647
[K2] Unresolved reference compilation error occurs if a field is annotated with @ Singular and has type Iterable<>
Tools. Compiler plugins. Serialization
KT-53157
Recursion detected in a lazy value under LockBasedStorageManager in kotlinx.serializationKT-49660
kotlinx.serialization: IndexOutOfBoundsException for parameterized sealed classKT-43910
JS IR: Serialization with base class: "IndexOutOfBoundsException: Index 0 out of bounds for length 0"
Tools. Daemon
KT-52622
Kotlin/JS, Kotlin/Common compilations start Kotlin daemon incompatible with Kotlin/JVM compilation on JDK 8
Tools. Gradle
KT-54703
Stdlib substitution does not work with JPMS modules
New Features
KT-53357
Change single build metrics propertyKT-34464
Kotlin build report path not clickable in the IDE
Performance Improvements
KT-52520
Remove usage of reflection from CompilerArgumentsGradleInputKT-53118
Fully up-to-date builds are slower with Kotlin 1.7.0
Fixes
KT-54136
Duplicated classes cause build failure if a dependency to kotlin-stdlib specified in an android projectKT-51923
Improve usability of errors and warnings by being able to click on themKT-54439
Project failed to sync Native LaguageSettings to compiler options in afterEvaluateKT-54399
Undeprecate 'kotlinOptions' DSLKT-54306
Change the naming of newly added Compiler*Options classes and interfacesKT-53885
Bump minimal supported Gradle version to 6.8.3KT-53773
Protect and system properties can contain sensitive dataKT-53732
Add custom values limits for build scan reportsKT-52624
Compatibility with Gradle 7.3 releaseKT-51831
Gradle: removekotlin.compiler.execution.strategy
system propertyKT-51679
Change deprecation level to error for KotlinCompile setClasspath/getClasspath methodsKT-48843
Add ability to disable Kotlin daemon fallback strategyKT-53617
KotlinCompilerExecutionStrategy value is ignored by depending modules if configure once for all project modules using allProjects {}KT-53823
Kotlin Gradle Plugin uses deprecated Gradle API: Provider.forUseAtConfigurationTime()KT-54142
Increase Kotlin Gradle plugin Gradle target API to 7.5KT-50161
Android variant filter breaks KotlinCompile cache compatibilityKT-54113
LanguageSettings to KotlinNativeLink.toolOptions sync are executed on the wrong contextKT-54112
Missing target input on KotlinNativeLink taskKT-45879
Documentation: Wrong kotlin languageVersion "1.6 (EXPERIMENTAL)"KT-54103
Remove JvmTarget.JVM_1_6 from generated Gradle compiler typeKT-50598
MULTIPLE_KOTLIN_PLUGINS_SPECIFIC_PROJECTS_WARNING is only shown on first buildKT-52209
Corrupted cache and non-incremental build if produce caches "in process" and restore then compiling with kotlin daemonKT-41642
"TaskDependencyResolveException: Could not determine the dependencies" when trying to apply stdlibKT-53390
Drop usage of -Xjava-source-roots when passing java sources required for Kotlin compilationKT-38622
Non-incremental compilation because of R.jar with Android Gradle plugin 3.6KT-53615
Gradle: Fix deprecation warnings in CleanableStoreImplKT-38576
AnalysisResult.RetryWithAdditionalRoots crashes during incremental compilation with java classes in classpathKT-53244
Report from gradle about compiler pluginsKT-45747
Add basic JUnit 5 Kotlin Gradle Plugin Android tests setupKT-52839
Warn in Gradle log why incremental compilation failed
Tools. Gradle. Cocoapods
KT-54314
Cocoapods: Signing pod dependency for Xcode 14KT-54060
Xcode 14: disable bitcode embedding for Apple frameworksKT-53127
Cocoapod plugin ignores pod versionKT-53340
Change default linking type for frameworks registered by cocoapods pluginKT-53392
Deprecate and delete downloading pod dependencies by direct linkKT-53695
Build of macOS application fails if a framework is integrated via Cocoapods pluginKT-53174
CocoaPods: Synthetic Podfile does not specify platform
Tools. Gradle. JS
KT-53374
KJS / Gradle: Implement IDEA sync detection logic via ValueSource to improve configuration cache supportKT-53788
KJS / Gradle: Disable Gradle build cache for KotlinJsDce when development mode is enabledKT-53614
Kotlin/JS upgrade npm dependenciesKT-52950
KJS: Report if yarn.lock was updated during builtKT-53367
KJS: Migrate cssSupport APIKT-45789
KJS / IR: Transitive NPM dependencies are not included in PublicPackageJsonTask output
Tools. Gradle. Multiplatform
New Features
KT-53396
Support 'implementation platform()' by gradle kotlin mpp plugin for JVM targetKT-40489
MPP / Gradle: support BOM (enforcedPlatform) artifacts in source set dependencies DSL
Fixes
KT-27292
MPP: jvm { withJava() }: Gradle build: Java source under Kotlin root is resolved while building, but does not produce output class filesKT-34650
Naming clash in MPP+Android: androidTest vs androidAndroidTestKT-54387
Remove MPP alpha stability warningKT-31468
Targets disambiguation doesn't work if a depending multiplatform module useswithJava()
modeKT-35916
Gradle MPP plugin: Configurations for a main compilation and its default source set have different namingKT-54090
Take an Apple test device from the device listKT-53256
Implement K/N compiler downloading for KPMKT-45412
KotlinCompilation: Make sure .kotlinSourceSets and .allKotlinSourceSets include the default source setKT-54071
MPP/AGP compatibility: Bump maxSupportedVersion to 7.3.0
Tools. Gradle. Native
KT-53191
Native cinterop sync problem with gradleKT-54583
watchosDeviceArm64 target shouldn't register test tasksKT-53107
Add arm64 support for watchOS targets (Xcode 14)KT-52303
Gradle / Native: Build tasks ignore project.buildDirKT-47355
Support macos target for FatFramework taskKT-53339
MPP / CocoaPods: The static framework fails to install on a real iOS deviceKT-31573
Missing description for Native Gradle tasksKT-53131
Gradle Sync: "NoSuchElementException: Array contains no element matching the predicate" with CocoaPodsKT-53686
Task assembleReleaseXCFramework fails with "error: the path does not point to a valid framework" if project name contains a dash
Tools. Incremental Compile
KT-53266
Increment Compilation: "IllegalStateException: The following LookupSymbols are not yet converted to ProgramSymbols" when changing companion object constant fieldKT-53871
New IC: "IllegalStateException: The following LookupSymbols are not yet converted to ProgramSymbols" when changing an inline property accessorKT-53231
New IC reports build failures for missing classpath snapshotsKT-19804
Relocatable IC cachesKT-52946
CompileKotlinJs task is executed non-incrementally if there were changes made to the dependant module
KT-53266
Increment Compilation: "IllegalStateException: The following LookupSymbols are not yet converted to ProgramSymbols" when changing companion object constant fieldKT-53871
New IC: "IllegalStateException: The following LookupSymbols are not yet converted to ProgramSymbols" when changing an inline property accessorKT-53231
New IC reports build failures for missing classpath snapshotsKT-19804
Relocatable IC cachesKT-52946
CompileKotlinJs task is executed non-incrementally if there were changes made to the dependant moduleKT-53266
Increment Compilation: "IllegalStateException: The following LookupSymbols are not yet converted to ProgramSymbols" when changing companion object constant fieldKT-53871
New IC: "IllegalStateException: The following LookupSymbols are not yet converted to ProgramSymbols" when changing an inline property accessorKT-53231
New IC reports build failures for missing classpath snapshotsKT-19804
Relocatable IC cachesKT-52946
CompileKotlinJs task is executed non-incrementally if there were changes made to the dependant module
Tools. JPS
KT-45474
False positive NO_ELSE_IN_WHEN on sealed class with incremental compilationKT-54228
Switching abstract to sealed classes causes incremental issueKT-38483
JPS: Stopping compilation causes IDE CompilationCanceledExceptionKT-50310
False positive NO_ELSE_IN_WHEN on incremental build when adding sealed classesKT-48813
Move cache version to compiler
Tools. Kapt
KT-54187
JVM IR + kapt: incorrect modifierfinal
is generated for nested enum in interfaceKT-48827
Remove 'kapt.use.worker.api' propertyKT-52761
Kotlin 1.7.0 breaks kapt processing for protobuf generated java sources
Tools. Scripts
Files
Kotlin-1.8.0-Beta-Runnable.jar(1.78 MiB) Primary Download
Links
Details
Licensed Apache-2.0
Created 2 years ago
Updated 2 years ago