V1.3.60 changelog (#3391)

This commit is contained in:
Nikolay Igotti
2019-09-28 09:53:20 +03:00
committed by GitHub
parent e40ac063c8
commit e85f586c5b
3 changed files with 41 additions and 26 deletions
+26
View File
@@ -1,3 +1,26 @@
# v1.3.60 (Oct 2019)
* Support XCode 11
* Switch to LLVM 8.0
* New compiler targets:
* watchOS targets, watchos_x86 and watchos_arm32 (GH-3323, GH-3344)
* tvOS targets tvos_x64 and tvos_arm64 (GH-3303, GH-3363)
* native Android targets android_x86 and android_x64 (GH-3306, GH-3314)
* Standard CLI library kotlinx.cli is shipped with the compiler distribution (GH-3125)
* Improved debug information for inline functions (KT-28929, GH-3292)
* Improved runtime performance of interface calls, up to 5x faster (GH-????)
* Improved runtime performance of type checks, up to 50x faster (GH-3291)
* Produce native binaries directly from klibs, speeds up large project compilation (GH-3246)
* Supported arbitrary (up to 255 inclusive) function arity (GH-3253)
* Supported callable references to suspend functions (GH-3197)
* Implemented experimental -Xg0 switch, symbolication of release binaries for iOS (GH-3233, GH-3367)
* Interop:
* Allow passing untyped null as variadic function's parameter (GH-3312, KT-33525)
* Standard library:
* Allow scheduling jobs in arbitrary K/N context, not only Worker (GH-3316)
* Important bug fixes:
* Boxed negative values can lead to crashes on ios_arm64 (GH-3296)
* Implemented thread-safe tracking of Objective-C references to Kotlin objects (GH-3267)
# v1.3.50 (Aug 2019)
* Kotlin/Native versioning now aligned with Kotlin versioning
* Exhaustive platform libraries on macOS (GH-3141)
@@ -11,12 +34,15 @@
* Ensure produced Objective-C header does not have warnings (GH-3101)
* Speed up interop stub generator (GH-3082, GH-3050)
* getOriginalKotlinClass() to get KClass for Kotlin classes in Objective-C (GH-3036)
* Supported nullable primitive types in reverse C interop (GH-3198)
* Standard library
* API for delayed job execution on worker (GH-2971)
* API for running via worker's job queue (GH-3078)
* MonoClock and Duration support (GH-3028)
* Support typeOf (KT-29917, KT-28625)
* New zero-terminated utf8 to String conversion API (GH-3116)
* Optimize StringBuilder for certain cases (GH-3202)
* Implemented Array.fill API (GH-3244)
# v1.3.0 (Jun 2019)
* CoreLocation platform library on macOS (GH-3041)
+1 -1
View File
@@ -12,7 +12,7 @@ without the need to ship an additional execution runtime.
Prerequisites:
* install JDK for your platform, instead of JRE. The build requires ```tools.jar```, which is not included in JRE;
* on macOS install Xcode 10.2
* on macOS install Xcode 11
* on Fedora 26+ ```yum install ncurses-compat-libs``` may be needed
* on recent Ubuntu ```apt install libncurses5``` is needed
+14 -25
View File
@@ -16,12 +16,12 @@ that doesn't require an additional execution runtime.
The _Kotlin/Native_ compiler produces mostly portable (modulo pointer size and target
triplet) LLVM bitcode, and as such can easily support any platform, as long as there's an LLVM
code generator for the platform.
However, as actualy producing native code requires a platform linker and some
However, as actually producing native code requires a platform linker and some
basic runtime shipped along with the translator, we only support a subset of all possible
target platforms. Currently _Kotlin/Native_ is being shipped and tested with support for
the following platforms:
* Mac OS X 10.11 and later (x86-64), host and target (`-target macos_x64`, default on macOS hosts)
* Mac OS X 11 and later (x86-64), host and target (`-target macos_x64`, default on macOS hosts)
* Ubuntu Linux x86-64 (14.04, 16.04 and later), other Linux flavours may work as well, host and target
(`-target linux_x64`, default on Linux hosts, hosted on Linux, Windows and macOS).
* Microsoft Windows x86-64 (tested on Windows 7 and Windows 10), host and target (`-target mingw_x64`,
@@ -30,12 +30,17 @@ the following platforms:
Experimental support is available on Linux and macOS hosts (requires Wine).
* Apple iOS (armv7 and arm64 devices, x86 simulator), cross-compiled target
(`-target ios_arm32|ios_arm64|ios_x64`), hosted on macOS.
* Apple tvOS (arm64 devices, x86 simulator), cross-compiled target
(`-target tvos_arm64|tvos_x64`), hosted on macOS.
* Apple watchOS (arm32/arm64 devices, x86 simulator), cross-compiled target
(`-target watchos_arm32|watchos_arm64|watchos_x86`), hosted on macOS.
* Linux arm32 hardfp, Raspberry Pi, cross-compiled target (`-target raspberrypi`), hosted on Linux, Windows and macOS
* Linux MIPS big endian, cross-compiled target (`-target mips`), hosted on Linux.
* Linux MIPS little endian, cross-compiled target (`-target mipsel`), hosted on Linux.
* Android arm32 and arm64 (`-target android_arm32|android_arm64`) target, hosted on Linux, macOS and Windows
(only `android_arm32` at the moment).
* WebAssembly (`-target wasm32`) target, hosted on Linux, Windows or macOS.
* Android x86 (32 and 64 bit), arm32 and arm64 (`-target android_x86|android_x64|android_arm32|android_arm64`) targets,
hosted on Linux, macOS and Windows.
* WebAssembly (`-target wasm32`) target, hosted on Linux, Windows or macOS. Webassembly support is experimental
and could be discontinued in further releases.
* Experimental support for Zephyr RTOS (`-target zephyr_stm32f4_disco`) is available on macOS, Linux
and Windows hosts.
@@ -45,10 +50,10 @@ the following platforms:
## Compatibility and features ##
To run _Kotlin/Native_ compiler JDK 8 or Java 9 or Java 10 (JDK) for the host platform has to be installed.
To run _Kotlin/Native_ compiler JDK 8 or later (JDK) for the host platform has to be installed.
Produced programs are fully self-sufficient and do not need JVM or other runtime.
On macOS it also requires Xcode 9.4.1 or newer to be installed.
On macOS it also requires Xcode 11.0 or newer to be installed.
The language and library version supported by this EAP release match Kotlin 1.3.
However, there are certain limitations, see section [Known Limitations](#limitations).
@@ -103,22 +108,6 @@ be targets.
### Debugging ###
_Kotlin/Native_ supports preliminary source-level debugging on produced executables with `lldb` debugger.
_Kotlin/Native_ supports source-level debugging on produced executables with `lldb` debugger.
Produce your binary with debugging information by specifying `-g` _Kotlin/Native_ compiler switch.
Konan plugin accepts `enableDebug` project's property, allowing two ways of producing binaries with the debug
information:
- Gradle DSL
- argument `-PenableDebug=true` in Gradle command line
Start your application with
lldb my_program.kexe
and then
command script import tools/konan_lldb.py
b kfun:main()
to set breakpoint in main function of your application. Single stepping and step into shall work,
variable inspection may have issues.
See [`DEBUGGING.md`](https://github.com/JetBrains/kotlin-native/blob/master/DEBUGGING.md).
See [`DEBUGGING.md`](https://github.com/JetBrains/kotlin-native/blob/master/DEBUGGING.md) for further information.