Skip to content
This repository has been archived by the owner on Jul 16, 2024. It is now read-only.

Kotlin 1.8.20 #369

Merged
merged 4 commits into from
Apr 13, 2023
Merged

Kotlin 1.8.20 #369

merged 4 commits into from
Apr 13, 2023

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Mar 30, 2023

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
com.google.devtools.ksp (source) 1.8.10-1.0.9 -> 1.8.20-1.0.10 age adoption passing confidence
org.jetbrains.kotlin.android 1.8.10 -> 1.8.20 age adoption passing confidence
org.jetbrains.kotlin:kotlin-test-junit5 (source) 1.8.10 -> 1.8.20 age adoption passing confidence

⚠ Dependency Lookup Warnings ⚠

Warnings were logged while processing this repo. Please check the Dependency Dashboard for more information.


Release Notes

google/ksp

v1.8.20-1.0.10

Compare Source

New Features

KSP can now be run with K2 compiler frontend.

  • note that KSP itself still runs in old frontend implementation as its own task, there might be some behavior differences with new compiler frontend (e.g. you might get different type resolution results)

Issues fixed

  • KSP up-to-date after changing processor code #​1308
  • Java annotation array type value in java will break getAnnotationsByType #​1329
  • Gradle configuration warning: "Configuration is both resolvable/consumable or consumable/declarable #​1293
  • Defer resolution of processor classpath #​1294

Known issue

There is a known issue with incremental with this release #​1280 from compiler update, we are working on a hotfix release to address this, if you are impacted by this issue, please try to disable incremental or hold on for hotfix release.

Contributors

Thanks for your contributions!
@​larryxiao625
@​ansman

JetBrains/kotlin

v1.8.20: Kotlin 1.8.20

Changelog

Analysis API
  • KT-55510 K2: Lost designation for local classes
  • KT-55191 AA: add an API to compare symbol pointers
  • KT-55487 K2: symbol pointer restoring doesn't work for static members
  • KT-55336 K2 IDE: "java.lang.IllegalStateException: Required value was null." exception while importing a compiled JPS project
  • KT-55098 AA: KtDeclarationRenderer should render a context receivers
  • KT-51181 LL API: errors for SAM with suspend function from another module
  • KT-50250 Analysis API: Implement Analysis API of KtExpression.isUsedAsExpression
  • KT-54360 KtPropertySymbol: support JvmField in javaSetterName and javaGetterName
Analysis API. FE1.0
  • KT-55825 AA FE1.0: stackoverflow when resolution to a function with a recursive type parameter
Analysis API. FIR
  • KT-54311 K2: proper implementation of KtSymbolPointer
  • KT-50238 Analysis API: Implement KSymbolPointer for KtSymbol
Analysis API. FIR Low Level API
  • KT-52160 FIR: Substitution overrides on FirValueParameter-s are incorrectly unwrapped
  • KT-55566 LL FIR: Tests in compiler/testData/diagnostics/tests/testsWithJava17 fail under LL FIR
  • KT-55339 LL FIR: Missing RECURSIVE_TYPEALIAS_EXPANSION error in function type alias
  • KT-55327 LL FIR: Diverging UNRESOLVED_REFERENCE errors in recursive local function test
  • KT-54826 KtSymbolPointer: migrate from IdSignature to our own solution
Android
  • KT-54464 MPP, Android SSL2: Add a flag for suppressing warning in case of using Android Style folders
Backend. Wasm
  • KT-38924 Wasm support in nodejs
  • KT-56160 Getting WebAssembly.CompileError in browsers not supported GC and other required proposals
  • KT-46773 Implement an experimental version of the Kotlin/Wasm compiler backend
  • KT-56584 K/Wasm: Can't link symbol class
  • KT-56166 Fix compatibility with Firefox Nightly
  • KT-55589 Basic support of WASI
  • KT-53790 Reading from "node:module" is not handled by plugins error with Kotlin/Wasm 1.7.20-Beta
Compiler
New Features
  • KT-54535 Implement custom equals and hashCode for value classes in Kotlin/JVM
  • KT-55949 Release experimental @Volatile support in native
  • KT-44698 Frontend (K2): print file name/line on compiler crash/exception
  • KT-54666 K2: Allow to skip specifying type arguments for members from raw type scope
  • KT-54524 Implement Java synthetic property references in compiler
  • KT-54024 K2: support -Xlink-via-signatures mode
Performance Improvements
  • KT-33722 JVM: Result API causes unnecessary boxing
  • KT-53330 Optimize for-loops and contains over open-ended ranges with until operator (..<) for all backends
  • KT-54415 JVM BE: performance loss related to multi-field inline class lowering
  • KT-48759 Infix compareTo boxes inline classes
  • KT-55033 Make org.jetbrains.kotlin.resolve.calls.inference.model.NewConstraintSystemImpl#runTransaction an inline function
  • KT-54501 Improve code generation for inline classes with custom equals
Fixes
  • KT-56965 K/N: linkDebugFrameworkIosArm64 tasks failing with UnsupportedOperationException: VAR name:disposables type:com.badoo.reaktive.disposable.CompositeDisposable [val]
  • KT-56611 Native: new native caches are broken when KONAN_DATA_DIR is defined to a directory inside ~/.gradle
  • KT-55251 Enum.entries compilation error should be more specific
  • KT-56527 K2: "AssertionError: Assertion failed" during compilation in SequentialFilePositionFinder
  • KT-56526 InvalidProtocolBufferException on reading module metadata compiled by K2 in 1.8.20
  • KT-57388 Kapt+JVM_IR: "RuntimeException: No type for expression" for delegated property
  • KT-53153 Synthetic Enum.entries can be shadowed by user-defined declarations
  • KT-51290 "AssertionError: Parameter indices mismatch at context" with context receivers
  • KT-57242 Equals behaviour for value classes implementing interfaces is different between 1.8.10 and 1.8.20-RC
  • KT-57261 "IllegalArgumentException was thrown at: MemoizedInlineClassReplacements.getSpecializedEqualsMethod" when comparing non-inline class instance with an inline class instance
  • KT-57107 Handling of Windows line endings CRLF broken in latest snapshot with K2
  • KT-57117 K2: Compiler reports invalid columns in diagnostics in case of crlf line endings
  • KT-56500 The type parameter TYPE_PARAMETER name:E index:0 variance: superTypes:[kotlin.Any?] reified:false is not defined in the referenced function FUN LOCAL_FUNCTION_FOR_LAMBDA
  • KT-56258 VerifyError: Bad local variable type when using -Xdebug
  • KT-54455 Unexpected result of equality comparison of inline class objects
  • KT-56251 Generic Java synthetic property references don't work in K2
  • KT-55886 K2: Wrong code location mapping with Windows line endings
  • KT-43296 FIR: Complicated interaction between smart cast and inference leads to false-positive diagnostic
  • KT-57053 Problem around anonymous objects in inline functions
  • KT-54950 NoSuchMethodError on calling 'addAll' on inline class implementing mutable list
  • KT-56815 compileKotlin task is stuck with while(true) and suspend function
  • KT-56847 Unresolved reference to Java annotation in Kotlin class with the same name packages
  • KT-52459 Context receivers: AbstractMethodError caused by Interface method with both an extension and a context receiver is overriden incorrectly in subclasses
  • KT-56215 JVM: Object extension function nullable receiver null check false negative when object is null
  • KT-56188 K/N: AssertionError when casting SAM wrapper with generic type parameter
  • KT-56033 Restore 'isMostPreciseContravariantArgument' function signature for compatibility
  • KT-56407 Backend Internal error: Exception during IR lowering during :daemon-common-new:compileKotlin
  • KT-55887 K2. "IllegalStateException: org.jetbrains.kotlin.ir.expressions.impl.IrErrorCallExpressionImpl is not expected" on adding kotlin.plugin.jpa
  • KT-56701 K2 (with LightTree) reports syntax errors without additional information
  • KT-56649 K2 uses 0-index for line numbers rather than 1-index
  • KT-54807 K2. Support @OnlyInputTypes diagnostic checks (contains like calls)
  • KT-51247 "AssertionError: org.jetbrains.kotlin.ir.expressions.impl.IrFunctionReferenceImpl" caused by context receiver functional types
  • KT-55436 K1: implement warning about shadowing of the derived property by the base class field
  • KT-56521 Static scope initializers sometimes not called when first accessed from interop
  • KT-49182 Strange cast from Unit to String
  • KT-55288 False negative WRONG_ANNOTATION_TARGET on type under a nullability qualifier
  • KT-33132 Cannot override the equals operator twice (in a class and its subclass) unless omitting the operator keyword in the subclass
  • KT-56061 K1 does not report error on inconsistent synthetic property assignment
  • KT-55483 K2: Fir is not initialized for FirRegularClassSymbol java/lang/invoke/LambdaMetafactory
  • KT-55125 Difference in generated bytecode for open suspend functions of generic classes
  • KT-54140 SOE at IrBasedDescriptorsKt.makeKotlinType with mixing recursive definitely not nullable type with nullability
  • KT-56224 Clarify message "Secondary constructors with bodies are reserved for for future releases" for secondary constructors in value classes with bodies
  • KT-54662 K2: Assign operator ambiguity on synthetic property from java
  • KT-54507 K2: Wrong implicitModality for interface in FirHelpers
  • KT-55912 "UnsupportedOperationException: Unsupported const element type kotlin.Any" caused by kotlin fqn in annotation
  • KT-56018 [K2/N] Fir2Ir does not take value parameters annotations from FIR to IR
  • KT-56091 [K2/N] Fix various property annotations
  • KT-54209 K2: false positive deprecation on a class literal with deprecated companion
  • KT-55977 [K2/N] Suspend function reference type is wrongly serialized to klib
  • KT-55493 K2: False-negative VAL_REASSIGNMENT
  • KT-55372 K2: false-negative INVISIBLE_MEMBER for call of static method of package-private Java grandparent class
  • KT-55371 K2: compiled code fails trying to call static method of package-private Java grandparent class
  • KT-55408 K2: can't access indirectly inherited from a package-private class Java members through a type alias
  • KT-55116 K2: store static qualifiers in dispatch receiver field
  • KT-55996 K2: cannot switch the light tree mode off with -Xuse-fir-lt=false
  • KT-55368 K2/MPP: Metadata compiler
  • KT-54305 K1: implement warning "synthetic setter projected out"
  • KT-52027 "NullPointerException" when using context receivers with inline fun
  • KT-55984 Stack allocated array is not cleaned between loop iterations
  • KT-52593 Provide Alpha support for JS in the K2 platform
  • KT-54656 NoSuchMethodError on invoking Java constructor which takes an inline value class as a parameter
  • KT-56015 Remove unnecessary stack traces for special checks for ObjC interop
  • KT-55606 K2. Infix operator "in" works on ConcurrentHashMap when it's declared through another class
  • KT-53884 K2: "IllegalStateException: Fir is not initialized for FirRegularClassSymbol com/appodeal/consent/Consent.a" when importing this class
  • KT-54502 Synthetic extensions on raw types work differently from regular getter calls
  • KT-49351 FIR: Raw type scopes are unsupported
  • KT-49345 FIR: Properly support raw types in type parameter upper bounds
  • KT-55733 K2. Reference resolve works incorrectly for classes declared through typealias
  • KT-46369 FIR: Investigate raw types for arrays
  • KT-41794 [FIR] Implement raw type based scope
  • KT-55181 K2. No compilation error on throwing not throwable
  • KT-55398 Kotlin inline nested inline lambda's inline variable will inline not correctly
  • KT-55359 K2. No error when secondary constructor does not delegate to primary one
  • KT-55759 K2: Unresolved reference of serializer if library linking is used (with kotlinx.serialization plugin)
  • KT-54705 Kotlin scripting doesn't support files with UTF-8 BOM
  • KT-51753 FIR: various errors due to expect/actual mapping absence in translator
  • KT-44515 FIR DFA: extract non-null info from anonymous object's initialization
  • KT-55018 K2 / serialization: FIR2IR fails on local companion
  • KT-55284 Refactor org.jetbrains.kotlin.diagnostics.KtDiagnosticReportContextHelpersKt#reportOn(...)
  • KT-55693 K2. Type inference changed in k2
  • KT-54742 K2: lambda with conditional bare return inferred to return Any, not Unit
  • KT-54332 Add deprecation warning for false-negative TYPE_MISMATCH for KT-49404
  • KT-55509 Invisible fake overrides are listed among lazy IR class members
  • KT-55597 K2. This type has a constructor, and thus must be initialized here error is missed for anonymous object inherits class with no-arg constructor
  • KT-54357 "ClassCastException: class org.jetbrains.kotlin.resolve.scopes.receivers.ExtensionReceiver cannot be cast to class org.jetbrains.kotlin.resolve.scopes.receivers.ContextClassReceiver" with anonymous object extending a class with a context receiver
  • KT-51397 "VerifyError: Bad type on operand stack" with context receivers
  • KT-54905 KLIB check on compiled with pre-release version
  • KT-55615 K2 often does not expand type aliases in annotation position
  • KT-54522 K2: ambiguity between operator candidates on += (plusAssign) to reassigned var of MutableList type
  • KT-54300 K2: No "Projections are not allowed for immediate arguments of a supertype" for projection in supertypes of an anonymous object
  • KT-55495 K2: support lateinit intrinsic applicability checker
  • KT-55494 MPP. Error when building for native: Compilation failed: Global 'kclass:io.ktor.serialization.$deserializeCOROUTINE$0' already exists
  • KT-54980 K2: Explicit type arguments in calls with the wrong number of type arguments are not resolved
  • KT-54730 K2: type aliases to generic functional interfaces attempt to re-infer explicitly specified type parameters
  • KT-55611 IC / MPP: Optional internal annotations are not visible on incremental builds
  • KT-55324 K2: ControlFlowGraphBuilder fails with index out of bounds exception
  • KT-55656 K2: PRIMARY_CONSTRUCTOR_DELEGATION_CALL_EXPECTED being a warning causes a NPE in runtime
  • KT-51277 "NoSuchElementException: Collection contains no element matching the predicate" with context receivers and star projection
  • KT-52791 Class with multiple context receivers fails -Xvalidate-ir with "Validation failed in file"
  • KT-55071 Shared Native Compilation: Calls from intermediate common source set cannot use default parameters declared in expect common functions
  • KT-52193 Native: Unable to call primary constructor with default values in an actual class without passing the values, in nativeMain source set
  • KT-54573 K2: untouched implicit types in delegated constructor call of data class with @JvmRecord
  • KT-55037 Support jspecify annotations moved to the new package org.jspecify.annotations in jspecify 0.3
  • KT-48989 JVM / IR: "IllegalStateException: Bad exception handler end" when first parameter of inline function is nullable with "try/catch/finally" default value and second parameter tries to call toString() on the first
  • KT-55231 K2: Contract declarations are not passed to checkers
  • KT-54411 False positive: INFERRED_TYPE_VARIABLE_INTO_POSSIBLE_EMPTY_INTERSECTION on kotlinx.coroutines code
  • KT-55005 Inconsistent behavior of array set operation in Kotlin 1.7.21
  • KT-44625 Property backing/delegate field annotations are not serialized/deserialized for non-JVM targets
  • KT-42490 Receiver annotations are not serialized/deserialized for non-JVM targets
  • KT-53441 K2: cannot access static method of package-private Java grandparent class
  • KT-54197 [K2] Exception from inliner for inline function with context receiver
  • KT-55246 Disable 'CustomEqualsInValueClasses' feature in 1.9 language version
  • KT-55247 Disable 'InlineLateinit' feature in 1.9 language version
  • KT-53957 K2 and -Xlambdas=indy: LambdaConversionException on reference to method with both context and extension receivers
  • KT-55421 K2: get rid of potentially redundant call of preCacheBuiltinClassMembers from getIrClassSymbol
  • KT-52815 Compiler option -Xjdk-release fails to compile mixed projects
  • KT-52236 Different modality in psi and fir
  • KT-54921 K2: cannot access static field of package-private Java parent class
  • KT-53698 K2: FIR2IR fails on call of inivisble extension function with Suppress
  • KT-53920 K2: "NoSuchElementException: Key org.jetbrains.kotlin.fir.resolve.dfa.cfg.ClassExitNode@ef115ab is missing in the map" with unreachable code and anonymous object
  • KT-55358 INTEGER_OPERATOR_RESOLVE_WILL_CHANGE is not reported in return positions of functions
  • KT-51475 "ArrayIndexOutOfBoundsException: Index 4 out of bounds for length 4" with context(Any) on inline function with contract
  • KT-51951 "IllegalStateException: No receiver" caused by implicit invoke on typealias context receiver
  • KT-52373 Context receivers: ClassCastException: function with dispatch, context, and extension receivers produces this when a parameter's default is included
  • KT-54220 K2: compiler fails on compiling plus expression on unsigned int
  • KT-54692 K2: compiler fails on compiling unsigned shifts
  • KT-54824 K2: missing smartcast after two levels of aliasing and a reassignment
  • KT-53368 Out of bounds read in sse version of String::hashCode
  • KT-54978 K2: Property accesses with explicit type arguments pass frontend checkers
  • KT-51863 ClassCastException when using context receivers with named argument.
  • KT-55123 JvmSerializableLambda is not applicable in common code in multiplatform projects
  • KT-45970 Missing deprecation warnings for constant operators calls in property initializers
  • KT-54851 K2: analysis of as/is contains multiple errors that result in missing diagnostics
  • KT-54668 K2: Inference error in body of lazy property with elvis with Nothing in RHS
  • KT-55269 FIR2IR: Static functions and nested classes are missing from Fir2IrLazyClass
  • KT-55026 K2: Function hides internal constructor from another module
  • KT-53070 Update intellij testdata fixes for FIR and merge it to master
  • KT-53492 No parameter null check generated for constructor taking an inline class type
  • KT-50489 Smart cast may lead to failing inference
  • KT-55160 Kotlin's fragment element types must not extend IStubFileElementType
  • KT-55143 K2: INAPPLICABLE_JVM_NAME in JVM does not work for inline classes
  • KT-47933 Report warning if kotlin.annotation.Repeatable is used together with java.lang.annotation.Repeatable
  • KT-55035 FIR: do not use FirValueParameter for FirFunctionalTypeRef
  • KT-55095 Wrong containingDeclarationSymbol in type parameter from Enhancement
  • KT-53946 K2: don't resolve Enum.declaringClass and Enum.getDeclaringClass
  • KT-54673 K2. "Superclass is not accessible" from interface error for sealed interfaces
  • KT-55074 OptIn false negative: constructor call with default argument value
  • KT-54260 K2: "AssertionError: No modifier list, but modifier has been found by the analyzer" when annotated annotation and AllOpen plugin
  • KT-55034 FIR: provide information about containing function/constructor to FirValueParameter
  • KT-54744 K2: reassigning a var erases smartcast info of a variable derived from the old value
  • KT-53988 K2: False negative "The expression cannot be a selector (occur after a dot)"
  • KT-53983 K2 crashes with NPE when 'this' is used inside enum class constructor
  • KT-54910 Can not declare typed equals operator in inline class with "Nothing" return type
  • KT-54909 Usage of custom typed equals operator in generic inline class is type-unsafe
  • KT-53371 Properly resolve FIR to get fully resolved annotations
  • KT-53519 FIR: argument mapping for annotations on value parameter is not properly built
  • KT-54827 MPP: "java.lang.IndexOutOfBoundsException: Index: 0" during compilation of androidMain target
  • KT-54417 K2: move receiver-targeted annotations to KtReceiverParameterSymbol and remove it from FirProperty receiver type
  • KT-54972 K2: Local functions with multiple type arguments are broken
  • KT-54762 Private constructor is accessible from a public inline function via @PublishedAPI annotation
  • KT-54832 Deprecate incorrect callable references resolution behavior for KT-54316
  • KT-54732 DirectedGraphCondensationBuilder.paint fails with StackOverflowError during linkReleaseFrameworkIos64
  • KT-54897 K2: value class with private constructor stripped by jvm-abi-gen cannot be used in another module
  • KT-54784 NPE from IrSourceCompilerForInlineKt.nonLocalReturnLabel on non-local break and continue in anonymous initializers and in scripts
  • KT-54840 Field for const property on interface companion object loses deprecated status when copied to interface
  • KT-53825 class files are generated when compilation fails with platform declaration clash
  • KT-54526 K2: Raw type scope is lost after exiting from elvis
  • KT-54570 K2: False-positive OVERLOAD_RESOLUTION_AMBIGUITY in case of combination of raw types
  • KT-52157 Annotation on type parameter isn't present in the symbol loaded from the library
  • KT-54318 VerifyError on { null } in catch block
  • KT-54654 K2: Implicit types leaks into delegated member
  • KT-54645 K2: Clash of two inherited classes with the same name
  • KT-53255 [FIR2IR] StackOverflowError with long when-expression conditions
  • KT-48861 No warning on incorrect usage of array type annotated as Nullable in Java
  • KT-54539 @Deprecated on members of private companion object is no longer needed
  • KT-54403 Unexpected behaviour on overridden typed equals in inline class
  • KT-54536 Unexpected result of comparison of inline class instances
  • KT-54603 ClassCastException on comparison of inline classes with custom equals
  • KT-54401 Unhandled exception on compilation inline class with 'equals' from 'Any' returning 'Nothing'
  • KT-54378 K2: smart cast breaks subtyping in case with complex projections
  • KT-53761 Reified type not propagated to supertype token through two inline functions
  • KT-53876 Manually instantiated annotations with unsigned arrays are not equal
  • KT-51740 NO_VALUE_FOR_PARAMETER: Consider increasing error highlighting range
  • KT-54084 ClassCastException when trying to call a context receiver's method
  • KT-51282 IllegalAccessError: Compiler for JVM 1.8+ makes lambdas access unaccessible classes when using @JvmMultifileClasses
  • KT-53479 False positive "Cannot access 'runCatching' before superclass constructor has been called"
  • KT-50950 JVM IR: "AssertionError: FUN SYNTHETIC_GENERATED_SAM_IMPLEMENTATION" when using bound reference to suspend SAM function
  • KT-49364 "VerifyError: Bad type on operand stack" on cast which "can never succeed" from ULong to Int
  • KT-51478 Inapplicable receiver diagnostic expected when there are two context receiver candidates
Docs & Examples
  • KT-32469 @Synchronized on extension method doesn't generate instance lock
IDE
New Features
  • KTIJ-24378 Update Kotlin plugin to 1.8.0 in IDEA 223.2
Performance Improvements
  • KT-55445 KtUltraLightClassModifierList.hasModifierProperty requires resolve for PsiModifier.PRIVATE
Fixes
  • KTIJ-24657 Disable pre-release and other metadata checks in IDE
  • KT-55929 Unresolved dependencies for intermediate multiplatform SourceSets
  • KTIJ-24179 Bundle Kotlin 1.8.0 with Intellij IDEA 2022.3.2
  • KTIJ-23547 K2 IDE: Functional type: explicit parameter name VS ParameterName annotation
  • KTIJ-23347 K2 IDE. False positive "Symbol fun intFun(): Unit is invisible" in tests
  • KT-55862 Can't resolve kotlin-stdlib-js sources in IDE
  • KTIJ-23587 K2: SOE in delegate field resolution
  • KT-55782 [SLC] Typealiases are not exapnded in arguments of annotations
  • KT-55778 [SLC] Incorrect determination of useSitePostion for types of local declarations
  • KT-55780 [SLC] No approximation of anonymous and local types in members
  • KT-55743 K2 SLC: SymbolLightClassForClassOrObject must have a name
  • KT-55604 Descriptor leak
  • KT-55502 SLC: drop redundant 'final' modifier from synthetic static enum members
  • KT-55497 LC: drop @NotNull annotation from parameter from synthetic Enum.valueOf
  • KT-55496 SLC: generated synthetic enum methods by symbols instead of manual creation
  • KT-55481 SLC: implement correct java annotations for annotation classes (Retention, Target, etc.)
  • KT-55470 SLC: implement light class for RepeatableContainer
  • KT-55442 SLC: 'isInheritor' for 'DefaultImpls' should work correctly
  • KTIJ-23449 K2: "parent must not be null" from SymbolLightClassBase.getContext()
  • KT-40609 IDE: False positive "Exception is never thrown..." in Java when Kotlin getter is annotated with Throws
  • KT-54051 Migrate symbol light classes from KtSymbol to KtElement
IDE. Completion
  • KTIJ-22503 Support code completion for data objects
  • KTIJ-22361 ISE “java.lang.IllegalStateException: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImpl ” on K2
IDE. Debugger
  • KTIJ-24259 Debugger is stuck in an infinite loop in an Android project
  • KTIJ-24003 Smart step into doesn't work for Java synthetic properties references
  • KTIJ-24039 Support smart step into for property setters
IDE. Decompiler, Indexing, Stubs
  • KTIJ-24351 Kotlin Bytecode tool window: NullPointerException during inlining of inline function with object literal
IDE. Gradle Integration
  • KTIJ-24616 Gradle Integration: "NoSuchMethodError: 'java.util.Collection org.jetbrains.kotlin.idea.projectModel.KotlinCompilation.getDeclaredSourceSets" during sync fail after updating Kotlin IJ Plugin to 1.8.20-Beta
  • KT-55347 Broken IDE sync for js: java.lang.IllegalStateException: Accessing Compile Dependencies Transformations is not yet initialised
  • KTIJ-23781 TCS: Gradle Sync: Support friend&dependsOn via IdeaKotlinSourceDependency
IDE. Gradle. Script
  • KT-56941 Gradle KTS / Navigation: Go to declaration for Java types doesn't work
IDE. Inspections and Intentions
  • KTIJ-23404 K2 IDE. Platform type is inserted as type parameter for "Change return type" intention
  • KTIJ-24319 "Set module version to *" quickfix isn't working
  • KTIJ-23225 "Change package" intention unintentionally and intractably replaces text inside of critical strings and comments
  • KTIJ-23892 UsePropertyAccessSyntaxInspection should also suggest replacing getter method references with method synthetic properties referencies after Kotlin 1.9
  • KTIJ-22087 Support IDE inspections for upcoming data objects
  • KTIJ-24286 Constant conditions: false positive "Cast will always fail" with cast of java.lang.String to kotlin.String
  • KTIJ-23859 ConvertObjectToDataObjectInspection support more hashCode and toString cases
  • KTIJ-23760 Get rid of readResolve logic in ConvertObjectToDataObjectInspection
IDE. KDoc
  • KTIJ-24342 KDoc: First line break character is swallowed when pasted
IDE. Misc
  • KTIJ-24370 Remove link to k2.xml from plugin.xml in kt-223 branches
  • KTIJ-24210 Compatibility issue with the CUBA plugin
IDE. Multiplatform
  • KTIJ-21205 MPP: Kotlin not configured error is shown for K/N sources if Android target is presented
  • KT-52172 Multiplatform: Support composite builds
  • KT-56198 Multiplatform;Composite Builds: import fails if single jvm target multiplatform project consume included jvm build
  • KTIJ-24147 MPP: NullPointerException: versionString must not be null
IDE. Refactorings. Move
  • KTIJ-24243 Move declarations: "Search in comments and strings" and "Search for text occurrences" options are always enabled when files are moved
IDE. Script
  • KT-56632 Script configuration cannot be loaded for embedded code snippets
IDE. Wizards
  • KTIJ-24562 Android target created by wizard contains AGP higher than supported
  • KTIJ-24402 Changes "Browser Application for Kotlin/Wasm" wizard template
  • KTIJ-23525 Wizard: Compose multiplatform: project won't build and require higher compileSdkVersion
JavaScript
New Features
  • KT-54118 Kotlin/JS IR: keep declarations with non-minified names
  • KT-35655 Investigate could we use "names" field in SourceMaps to improve debug experience
Fixes
  • KT-55971 KJS: Result of suspend function cannot be assigned to property of dynamic value
  • KT-52374 KJS / IR: caling suspend function as dynamic ignores the rest of the expression
  • KT-56884 KJS: "Top-level declarations in .d.ts files must start with either a 'declare' or 'export' modifier." caused by enum and array inside the companion object
  • KT-51122 Provide fully-qualified method name in Kotlin/JS source maps
  • KT-56602 KJS / Serialization: polymorphicDefaultDeserializer unbound on Kotlin 1.8.20-Beta
  • KT-56580 KJS: languageVersionSettings string is unstable
  • KT-56581 KJS: Lock file for incremental cache
  • KT-56582 KJS: Function type interface reflection crashes the compiler in incremental build
  • KT-55720 KJS: ReferenceError: SuspendFunction1 is not defined with 1.8 when importingkotlin.coroutines.SuspendFunction1
  • KT-56469 KJS: BE Incremental rebuild spoils source map comment
  • KT-55930 KJS: A recursive callable reference of the inline function leads broken cross module references
  • KT-31888 Kotlin/JS: make possible to call main() in main run tasks, but not in test tasks
  • KT-51581 FIR: support JS backend
  • KT-55786 KJS: Rewriting of secondary constructors if they are protected
  • KT-52563 KJS / IR: Invalid TypeScript generated for class extending base class with private constructor
  • KT-55367 KJS / IR + IC: Moving an external declaration between different JsModules() doesn't rebuild the JS code
  • KT-55240 KJS: "NoSuchElementException: No element of given type found" caused by @JsExport and Throwable's child class
  • KT-54398 KJS / IR + IC: Support *.d.ts generation
  • KT-55144 KJS / IR + IC: Modifying an inline function which is used as a default param in another inline function doesn't invalidate a caller
  • KT-54134 KJS / IR: "TypeError: Cannot read properties of undefined" in js block wrapped with suspend functions around
  • KT-54911 KJS / IR + IC: invalidate all klib dependencies after removing it
  • KT-54912 KJS / IR + IC: Commit cache header only in the end (after lowering)
  • KT-52677 Native: StackOverFlow during "kotlin.ir.util.RenderIrElementVisitor$renderTypeAnnotations$1.invoke"
  • KT-54480 KJS: "Exported declaration contains non-consumable identifier" warning when exporting modules as default
  • KT-41294 KJS: Weird behaviour of j2v8 in test infra
  • KT-54173 Kotlin/JS + IR: failed to provide keep setting to avoid DCE remove of default interface function from implementing object
Language Design
  • KT-55451 Preview of lifting restriction on secondary constructor bodies for value classes
  • KT-54621 Preview of Enum.entries: modern and performant replacement for Enum.values()
  • KT-54525 Preview of Java synthetic property references
  • KT-55337 Preview of data objects
  • KT-55344 Deprecate @Synchronized in platforms except JVM
Libraries
  • KT-35508 EXC_BAD_ACCESS(code=2, address=0x16d8dbff0) crashes on iOS when using a sequence (from map() etc.)
  • KT-56794 Libraries: "Recursively copying a directory into its subdirectory is prohibited" Path.copyToRecursively fails on copying from one ZipFileSystem to another ZipFileSystem
  • KT-55935 [Kotlin/JVM] Path.copyToRecursively does not work across file systems
  • KT-55978 Provide Common Base64 encoding in stdlib
  • KT-46211 [Kotlin/Native] Stack overflow crash in Regex classes with simple pattern and very large input
  • KT-31066 Add Closeable & use to common stdlib
  • KT-55609 Introduce experimental kotlin.concurrent.Volatile annotation
  • KT-39789 Segfault in Kotlin/Native regex interpreter
  • KT-53310 Native: HashMap/HashSet doesn't reclaim storage after removing elements
Native
  • KT-56443 Native link task reports w: Cached libraries will not be used for optimized compilation
  • KT-55938 [Kotlin/Native] Inline functions accessing ObjC class companion cause compiler to crash when building static caches in 1.8.20 dev build
Native. C and ObjC Import
  • KT-55303 Objective-C import: improve -fmodules flag discoverability.
  • KT-39120 Cinterop tool doesn't support the -fmodules compiler argument
  • KT-40426 Incorrect Objective-C extensions importing that prevents UIKit usage
  • KT-55653 Since Kotlin 1.8.0 NSView.resetCursorRects doesn't exist anymore and cannot override it
  • KT-54284 Kotlin/Native: cinterop produces non-deterministic metadata
Native. ObjC Export
  • KT-56350 Kotlin/Native: restore "use Foundation" in generated Objective-C frameworks
  • KT-55736 Native: exporting suspend function from a cached dependency to Objective-C crashes with "Suspend functions should be lowered out at this point"
  • KT-53638 Native: support disabling mangling globally for Swift names in generated Objective-C header
  • KT-53069 SOE on K/N framework build for Arm64
  • KT-53317 ObjCName annotation is not applied to an extension receiver in Objective-C export
Native. Stdlib
  • KT-53064 Native: provide stdlib API to obtain memory management statistics
Reflection
  • KT-27585 Flaky IllegalPropertyDelegateAccessException: Cannot obtain the delegate of a non-accessible property. Use "isAccessible = true" to make the property accessible
  • KT-55178 Improve performance of KCallable.callBy
  • KT-53279 Reflection: "KotlinReflectionInternalError: Method is not supported" caused by @Repeatable annotation deserialization at runtime if it's repeated and contains arrays
  • KT-44977 Reflection: ClassCastException caused by annotations with "AnnotationTarget.TYPE" usage on array attributes access
Tools. CLI
  • KT-57077 1.8.20-RC-243 shows Java 19 warnings even if configured with Java 17 toolchain
  • KT-56992 Performance test regression in Gradle when switching to Kotlin 1.8.20
  • KT-56789 Metaspace memory leak in CoreJrtFileSystem
  • KT-56925 Remove warning about assignment plugin
  • KT-54652 Enable -Xuse-fir-lt by default when -Xuse-k2 is turned on, provide way to disable
  • KT-55784 Unable to format compilation errors with ansi colors in compilation server
  • KT-54718 K2: Compiler crashes with "IllegalArgumentException: newPosition > limit"
  • KT-54337 CLI: compiling module-info.java without explicitly specified JDK home leads to a weird error
Tools. Commonizer
  • KT-47429 [Commonizer] OKIO support
  • KT-51517 C Interop Commonizer Fails On Classifier That Doesn't Exist
Tools. Compiler Plugins
Fixes
  • KT-53590 K2 Allopen does not look for transitive meta-annotations
  • KT-56487 Add more methods to DescriptorSerializerPlugin
  • KT-54020 [K2] [NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER] error in case 'static Name' param was added to @AllArgsConstructor annotation and an empty list is set as a constructor param value
  • KT-53096 Create a pack of compiler utilities for generating declarations from plugins
  • KT-55248 K2/PluginAPI: getCallableNamesForClass/generateClassLikeDeclaration are not called for synthetic companions of local classes
  • KT-54756 Deprecate "legacy" mode of jvm-abi-gen plugin
  • KT-55233 jvm-abi-gen strips out InnerClass attributes
  • KT-54994 K2 plugin API: Compile-time constants are not evaluated before IR
  • KT-55023 K2 plugin API: Compilation with Kotlin daemon fails after certain number of tries
  • KT-55286 K2: Parcelize plugin sometimes can't find nested objects in current class
  • KT-54500 Private type aliases can be referenced from public declarations, but are stripped by jvm-abi-gen
Tools. Compiler plugins. Serialization
  • KT-56738 Unexpected SERIALIZER_NOT_FOUND when compiling against binary with enum
  • KT-56990 "AssertionError: SyntheticAccessorLowering should not attempt to modify other files" in kotlinx-serialization using @Serializer and List argument
  • KT-54441 Prohibit implicit serializer customization via companion object
  • KT-49983 Implement prototype of kotlinx.serialization for K2 compiler
  • KT-48733 "AssertionError: Unexpected IR element found during code generation" caused by Serialization and annotation with default parameter
  • KT-54297 Regression in serializable classes with star projections
Tools. Gradle
New Features
  • KT-54691 Kotlin Gradle Plugin libraries alignment platform
  • KT-54492 Send gradle build errors from idea
  • KT-55540 Add compilation speed metric in build reports
  • KT-55541 Validate FUS metrics values on Gradle side
Performance Improvements
  • KT-54836 Kotlin/JVM Gradle plugin creates task eagerly on Gradle 7.3+
  • KT-55995 Add ability to perform precise compilation task outputs backup
  • KT-54579 Kapt tasks slow down significantly on Windows when running with JDK 17 compared to JDK 11
  • KT-54588 KotlinCompile: Avoid calling FileCollection.getFiles() multiple times
Fixes
  • KT-57296 Build statistics sending errors in case of buildSrc directory usage with kotlin-dsl plugin applied
  • KT-56645 Gradle: KGP reports an incorrect reso

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate. View repository job log here.

@renovate renovate bot added the dependencies Pull requests that update a dependency file label Mar 30, 2023
@renovate renovate bot changed the title Update dependency org.jetbrains.kotlin:kotlin-test-junit5 to v1.8.20 Update Kotlin, KSP and Compose Compiler to v1.8.20 Mar 30, 2023
@renovate renovate bot changed the title Update Kotlin, KSP and Compose Compiler to v1.8.20 Update Kotlin, KSP and Compose Compiler Apr 4, 2023
@renovate
Copy link
Contributor Author

renovate bot commented Apr 12, 2023

Edited/Blocked Notification

Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.

You can manually request rebase by checking the rebase/retry box above.

Warning: custom changes will be lost.

@Goooler Goooler changed the title Update Kotlin, KSP and Compose Compiler Kotlin 1.8.20 Apr 12, 2023
@Goooler Goooler enabled auto-merge (squash) April 13, 2023 01:40
@Goooler Goooler merged commit 3c488be into trunk Apr 13, 2023
@Goooler Goooler deleted the renovate/kotlin branch April 13, 2023 01:45
@Goooler Goooler added this to the 1.8.0 milestone Apr 13, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
dependencies Pull requests that update a dependency file
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant