J2ObjC Changelog

What's new in J2ObjC 2.8

Mar 12, 2024
  • iOS Support:
  • J2ObjC frameworks now support Apple Silicon (macOS ARM64).
  • Translator:
  • @Weak and @WeakOuter annotations are translated as zeroing weak references (requires -fobjc-arc or -fobjc-weak flag).
  • Retain/autoreleases parameters and local variables returned by lambdas and anonymous class methods.
  • Libraries:
  • Flogger call site injection implemented.
  • Guava updated to 30.1, added failureaccess-1.0.1.jar dependency.
  • JUnit updated to 4.13.
  • Protobuf runtime updated to optionally support ARC.
  • Protobuf enum constants no longer inlined, to support Swift importing.
  • Notes:
  • Starting with 2.7, the release distribution has been split into two zip files, with the frameworks directory in the j2objc-2.8-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.

New in J2ObjC 2.7 (Sep 20, 2020)

  • 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 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.

New in J2ObjC 1.3.1 (Apr 26, 2017)

  • Fixes:
  • Issue #828 fix for missing casts for some parameterized type variables, and
  • The j2objc-annotations.jar Maven version number was updated to 1.3.