SMAPI 3.12.0 is now available! Here are the main highlights.
Harmony lets SMAPI and many mods intercept or rewrite game code directly.
SMAPI 3.12.0 updates Harmony from version 220.127.116.11 to 2.1.0. That's a huge change, and it adds a lot of benefits for Stardew Valley mods: new features like finalizers and reverse patches, new utilities, support for the latest .NET versions, improved validation, better support for both Android and Linux/macOS, and more.
The migration has been in development for over a year to ensure a smooth transition, with changes to both SMAPI and Harmony itself. SMAPI will automatically rewrite Harmony 1.x mods for compatibility, so nearly all Harmony mods should continue working as-is. A few mods may need to be updated; I've already notified most of the affected authors.
See migrate to Harmony 2.0 for more info!
SMAPI now shows user-friendly errors for more cases, like having the wrong SMAPI bitness installed (e.g. 64-bit SMAPI with a 32-bit game) or some SMAPI files not being updated correctly.
It also intercepts 'key not found' exceptions and adds the key to the error message, which makes troubleshooting much easier for mod authors.
More save recovery
SMAPI now recovers your save if a mod left null objects in the world, which would normally break the save file.
Better Unicode support in the SMAPI console
SMAPI 3.12 adds full Unicode support in the console window, so you can send any character to console commands.
Other improvements and fixes
See the release notes for a full list!