MOE 1.10.0 released

I’m happy to announce a new MOE release with lots of changes!

First of all as a note, noisyfox is currently not actively working on MOE, so for the time being I took over as the main maintainer.

Breaking Changes

  • Need to refresh the xcode project settings through Inject/Refresh Xcode Project Settings option in Android Studio/Intellij, or with the moeUpdateXcodeSettings gradle task.
  • armv7 support has been dropped and min deployment target is now iOS 11
  • Proguard configurations for java serialization support is now opt-in. You can enable it with moe.proguard.serializationSupport = true
  • The AVFoundation framework has been split up to AVFAudio and AVFoundation. Imports may need to be adjusted.
  • Some structs have been moved to the CoreFoundation framework. Imports may need to be adjusted. Libraries should be unaffected, since packages will be automatically rewritten.

SDK Changes

  • Bindings have been updated to iOS 17.2
  • Nullability information is now added to bindings through the jetbrains annotation @Nullable and @NotNull
  • Deprecation notes have been improved. More classes and methods are now marked deprecated. The comments will now state too, since which iOS version
  • Macros will now generate java constants of appropriate type
  • Backported java.lang.ThreadLocal#withInitial and java.util.concurrent.CompletableFuture

Gradle Changes

  • Added support for Linux for remote building
  • Fixed some issues with backporting
  • Improved file transfer speed and M1 support for remote build

IntelliJ changes

  • Improved JDK detection
  • Fixed compatibility with newer IJ versions

Build Changes

  • Fixed an issue, where App Store would report multiple executable segments as warning
  • Fixed an rare race with WeakReference, that could lead to a segfault
  • java.io.tmpdir is now set correctly and all JRE code that relies on it will now function properly.

Misc

A new libGDX MOE backend version 1.12.1 has been released, that is compatible with MOE 1.10.0

Install / Upgrade

Simply change your build script to use the new plugin and SDK:

buildscript {
    dependencies {
        classpath group: 'org.multi-os-engine', name: 'moe-gradle', version: ‘1.10.0’
    } 
}

Don’t forget to refresh the xcode project settings through Inject/Refresh Xcode Project Settings option in Android Studio/Intellij, or with the moeUpdateXcodeSettings gradle task.

Known issues

Contributors

Special thank to @yura for helping out with the IntelliJ plugin fixes

3 Likes

I did next updates: MOE 1.10.0, MOE plugin 1.5.3, Android studio 2024.1.2, Gradle 8.3, AGP 8.2.2, Java 17. No issues for now.