This repository has been archived by the owner on Aug 10, 2021. It is now read-only.
Releases: JetBrains/kotlin-native
Releases · JetBrains/kotlin-native
v0.8.2
v0.8.1
v0.8
- Singleton objects are frozen after creation, and shared between threads
- String and primitives types are frozen by default
- Common stdlib with Kotlin/JVM and Kotlin/JS
- Implemented
kotlin.random.*
andCollection.shuffle
- Implemented atomic integers and atomic references
- Multiple bugfixes in compiler (coroutines, inliner)
- Support 32-bit iOS (target
ios_arm32
) - New experimental Gradle plugin
- Support XCode 9.4.1
- Optimizations (switch by enum, memory management)
v0.7.1
- Bugfixes in the runtime (indexOf, GC for kotlin.Array, enum equality) and the compiler
- Fix NSBlock problem, preventing upload of binaries to the AppStore
- Create primitive type boxes and kotlin.String as frozen by default
- Support Gradle 4.7, provide separate run task for each executable
- Support XCode 9.4 and CoreML and ClassKit frameworks on Apple platforms
- Improved runtime Kotlin variable examination
- Minor performance optimizations in compiled code and runtime
- Add
disableDesignatedInitializerChecks
definition file support
v0.7
- Interop with Objective-C/Swift changes:
- Uniform direct and reverse interops (values could be passed in both directions now)
- Interop by exceptions
- Type conversion and checks (
as
,is
) for interop types - Seamless interop on numbers, strings, lists, maps and sets
- Better interop on constructors and initializers
- Switched to Xcode 9.3 on Apple platforms
- Introduced object freezing API, frozen object could be used from multiple threads
- Kotlin enums are frozen by default
- Switch to Gradle 4.6
- Use Gradle native dependency model, allowing to use
.klib
as Maven artifacts - Introduced typed arrays API
- Introduced weak references API
- Activated global devirtualization analysis
- Performance improvements (box caching, bridge inlining, others)
- Static library generation
v0.6.2
v0.6.1
- Various bugfixes
- Support total ordering in FP comparisons
- Interop generates string constants from string macrodefinitions
- STM32 blinky demo in pure Kotlin/Native
- Top level variables initialization redesign (proper dependency order)
- Support kotlin.math on WebAssembly targets
- Support embedded targets on Windows hosts
v0.6
- Support multiplatform projects (expect/actual) in compiler and Gradle plugin
- Support first embedded target (STM32 board)
- Support Kotlin 1.2.20
- Support Java 9
- Support Gradle 4.5
- Transparent Objective-C/Kotlin container classes interoperability
- Produce optimized WebAssembly binaries (10x smaller than it used to be)
- Improved APIs for object transfer between threads and workers
- Allow exporting top level C function in reverse interop with @cname annotation
- Supported debugging of code with inline functions
- Multiple bugfixes and performance optimizations
v0.5
- Reverse interop allowing to call Kotlin/Native code compiled as framework from Objective-C/Swift programs
- Reverse interop allowing to call Kotlin/Native code compiled as shared object from C/C++ programs
- Support generation of shared objects and DLLs by the compiler
- Migration to LLVM 5.0
- Support WebAssembly target on Linux and Windows hosts
- Make string conversions more robust
- Support kotlin.math package
- Refine workers and string conversion APIs
v0.4
- Objective-C frameworks interop for iOS and OSX targets
- Platform API libraries for Linux, iOS, OSX and Windows
- Kotlin 1.2 supported
val
and function parameters can be inspected in debugger- Experimental support for WebAssembly (wasm32 target)
- Linux MIPS support (little and big endian, mips and mipsel targets)
- Gradle plugin DSL fully reworked
- Support for unit testing annotations and automatic test runner generation
- Final executable size reduced
- Various interop improvements (forward declaration, better handling of unsupported types)
- Workers object subgraph transfer checks implemented
- Optimized low level memory management using more efficient cycle tracing algorithm