J2ObjC v2.7 Release Notes

Release Date: 2020-09-18 // 6 months ago
  • ๐Ÿš€ A new release of J2ObjC is available, 2.7. This is an update to 2.6 with bug fixes and the following changes:

    JRE Runtime Emulation

    • โšก๏ธ Sources updated to Android 10, full Java 8 API.
    • ๐Ÿ†• New packages:
      • java.nio.file
      • java.nio.file.attribute
      • java.nio.file.spi
      • javax.sql

    Translator

    • ๐Ÿ†• New memory model annotations, to avoid dangling pointers in generated code:
      • ZeroingWeak: generates a __weak annotation with ARC, WeakReference<T> with reference-counting.
      • OnDealloc: annotates a method to be called from the dealloc Objective C method.

    Other

    • ๐Ÿš€ The release distribution has been split into two zip files, with the frameworks directory in the j2objc-2.7-frameworks.zip file. This was necessary to work around GitHub release maximum sizes. Unzipping both zip files from the same directory creates the full distribution, and is only necessary if your iOS project uses J2ObjC frameworks.

    โœ… 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.5

  • ๐Ÿš€ 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!