Kotlinx-murmurhash - Kotlin Multiplatform (KMP) library for hashing using MurmurHash

Overview

kotlinx-murmurhash

badge-version badge-jvm badge-js badge-nodejs badge-android badge-ios badge-watchos badge-tvos badge-macos badge-windows badge-linux

Kotlin Multiplatform (KMP) library for MurmurHash, a non-cryptographic hash function for general hash-based lookup focused on simplicity and performance.

Usage

Add the dependency in build.gradle.kts:

kotlin {
    sourceSets {
        val commonMain by getting {
            dependencies {
                implementation("com.goncalossilva:murmurhash:<version>")
            }
        }
    }
}

Use the provided MurmurHash* classes and hash* hashing functions.

Example

MurmurHash3().hash32x86(string.encodeToByteArray())

Contributing

Pull requests are welcome! See MurmurHash3Test for an example of how to leverage hashes computed by the canonical C++ implementation for testing.

Feel free to contribute earlier versions, such as MurmurHash2 and MurmurHash1.

Acknowledgements

Testing using a wordlist and pre-computed hashes of the canonical C++ implementation is inspired by @sangupta's murmur Java implementation.

License

Released under the MIT License.

Comments
  • Update plugin org.jetbrains.kotlin.multiplatform to v1.7.20 - abandoned

    Update plugin org.jetbrains.kotlin.multiplatform to v1.7.20 - abandoned

    Mend Renovate

    This PR contains the following updates:

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


    ⚠ Dependency Lookup Warnings ⚠

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


    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: Renovate will not automatically rebase this PR, because other commits have been found.

    🔕 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. ⚠ Warning: custom changes will be lost.

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

    opened by renovate[bot] 1
  • getUInt returns invalid values

    getUInt returns invalid values

    Hi @goncalossilva,

    There's currently a bug in getUInt when reading values that are negative bytes.

    For example, consider the following:

    val bytes = byteArrayOf(0x2e, 0xf6.toByte())
    
    println(bytes.getUInt(0)) // prints 46
    println(bytes.getUInt(1)) // prints 4294967286 but should be 246
    

    This looks as simple as just ensuring the value is masked, i.e. private fun ByteArray.getUInt(index: Int) = get(index).toUInt() and 0xffu although I've not throughly tested this. I assume the same needs to be applied to getULong too.

    The test suite is probably not broad enough in terms of the byte values under test; which is why it doesn't pick up this issue. I'm currently in the process of adding an incremental version of murmurhash into my own Multiplatform library, cryptohash and while looking into that came across this test suite from Apache Commons Codec which helped highlight this issue.

    From a testing point of view, with a fix in place, hash32x86 with a zero seed would be expected to return 0x368f9df1 for the 2-byte array above.

    opened by mattmook 1
  • Update plugin org.jetbrains.kotlin.multiplatform to v1.8.0

    Update plugin org.jetbrains.kotlin.multiplatform to v1.8.0

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | org.jetbrains.kotlin.multiplatform (source) | 1.7.22 -> 1.8.0 | age | adoption | passing | confidence |


    Release Notes

    JetBrains/kotlin

    v1.8.0

    Analysis API
    • KT-50255 Analysis API: Implement standalone mode for the Analysis API
    Analysis API. FIR
    • KT-54292 Symbol Light classes: implement PsiVariable.computeConstantValue for light field
    • KT-54293 Analysis API: fix constructor symbol creation when its accessed via type alias
    Android
    • KT-53342 TCS: New AndroidSourceSet layout for multiplatform
    • KT-53013 Increase AGP compile version in KGP to 4.1.3
    • KT-54013 Report error when using deprecated Kotlin Android Extensions compiler plugin
    • 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-52817 Add @JvmSerializableLambda annotation to keep old behavior of non-invokedynamic lambdas
    • KT-54460 Implementation of non-local break and continue
    • KT-53916 Support Xcode 14 and new Objective-C frameworks in Kotlin/Native compiler
    • 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
    • KT-53119 Improve String Concatenation Lowering
    Fixes
    • KT-53465 Unnecessary checkcast to array of reified type is not optimized since Kotlin 1.6.20
    • KT-49658 NI: False negative TYPE_MISMATCH on nullable type with when
    • KT-48162 NON_VARARG_SPREAD isn't reported on *toTypedArray() call
    • KT-43493 NI: False negative: no compilation error "Operator '==' cannot be applied to 'Long' and 'Int'" is reported in builder inference lambdas
    • KT-54393 Change in behavior from 1.7.10 to 1.7.20 for java field override.
    • 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-48532 Remove old JVM backend
    • KT-55065 Kotlin Gradle DSL: Reflection cannot find class data for lambda, produced by JVM IR backend
    • KT-53270 K1: implement synthetic Enum.entries property
    • KT-52823 Cannot access class Thread.State after upgrading to 1.7 from 1.6.1 using -Xjdk-release=1.8
    • KT-55108 IR interpreter: Error occurred while optimizing an expression: VARARG
    • KT-53547 Missing fun IrBuilderWithScope.irFunctionReference
    • KT-54884 "StackOverflowError: null" caused by Enum constant name in constructor of the same Enum constant
    • KT-47475 "IncompatibleClassChangeError: disagree on InnerClasses attribute": cross-module inlined WhenMappings has mismatched InnerClasses
    • KT-55013 State checker use-after-free with XCode 14.1
    • KT-54802 "VerifyError: Bad type on operand stack" for inline functions on arrays
    • KT-54707 "VerifyError: Bad type on operand stack" in inline call chain on a nullable array value
    • 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-53794 IAE "Unknown visibility: protected/protected and package/" on callable reference to protected member of Java superclass
    • 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-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-53712 Add mode to prevent generating JVM 1.8+ annotation targets (TYPE_USE, TYPE_PARAMETER)
    • KT-54366 K2: no JVM BE specific diagnostics (in particular CONFLICTING_JVM_DECLARATIONS) in 1.8
    • 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-53656 "IllegalStateException: typeParameters == null for SimpleFunctionDescriptorImpl" with recursive generic type parameters
    • KT-46727 Report warning on contravariant usages of star projected argument from Java
    • 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-54212 K2: cannot calculate implicit property type
    • KT-53699 K2: Exception during IR lowering in code with coroutines
    • 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-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-54062 K2 Invalid serialization for type-aliased suspend function type with extension receiver
    • 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-53807 No warning about declaringClass on an enum value
    • 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-53622 [OVERLOAD_RESOLUTION_AMBIGUITY] when enum entry called 'entries' is present in K2
    • KT-41670 JVM IR: AbstractMethodError when using inheritance for fun interfaces
    • KT-53178 K2: implement diagnostics for serialization plugin
    • KT-53804 Restore old and incorrect logic of generating InnerClasses attributes for kotlin-stdlib
    • KT-52970 Default value constant in companion object works on JVM and JS, but fails on native
    • KT-51114 FIR: Support DNN checks
    • KT-27936 Write InnerClasses attribute for all class names used in a class file
    • KT-53719 Parsing regression on function call with type arguments and labeled lambda
    • KT-53261 Evaluate effect from inline for primitive types
    • KT-53706 K2: Context receivers are not resolved on properties during type resolution stage
    • 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-48822 CompilationException: Back-end (JVM) Internal error: Failed to generate expression: KtProperty - ConcurrentModificationException
    • KT-50281 IllegalStateException: unsupported call of reified inlined function
    • KT-50083 Different error messages in android and JVM (Intrinsics.checkNotNullParameter).
    • KT-53236 Support Enum.entries codegen on JVM/IR BE
    • KT-41017 FIR: should we support smartcast after null check
    • KT-53202 "ISE: Descriptor can be left only if it is last" after direct invoke optimization on a capturing lambda
    • KT-46969 @BuilderInference with nested DSL scopes cause false-positive scope violation in Kotlin 1.5
    • 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-50995 [FIR] Support SAM with receiver plugin
    • KT-53148 K1: introduce warning for inline virtual member in enum
    • 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-48778 -Xtype-enhancement-improvements-strict-mode not respecting @NonNull annotation for property accesses?
    IDE
    Fixes
    • KTIJ-22357 CCE “class org.jetbrains.kotlin.fir.types.impl.FirImplicitTypeRefImpl cannot be cast to class org.jetbrains.kotlin.fir.types.FirResolvedTypeRef” in K2
    • KT-55150 Argument for @NotNull parameter 'scope' of org/jetbrains/kotlin/resolve/AnnotationResolverImpl.resolveAnnotationType must not be null
    • KTIJ-22165 IDE notification to promote users to migrate to the new Kotlin/JS toolchain
    • KTIJ-22166 IDE notification (or something else) about JPS and Maven support for Kotlin/JS is deprecated
    • KT-53543 Rework light classes for file facade
    • KT-48773 Investigate the possibility of removing dependency on old JVM backend in light classes
    • KTIJ-19699 IDE: False positive type mismatch in Java code for Kotlin nested class non-direct inheritor from external library
    • KT-51101 FIR IDE: Exception on "Show Type Info" action
    • KTIJ-22295 MPP, IDE: False positive UPPER_BOUND_VIOLATED when JVM module implements the generic interface from MPP module and the type parameter is not equal to itself.
    • 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
    • KTIJ-22323 K2: ISE during resolve of stdlib calls from the stdlib
    • KTIJ-21391 Generate -> Override methods : don't delegate to abstract methods
    • KT-53097 Extract common part of light classes to another module
    • KTIJ-22354 FIR LC: annotation owner is always null
    • KTIJ-22157 Kotlin call resolver leaks user code when reporting exception
    IDE. Completion
    • KTIJ-22552 Kotlin: 'for loop' postfix completion doesn't work - "Fe10SuggestVariableNameMacro must be not requested from main classloader"
    • KTIJ-22503 Support code completion for data objects
    IDE. Debugger
    • KT-51755 Compilation exception with scripting compilation during debug session
    • KTIJ-21963 Debugger / IR: Expression evaluation of the debugger doesn't work
    IDE. Decompiler, Indexing, Stubs
    • KTIJ-22750 Initialize Kotlin stub element types lazily
    • KTIJ-18094 IDE: "AssertionError: Stub count doesn't match stubbed node length" with minified Android AAR library
    • KTIJ-17632 IndexOutOfBoundsException: Cannot decompile a class located in minified AAR
    IDE. Gradle Integration
    • KT-48135 In the IDE import, reuse dependency granular source set KLIBs across multi-project build to avoid duplicate external libraries
    • KTIJ-22345 False positive unresolved reference for members of subclasses of expect classes.
    • KT-53514 HMPP: False positive for None of the following functions can be called with the arguments supplied. with Enum in common module
    • KT-51583 Gradle 7.4+ | SamplesVariantRule interference: Could not resolve all files for configuration ':kotlinKlibCommonizerClasspath'
    • KTIJ-21077 Dependency matrix does not work with Jetpack compose / multiplatform projects
    IDE. Inspections and Intentions
    • KTIJ-19531 Adapt changes about new rules for method implementation requirements
    • KTIJ-22087 Support IDE inspections for upcoming data objects
    • KTIJ-20510 Quick fix to implement and call correct super method in case of inheritance with defaults
    • KTIJ-20170 Provide quickfix for deprecated resolution to private constructor of sealed class
    • KTIJ-22630 FIR IDE: Lazy resolve exception after invocation of Override members action on value class
    • KT-49643 Intentions: "Implement members" fails when base type function declaration uses unresolved generic types
    IDE. JS
    • KTIJ-22167 Make JS IR default in projects created by wizard
    • KTIJ-22332 Wizard: Kotlin/JS projects: cssSupport DSL should be updated
    IDE. KDoc
    • KTIJ-22324 K2 IDE: implement reference resolve inside KDocs
    IDE. Multiplatform
    • KTIJ-19566 New Project Wizard: Update HMPP-related flags in multiplatform wizards
    IDE. Navigation
    • KT-51314 FIR IDE: show Kotlin declarations in search symbol
    • KTIJ-22755 Find usage for constructor from kotlin library doesn't work for secondary constructor usages
    IDE. Script
    • KTIJ-22598 Add warning for standalone scripts in source roots
    • KT-54325 .settings.gradle.kts and .init.gradle.kts are reported as standalone scripts
    IDE. Structural Search
    • KTIJ-21986 KSSR: "CodeFragment with non-kotlin context should have fakeContextForJavaFile set: originalContext = null" warning shows up when replacing
    IDE. Tests Support
    • KT-50269 FIR IDE: Allow running tests via gutter
    IDE. Wizards
    • KTIJ-23537 Wizard: projects with Android modules require higher sdkCompileVersion
    • KTIJ-23525 Wizard: Compose multiplatform: project won't build and require higher compileSdkVersion
    • KTIJ-22763 New Project Wizard: remove deprecated Android extensions plugin from Android target in the project constructor
    • KTIJ-22481 Wizard: Kotlin -> Browser application (gradle groove). Build error
    JavaScript
    Fixes
    • KT-55097 KJS / IR + IC: Using an internal function from a friend module throws an unbound symbol exception
    • KT-54406 Kotlin/JS: build with dependencies fails with "Could not find "kotlin" in [~/.local/share/kotlin/daemon]"
    • KT-53074 Make JS IR BE default in toolchain (gradle & CLI)
    • KT-50589 UTF-8 Instability in kotlin.js.map
    • 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
    • KT-54520 KJS / IR Allow IdSignature clashes
    • KT-54120 JS IR + IC: pointless invalidation of dependent code after modifying companions
    • KT-53986 KJS / IR + IC: compiler produces different JS file names with IC and without IC
    • KT-54010 JS IR + IC: Force IC cache invalidation after updating language version or features
    • KT-53931 KJS / Gradle: Regression with 1.7.20-RC: ReferenceError: println is not defined
    • KT-53968 Kotlin/JS: no UninitializedPropertyAccessException on access to non-initialized lateinit property defined in dependencies
    • 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-54011 JS IR + IC: EnumEntries don't work well when IC is enabled
    • 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-48385 Deprecate confusing grammar in when-with-subject
    • KT-48516 Forbid @Synchronized annotation on suspend functions
    • 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-51334 Implement type-bound label this@Type
    Libraries
    New Features
    • KT-21007 Provide Kotlin OSGI Bundle with extensions for JRE8 (and JRE7)
    • KT-54082 Comparable and subtractible TimeMarks
    • KT-52928 Provide copyToRecursively and deleteRecursively extension functions for java.nio.file.Path
    • 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-54835 Document that Iterable.all(emptyCollection) returns TRUE.
    • KT-54168 Expand on natural order in comparator docs
    • 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-53152 Introduce EnumEntries to stdlib as backing implementation of Enum.entries
    • 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-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-54225 Native: update to Xcode 14.1
    • KT-54164 Native: commonizer fails on CoreFoundation types
    • 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-54629 Incorrectly cached class classifier
    • 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-54210 Update Kotlin specification to mention that since 1.8 generics in value classes are allowed
    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-53683 Unresolved reference compilation error occurs if a file is annotated with @ Singular and has any guava collection type : ImmutableTable, ImmutableList or else
    • KT-53657 [K2] Unresolved reference compilation error occurs if a field is annotated with @ Singular and has type NavigableMap without explicit types specification
    • KT-53647 [K2] Unresolved reference compilation error occurs if a field is annotated with @ Singular and has type Iterable<>
    • KT-53724 Param of the @ Singular lombok annotation ignoreNullCollections=true is ignored by kotlin compiler
    • KT-53451 [K2] References to methods generated by @ With lombok annotation can't be resolved with enabled K2 compiler
    • KT-53721 [K2] There is no compilation error while trying to add null as a param of the field with non-null type
    • KT-53370 Kotlin Lombok compiler plugin can't resolve methods generated for java boolean fields annotated with @ With annotation
    Tools. Compiler plugins. Serialization
    • 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<*>>()
    • KT-55340 Argument for kotlinx.serialization.UseSerializers does not implement KSerializer or does not provide serializer for concrete type
    • KT-55296 Improve exceptions in serialization plugin
    • KT-55180 KJS: regression in serialization for Kotlin 1.8.0-beta
    • KT-53157 Recursion detected in a lazy value under LockBasedStorageManager in kotlinx.serialization
    • KT-54297 Regression in serializable classes with star projections
    • 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
    New Features
    • KT-27301 Expose compiler flags via Gradle lazy properties
    • KT-53357 Change single build metrics property
    • KT-50673 Gradle: KotlinCompile task(s) should use @NormalizeLineEndings
    • KT-34464 Kotlin build report path not clickable in the IDE
    Performance Improvements
    • KT-51525 [Gradle] Optimize evaluating args for compile tasks
    • KT-52520 Remove usage of reflection from CompilerArgumentsGradleInput
    Fixes
    • KT-48843 Add ability to disable Kotlin daemon fallback strategy
    • 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
    • KT-54993 Raise kotlin.jvm.target.validation.mode check default level to error when build is running on Gradle 8+
    • KT-54136 Duplicated classes cause build failure if a dependency to kotlin-stdlib specified in an android project
    • 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-55119 There is no validation for different jvmTarget and targetCompatibility values in multiplatform projects with jvm target and used java sources
    • KT-55102 Compile java task fails with different target version in pure kotlin project
    • KT-54995 [1.8.0-Beta] compileAppleMainKotlinMetadata fails on default parameters with No value passed for parameter 'mustExist'
    • KT-35003 Automatically set targetCompatibility for kotlin-jvm projects to work with gradle 6 metadata
    • KT-45335 kotlinOptions.jvmTarget conflicts with Gradle variants
    • KT-48798 Android: going from one to more than one productFlavor causes inputs of commonSourceSet$kotlin_gradle_plugin property of compileKotlin task to change
    • 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
    • KT-54399 Undeprecate 'kotlinOptions' DSL
    • KT-54306 Change the naming of newly added Compiler*Options classes and interfaces
    • KT-54580 KotlinOptions in AbstractKotlinCompilation class are deprecated
    • KT-54653 java.lang.NoClassDefFoundError: kotlin/jdk7/AutoCloseableKt exception if a dependency to the kotlin-stdlib is added
    • KT-52624 Compatibility with Gradle 7.3 release
    • KT-54703 Stdlib substitution does not work with JPMS modules
    • KT-54602 Prevent leaking Gradle Compile DSL types into compiler cli runtime
    • KT-54439 Project failed to sync Native LaguageSettings to compiler options in afterEvaluate
    • 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-52623 Compatibility with Gradle 7.2. release
    • KT-51831 Gradle: remove kotlin.compiler.execution.strategy system property
    • KT-51679 Change deprecation level to error for KotlinCompile setClasspath/getClasspath methods
    • KT-54335 Kotlin build report configuration. There is no validation for SINGLE_FILE output if the required kotlin.build.report.single_file property is empty or absent
    • KT-54356 Kotlin build report configuration. Wrong path is used for the property kotlin.internal.single.build.metrics.file
    • 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-53830 Versions of kotlin-stdlib-jdk8 and kotlin-stdlib-jdk7 aren't overrided if added as transitive dependencies to kotlin-stdlib
    • 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-52959 KMP code is breaking Gradle project isolation
    • KT-50598 MULTIPLE_KOTLIN_PLUGINS_SPECIFIC_PROJECTS_WARNING is only shown on first build
    • KT-53246 Gradle: Special characters in paths of errors and warnings should be escaped
    • KT-47730 How to avoid stdlib coming from Kotlin gradle plugin
    • 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-52984 Kotlin Gradle plugin is misbehaving by resolving DomainObjectCollection early
    • KT-38622 Non-incremental compilation because of R.jar with Android Gradle plugin 3.6
    • KT-38576 AnalysisResult.RetryWithAdditionalRoots crashes during incremental compilation with java classes in classpath
    Tools. Gradle. Cocoapods
    • KT-54314 Cocoapods: Signing pod dependency for Xcode 14
    • KT-54060 Xcode 14: disable bitcode embedding for Apple frameworks
    • 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
    Tools. Gradle. JS
    • KT-53367 KJS: Migrate cssSupport API
    • KT-45789 KJS / IR: Transitive NPM dependencies are not included in PublicPackageJsonTask output
    • KT-55099 K/JS: Second declaration of JS target without compiler type report warning incorrectly
    • KT-52951 [KGP/JS] Browser test target registration via properties
    • KT-52950 KJS: Report if yarn.lock was updated during built
    • KT-53374 KJS / Gradle: Implement IDEA sync detection logic via ValueSource to improve configuration cache support
    • KT-53381 Kotlin/JS: with erased kotlin-js-store/ and reportNewYarnLock = true the task kotlinUpgradeYarnLock always fails
    • KT-53788 KJS / Gradle: Disable Gradle build cache for KotlinJsDce when development mode is enabled
    • KT-53614 Kotlin/JS upgrade npm dependencies
    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
    Performance Improvements
    • KT-52726 [MPP] Optimize caching/performance/call-sites of 'compilationsBySourceSets'
    Fixes
    • KT-54634 MPP: Test Failure causes: KotlinJvmTest$Executor$execute$1 does not define failure
    • KT-35916 Gradle MPP plugin: Configurations for a main compilation and its default source set have different naming
    • KT-46960 Repeated kotlin/native external libraries in project
    • 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-54090 Take an Apple test device from the device list
    • KT-54301 KotlinToolingVersionOrNull: IllegalArgumentException
    • KT-53256 Implement K/N compiler downloading for KPM
    • KT-45412 KotlinCompilation: Make sure .kotlinSourceSets and .allKotlinSourceSets include the default source set
    • KT-49202 Tests on android target can't be executed in multiplatform project if dependency to kotlin-test framework is provided as a single dependency and tests configured to be executed via Junit5
    Tools. Gradle. Native
    New Features
    • KT-43293 Support Gradle configuration caching with Kotlin/Native
    • KT-53107 Add arm64 support for watchOS targets (Xcode 14)
    Fixes
    • KT-53704 Native cinterop: eager header path calculation
    • KT-54814 Kotlin/Native: Github Actions: Testing watchOSX64 with Xcode 14 — Invalid device: Apple Watch Series 5
    • KT-54627 Native: :commonizeNativeDistribution with configuration cache enabled fails even when set to warn on JDK 17
    • KT-54339 Link tasks fail if Gradle Configuration Cache is enabled
    • KT-53191 Native cinterop sync problem with gradle
    • KT-54583 watchosDeviceArm64 target shouldn't register test tasks
    • KT-52303 Gradle / Native: Build tasks ignore project.buildDir
    • KT-54442 Gradle iOS test tasks fail if a device is not selected explicitly
    • KT-54177 Gradle: Deprecate enableEndorsedLibs flag
    • 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-54144 New IC: "IllegalStateException: The following LookupSymbols are not yet converted to ProgramSymbols" when changing an inline function with custom JvmName
    • KT-53871 New IC: "IllegalStateException: The following LookupSymbols are not yet converted to ProgramSymbols" when changing an inline property accessor
    • KT-19804 Relocatable IC caches
    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
    • KTIJ-921 JPS: FileNotFoundException on project build in mixed Kotlin/Scala project
    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
    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

    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.

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


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

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

    opened by renovate[bot] 0
  • Update plugin org.jetbrains.kotlin.multiplatform to v1.7.22

    Update plugin org.jetbrains.kotlin.multiplatform to v1.7.22

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | org.jetbrains.kotlin.multiplatform (source) | 1.7.21 -> 1.7.22 | age | adoption | passing | confidence |


    Release Notes

    JetBrains/kotlin

    v1.7.22: Kotlin 1.7.22

    This is a technical release. It doesn't contain any fixes that aren't included in Kotlin 1.7.21. Version 1.7.22 of the Kotlin plugin will not be available for downloading or installing in any IDEs.

    Checksums

    | File | Sha256 | | --- | --- | | kotlin-compiler-1.7.22.zip | 9db4b467743c1aea8a21c08e1c286bc2aeb93f14c7ba2037dbd8f48adc357d83 | | kotlin-native-linux-x86_64-1.7.22.tar.gz | dd004d520056aba67f2955a3bec5af75f8f2d78b179d4b5f733a77e3eef57aff | | kotlin-native-macos-x86_64-1.7.22.tar.gz | 153fa411fa8c993ce2635e2504e9b102cb05362cc794b66ef9def26a78b427b5 | | kotlin-native-macos-aarch64-1.7.22.tar.gz | 4ffcd76c77cc824eff8addd5e2a73da4f3bbd3584fa9ef282b3f669c45426b1e | | kotlin-native-windows-x86_64-1.7.22.zip | 3bccd23479848ec61c56ed5760010456d17acbe88a00a1f10fb38eae256f2e92 |


    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.

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


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

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

    opened by renovate[bot] 0
  • Update dependency gradle to v7.6

    Update dependency gradle to v7.6

    Mend Renovate

    This PR contains the following updates:

    | Package | Update | Change | |---|---|---| | gradle (source) | minor | 7.5.1 -> 7.6 |


    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.

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


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

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

    opened by renovate[bot] 0
  • Update plugin io.gitlab.arturbosch.detekt to v1.22.0

    Update plugin io.gitlab.arturbosch.detekt to v1.22.0

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | io.gitlab.arturbosch.detekt (source) | 1.21.0 -> 1.22.0 | age | adoption | passing | confidence |


    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.

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


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

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

    opened by renovate[bot] 0
  • Update dependency com.goncalossilva:resources to v0.2.4

    Update dependency com.goncalossilva:resources to v0.2.4

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | com.goncalossilva:resources | 0.2.2 -> 0.2.4 | age | adoption | passing | confidence |


    Release Notes

    goncalossilva/kotlinx-resources

    v0.2.4

    Added
    • Support for iOS, watchOS, and tvOS simulators.

    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.

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


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

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

    opened by renovate[bot] 0
  • Update plugin org.jetbrains.kotlin.multiplatform to v1.7.21 - autoclosed

    Update plugin org.jetbrains.kotlin.multiplatform to v1.7.21 - autoclosed

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | org.jetbrains.kotlin.multiplatform (source) | 1.6.21 -> 1.7.21 | age | adoption | passing | confidence |


    Release Notes

    JetBrains/kotlin

    v1.7.21

    Compiler
    • 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-54004 Builder type inference does not work correctly with variable assignment and breaks run-time
    • 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-54581 JVM: "VerifyError: Bad type on operand stack" with generic inline function and when inside try-catch block
    • KT-53146 JVM IR: unnecessary checkcast of null leads to NoClassDefFoundError if the type isn't available at runtime
    • KT-54600 NPE on passing nullable Kotlin lambda as Java's generic SAM interface with super type bound
    • KT-54707 "VerifyError: Bad type on operand stack" in inline call chain on a nullable array value
    • KT-54650 Binary incompatible ABI change in Kotlin 1.7.20
    • KT-54802 "VerifyError: Bad type on operand stack" for inline functions on arrays
    Native. Runtime. Memory
    • KT-54498 Deprecation message of 'FreezingIsDeprecated' is not really helpful
    Tools. Gradle. Multiplatform
    • KT-54387 Remove MPP alpha stability warning
    • KT-48436 False positive "The Kotlin source set androidAndroidTestRelease was configured but not added to any Kotlin compilation"
    Tools. JPS
    • KT-45474 False positive NO_ELSE_IN_WHEN on sealed class with incremental compilation

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

    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.

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


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

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

    opened by renovate[bot] 0
  • Update plugin com.goncalossilva.useanybrowser to v0.1.1

    Update plugin com.goncalossilva.useanybrowser to v0.1.1

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | com.goncalossilva.useanybrowser | 0.1.0 -> 0.1.1 | age | adoption | passing | confidence |


    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.

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

    opened by renovate[bot] 0
  • Update plugin io.gitlab.arturbosch.detekt to v1.21.0

    Update plugin io.gitlab.arturbosch.detekt to v1.21.0

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | io.gitlab.arturbosch.detekt (source) | 1.20.0 -> 1.21.0 | age | adoption | passing | confidence |


    Release Notes

    detekt/detekt

    v1.21.0

    We're delighted to announce the next upcoming stable release of Detekt: 1.21.0 🎉 This release is coming with 6 new rules, new API and functionalities and several stability improvements.

    We want to thank you very much our Sponsors for the support in those last months. The work behind Detekt is all happening on a voluntary basis, and we're more than grateful for all the support we get from the Open Source Ecosystem.

    We're also excited to announce that we're now having an Open Source Gradle Enterprise instance. When building the Detekt projects, you'll benefit from the Gradle Remote Cache that this instance is providing!

    Finally, we want to take the opportunity to thank our contributors for testing, bug reporting and helping us release this new version of Detekt. You're more than welcome to join our community on the #detekt channel on KotlinLang's Slack (you can get an invite here).

    Notable Changes
    • We enabled ~30 new rules by default which we believe are now stable enough. - #​4875
    • We added 7 new Rules to Detekt
    • We added support for Markdown reports - #​4858
    • We now allow users and rule authors to specify a reason for every value in the config file - #​4611 - Please note that this feature requires a rule to be extended to support it. If you're a rule author you can start using it right away in your rule. We're looking into using this feature in some first party rule starting from Detekt 1.22.0.
    • We now report as warnings the Strings in the config file that can be converted to be an array - #​4793
    • We added a dependency on ConTester to help us verify concurrency scenarios for Detekt - #​4672
    • For contributors: we restructured our build setup to be use Gradle composite build - #​4751
    Migration

    We fixed a bug related to function with KDocs and how their location in the source code was calculated (see #​4961 and #​4887).

    Because of this, some users might have to recreate their baseline as the location of such functions are not matched anymore against the baseline. You can do so by deleting your old baseline and invoking the detektBaseline task (or the corresponding task, based on your configuration).

    Changelog
    • ReturnCount: Make configuration parameter more explicit - #​5062
    • Remove redundant null check - #​5061
    • Drop redundant Gradle workaround - #​5057
    • Update ktlint links from website to readme - #​5056
    • Improve extensions.doc format with admonitions - #​5055
    • Update docusaurus monorepo to v2.0.0-beta.22 - #​5050
    • Enable strict Kotlin DSL precompiled script plugins accessors generation - #​5048
    • MaxChainedCallsOnSameLine: don't count package references as chained calls - #​5036
    • Xml Report Merger now merges duplicate smells across input report files - #​5033
    • Add ending line and column to Location.kt - #​5032
    • Fix type resolution link in Contributing.md - #​5027
    • #​5014 Fix MaxChainedCallsOnSameLine false positives - #​5020
    • Add endColumn/endLine to SARIF region - #​5011
    • Removed UnnecessaryAbstractClass if it inherits from a abstract class - #​5009
    • Only recommend using index accessors for Java classes that are known collections - #​4994
    • UnusedImports: fix false positive for unresolved imports - #​4882
    • Fix Signatures.kt:buildFunctionSignature - #​4961
    • Loading a specific resource from a module must use class from module - #​5008
    • Update github/codeql-action digest to 3f62b75 - #​5007
    • Show finding at declaration name instead of the whole declaration - #​5003
    • NamedArguments: don't count trailing lambda argument - #​5002
    • Address TextLocation for Wrapping - #​4998
    • Support markdown report in Gradle plugin - #​4995
    • Fix false-negative for CanBeNonNullable - #​4993
    • Give a better error message for --jvm-target - #​4978
    • Fix rule code samples to be valid Kotlin code - #​4969
    • Use plain ASCII output in standard reports - #​4968
    • UnnecessaryApply: fix false negative for assignment - #​4948
    • Support disabling config validation via tooling spec - #​4937
    • UnusedPrivateMember: highlight declaration name - #​4928
    • Provide a priority field for DetektProvider - #​4923
    • CastToNullableType: allow casting null keyword - #​4907
    • Update plugin com.gradle.common-custom-user-data-gradle-plugin to v1.7.2 - #​4897
    • Set strict dependency on tested Kotlin compiler version - #​4822
    • Simplify regular expressions - #​4893
    • Remove redundant character escape in RegExp - #​4892
    • Reformat Markdown files to comply with the spec - #​4891
    • UnnecessaryInnerClass: fix false negative with this references - #​4884
    • UselessCallOnNotNull: fix false positive for unresolved types - #​4880
    • Update MagicNumber rule to exclude .kts files - #​4877
    • CanBeNonNullable: fix false positives for parameterized types - #​4870
    • UnnecessaryInnerClass: fix false positives labeled expression to outer class - #​4865
    • UnnecessaryInnerClass: add test for safe qualified expressions - #​4864
    • Fix a confusing Regex in the Compose webpage - #​4852
    • Fix edit URLs for the website - #​4850
    • detektGenerateConfig adds the configuration of plugins - #​4844
    • Update dependency prism-react-renderer to v1.3.3 - #​4833
    • Search in all versions.properties, not just the first one #​4830 - #​4831
    • Improve exception message - #​4823
    • Fix ValShouldBeVar false positive inside unknown type - #​4820
    • Add a recent conference talk link - #​4819
    • False positive for unused imports #​4815 - #​4818
    • Revert "Display dynamic --jvm-target values when using --help flag (#​4694)" - #​4816
    • UnnecessaryAbstractClass: report only the class name - #​4808
    • Fix wrong replacement suggestion for UnnecessaryFilter - #​4807
    • UseOrEmpty: fix false positive for indexing operator calls with type parameters - #​4804
    • ExplicitCollectionElementAccessMethod: fix false positive for get operators with type parameters - #​4803
    • Add tests for #​4786 - #​4801
    • Add documentation link for rules in html report - #​4799
    • Improve rule documentaion and smell message of NamedArguments - #​4796
    • Improve issue description and smell message of DestructuringDeclarationWithTooManyEntries - #​4795
    • NestedScopeFunctions - Add rule for nested scope functions - #​4788
    • Partially drop redundant usage of "dry run" in Gradle plugin tests - #​4776
    • Allow additionalJavaSourceRootPaths to be defined on @​KotlinCoreEnvironmentTest - #​4771
    • Report KDoc comments that refer to non-public properties of a class - #​4768
    • Self-inspect the detekt-gradle-plugin - #​4765
    • Pass args to DetektInvoker as List<String> - #​4762
    • Cleanup Gradle Plugin Publications - #​4752
    • Break a dependency between detekt-gradle-plugin and detekt-utils - #​4748
    • Remove suspend lambda rule with CoroutineScope receiver due to not de… - #​4747
    • VarCouldBeVal: Add configuration flag ignoreLateinitVar - #​4745
    • UnnecessaryInnerClass: fix false positive with references to function type variables - #​4738
    • Fix false positive on VarCouldBeVal in generic classes - #​4733
    • OutdatedDocumentation: fix false positive with no primary constructor - #​4728
    • Android Gradle: add javac intermediates to classpath - #​4723
    • OptionalWhenBraces: fix false negative when the single statement has comments inside - #​4722
    • Document pre-commit hook for staged files - #​4711
    • Enable rules by default for 1.21 - #​4643
    Dependency Updates
    • Update dependency gradle to v7.5 - #​5074
    • Update plugin binaryCompatibilityValidator to v0.11.0 - #​5069
    • Update dependency org.jetbrains.kotlinx:kotlinx-coroutines-core to v1.6.3 - #​4976
    • Update dependency org.jetbrains.dokka to v1.7.0 - #​4974
    • Update plugin binaryCompatibilityValidator to v0.10.1 - #​4954
    • Update dependency org.jetbrains.kotlinx:kotlinx-coroutines-core to v1.6.2 - #​4868
    • Update dependency com.android.tools.build:gradle to v7.2.1 - #​4861
    • Update plugin binaryCompatibilityValidator to v0.10.0 - #​4837
    • Update dependency io.mockk:mockk to v1.12.4 - #​4829
    • Update dependency com.android.tools.build:gradle to v7.2.0 - #​4824
    • Add dependency-analysis plugin and implement some recommendations - #​4798
    • Add dependency on slf4j-nop to silence warning - #​4775
    • Update plugin dokka to v1.6.21 - #​4770
    • Update org.jetbrains.kotlin to v1.6.21 - #​4737
    • Update dependency com.github.breadmoirai:github-release to v2.3.7 - #​4734
    • Update plugin binaryCompatibilityValidator to v0.9.0 - #​4729
    Housekeeping & Refactorings
    • Fix ComplexMethod debt and refactor code - #​5029
    • Fix ReturnCount debt and refactor code - #​5026
    • Add test for ForbiddenMethodCall with getters - #​5018
    • Measure flakyness on Windows CI - #​4742
    • Declare nested test classes as non-static - #​4894
    • Remove deprecated usages in gradle-plugin test - #​4889
    • Remove reference to contributor list - #​4871
    • Add missing image - #​4834
    • Upgrade to GE enterprise 3.10 - #​4802
    • Fix broken snapshot publishing - #​4783
    • Remove pending Gradle version milestones from comments - #​4777
    • Add more tests for Annotation Suppressor - #​4774
    • fix: add test case that fails if environment is not properly set up - #​4769
    • Disable UnusedImports for the Detekt project - #​4741
    • Remove Unnecesary @​Nested - #​4740
    • Update the argsfile to unblock runWithArgsFile failing locally - #​4718

    See all issues at: 1.21.0


    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.

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

    opened by renovate[bot] 0
  • Update dependency gradle to v7.5.1

    Update dependency gradle to v7.5.1

    Mend Renovate

    This PR contains the following updates:

    | Package | Update | Change | |---|---|---| | gradle (source) | minor | 7.4.2 -> 7.5.1 |


    Release Notes

    gradle/gradle

    v7.5.1

    This is a patch release for 7.5. We recommend using 7.5.1 instead of 7.5

    Read the Release Notes

    We would like to thank the following community members for their contributions to this release of Gradle: Michael Bailey, Josh Kasten, Marcono1234, mataha, Lieven Vaneeckhaute, kiwi-oss, Stefan Neuhaus, George Thomas, Anja Papatola, Björn Kautler, David Burström, Vladimir Sitnikov, Roland Weisleder, Konstantin Gribov, David Op de Beeck, aSemy, Rene Groeschke, Jonathan Leitschuh, Aurimas Liutikas, Jamie Tanna, Xin Wang, Atsuto Yamashita, Taeik Lim, Peter Gafert, Alex Landau, Jerry Wiltse, Tyler Burke, Matthew Haughton, Filip Daca, Simão Gomes Viana, Vaidotas Valuckas, Edgars Jasmans, Tomasz Godzik, Jeff, Lajos Veres

    Upgrade instructions

    Switch your build to use Gradle 7.5.1 by updating your wrapper:

    ./gradlew wrapper --gradle-version=7.5.1

    See the Gradle 7.x upgrade guide to learn about deprecations, breaking changes and other considerations when upgrading.

    Reporting Problems

    If you find a problem with this release, please file a bug on GitHub Issues adhering to our issue guidelines. If you're not sure you're encountering a bug, please use the forum.


    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.

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

    opened by renovate[bot] 0
Releases(v0.4.0)
Owner
Gonçalo Silva
Gonçalo Silva
D-KMP Architecture official sample: it uses a shared KMP ViewModel and Navigation for Compose and SwiftUI apps.

D-KMP architecture - official sample This is the official sample of the D-KMP architecture, presenting a simple master/detail app, for Android, iOS an

null 594 Jan 3, 2023
🍭 GithubSearchKMM - Github Repos Search - Android - iOS - Kotlin Multiplatform Mobile using Jetpack Compose, SwiftUI, FlowRedux, Coroutines Flow, Dagger Hilt, Koin Dependency Injection, shared KMP ViewModel, Clean Architecture

GithubSearchKMM Github Repos Search - Kotlin Multiplatform Mobile using Jetpack Compose, SwiftUI, FlowRedux, Coroutines Flow, Dagger Hilt, Koin Depend

Petrus Nguyễn Thái Học 50 Jan 7, 2023
Kotlin Multiplatform (KMP) library for reading resources in tests

kotlinx-resources Kotlin Multiplatform (KMP) plugin and library that add support for reading resources in tests. The plugin and a library work in tand

Gonçalo Silva 29 Dec 27, 2022
KaMP Kit is to facilitate your evaluation of Kotlin Multiplatform (aka KMP)

KaMP Kit Welcome to the KaMP Kit! About Goal The goal of the KaMP Kit is to facilitate your evaluation of Kotlin Multiplatform (aka KMP). It is a coll

bas 0 Oct 25, 2021
Library to use Kotlin Coroutines from Swift code in KMP apps

KMP-NativeCoroutines A library to use Kotlin Coroutines from Swift code in KMP apps. Flows Kotlin Create an extension property to expose the Flow as a

Rick Clephas 508 Jan 3, 2023
KMP library for string unicode normalization

doistx-normalize Kotlin Multiplatform (KMP) library that adds support for normalization as described by Unicode Standard Annex #15 - Unicode Normaliza

Doist 31 Nov 22, 2022
Kamper - a small KMM/KMP library that provides performance monitoring for your app.

?? Kamper Kamper is a KMP/KMM library that implements a unified way to track application performances. The solution is based on plugin design patterns

S. Mellouk 31 Jun 10, 2022
An tool to help developer to use Retrofit elegantly while using kotlinx.coroutines.

one An tool to help developer to use Retrofit elegantly while using kotlinx.coroutines. Feature Transform different data structs to one. {errorCode, d

ChengTao 30 Dec 27, 2022
Type-safe arguments for JetPack Navigation Compose using Kotlinx.Serialization

Navigation Compose Typed Compile-time type-safe arguments for JetPack Navigation Compose library. Based on KotlinX.Serialization. Major features: Comp

Kiwi.com 32 Jan 4, 2023
Android Parcelable support for the Kotlinx Serialization library.

Android Parcelable support for the Kotlinx Serialization library.

Christopher 50 Nov 20, 2022
Kotlin tooling for generating kotlinx.serialization serializers for serializing a class as a bitmask

kotlinx-serialization-bitmask Kotlin tooling for generating kotlinx.serialization serializers for serializing a class as a bitmask. Example @Serializa

marie 2 May 29, 2022
Android Bundle format support for Kotlinx Serialization.

Bundlizer Android Bundle format support for Kotlinx Serialization. Usage Annotate your data models with @Serializable: import kotlinx.serialization.Se

Ahmed Mourad 69 Nov 9, 2022
Minecraft NBT support for kotlinx.serialization

knbt An implementation of Minecraft's NBT format for kotlinx.serialization. Technical information about NBT can be found here. Using the same version

Ben Woodworth 41 Dec 21, 2022
Automatic CoroutineDispatcher injection and extensions for kotlinx.coroutines

Dispatch Utilities for kotlinx.coroutines which make them type-safe, easier to test, and more expressive. Use the predefined types and factories or de

Rick Busarow 132 Dec 9, 2022
Small Kafka Playground to play around with Test Containers, and KotlinX Coroutines bindings while reading Kafka Definite Guide V2

KafkaPlayground Small playground where I'm playing around with Kafka in Kotlin and the Kafka SDK whilst reading the Kafka book Definite Guide from Con

Simon Vergauwen 34 Dec 30, 2022
CSV and FixedLength Formats for kotlinx-serialization

Module kotlinx-serialization-csv Serialize and deserialize ordered CSV and Fixed Length Format Files with kotlinx-serialization. Source code Docs Inst

Philip Wedemann 12 Dec 16, 2022
KotlinX Serialization Standard Serializers (KS3)

KotlinX Serialization Standard Serializers (KS3) This project aims to provide a set of serializers for common types. ⚠️ Consider this project to be Al

Emil Kantis 3 Nov 5, 2022
A Kotlin Multiplatform Project using TMDB Api. Currently supports Android,iOS,Desktop and web platforms

A Kotlin Multiplatform Project using TMDB Api(https://www.themoviedb.org/). Currently this project is implemented in following platforms Andr

Jackson E J 11 Nov 10, 2022
Unsplash application for Android, Desktop and Web. Built using Kotlin Multiplatform and Compose

Unsplash Unsplash application for Android, Desktop and Web. Built using Kotlin Multiplatform and Compose with ❤️ ?? Presentation Set up the environmen

Carlos Mota 15 Nov 11, 2022