From e85f586c5b2a843bd9ae5d97aa4198317db429b3 Mon Sep 17 00:00:00 2001 From: Nikolay Igotti Date: Sat, 28 Sep 2019 09:53:20 +0300 Subject: [PATCH] V1.3.60 changelog (#3391) --- CHANGELOG.md | 26 ++++++++++++++++++++++++++ README.md | 2 +- RELEASE_NOTES.md | 39 ++++++++++++++------------------------- 3 files changed, 41 insertions(+), 26 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 987aa88b001..692eb57811d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -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) diff --git a/README.md b/README.md index ffe0d53f1c8..db8da97cdee 100644 --- a/README.md +++ b/README.md @@ -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 diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 7fa3209ee41..43eaf5222d3 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -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.