A new release of J2ObjC is available, 2.8. This is an update to 2.7 with bug fixes and the following changes:
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 thej2objc-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.
Thanks for all the bug reports, especially those with tests and/or patches -- we're a small team, and appreciate the help!