Kotlin

Kotlin

Plugin

This plugin adds the Kotlin libraries to your Minecraft server, enabling proper support for Plugins developed with Kotlin

Server LibraryTechnology

1,564 downloads
13 followers
Follow Save
90% of ad revenue goes to creators. Go ad-free while supporting creators with Modrinth Plus. Subscribe today!
Filter loader...
Filter versions...
Filter channels...

Kotlin 1.8.0

by TheFruxz on Dec 30, 2022
Download

Kotlin 1.8.0 released, due to a bug at Modrinth, the release notes are currently not available here

Changelog

Compiler

  • KT-55357 IllegalStateException when reading a class that delegates to a Java class with a definitely-not-null type with a flexible upper bound
  • KT-55068 Kotlin Gradle DSL: No mapping for symbol: VALUE_PARAMETER SCRIPT_IMPLICIT_RECEIVER on JVM IR backend
  • KT-51284 SAM conversion doesn't work if method has context receivers
  • KT-55065 Kotlin Gradle DSL: Reflection cannot find class data for lambda, produced by JVM IR backend

Tools. Compiler plugins. Serialization

  • KT-55340 Argument for kotlinx.serialization.UseSerializers does not implement KSerializer or does not provide serializer for concrete type

Tools. Gradle

  • KT-55334 kaptGenerateStubs passes wrong android variant module names to compiler
  • KT-55255 Gradle: stdlib version alignment fails build on dynamic stdlib version.
  • KT-55363 [K1.8.0-Beta] Command line parsing treats plugin parameters as source files

Changelog

Compiler

  • KT-55108 IR interpreter: Error occurred while optimizing an expression: VARARG
  • KT-54884 "StackOverflowError: null" caused by Enum constant name in constructor of the same Enum constant
  • KT-55013 State checker use-after-free with XCode 14.1
  • KT-54275 K2: "IllegalArgumentException: KtParameter is not a subtype of class KtAnnotationEntry for factory REPEATED_ANNOTATION"

JavaScript

  • KT-55097 KJS / IR + IC: Using an internal function from a friend module throws an unbound symbol exception
  • KT-54934 KJS / IR + IC: Suspend abstract function stubs are generated with unstable lowered ic signatures
  • KT-54895 KJS / IR + IC: broken cross module references for function default param wrappers

Language Design

  • KT-48516 Forbid @Synchronized annotation on suspend functions

Libraries

  • KT-54835 Document that Iterable.all(emptyCollection) returns TRUE.
  • KT-54168 Expand on natural order in comparator docs

Native. Platform Libraries

Tools. Compiler plugins. Serialization

  • KT-55296 Improve exceptions in serialization plugin
  • KT-55180 KJS: regression in serialization for Kotlin 1.8.0-beta
  • KT-54878 JVM/IR: java.lang.ClassCastException: class org.jetbrains.kotlin.ir.types.impl.IrStarProjectionImpl cannot be cast to class org.jetbrains.kotlin.ir.types.IrTypeProjection on serializer<Box<*>>()

Tools. Gradle

  • KT-50115 Setting toolchain via Java extension does not configure 'kotlinOptions.jvmTarget' value when Kotlin compilation tasks are created eagerly
  • KT-55222 Migrate AndroidDependencyResolver to the new Gradle API
  • KT-54993 Raise kotlin.jvm.target.validation.mode check default level to error when build is running on Gradle 8+
  • KT-54995 [1.8.0-Beta] compileAppleMainKotlinMetadata fails on default parameters with No value passed for parameter 'mustExist'
  • KT-45335 kotlinOptions.jvmTarget conflicts with Gradle variants
  • KT-55019 Gradle sync: UnknownConfigurationException when adding implementation dependencies to a Kotlin with Java compilation
  • KT-55004 jvmTarget value is ignored by depending modules if a task "UsesKotlinJavaToolchain" is configured for all project modules using allProjects {}
  • KT-54888 Add Gradle property to suppress kotlinOptions.freeCompilerArgs modification on execution phase

Tools. Gradle. JS

  • KT-55099 K/JS: Second declaration of JS target without compiler type report warning incorrectly

Tools. Gradle. Multiplatform

  • KT-54634 MPP: Test Failure causes: KotlinJvmTest$Executor$execute$1 does not define failure

Tools. Incremental Compile

  • KT-54144 New IC: "IllegalStateException: The following LookupSymbols are not yet converted to ProgramSymbols" when changing an inline function with custom JvmName

1.8.0-Beta

Android

  • KT-53013 Increase AGP compile version in KGP to 4.1.3
  • KT-53709 MPP, Android SSL2: Conflicting warnings for androidTest/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 compiler
  • KT-54460 Implementation of non-local break and continue
  • KT-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

  • KT-53347 Get rid of excess allocations in parser
  • KT-53689 JVM: Optimize equality on class literals

Fixes

  • KT-52974 "IllegalStateException: Symbol with IrSimpleFunctionSymbolImpl is unbound" compiling native targets of MPP project
  • KT-48678 Coroutine debugger: disable "was optimised out" compiler feature
  • KT-54745 Restore KtToken constructors without tokenId parameter to preserve back compatibility
  • KT-54650 Binary incompatible ABI change in Kotlin 1.7.20
  • KT-52786 Frontend / K2: IndexOutOfBoundsException when opting in to K2
  • KT-54004 Builder type inference does not work correctly with variable assignment and breaks run-time
  • KT-54581 JVM: "VerifyError: Bad type on operand stack" with generic inline function and when inside try-catch block
  • KT-52913 JVM / IR: "IllegalArgumentException: Inline class types should have the same representation" when trying to down cast cast a value class
  • KT-54600 NPE on passing nullable Kotlin lambda as Java's generic SAM interface with super type bound
  • KT-54463 Delegating to a field with a platform type causes java.lang.NoSuchFieldError: value$delegate
  • KT-54509 Ir Interpreter: unable to evaluate string concatenation with "this" as argument
  • KT-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 expression
  • KT-53146 JVM IR: unnecessary checkcast of null leads to NoClassDefFoundError if the type isn't available at runtime
  • KT-51868 JVM / IR: Inconsistent behaviour between lambda expression and SAM interface conversion for the same interface
  • KT-53947 IllegalStateException: No mapping for symbol: VALUE_PARAMETER INSTANCE_RECEIVER
  • KT-53712 Add mode to prevent generating JVM 1.8+ annotation targets (TYPE_USE, TYPE_PARAMETER)
  • KT-48532 Remove old JVM backend
  • KT-35187 NullPointerException on compiling suspend inline fun with typealias to suspend function type
  • KT-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 InnerClasses
  • KT-53197 K2: 'init' hides member of supertype 'UIComponent' and needs 'override' modifier
  • KT-53867 K2: @JvmRecord does not compile to a java record
  • KT-53964 K2 is unable to work with Java records
  • KT-53349 K2: TYPE_MISMATCH caused by non-local return
  • KT-54100 "Type variable TypeVariable(P) should not be fixed" crash in code with errors
  • KT-49017 Forbid usages of super or super if in fact it accesses an abstract member
  • KT-54192 Warn about unsupported feature on generic inline class parameters
  • KT-53723 Friend modules aren't getting passed to cache build during box tests
  • KT-53873 K2: Duplicated diagnostics reported from user type ref checkers
  • KT-50909 "VerifyError: Bad type on operand stack" caused by smartcasting for nullable inline class property in class
  • KT-48031 "IllegalStateException: Type variable TypeVariable(T) should not be fixed!"
  • KT-54115 Restore Psi2IrTranslator constructor from 1.7.20
  • KT-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.10
  • KT-53953 Forbid usages of super or super if in fact it accesses an abstract member
  • KT-47473 NI: Missed UPPER_BOUND_VIOLATED diagnostics if use type aliases with type parameters
  • KT-54049 K2: false positive MANY_IMPL_MEMBER_NOT_IMPLEMENTED
  • KT-30054 Wrong approximation if nullable anonymous object with implemented interface is used
  • KT-53751 Postpone IgnoreNullabilityForErasedValueParameters feature
  • KT-53324 Implement Enum.entries lowering on K/N
  • KT-44441 K2: report redeclaration error if there is a Java class with the same name as the Kotlin class
  • KT-53493 K2: val on function parameter counts as just warning
  • KT-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 concatenated
  • KT-52927 AssertionError: LambdaKotlinCallArgumentImpl
  • KT-53922 Make Enum.entries unstable feature to poison binaries
  • KT-53783 Exception during psi2ir when declaring expect data object
  • KT-41670 JVM IR: AbstractMethodError when using inheritance for fun interfaces
  • KT-53178 K2: implement diagnostics for serialization plugin
  • KT-53465 Unnecessary checkcast to array of reified type is not optimized since Kotlin 1.6.20
  • KT-52970 Default value constant in companion object works on JVM and JS, but fails on native
  • KT-27936 Write InnerClasses attribute for all class names used in a class file
  • KT-53007 JVM: "Bad invokespecial instruction: current class isn't assignable to reference class" when call superclass of outer class method from inner class
  • KT-53261 Evaluate effect from inline for primitive types
  • KT-39492 Kotlin.Metadata's packageName field cannot be an empty string
  • KT-53664 Ir Interpreter: unable to evaluate name of function reference marked with JvmStatic from another module
  • KT-52478 [Native] Partial linkage: Building native binary from cached KLIBs fails if one library depends on removed nested callable member from another one
  • KT-53667 Compiler crashes on attempt to alloc a string on the stack in new MM
  • KT-48822 CompilationException: Back-end (JVM) Internal error: Failed to generate expression: KtProperty - ConcurrentModificationException
  • KT-50281 IllegalStateException: unsupported call of reified inlined function
  • KT-53480 Internal error in file lowering: java.lang.ClassNotFoundException: com.android.systemui.R$string
  • KT-50083 Different error messages in android and JVM (Intrinsics.checkNotNullParameter).
  • KT-53270 K1: implement synthetic Enum.entries property
  • KT-41017 FIR: should we support smartcast after null check
  • KT-52823 Cannot access class Thread.State after upgrading to 1.7 from 1.6.1 using -Xjdk-release=1.8
  • KT-53257 FIR: Improper context receiver argument is chosen when there are two extension receiver candidates
  • KT-53090 Anonymous function and extension function literals are generated as classes even with -Xlambdas=indy
  • KT-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 typealias
  • KT-53198 K2: Return type mismatch: expected kotlin/Unit, actual kotlin/Unit?
  • KT-53100 Optimization needed: (CONSTANT_PRIMITIVE(x: T?)) => x
  • KT-49875 [FIR] Support infering PRIVATE_TO_THIS visibility
  • KT-53024 Refactor FIR renderer to composable architecture
  • KT-29168 Prohibit upper bounds violation with generic typealias using not all type parameters as arguments for underlying type in supertypes
  • KT-53148 K1: introduce warning for inline virtual member in enum
  • KT-53041 NPE in Kotlin 1.7.0 when using RxJava Maybe.doOnEvent with anonymous parameters
  • KT-49847 Devirtualization fails to eliminate boxing in function reference context
  • KT-52875 Extension function literal creation with -Xlambdas=indy fails with incorrect arguments
  • KT-53072 INVALID_IF_AS_EXPRESSION error isn't shown in the IDE (LV 1.8)
  • KT-52985 Native: a function with type T? returned a kotlin.Unit instead of null
  • KT-52020 FIR warning message includes internal rendering
  • KT-50835 Inline functions with suspend lambdas break the tail-call optimization
  • KT-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 classes
  • KT-51101 FIR IDE: Exception on "Show Type Info" action
  • KT-51656 FIR IDE: ProgressCancelled exception is masked in the compiler during resolve
  • KT-51315 FIR IDE: move out base modules from fe10 plugin to reuse in k2 plugin
  • KT-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 for None of the following functions can be called with the arguments supplied. with Enum in common module
  • KT-48135 In the IDE import, reuse dependency granular source set KLIBs across multi-project build to avoid duplicate external libraries
  • KT-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 defined
  • KT-54520 KJS / IR Allow IdSignature clashes
  • KT-54686 KJS / IR: Incorrect generation of signatures when one of argument is nested class
  • KT-54479 KJS / IR + IC: Adding or removing companion fields leads java.lang.IllegalStateException in the compiler IC infrastructure
  • KT-54382 KJS / IR: Wrong type check for inheritors of suspend functions
  • KT-54323 KJS / IR + IC: Intrinsics from stdlib may lose their dependencies in incremental rebuild
  • KT-53361 KJS / IR: No debug info is generated for in-line js code
  • KT-53321 Implement Enum.entries lowering on JS/IR
  • KT-53112 KJS IR turn on IC infra by default
  • KT-50503 Kotlin/JS: IR + IC: compileTestDevelopmentExecutableKotlinJs fails with ISE: "Could not find library" after removing module dependency
  • KT-54120 JS IR + IC: pointless invalidation of dependent code after modifying companions
  • KT-54011 JS IR + IC: EnumEntries don't work well when IC is enabled
  • KT-54010 JS IR + IC: Force IC cache invalidation after updating language version or features
  • KT-53672 KJS / IR: "IndexOutOfBoundsException: Index 0 out of bounds for length 0" caused by function reference to extension function of reified type variable
  • KT-43455 KJS: IR. Incremental compilation problem with unbound symbols
  • KT-53539 KJS: Exported class inherited non-exported class shows warning
  • KT-53443 KJS/IR: NullPointerException caused by anonymous objects inside lambdas
  • KT-52795 K/JS and K/Native IR-validation/compilation errors for a valid kotlin code
  • KT-52805 KJS/IR: Invalid call of inline function in also block
  • KT-51151 KJS / IR: Wrong overloaded generic method with receiver is called
  • KT-52830 KJS/IR: Sourcemap disabling doesn't work
  • KT-52968 KJS / IR: Buggy generation of overridden methods
  • KT-53063 KJS / IR + IC: undefined cross module reference for implemented interface functions
  • KT-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 qualifier
  • KT-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 initially
  • KT-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 usage
  • KT-34943 OVERLOAD_RESOLUTION_AMBIGUITY inconsistent with the equivalent Java code
  • KT-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 TimeMarks
  • KT-50484 Extensions for java.util.Optional in stdlib
  • KT-52928 Provide copyToRecursively and deleteRecursively extension functions for java.nio.file.Path
  • KT-52932 Open-ended ranges in the standard library
  • KT-49425 Update OptIn documentation to reflect latest design changes
  • KT-54005 Allow calling declaringJavaClass on Enum
  • KT-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.8
  • KT-53277 Stabilize experimental API for 1.8
  • KT-53864 Review deprecations in stdlib for 1.8
  • KT-47707 Remove the system property and the brittle contains optimization code itself
  • KT-52336 Different behavior on JVM and Native in stringBuilder.append(charArray, 0, 1)
  • KT-53927 Remove deprecation from ConcurrentModificationException constructors
  • KT-53134 stdlib > object Charsets > not thread safe lazy initialization
  • KT-51063 Gradle project with JPS runner: "JUnitException: Failed to parse version" JUnit runner internal error with JUnit
  • KT-52908 Native: setUnhandledExceptionHook swallows exceptions

Native

  • KT-51043 Kotlin Native: ObjC-Interop: kotlin.ClassCastException: null cannot be cast to kotlin.Function2
  • KT-50786 Native: prohibit suspend calls inside autoreleasepool {}
  • KT-53346 MPP project with kotlinx-serialization-json:1.4.0-RC is not built
  • KT-52834 Implement test infrastructure for K2/Native

Native. C Export

  • KT-36878 Reverse C Interop: incorrect headers generation for primitive unassigned type arrays
  • KT-53599 [Reverse C Interop] Provide box/unbox API for unsigned primitive types
  • KT-41904 Kotlin/Native : error: duplicate member for interface and function with the same name
  • KT-42830 [Reverse C Interop] Add API to get value of boxed primitives
  • KT-39496 K/N C: optional unsigned types as function parameters crash the compiler
  • KT-39015 Cannot compile native library with nullable inline class

Native. C and ObjC Import

  • KT-54738 Cocoapods cinterop: linking platform.CoreGraphics package
  • KT-54001 Kotlin/Native: support header exclusion in cinterop def files
  • KT-53151 Native: Custom declarations in .def don't work with modules, only headers

Native. ObjC Export

  • KT-53680 Obj-C refinement annotations
  • KT-54119 Native: runtime assertion failed due to missing thread state switch
  • KT-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 hook
  • KT-27305 Fix FILE macro inside RuntimeCheck and RuntimeAssert

Native. Runtime. Memory

  • KT-54498 Deprecation message of 'FreezingIsDeprecated' is not really helpful
  • KT-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 the classifier property
  • KT-48136 Make Reflection.getOrCreateKotlinPackage use cache when kotlin-reflect is used
  • KT-50705 Use ClassValue to cache KClass objects in kotlin-reflect
  • KT-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 19
  • KT-53278 Support values 6 and 8 for -Xjdk-release
  • KT-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 distributions
  • KT-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.serialization
  • KT-49660 kotlinx.serialization: IndexOutOfBoundsException for parameterized sealed class
  • KT-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 property
  • KT-34464 Kotlin build report path not clickable in the IDE

Performance Improvements

  • KT-52520 Remove usage of reflection from CompilerArgumentsGradleInput
  • KT-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 project
  • KT-51923 Improve usability of errors and warnings by being able to click on them
  • KT-54439 Project failed to sync Native LaguageSettings to compiler options in afterEvaluate
  • KT-54399 Undeprecate 'kotlinOptions' DSL
  • KT-54306 Change the naming of newly added Compiler*Options classes and interfaces
  • KT-53885 Bump minimal supported Gradle version to 6.8.3
  • KT-53773 Protect and system properties can contain sensitive data
  • KT-53732 Add custom values limits for build scan reports
  • KT-52624 Compatibility with Gradle 7.3 release
  • KT-51831 Gradle: remove kotlin.compiler.execution.strategy system property
  • KT-51679 Change deprecation level to error for KotlinCompile setClasspath/getClasspath methods
  • KT-48843 Add ability to disable Kotlin daemon fallback strategy
  • KT-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.5
  • KT-50161 Android variant filter breaks KotlinCompile cache compatibility
  • KT-54113 LanguageSettings to KotlinNativeLink.toolOptions sync are executed on the wrong context
  • KT-54112 Missing target input on KotlinNativeLink task
  • KT-45879 Documentation: Wrong kotlin languageVersion "1.6 (EXPERIMENTAL)"
  • KT-54103 Remove JvmTarget.JVM_1_6 from generated Gradle compiler type
  • KT-50598 MULTIPLE_KOTLIN_PLUGINS_SPECIFIC_PROJECTS_WARNING is only shown on first build
  • KT-52209 Corrupted cache and non-incremental build if produce caches "in process" and restore then compiling with kotlin daemon
  • KT-41642 "TaskDependencyResolveException: Could not determine the dependencies" when trying to apply stdlib
  • KT-53390 Drop usage of -Xjava-source-roots when passing java sources required for Kotlin compilation
  • KT-38622 Non-incremental compilation because of R.jar with Android Gradle plugin 3.6
  • KT-53615 Gradle: Fix deprecation warnings in CleanableStoreImpl
  • KT-38576 AnalysisResult.RetryWithAdditionalRoots crashes during incremental compilation with java classes in classpath
  • KT-53244 Report from gradle about compiler plugins
  • KT-45747 Add basic JUnit 5 Kotlin Gradle Plugin Android tests setup
  • KT-52839 Warn in Gradle log why incremental compilation failed

Tools. Gradle. Cocoapods

  • KT-54314 Cocoapods: Signing pod dependency for Xcode 14
  • KT-54060 Xcode 14: disable bitcode embedding for Apple frameworks
  • KT-53127 Cocoapod plugin ignores pod version
  • KT-53340 Change default linking type for frameworks registered by cocoapods plugin
  • KT-53392 Deprecate and delete downloading pod dependencies by direct link
  • KT-53695 Build of macOS application fails if a framework is integrated via Cocoapods plugin
  • KT-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 support
  • KT-53788 KJS / Gradle: Disable Gradle build cache for KotlinJsDce when development mode is enabled
  • KT-53614 Kotlin/JS upgrade npm dependencies
  • KT-52950 KJS: Report if yarn.lock was updated during built
  • KT-53367 KJS: Migrate cssSupport API
  • KT-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 target
  • KT-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 files
  • KT-34650 Naming clash in MPP+Android: androidTest vs androidAndroidTest
  • KT-54387 Remove MPP alpha stability warning
  • KT-31468 Targets disambiguation doesn't work if a depending multiplatform module uses withJava() mode
  • KT-35916 Gradle MPP plugin: Configurations for a main compilation and its default source set have different naming
  • KT-54090 Take an Apple test device from the device list
  • KT-53256 Implement K/N compiler downloading for KPM
  • KT-45412 KotlinCompilation: Make sure .kotlinSourceSets and .allKotlinSourceSets include the default source set
  • KT-54071 MPP/AGP compatibility: Bump maxSupportedVersion to 7.3.0

Tools. Gradle. Native

  • KT-53191 Native cinterop sync problem with gradle
  • KT-54583 watchosDeviceArm64 target shouldn't register test tasks
  • KT-53107 Add arm64 support for watchOS targets (Xcode 14)
  • KT-52303 Gradle / Native: Build tasks ignore project.buildDir
  • KT-47355 Support macos target for FatFramework task
  • KT-53339 MPP / CocoaPods: The static framework fails to install on a real iOS device
  • KT-31573 Missing description for Native Gradle tasks
  • KT-53131 Gradle Sync: "NoSuchElementException: Array contains no element matching the predicate" with CocoaPods
  • KT-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 field
  • KT-53871 New IC: "IllegalStateException: The following LookupSymbols are not yet converted to ProgramSymbols" when changing an inline property accessor
  • KT-53231 New IC reports build failures for missing classpath snapshots
  • KT-19804 Relocatable IC caches
  • KT-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 field
  • KT-53871 New IC: "IllegalStateException: The following LookupSymbols are not yet converted to ProgramSymbols" when changing an inline property accessor
  • KT-53231 New IC reports build failures for missing classpath snapshots
  • KT-19804 Relocatable IC caches
  • KT-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 field
    • KT-53871 New IC: "IllegalStateException: The following LookupSymbols are not yet converted to ProgramSymbols" when changing an inline property accessor
    • KT-53231 New IC reports build failures for missing classpath snapshots
    • KT-19804 Relocatable IC caches
    • KT-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 compilation
    • KT-54228 Switching abstract to sealed classes causes incremental issue
    • KT-38483 JPS: Stopping compilation causes IDE CompilationCanceledException
    • KT-50310 False positive NO_ELSE_IN_WHEN on incremental build when adding sealed classes
    • KT-48813 Move cache version to compiler

    Tools. Kapt

    • KT-54187 JVM IR + kapt: incorrect modifier final is generated for nested enum in interface
    • KT-48827 Remove 'kapt.use.worker.api' property
    • KT-52761 Kotlin 1.7.0 breaks kapt processing for protobuf generated java sources

    Tools. Scripts

    • KT-54355 Scripts: Internal compiler error (languageVersion=1.9)
    • KT-53009 Scripting: NDFDE “Descriptor wasn't found for declaration SCRIPT” on using script definition with kotlin from master

    Kotlin 1.7.20 just got released!

    Changelog

    Analysis API

    • KT-52667 FIR IDE: fun interfaces (SAM interfaces) are not properly resolved
    • KT-52136 FIR: Implicit type declaration from the other module cannot be used for overloading

    Analysis API. FE1.0

    • KT-51962 Analysis API: Finish Analysis API for FE1.0

    Analysis API. FIR

    • KT-52779 FIR IDE: Import Optimizer cannot handle generic type qualifiers
    • KT-50236 Fix OOB modification trackers for non-Kotlin code
    • KT-51240 Analysis API: KtAnalysisSession for a specific module cannot create a symbol for PSI that cannot be seen from that module.
    • KT-50868 Analysis API: decompiled type aliases are not resolved

    Compiler

    • KT-53739 Builder inference, extension hides members
    • KT-53733 Kotlin/Native: update source documentation for the new default memory manager
    • KT-53667 Compiler crashes on attempt to alloc a string on the stack in new MM
    • KT-53480 Internal error in file lowering: java.lang.ClassNotFoundException: com.android.systemui.R$string
    • KT-52843 Compose: NPE at Parameters.getParameterByDeclarationSlot if inline function with default arguments takes a lambda which captures value class represented by Long
    • KT-51868 JVM / IR: Inconsistent behaviour between lambda expression and SAM interface conversion for the same interface
    • KT-53475 Kotlin/Native for iOS: "IllegalArgumentException: Sequence has more than one element"

    New Features

    • KT-52495 Support until operator in back-ends
    • KT-52420 Implement resolve of until operator
    • KT-52419 Implement until operator in the parser
    • KT-33755 Kotlin/Native: Provide a way to customize a bundle Identifier of a generated framework
    • KT-51665 FIR: implement label resolve for "typed this" case
    • KT-52361 Report warning on potentially empty intersection types

    Performance Improvements

    • KT-47816 Disable script discovery for non-script environments
    • KT-48635 JVM IR: Double/Float values are boxed when comparing for equality in equals method of data/value classes
    • KT-23397 Optimize out field for property delegate when it's safe (JVM)

    Fixes

    • KT-53272 Backend Internal error: Exception during IR lowering / No such value argument slot: 2
    • KT-53124 Receiver type mismatch when combining extension properties, type projections, Java sources, and F-bounded type-variables
    • KT-51868 JVM / IR: Inconsistent behaviour between lambda expression and SAM interface conversion for the same interface
    • KT-36770 Prohibit unsafe calls with expected @NotNull T and given Kotlin generic parameter with nullable bound
    • KT-52974 "IllegalStateException: Symbol with IrSimpleFunctionSymbolImpl is unbound" compiling native targets of MPP project
    • KT-53007 JVM: "Bad invokespecial instruction: current class isn't assignable to reference class" when call superclass of outer class method from inner class
    • KT-53019 K2: cannot cast callable reference to Function1 in runtime
    • KT-53031 K2 compiler crashes with IllegalStateException: No type in ProtoBuf.ValueParameter
    • KT-29168 Prohibit upper bounds violation with generic typealias using not all type parameters as arguments for underlying type in supertypes
    • KT-52432 Using the IDE compiled with K2 (useFir) throws VerifyError exception
    • KT-52327 False negative: TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM isn't reported
    • KT-49682 Support JVM IR in KAPT stub generation
    • KT-24643 Prohibit using a type parameter declared for an extension property inside delegate
    • KT-51972 FIR, Gradle: "Symbol is invisible" compilation error with enabled Kotlin Lombok compiler plugin
    • KT-52011 [FIR] All-open compiler plugin isn't supported
    • KT-51950 JVM IR: "IndexOutOfBoundsException: Cannot pop operand off an empty stack" with crossinline lambdas and interface delegation
    • KT-52540 Native: kotlin.NotImplementedError with Arrow library
    • KT-48031 "IllegalStateException: Type variable TypeVariable(T) should not be fixed!"
    • KT-47708 RequiresOptIn check does not flag experimental method usage in SAM lambda expressions
    • KT-52913 JVM / IR: "IllegalArgumentException: Inline class types should have the same representation" when trying to down cast cast a value class
    • KT-50771 IR partial linkage: Removed abstract callable members are not supported
    • KT-52994 Enable generic inline classes as experimental feature
    • KT-52742 CYCLE_IN_ANNOTATION_PARAMETER_ERROR false positive on annotations with default values
    • KT-52743 Non-null generic functions throws NPE when assigned to val
    • KT-52745 Frontend / K2: "IncompatibleClassChangeError: class A$B overrides final method A.length()I" caused by delegation in a sealed class
    • KT-52832 Tree-generator's method FirExpression::isFirType returns true and false for different field names; it should always be true
    • KT-52403 IncompatibleClassChangeError when inlining suspend funs
    • KT-50107 Missed USAGE_IS_NOT_INLINABLE diagnostic: Leaking inline lambda parameter through extension receiver
    • KT-47965 Missed USAGE_IS_NOT_INLINABLE diagnostic on inline lambda parameter usage as receiver of .let call
    • KT-25787 No error on crossinline usage of receiver parameter of functional type in an inline function
    • KT-52762 Frontend / K2: Named arguments for Java classes lead to "Cannot find a parameter with this name"
    • KT-52680 K2: overload resolution ambiguity if this is casted in a different method
    • KT-52676 K2: Unsupported compile-time value IrGetFieldImpl instead of IrConst in AnnotationCodegen for constant from Java
    • KT-50293 False positive: USELESS_CAST on stub types
    • KT-52175 WRONG_ANNOTATION_TARGET for annotation that used inside if
    • KT-52338 "IncompatibleClassChangeError: Expected non-static field" with Kotlin class with same-named companion object property as base Java class field
    • KT-49507 JVM: "IllegalAccessError: class X tried to access private field" with same-named Kotlin property and Java base class field
    • KT-44512 FIR DFA: incorrect smartcast after null assignment inside a lambda
    • KT-49200 FIR/FE 1.0: different behavior with multiple matching star imports
    • KT-52718 declaringClass deprecation message mentions the wrong replacement in 1.7
    • KT-52190 FIR2IR: Unexpected IrErrorTypeImpl type for put method inside buildMap
    • KT-52197 Incorrect inference of var type inside lambda that passed to extension function with type parameters that defined inside this lambda
    • KT-52057 Unsupported compile-time value STRING_CONCATENATION and GET_FIELD in annotation arguments
    • KT-47823 JVM IR: "IllegalArgumentException: Inline class types should have the same representation" with break usage in the loop range
    • KT-51883 Kotlin 1.6.20 generates "-" in type names around lambdas and inline extension function with reified type which breaks Apache Beam
    • KT-52684 Syntax error regression on complicated combination of LT and GTEQ
    • KT-52417 Reflection: Can't reflect on type parameters captured by SAM converted lambda
    • KT-46797 JVM IR: suspendImpl has no generic signature, breaking reified types in anonymous object supertypes when using the type token pattern
    • KT-51464 FIR: Unable to infer type in coroutines flow code
    • KT-52163 JVM IR: Double.compareTo(Int) compiled to integer comparison
    • KT-41980 FIR: erroneous scope during annotation resolve
    • KT-47159 KtPsiUtils.areParenthesesUseless() is returning a false positive on expressions for interface delegation
    • KT-51418 Substitute anonymous type's supertypes
    • KT-35544 kotlin.TypeCastException has no message on Native
    • KT-52386 StackOverflowError during Kotlin/Native gradle build
    • KT-52592 NPE from KProperty.getExtensionDelegate on property delegated to another property
    • KT-52551 Delegating to object property reference does not invoke object's initializer
    • KT-51704 Contracts: "AssertionError: Arguments and parameters size mismatch" with companion object
    • KT-25527 False positive UNUSED_VALUE for delegated property/variable
    • KT-51002 [FIR] Hidden declaration hides visible one
    • KT-51008 [FIR] Star import does not work for nested calssifiers of java class
    • KT-52407 FIR: Star import has lower priority than built-in import
    • KT-52431 Reported error instead of warning due to empty intersection type found
    • KT-49394 Bad message and suggestion: The feature "unit conversion" is disabled
    • KT-51168 FIR: Inference error with Java interop and captured types
    • KT-49961 "AssertionError: Left expression was not processed: BINARY_EXPRESSION" when analyzing dangling [bracketed] expression inside elvis
    • KT-50108 Difference in fun interface conversion behavior for uninitialized not-null function values
    • KT-51889 Calls to super-classes constructors with context receivers fail on runtime
    • KT-51228 [FIR] Unresolved reference on callable reference on implicit this with smartcast
    • KT-52364 False positive for INFERRED_TYPE_VARIABLE_INTO_EMPTY_INTERSECTION
    • KT-52237 JVM / IR: "IllegalArgumentException: No argument for parameter VALUE_PARAMETER CONTINUATION_CLASS" when implementing Map interface on class with suspending functions
    • KT-50832 Method references to suspend inline functions are processed incorrectly
    • KT-52194 False positive "Class 'my.packge.MyClass' is compiled by a pre-release version of Kotlin and cannot be loaded by this version of the compiler" but builds fine
    • KT-47203 JVM Debugger: Parameter value doesn't change for tailrec function
    • KT-52131 False positive variable unused warning when calling inline function in finally block
    • KT-51738 Debugger: stepping over in inline function with multiple inline lambda invocations is incorrect
    • KT-52198 Losing reference to the value of an outer variable (Ref$ObjectRef) when using suspend inline with suspendCancellableCoroutine
    • KT-50994 FIR: AssertionError during inference of delegated properties with implicit types
    • KT-51757 FIR does not see various JS/Native specific declarations in common modules
    • KT-51201 FIR: ARGUMENT_TYPE_MISMATCH diagnostic contains generic parameter instead of the actual type
    • KT-48444 FIR: type argument rejected for annotation
    • KT-51754 JVM: Local variable table invalid for do-while with continue
    • KT-51936 Breakpoint not hit on last line of suspend function on Android
    • KT-27333 Forbid @Synchronized annotation on suspend functions
    • KT-51530 "StackOverflowError: CoroutineTransformerMethodVisitor.spillVariables" with data class in Flow
    • KT-51460 FIR: Protected property inaccessible from inner class
    • KT-53947 IllegalStateException: No mapping for symbol: VALUE_PARAMETER INSTANCE_RECEIVER
    • KT-51234 Context receivers can be duplicated in function declaration
    • KT-51576 Context receivers: "AssertionError: Callers must check that current token is IDENTIFIER followed with '@'" with at character
    • KT-49479 JVM / IR: "IllegalStateException: IrErrorType" during IR lowering with non-trivial recursion calls
    • KT-52270 NullPointerException caused by braces on if-else returning a method reference inside lambda
    • KT-47621 False negative INVISIBLE_MEMBER on call to inaccessible protected synthetic property setter
    • KT-37796 NI: "ISE: Error type encountered" when inferring type of a property that delegates to itself
    • KT-45430 PSI2IR: "org.jetbrains.kotlin.psi2ir.generators.ErrorExpressionException: null: KtCallExpression: toString()" with recursive function call in "also" block in nontrivial context
    • KT-52691 K2: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImpl with intertwined functional interfaces
    • KT-52822 Fix contract for KtElement.getReference()
    • KT-50223 IndexOutOfBoundsException from ClassicTypeSystemContext$DefaultImpls.getParameter during call resolution
    • KT-51963 Change Maven version to 1.7.255
    • KT-47664 Incorrect type checking in the case of generic types
    • KT-48765 NI: Inferred type does not respect the bound of type variable
    • KT-51243 False positive error "No required context receiver" inside contextual lambda
    • KT-43541 TYPE_MISMATCH for member function which is not occur for top level function during unsafe cast
    • KT-51016 [FIR] False positive OVERLOAD_RESOLUTION_AMBIGUITY between two extensions on different supertypes
    • KT-50155 FIR: support contextual receivers -KT-38637 Catch NoSuchFieldException in optimized when expression over enum

    Docs & Examples

    • KT-49896 Kotlin/JS: improve -Xir-property-lazy-initialization description due to making it true by default

    IDE

    • KTIJ-22286 Kotlin JPS project created via wizard does not contain Kotlin libraries in case of not-released version
    • KTIJ-22065 IDE notification motivating Kotlin users to use EAP
    • KTIJ-22209 Configure Kotlin on 221 idea adds 1.6.10 Kotlin (despite the fact that IDE plugin is 1.7.10)
    • KTIJ-22171 Fix test BuiltInDecompilerConsistencyTest
    • KTIJ-22016 Empty .kt file and build.gradle.kts can trigger an error while searching for a facade light class
    • KT-52571 MPP Tasks on import are not up-to-date after subsequent launches
    • KT-47777 ISE thrown from KtLightClassForFacadeImpl.Companion.createForFacadeNoCache has wrong message.

    IDE. FIR

    • KT-52360 FIR IDE: Make the fix of isInheritor method better
    • KT-51786 FIR IDE: IllegalStateException exception in Inspections' infrastructure
    • KT-52331 Analysis API: ArrayIndexOutOfBoundsException exception in Diagnostics' infrastructure

    IDE. Code Style, Formatting

    • KTIJ-21346 Incorrect formatting for functions with context receivers and visibility modifiers

    IDE. Completion

    • KTIJ-21910 FIR IDE: Fix completion tests started failing after visibility checker refinement

    IDE. Decompiler, Indexing, Stubs

    • KTIJ-21243 ContextReceivers: "UpToDateStubIndexMismatch: PSI and index do not match" plugin exception on - - library with context receivers usage attempt

    IDE. Gradle Integration

    • KT-47627 IDE import fails with com.intellij.util.lang.PathClassLoader error for runCommonizer Gradle task on 212, 213 IDEAs
    • KTIJ-21638 MPP: IntelliJ can not resolve MPP references in common-code
    • KT-52216 HMPP / KTOR: False positive "TYPE_MISMATCH" with Throwable descendant

    IDE. Inspections and Intentions

    • KTIJ-22540 Invalid "remove unnecessary parentheses" when delegating a functional interface to a SAM in brackets

    IDE. J2K

    • KTIJ-21665 J2K generates non compiling code when lifting return and one branch is broken before binary operator

    IDE. JS

    • KTIJ-22337 Wizard: Kotlin/Js for browser: cssSupport DSL should be updated

    IDE. K2

    • KTIJ-21672 FIR IDE: Method reference on generic class breaks resolve
    • KTIJ-21714 FIR IDE: Inherently imported type from another module is not properly resolved

    IDE. Script

    • KT-52525 Update scripts handling in source roots

    IDE. Misc

    • KTIJ-21699 Refactoring: move out parts of the plugin useful for both FE10 and K2

    JavaScript

    New Features

    • KT-39423 KJS: Optionally generate a method to handle optional parameters for function in typescript
    • KT-42282 KJS IR: add an ability to run separate tests

    Performance Improvements

    • KT-50270 KJS IR: Unnecessary getter and setter calls when accessing class members

    Fixes

    • KT-51133 Kotlin/JS - IR: even simple lambdas generate a lot of useless boilerplate
    • KT-51123 Provide a way to add comments to generated JS
    • KT-48493 KJS / IR: Invalid d.ts for inner classes inside objects
    • KT-52553 KJS / IR: diamond hierarchy with super.toString produces stack overflow in runtime
    • KT-23252 JS: Unit materialization on declaration and assignment
    • KT-51128 Kotlin/JS - IR generate huge count of useless blocks
    • KT-50778 KJS/IR: Inline class has no field when building production distribution
    • KT-50157 KSJ IR: Applying identity equality operator to Chars always returns false
    • KT-38262 Javascript generation (and Typescript) fails on 'then', 'catch' and 'finally' (and others?) claiming they are reserved names
    • KT-51066 KJS / IR: suspend lambda parameter of value class is undefined
    • KT-51102 KJS/IR: Assertion failed at translateCallArguments(jsAstUtils.kt:343)
    • KT-51878 KJS / Legacy: Unit is not materialized in an overridden method, but it should be

    Language Design

    • KT-47986 Implicit inferring a type variable into an upper bound in the builder inference context
    • KT-49264 Deprecate infix function calls of functions named "suspend" with dangling function literal
    • KT-25636 Native: Object is frozen by default problem
    • KT-49303 Implement support for basic compile-time evaluation

    Libraries

    • KT-52932 Open-ended ranges in the standard library
    • KT-52909 Implement a walk extension function for java.nio.file.Path
    • KT-52910 Provide visit extension functions for java.nio.file.Path
    • KT-48232 Multiplatform function for computing cubic root
    • KT-52778 The documentation for the Duration does not indicate any differences from the ISO-8601
    • KT-52618 ThreadLocalRandom is not a good source of randomness on Android before SDK 34, so don't use it for Kotlin Random
    • KT-52910 Provide visit extension functions for java.nio.file.Path
    • KT-52909 Implement a walk extension function for java.nio.file.Path
    • KT-52910 Provide visit extension functions for java.nio.file.Path
    • KT-52909 Implement a walk extension function for java.nio.file.Path

    Native

    • KT-53346 MPP project with kotlinx-serialization-json:1.4.0-RC is not built

    Native. C Export

    • KT-45468 Kotlin/Native: Bitcode verification error when trying to export a cached klib to a static or dynamic library

    Native. C and ObjC Import

    • KT-53373 Native: @ExportObjCClass doesn't work with the new memory manager
    • KT-49034 Kotlin/Native: cnames.structs.Foo resolves into wrong declaration
    • KT-26478 Objective-C object's class name is null in ClassCastException's message

    Native. ObjC Export

    • KT-51593 Include more information in Objective-C header documentation
    • KT-33117 Improve customizing Info.plist in produced frameworks
    • KT-52681 Native: @end; for Objective-C is generated with an unnecessary semicolon

    Native. Platforms

    • KT-52226 Kotlin/Native: Add support for cross-compilation of MIPS targets from macOS and Windows hosts

    Native. Runtime

    • KT-52430 KMM 1.6.21 framework built with Xcode13, new MM GC Can't support iOS 9.x
    • KT-53534 Kotlin/Native: -Xruntime-logs=gc=info flag doesn't work with compiler caches in 1.7.20-beta

    Native. Runtime. Memory

    • KT-52692 Kotlin/Native: fix tests with aggressive GC
    • KT-52130 Kotlin/Native: use Xallocator for Kotlin objects only
    • KT-51436 Kotlin/Native: optimize mark queue

    Reflection

    • KT-51804 An error occurs when callBy a KFunction that contains a value class as an argument, has a default argument set, and has more than 32 arguments.

    Tools. CLI

    • KT-52465 CLI: IllegalStateException IrSimpleFunctionPublicSymbolImpl when source root is duplicated
    • KT-52380 Invalid path to compiler plugins should be reported as a compiler error
    • KT-51025 JVM CLI compiler takes class file from classpath instead of input java source file
    • KT-51846 Setting random value to the compiler argument where number is expected should produce an error. "-Xbackend-threads=abcd"

    Tools. Compiler Plugins

    • KT-52486 [K2] Looking for function/constructor whose parameters are annotated or meta annotated
    • KT-52872 Mark supportsK2 in ComponentRegistrar.kt as JvmDefault to avoid compatibility problems
    • KT-52804 A function obtained by Fir IrBuiltins has an incorrect package
    • KT-52468 Rename module and jar for lombok compiler plugin

    Tools. Gradle

    • KT-53670 Gradle: Cyclic dependency between kotlin-gradle-plugin-idea-1.7.20-Beta and kotlin-gradle-plugin-idea-proto-1.7.20-Beta
    • KT-53615 Gradle: Fix deprecation warnings in CleanableStoreImpl
    • KT-53118 Fully up-to-date builds are slower with Kotlin 1.7.0
    • KT-51923 Improve usability of errors and warnings by being able to click on them
    • KT-53244 Report from gradle about compiler plugins
    • KT-52839 Warn in Gradle log why incremental compilation failed
    • KT-46019 Compatibility with Gradle 7.1 release
    • KT-47047 Migrate Kotlin Gradle Plugin from using Gradle conventions
    • KT-52698 Don't add InspectClassesForMultiModuleIC task when new incremental compilation is enabled
    • KT-52867 Provide simplified JVM toolchain configuration method
    • KT-45747 Add basic JUnit 5 Kotlin Gradle Plugin Android tests setup
    • KT-46034 Shadow Kotlin Gradle plugin dependencies
    • KT-28664 Support ExtensionContainer on kotlin targets and source sets.
    • KT-19472 Useful extensions of Gradle Kotlin DSL provided by Gradle Kotlin plugin
    • KT-34393 Kotlin Gradle DSL: Inconsistent srcDir configuration between Java and Kotlin
    • KT-51629 There isn't enough info about incremental compilation state in logs while running build with --info key

    Tools. Gradle. Cocoapods

    • KT-53174 CocoaPods: Synthetic Podfile does not specify platform
    • KT-53127 "MaterialComponents normal armv7" in Cocoapods plugin between Kotlin 1.6.21 and 1.7.0
    • KT-44155 Cocoapods doesn't support pods without module map file inside
    • KT-49032 Cocoapods cinterop: some header files are not found
    • KT-53337 Add warning about future changing default linking type of framework provided via cocoapods plugin

    Tools. Gradle. JS

    • KT-52637 KJS / Gradle: Add SCSS webpack config
    • KT-51527 Kotlin/JS: BrowserXRun causes full-screen Webpack error "Compiled with problems: asset size limit/entrypoint size limit" for fresh Kotlin-React project from wizard
    • KT-51532 Kotlin/JS: passing environment variable via Gradle script causes "Execution optimizations have been disabled" warnings
    • KT-52221 Kotlin/JS: failed Node tests are not reported in a standard way

    Tools. Gradle. Multiplatform

    • KT-52243 CInteropProcess is not cacheable despite the annotation
    • KT-52741 MPP: klib outputs are not reproducible
    • KT-52208 MPP: Gradle plugin 1.7 doesn't support latest api versions (1.8, 1.9)
    • KT-54071 MPP/AGP compatibility: Bump maxSupportedVersion to 7.3.0

    Tools. Gradle. Native

    • KT-52632 Gradle / Native: commonizeNativeDistributionTask can never be up-to-date
    • KT-52328 "ld: framework not found SQLCipher" linkDebugTestIosSimulatorArm64 error

    Tools. Incremental Compile

    • KT-53168 Incremental compilation doesn't perform correctly after a few iterations
    • KT-52925 [IR BE] Non incremental build occurs after build failure for compileKotlinJs task
    • KT-52946 CompileKotlinJs task is executed non-incrementally if there were changes made to the dependant module
    • KT-52329 Reduce memory usage of classpath snapshot cache
    • KT-53266 Increment Compilation: "IllegalStateException: The following LookupSymbols are not yet converted to ProgramSymbols" when changing companion object constant field
    • KT-53231 New IC reports build failures for missing classpath snapshots

    Tools. JPS

    • KT-47824 'when expression must be exhaustive' isn't thrown during incremental compilation
    • KT-51873 JPS build is incorrect after gdw build
    • KTIJ-17072 JPS does not rebuild Kotlin usages of declared in Java when enum entry is added
    • KT-51537 Rebuild module on plugin classpaths change

    Tools. REPL

    • KT-45065 REPL: Incorrect output for unsigned value
    • KT-53043 Scripting: Changes in REPL protocol: mark end of errors

    Tools. Scripts

    • KT-52598 Scripts and REPL snippets are not checked against using 'kotlin' package
    • KT-47187 Kotlin ScriptEngine Failes to Compile a Trivial Statement After Failing to Compile a Broken One
    • KT-47191 [Kotlin Script Engine] Compiling Without Evaluating Leaves Engine in a Bad State

    Tools. Kapt

    • KT-52761 Kotlin 1.7.0 breaks kapt processing for protobuf generated java sources

    Kotlin 1.7.20-RC just got released!

    Changelog

    Compiler

    • KT-53739 Builder inference, extension hides members
    • KT-53733 Kotlin/Native: update source documentation for the new default memory manager
    • KT-53667 Compiler crashes on attempt to alloc a string on the stack in new MM
    • KT-53480 Internal error in file lowering: java.lang.ClassNotFoundException: com.android.systemui.R$string
    • KT-52843 Compose: NPE at Parameters.getParameterByDeclarationSlot if inline function with default arguments takes a lambda which captures value class represented by Long
    • KT-51868 JVM / IR: Inconsistent behaviour between lambda expression and SAM interface conversion for the same interface
    • KT-53475 Kotlin/Native for iOS: "IllegalArgumentException: Sequence has more than one element"

    Libraries

    • KT-52910 Provide visit extension functions for java.nio.file.Path
    • KT-52909 Implement a walk extension function for java.nio.file.Path

    Native

    • KT-53346 MPP project with kotlinx-serialization-json:1.4.0-RC is not built

    Native. C and ObjC Import

    • KT-53373 Native: @ExportObjCClass doesn't work with the new memory manager

    Native. Runtime

    • KT-53534 Kotlin/Native: -Xruntime-logs=gc=info flag doesn't with compiler caches in 1.7.20-beta

    Tools. Gradle

    • KT-53670 Gradle: Cyclic dependency between kotlin-gradle-plugin-idea-1.7.20-Beta and kotlin-gradle-plugin-- idea-proto-1.7.20-Beta
    • KT-53615 Gradle: Fix deprecation warnings in CleanableStoreImpl
    • KT-53118 Fully up-to-date builds are slower with Kotlin 1.7.0

    Tools. Gradle. Cocoapods

    • KT-53337 Add warning about future changing default linking type of framework provided via cocoapods plugin

    Tools. Incremental Compile

    • KT-53266 Increment Compilation: "IllegalStateException: The following LookupSymbols are not yet converted to ProgramSymbols" when changing companion object constant field
    • KT-53231 New IC reports build failures for missing classpath snapshots

    Tools. Kapt

    • KT-52761 Kotlin 1.7.0 breaks kapt processing for protobuf generated java sources

    Kotlin 1.7.20-Beta just got released!

    Now fully supporting 1.8 - 1.19


    Project members

    TheFruxz

    Owner

    Details

    Licensed Apache-2.0
    Created 2 years ago
    Updated 2 years ago