J2ObjC v2.5 Release Notes

Release Date: 2019-07-15 // 4 months ago
  • 🚀 A new release of J2ObjC is available, 2.5. This is an update to 2.4 with bug fixes and the following changes:

    Translator

    • The flag -external-annotation-file allows to provide the most common J2ObjC annotations in a separate file. This feature is useful when you only need to add J2ObjC annotations to transpile an existing library (e.g. adding @WeakOuter to break retain cycles). We are using it to transpile our JRE: j2objc.jaif
    • The flag --reserved-names helps to extend the data already present in reserved_names.txt

    Java Runtime Emulation

    • java.text.BreakIterator was added. Keep in mind that it requires the jre_icu library which will impact the size of your application.
    • ⚡️ ICU resources were updated to version 60b.

    Other

    • ⚡️ Updated bundled Mockito to version 2.23.4.
    • ⚡️ Updated the protocol buffers dependency to 3.7.1.

    ✅ Thanks for all the bug reports, especially those with tests and/or patches -- we're a small team, and appreciate the help!


Previous changes from v2.4

  • 🚀 A new release of J2ObjC is available, 2.4. This is an update to 2.3 with the following changes:

    Translator

    👍 Experimental support of new Java language features:

    • Effectively final variables in try-with-resources.
    • Diamond Operator for Anonymous Inner Classes.
    • Private methods in interfaces.
    • Local-variable type inference.

    ✅ You can test this new functionality by running the translator with Java 11.

    JAVA_HOME=`/usr/libexec/java_home -v 11` path/to/j2objc path/to/java_file
    

    🏗 If you build your own distribution and want to support these features, please check scripts/build_distribution.sh for more details.

    Java Runtime Emulation

    • CompletableFuture was added.

    Other

    • ⚡️ Updated bundled Mockito to version 1.10.19.
    • Bundled @WeakOuter can be used also as a type annotation. This allows you to apply the annotation to anonymous classes.

    ✅ Thanks for all the bug reports, especially those with tests and/or patches -- we're a small team, and appreciate the help!