Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update plugin org.jetbrains.kotlin.jvm to v1.7.20 - autoclosed #135

Closed
wants to merge 1 commit into from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Sep 11, 2022

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
org.jetbrains.kotlin.jvm (source) 1.5.31 -> 1.7.20 age adoption passing confidence

Release Notes

JetBrains/kotlin

v1.7.20

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-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-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
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

v1.7.10

Compiler
  • KT-52702 Invalid locals information when compiling kotlinx.collections.immutable with Kotlin 1.7.0-RC2
  • KT-52892 Disappeared specific builder inference resolution ambiguity errors
  • KT-52782 Appeared receiver type mismatch error due to ProperTypeInferenceConstraintsProcessing compiler feature
  • KT-52718 declaringClass deprecation message mentions the wrong replacement in 1.7
IDE
Fixes
  • KTIJ-19088 KotlinUFunctionCallExpression.resolve() returns null for calls to @​JvmSynthetic functions
  • KTIJ-19624 NoDescriptorForDeclarationException on iosTest.kt.vm
  • KTIJ-21515 Load JVM target 1.6 as 1.8 in Maven projects
  • KTIJ-21735 Exception when opening a project
  • KTIJ-17414 UAST: Synthetic enum methods have null return values
  • KTIJ-17444 UAST: Synthetic enum methods are missing nullness annotations
  • KTIJ-19043 UElement#comments is empty for a Kotlin property with a getter
  • KTIJ-10031 IDE fails to suggest a project declaration import if the name clashes with internal declaration with implicit import from stdlib (ex. @​Serializable)
  • KTIJ-21151 Exception about wrong read access from "Java overriding methods searcher" with Kotlin overrides
  • KTIJ-20736 NoClassDefFoundError: Could not initialize class org.jetbrains.kotlin.idea.roots.KotlinNonJvmOrderEnumerationHandler. Kotlin plugin 1.7 fails to start
  • KTIJ-21063 IDE highlighting: False positive error "Context receivers should be enabled explicitly"
  • KTIJ-20810 NoClassDefFoundError: org/jetbrains/kotlin/idea/util/SafeAnalyzeKt errors in 1.7.0-master-212 kotlin plugin on project open
  • KTIJ-17869 KotlinUFunctionCallExpression.resolve() returns null for instantiations of local classes with default constructors
  • KTIJ-21061 UObjectLiteralExpression.getExpressionType() returns the base class type for Kotlin object literals instead of the anonymous class type
  • KTIJ-20200 UAST: @​Deprecated(level=HIDDEN) constructors are not returning UMethod.isConstructor=true
IDE. Code Style, Formatting
  • KTIJ-20554 Introduce some code style for definitely non-null types
IDE. Completion
  • KTIJ-14740 Multiplatform declaration actualised in an intermediate source set is shown twice in a completion popup called in the source set
IDE. Debugger
  • KTIJ-20815 MPP Debugger: Evaluation of expect function for the project with intermediate source set may fail with java.lang.NoSuchMethodError
IDE. Decompiler, Indexing, Stubs
  • KTIJ-21472 "java.lang.IllegalStateException: Could not read file" exception on indexing invalid class file
  • KTIJ-20802 Definitely Not-Null types: "UpToDateStubIndexMismatch: PSI and index do not match" plugin error when trying to use library function with T&Any
IDE. FIR
  • KTIJ-20971 FIR IDE: "Parameter Info" shows parameters of uncallable methods
  • KTIJ-21021 FIR IDE: Completion of extension function does not work on nullable receiver
  • KTIJ-21343 FIR IDE: Navigation from explicit invoke call does not work
  • KTIJ-21013 FIR IDE: Inconsistent smartcasts highlighting
  • KTIJ-21374 FIR IDE: Incorrect highlighting for operators
  • KTIJ-20443 FIR IDE: Work in Dumb mode
  • KTIJ-20852 FIR IDE: Exception when checking isInheritor on two classes in different modules
  • KTIJ-20637 FIR IDE: Strange exception while commenting-uncommenting FirReferenceResolveHelper.kt
IDE. Gradle Integration
  • KTIJ-21807 Gradle to IDEA import: language and API version settings are not imported for Native facet
  • KTIJ-21692 Kotlin Import Test maintenance: 1.7.0-Beta
  • KTIJ-20567 Kotlin/JS: Gradle import into IDEA creates no proper sub-modules, source sets, facets
IDE. Hints. Inlay
  • KTIJ-20552 Support definitely non-null types in inlay hints
IDE. Inspections and Intentions
New Features
  • KTIJ-18979 Quickfix for INTEGER_OPERATOR_RESOLVE_WILL_CHANGE to add explicit conversion call
  • KTIJ-19950 Provide quickfixes for INVALID_IF_AS_EXPRESSION_WARNING and NO_ELSE_IN_WHEN_WARNING
  • KTIJ-19866 Create quick-fix for effective visibility error on private-in-file interface exposing private class
  • KTIJ-19939 Provide quickfix for deprecated confusing expressions in when branches
Fixes
  • KTIJ-20705 Register quickfix for NO_CONSTRUCTOR_WARNING diagnostic
  • KTIJ-21226 "Remove else branch" quick fix is not suggested
  • KTIJ-20981 Definitely non-null types: quick-fixes suggested incorrectly for LV=1.6 when Xenhance-type-parameter-types-to-def-not-null flag is set
  • KTIJ-20953 Add quickfix for OVERRIDE_DEPRECATION warning to 1.7 - 1.9 migration
  • KTIJ-20734 Replace with [@​JvmInline] value quick fix should be appliable on a whole project
  • KTIJ-21420 Add 'else' branch quick fix suggestion is displayed twice in case 'if' isn't completed
  • KTIJ-21192 "Make protected" intention is redundant for interface properties
  • KTIJ-18120 "Make public" intention does not add explicit "public" modifier when using ExplicitApi Strict mode
  • KTIJ-20493 "Create expect" quick fix doesn't warn about platform-specific annotations
IDE. Misc
IDE. Native
  • KTIJ-21602 With Native Debugging Support plugin Gradle run configurations can't be executed from IDEA: LLDB_NATVIS_RENDERERS_ENABLED
IDE. Wizards
  • KTIJ-20919 Update ktor-html-builder dependency in kotlin wizards
  • KTIJ-20962 Wizard: Invalid Ktor imports
Tools. Gradle
  • KT-52777 'org.jetbrains.kotlinx:atomicfu:1.7.0' Gradle 7.0+ plugin variant was published with missing classes
Tools. Gradle. JS
  • KT-52856 Kotlin/JS: Upgrade NPM dependencies
Tools. Gradle. Multiplatform
  • KT-52955 SourceSetMetadataStorageForIde: Broken 'cleanupStaleEntries' with enabled configuration caching or isolated ClassLoaders
  • KT-52694 Kotlin 1.7.0 breaks Configuration Caching in Android projects
Tools. Incremental Compile
  • KT-52669 Full rebuild in IC exception recovery leaves corrupt IC data
Tools. JPS
  • KTIJ-17280 JPS: don't use java.io.File.createTempFile as it is not working sometimes
  • KTIJ-20954 NPE at at org.jetbrains.kotlin.metadata.jvm.deserialization.JvmProtoBufUtil.readNameResolver on compiling by JPS with LV > 1.7

v1.7.0

Analysis API. FIR
  • KT-50864 Analysis API: ISE: "KtCallElement should always resolve to a KtCallInfo" is thrown on call resolution inside plusAssign target
  • KT-50252 Analysis API: Implement FirModuleResolveStates for libraries
  • KT-50862 Analsysis API: do not create use site subsitution override symbols
Analysis API. FIR Low Level API
  • KT-50729 Type bound is not fully resolved
  • KT-50728 Lazy resolve of extension function from 'kotlin' package breaks over unresolved type
  • KT-50271 Analysis API: get rid of using FirRefWithValidityCheck
Backend. Native. Debug
  • KT-50558 K/N Debugger. Error is not displayed in variables view for catch block
Compiler
New Features
  • KT-26245 Add ability to specify generic type parameters as not-null
  • KT-45165 Remove JVM target version 1.6
  • KT-27435 Allow implementation by delegation to inlined value of inline class
  • KT-47939 Support method references to functional interface constructors
  • KT-50775 Support IR partial linkage in Kotlin/Native (disabled by default)
  • KT-51737 Kotlin/Native: Remove unnecessary safepoints on watchosArm32 and iosArm32 targets
  • KT-44249 NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER with type usage in higher order function
Performance Improvements
  • KT-48233 Switching to JVM IR backend increases compilation time by more than 15%
  • KT-51699 Kotlin/Native: runtime has no LTO in debug binaries
  • KT-34466 Use optimized switch over enum only when all entries are constant enum entry expressions
  • KT-50861 FIR: Combination of array set convention and plusAssign works exponentially
  • KT-47171 For loop doesn't avoid boxing with value class iterators (JVM)
  • KT-29199 'next' calls for iterators of merged primitive progressive values are not specialized
  • KT-50585 JVM IR: Array constructor loop should use IINC
  • KT-22429 Optimize 'for' loop code generation for reversed arrays
  • KT-50074 Performance regression in String-based 'when' with single equality clause
  • KT-22334 Compiler backend could generate smaller code for loops using range such as integer..array.size -1
  • KT-35272 Unnecessary null check on unsafe cast after not-null assertion operator
  • KT-27427 Optimize nullable check introduced with 'as' cast
Fixes
  • KT-46762 Finalize support for jspecify
  • KT-51499 @​file:OptIn doesn't cover override methods
  • KT-52037 FIR: add error in 1.7.0 branch if run with non-compatible plugins
  • KT-46756 Release the K2/JVM compiler in Alpha
  • KT-49715 IR: "IllegalStateException: Function has no body: FUN name:toString" during IR lowering with shadowed extension inside interface
  • KT-45508 False negative ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED on a fake override with an abstract super class member
  • KT-28078 Report error "Public property exposes its private type" for primary constructor properties instead of warning
  • KT-49017 Forbid usages of super or super if in fact it accesses an abstract member
  • KT-38078 Prohibit calling methods from Any with "super" qualifier once they are overridden as abstract in superclass
  • KT-52363 Evaluate impact of qualified this behavior change warnings
  • KT-52561 JVM: Coroutine state machine loses value after a check-induced smart cast
  • KT-52311 java.lang.VerifyError: Bad type on operand stack
  • KT-41124 Inconsistency of exceptions at init block for an enum entry with and without a qualifier name
  • KT-46860 Make safe calls always nullable
  • KT-52503 New green code appeared at the callable reference resolution
  • KT-51925 Native: "IllegalStateException: Symbol for kotlinx.cinterop/CStructVar|null[0] is unbound" caused by inline function
  • KT-49317 "IllegalStateException: Parent of this declaration is not a class: FUN LOCAL_FUNCTION_FOR_LAMBDA" with parameter of suspend type with the default parameter
  • KT-51844 New errors in overload resolution involving vararg extension methods
  • KT-52006 "java.lang.Throwable: Unbalanced tree Exception" on indexing kotlin project
  • KT-51223 Report warning about conflicting inherited members from deserialized dependencies
  • KT-51439 FE 1.0: implement type variance conflict deprecation on qualifier type arguments
  • KT-51433 FE 1.0: implement warnings about label resolve changes
  • KT-51317 Regression in resolution of lambdas where expected type has an extension receiver parameter
  • KT-45935 JVM IR: Add not-null assertion for explicit definitely not-null parameters
  • KT-51818 "ClassCastException: class CoroutineSingletons cannot be cast to class" with suspendCoroutineUninterceptedOrReturn and coroutines
  • KT-51718 JVM / IR: "VerifyError: Bad type on operand stack" caused by nullable variable inside suspend function
  • KT-51927 Native: The symbol of unexpected type encountered during IR deserialization error when multiple libraries have non-conflicting declarations with the same name
  • KT-52394 JVM: Missing annotation on method with value class return type when a subclass is present in the same file in Kotlin 1.7.0-Beta
  • KT-51640 FIR: remove warning about "far from being production ready"
  • KT-45553 FIR: support hiding declaration from star import by as import
  • KT-52404 Prolong deprecation cycle for errors at contravariant usages of star projected argument from Java
  • KT-50734 TYPE_MISMATCH: NonNull parameter with a type of Nullable type argument causes compiler warning
  • KT-51235 JVM / IR: "AbstractMethodError: Receiver class does not define or inherit an implementation of the resolved method" when property with inline class type is overridden to return Nothing?
  • KT-48935 NI: Multiple generic parameter type constraints are not applied as expected when the parameter is of function type
  • KT-49661 NI: No TYPE_INFERENCE_UPPER_BOUND_VIOLATED when argument is inferred by return type
  • KT-50877 Inconsistent flexible type
  • KT-51988 "NPE: getContainingDeclaration…lDeclarationType.REGULAR) must not be null" when using @​BuilderInference with multiple type arguments
  • KT-48890 Revert Opt-In restriction "Overriding methods can only have opt-in annotations that are present on their basic declarations."
  • KT-52035 FIR: add error in 1.7.0 branch if run on JS / Native configuration
  • KT-45461 NI: False negative TYPE_INFERENCE_UPPER_BOUND_VIOLATED when passing an argument to a function with generic constraints
  • KT-52146 JVM IR: "AssertionError: Primitive array expected" on vararg of SAM types with self-type and star projection
  • KT-50730 Implement error for a super class constructor call on a function interface in supertypes list
  • KT-52040 JVM: ClassFormatError Illegal method name "expectFailure$__proxy-0"
  • KT-50845 Postpone rxjava errors reporting in the strict mode till 1.8 due to found broken cases
  • KT-51979 "AssertionError: No modifier list, but modifier has been found by the analyzer" exception on incorrect Java interface override
  • KT-51759 FIR DFA: false positive "Variable must be initialized"
  • KT-50378 Unresolved reference for method in Jsoup library in a kts script file
  • KT-34919 "Visibility is unknown yet" when named parameter in a function type used in a typealias implemented by an abstract class
  • KT-51893 Duplicated [OVERRIDE_DEPRECATION] on overridden properties
  • KT-41034 K2: Change evaluation semantics for combination of safe calls and convention operators
  • KT-51843 Functional interface constructor references are incorrectly allowed in 1.6.20 without any compiler flags
  • KT-51914 False positive RETURN_TYPE_MISMATCH in intellij ultimate
  • KT-51711 Compiler warning is displayed in case there is 'if' else branch used with elvis
  • KT-33517 Kotlin ScriptEngine does not respect async code when using bindings
  • KT-51850 FIR cannot resolve ambiguity with different SinceKotlin/DeprecatedSinceKotlin
  • [KT-44705](https://youtrack.jetbrains.

Configuration

📅 Schedule: Branch creation - "every weekend" (UTC), 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.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, click this checkbox.

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

@vlsi
Copy link
Collaborator

vlsi commented Sep 11, 2022

I used kotlin 1.5 for compatibility with older Gradle versions

@loosebazooka
Copy link
Member

I used kotlin 1.5 for compatibility with older Gradle versions

How far back should we go? 7.0 came out April 2021. and 6.9 (last major 6 release) was May 2021.

I'm okay with supporting a major version release compatibility for a year but we're passed that already. For me, minimum compatibility should be 7.0+. But I'm open to discussing this -- and I haven't found any data to support any assumptions I've made yet (gradle version usage numbers?)

@vlsi
Copy link
Collaborator

vlsi commented Sep 12, 2022

7 was a major breakage point (e.g. a long-time deprecated "compile" configuration has been removed in 7), so my wild guess is that there are still people stuck with old versions.

Of course, we could bump to 7 and see if people ask for 6.x, however, I think people would ignore the plugin instead of asking for 6.x support

@loosebazooka
Copy link
Member

I'm okay with 7+. I don't want to carry too much baggage forward. A year is a long time to update.

@vlsi
Copy link
Collaborator

vlsi commented Sep 12, 2022

Sometimes, a year is not enough to merge a one-word removal change: google/guice#1569 😂

In any case, Gradle 7 comes with Kotlin 1.4..1.6 (apiTarget=1.4), so we should be careful of not using 1.7 features: https://docs.gradle.org/current/userguide/compatibility.html#kotlin

@loosebazooka
Copy link
Member

Well I would like to come up with some metric. We support (n) and (n-1)? So once gradle 8 is released, we drop support for gradle 6?

@vlsi
Copy link
Collaborator

vlsi commented Sep 12, 2022

WDYT of support (build new features) running with n and n-1, and security fixes (for past releases) for 5-10 years?

@loosebazooka
Copy link
Member

5 years is a lot of years 😨, we can continue this conversation in sigstore-java weekly?

@loosebazooka
Copy link
Member

oh I misread that, like backporting fixes... sure we can come with a timeline for that.

@vlsi
Copy link
Collaborator

vlsi commented Sep 12, 2022

I don't expect backporting.
However, if a vulnerability is detected in one of the "past" versions, then we should also be able to fix the vulnerability in the past versions.
Here's a case when Spring asks to release a security fix for a "past" version: pgjdbc/pgjdbc#2599 (comment)


To put more context: it is unbelievable how the Apache Logging team handles log4j 1.x
Of course, they do not want to add more features to log4j 1.x, however, it is really really sad they ignore security fixes to 1.x even though they are trivial to do, and they can be implemented without breaking the APIs.

@loosebazooka
Copy link
Member

sgtm, you probably know what's best to do here. Close/Merging is up to you.

@renovate renovate bot force-pushed the renovate/org.jetbrains.kotlin.jvm-1.x branch from 707e872 to 80298e8 Compare September 29, 2022 13:34
@renovate renovate bot changed the title Update plugin org.jetbrains.kotlin.jvm to v1.7.10 Update plugin org.jetbrains.kotlin.jvm to v1.7.20 Sep 29, 2022
@renovate renovate bot changed the title Update plugin org.jetbrains.kotlin.jvm to v1.7.20 Update plugin org.jetbrains.kotlin.jvm to v1.7.20 - autoclosed Oct 30, 2022
@renovate renovate bot closed this Oct 30, 2022
@renovate renovate bot deleted the renovate/org.jetbrains.kotlin.jvm-1.x branch October 30, 2022 06:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants