← [README](README.md)
# Release notes
## Upcoming release
* For players:
* Updated for the 'Force Off' gamepad mode added in Stardew Valley 1.4.0.1.
* Fixed compatibility issue with Arch Linux.
* Internal optimizations.
* For modders:
* Added asset propagation for grass textures.
* `helper.Read/WriteSaveData` can now be used while a save is being loaded (e.g. within a `Specialized.LoadStageChanged` event).
* For the web UI:
* If a JSON validator upload can't be saved to Pastebin (e.g. due to rate limits), it's now uploaded to Amazon S3 instead. Files uploaded to S3 expire after one month.
* Updated the JSON validator for Content Patcher 1.10.0.
* Fixed JSON validator no longer letting you change format when viewing results.
## 3.0.1
Released 02 December 2019 for Stardew Valley 1.4.0.1.
* For players:
* Updated for Stardew Valley 1.4.0.1.
* Improved compatibility with some Linux terminals (thanks to archification and DanielHeath!).
* Updated translations. Thanks to berkayylmao (added Turkish), feathershine (added Chinese), and Osiris901 (added Russian)!
* For the web UI:
* Rebuilt web infrastructure to handle higher traffic.
* If a log can't be uploaded to Pastebin (e.g. due to rate limits), it's now uploaded to Amazon S3 instead. Logs uploaded to S3 expire after one month.
* Fixed JSON validator not letting you drag & drop a file.
* For modders:
* `SemanticVersion` now supports [semver 2.0](https://semver.org/) build metadata.
## 3.0
Released 26 November 2019 for Stardew Valley 1.4.
### Release highlights
For players:
* **Updated for Stardew Valley 1.4.**
SMAPI 3.0 adds compatibility with the latest game version, and improves mod APIs for changes in
the game code.
* **Improved performance.**
SMAPI should have less impact on game performance and startup time for some players.
* **Automatic save fixing and more error recovery.**
SMAPI now detects and prevents more crashes due to game/mod bugs, and automatically fixes your
save if you remove some custom-content mods.
* **Improved mod scanning.**
SMAPI now supports some non-standard mod structures automatically, improves compatibility with
the Vortex mod manager, and improves various error/skip messages related to mod loading.
* **Overhauled update checks.**
SMAPI update checks are now handled entirely on the web server and support community-defined
version mappings. In particular, false update alerts due to author mistakes can now be solved by
the community for all players.
* **Fixed many bugs and edge cases.**
For modders:
* **New event system.**
SMAPI 3.0 removes the deprecated static events in favor of the new `helper.Events` API. The event
engine is rewritten to make events more efficient, add events that weren't possible before, make
existing events more useful, and make event usage and behavior more consistent. When a mod makes
changes in an event handler, those changes are now also reflected in the next event raise.
* **Improved mod build package.**
The [mod build package](https://www.nuget.org/packages/Pathoschild.Stardew.ModBuildConfig) now
includes the `assets` folder by default if present, supports the new `.csproj` project format,
enables mod `.pdb` files automatically (to provide line numbers in error messages), adds optional
Harmony support, and fixes some bugs and edge cases. This also adds compatibility with SMAPI 3.0
and Stardew Valley 1.4, and drops support for older versions.
* **Mods loaded earlier.**
SMAPI now loads mods much earlier, before the game is initialised. That lets mods do things that
were difficult before, like intercepting some core assets.
* **Improved Android support.**
SMAPI now automatically detects when it's running on Android, and updates `Constants.TargetPlatform`
so mods can adjust their logic if needed. The Save Backup mod is also now Android-compatible.
* **Improved asset propagation.**
SMAPI now automatically propagates asset changes for farm animal data, NPC default location data,
critter textures, and `DayTimeMoneyBox` buttons. Every loaded texture now also has a `Name` field
so mods can check which asset a texture was loaded for.
* **Breaking changes:**
See _[migrate to SMAPI 3.0](https://stardewvalleywiki.com/Modding:Migrate_to_SMAPI_3.0)_ and
_[migrate to Stardew Valley 1.4](https://stardewvalleywiki.com/Modding:Migrate_to_Stardew_Valley_1.4)_
for more info.
### For players
* Changes:
* Updated for Stardew Valley 1.4.
* Improved performance.
* Reworked update checks and added community-defined version mapping, to reduce false update alerts due to author mistakes.
* SMAPI now removes invalid locations/NPCs when loading a save to prevent crashes. A warning is shown in-game when this happens.
* Added update checks for CurseForge mods.
* Added support for editing console colors via `smapi-internal/config.json` (for players with unusual consoles).
* Added support for setting SMAPI CLI arguments as environment variables for Linux/macOS compatibility.
* Improved mod scanning:
* Now ignores metadata files/folders (like `__MACOSX` and `__folder_managed_by_vortex`) and content files (like `.txt` or `.png`), which avoids missing-manifest errors in some cases.
* Now detects XNB mods more accurately, and consolidates multi-folder XNB mods in logged messages.
* Improved launch script compatibility on Linux (thanks to kurumushi and toastal!).
* Made error messages more user-friendly in some cases.
* Save Backup now works in the background, to avoid affecting startup time for players with a large number of saves.
* The installer now recognises custom game paths stored in [`stardewvalley.targets`](http://smapi.io/package/custom-game-path).
* Duplicate-mod errors now show the mod version in each folder.
* Update checks are now faster in some cases.
* Updated mod compatibility list.
* Updated SMAPI/game version map.
* Updated translations. Thanks to eren-kemer (added German)!
* Fixes:
* Fixed some assets not updated when you switch language to English.
* Fixed lag in some cases due to incorrect asset caching when playing in non-English.
* Fixed lag when a mod invalidates many NPC portraits/sprites at once.
* Fixed Console Commands not including upgraded tools in item commands.
* Fixed Console Commands' item commands failing if a mod adds invalid item data.
* Fixed Save Backup not pruning old backups if they're uncompressed.
* Fixed issues when a farmhand reconnects before the game notices they're disconnected.
* Fixed 'received message' logs shown in non-developer mode.
* Fixed various error messages and inconsistent spelling.
* Fixed update-check error if a Nexus mod is marked as adult content.
* Fixed update-check error if the Chucklefish page for an update key doesn't exist.
### For the web UI
* Mod compatibility list:
* Added support for CurseFo