diff --git a/CHANGELOG.md b/CHANGELOG.md index 531d3046059..241325e4044 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,17 @@ +## v0.4 (Nov 2017) ## + * 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 + ## v0.3.4 (Oct 2017) ## * Intermediate release diff --git a/DEBUGGING.md b/DEBUGGING.md index 17dcdb8fe12..05eb5bc7ca6 100644 --- a/DEBUGGING.md +++ b/DEBUGGING.md @@ -226,8 +226,9 @@ Process 80496 launched: './program.kexe' (x86_64) ### Known issues -- stepping in imported inline functions -- inspection is not implemented for (val) variables. +- stepping in imported inline functions does not work +- sometimes single stepping works incorrectly in other scenarious +- variable inspections may not work properly _Note:_ Support DWARF 2 specification means that debugger tool recognize Kotlin as C89, because till DWARF 5 specification, there is no identifier for Kotlin language type in specification. diff --git a/DISTRO_README.md b/DISTRO_README.md index 35cc55f1a61..54e416e7677 100644 --- a/DISTRO_README.md +++ b/DISTRO_README.md @@ -10,16 +10,19 @@ without need to ship an additional execution runtime. To get started with _Kotlin/Native_ take a look at the attached samples. + * `androidNativeActivity` - Android Native Activity rendering 3D graphics using OpenGLES * `csvparser` - simple CSV file parser and analyzer - * `gitchurn` - program interoperating with `libgit2` for GIT repository analysis * `libcurl` - using of FTP/HTTP/HTTPS client library `libcurl` * `nonBlockingEchoServer` - multi-client TCP/IP echo server using co-routines + * `gitchurn` - program interoperating with `libgit2` for GIT repository analysis + * `objc` - AppKit Objective-C interoperability example for OSX * `opengl` - OpenGL/GLUT teapot example * `socket` - TCP/IP echo server * `tensorflow` - simple client for TensorFlow Machine Intelligence library * `tetris` - Tetris game implementation (using SDL2 for rendering) + * `uikit` - UIKit Objective-C interoperability example for iOS * `win32` - trivial Win32 application - * `androidNativeActivity` - Android Native Activity rendering 3D graphics using GLES2 + See `README.md` in each sample directory for more information and build instructions. diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 9a61f796a6c..ccaf9e3e22d 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -20,11 +20,15 @@ basic runtime shipped along with the translator, we only support a subset of all 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 + * Mac OS X 10.11 and later (x86-64), host and target (`-target macbook`, default on OSX hosts) * Ubuntu Linux x86-64 (14.04, 16.04 and later), other Linux flavours may work as well, host and target - * Microsoft Windows x86-64 (tested on Windows 7 and Windows 10), host and target - * Apple iOS (arm64), cross-compiled on MacOS X host (`-target iphone`), target, hosted on OS X - * Raspberry Pi, cross-compiled on Linux host (`-target raspberrypi`), target, hosted on Linux + (`-target linux`, default on Linux hosts) + * Microsoft Windows x86-64 (tested on Windows 7 and Windows 10), host and target (`-target mingw`, + default on Windows hosts) + * Apple iOS (arm64), cross-compiled target (`-target iphone`), hosted on OS X + * Linux arm32 hardfp, Raspberry Pi, cross-compiled target (`-target raspberrypi`), hosted on Linux + * 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` and `-target android_arm64`), target, hosted on Linux or OS X Adding support for other target platforms shouldn't be too hard, if LLVM support is available. @@ -34,15 +38,15 @@ the following platforms: To run _Kotlin/Native_ JDK8 for the host platform has to be installed. Note that Java 9 not yet supported. -The language and library version supported by this EAP release mostly match Kotlin 1.1.4. +The language and library version supported by this EAP release mostly match Kotlin 1.2. However, there are certain limitations, see section [Known Limitations](#limitations). Currently _Kotlin/Native_ uses reference counting based memory management scheme with a cycle collection algorithm. Multiple threads could be used, but objects must be explicitly transferred between threads, and same object couldn't be accessed by two threads concurrently. -_Kotlin/Native_ provides efficient interoperability with libraries written in C, and supports -automatic generation of Kotlin bindings from a C header file. +_Kotlin/Native_ provides efficient interoperability with libraries written in C or Objective-C, and supports +automatic generation of Kotlin bindings from a C/Objective-C header file. See the samples coming with the distribution. ## Getting Started ## @@ -75,7 +79,7 @@ call similar APIs from the POSIX library, see this [`sample`](https://github.com ### Reflection ### -Full reflection and class object references are not implemented. +Full reflection is not implemented, but class can be referenced and its name could be retrieved. Notice that property delegation (including lazy properties) *does* work. ### Microsoft Windows support ### @@ -100,5 +104,5 @@ Notice that property delegation (including lazy properties) *does* work. b kfun:main(kotlin.Array) to set breakpoint in main function of your application. Single stepping and step into shall work, -variable inspection partially works (not on val's, var's only). +variable inspection may have issues. See [`DEBUGGING.md`](https://github.com/JetBrains/kotlin-native/blob/master/DEBUGGING.md) \ No newline at end of file