jtransc v0.6.0 Release Notes

Release Date: 2017-05-20 // over 4 years ago
  • 0.6.0

    ๐Ÿ†• New features

    • @intrigus: C++ target with GC continuing the work on @dsp-omen that created the initial c++ target
    • โœ… AS3 target (BigTest passes)
    • โœ… Dart target (BigTest passes)
    • Prevent generating runtime invisible annotations
    • โž• Added com.jtransc.io.async package to handle asynchronous I/O
    • ๐Ÿ‘Œ Improved com.jtransc.js.JsDynamic

    ๐Ÿ”„ Changes

    • โ™ป๏ธ Some refactorings at CommonGenerator
    • ๐Ÿ‘ @JTranscNativeName now supports a target field to have a class has different types on different targets

    ๐Ÿ›  Fixes

    • ๐Ÿ›  @SergeyLabutin - Static initialization fixes
    • @SergeyLabutin - Some thread work on Haxe/CPP
    • ๐Ÿ– Handle template references inside @JTranscCallSiteBody

    Implemented features

    Optimizations

    • ๐Ÿ‘ Better output quality (less casts), still left
    • Lightly improved compile time
    • ๐Ÿ‘Œ Improved StringBuilder runtime in all targets
    • ๐Ÿ‘Œ Improved slightly performance on all targets (simplifying Object construction)
    • D put strings at compile-time since Object construction no longer require runtime
    • C# implemented genStmSetArrayLiterals reducing output size and startup time
    • ๐ŸŽ Rework on Haxe arrays and casts specially in C++ for a major performance boost
    • ๐ŸŽ Implemented Haxe-C++ goto hack for even better performance on loops

    ๐Ÿ—„ Deprecations

    • ๐Ÿšš Array casts are now deprecated and removed, because that requirement was slowing down some implementations. In the future we will explore other options. For now, please use Mem/FastMemory* classes.
    • ๐Ÿ—„ Deprecated {% FIELD %} and {% METHOD %} (replaces to NAME) in favour of {% IFIELD %} and {% IMETHOD %} (replaces to .NAME or ['NAME'] in JS just when required and works with minification)
    • ๐Ÿ—„ Deprecated @JTranscNativeClass that was redundant due to @JTranscNativeName.