This is an old release. You should use the latest version instead!
SMAPI 3.1 mainly improves performance and fixes bugs for players, adds a ChestInventoryChanged event and new asset propagation for modders, and includes various smaller improvements. See the release highlights.
Requires Stardew Valley 1.4.1 or later on Linux/Mac/Windows.
3.0.1
This is an old release. You should use the latest version instead!
SMAPI 3.0 is a major update that adds compatibility with Stardew Valley 1.4, and includes many improvements for both players and modders.
SMAPI 3.0.1 mainly fixes compatibility with Stardew Valley 1.4.0.1.
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 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.
Removed the experimental RewriteInParallel option added in SMAPI 3.6 (it was already disabled by default). Unfortunately this caused intermittent unpredictable errors when enabled.
Tweaked the rules for showing update alerts (see for SMAPI developers below for details).
Fixed broken URL in update alerts for unofficial versions.
Fixed rare error when a mod adds/removes event handlers asynchronously.
For modders:
You can now read/write SDate values to JSON (e.g. for config.json, network mod messages, etc).
For the web UI:
Updated the JSON validator/schema for Content Patcher 1.16.
For SMAPI developers:
The web API now returns an update alert in two new cases: any newer unofficial update (previously only shown if the mod was incompatible), and a newer prerelease version if the installed non-prerelease version is broken (previously only shown if the installed version was prerelease).
3.6.2
Released 02 August 2020 for Stardew Valley 1.4.1 or later.
For players:
Improved compatibility with some Linux terminals (thanks to jlaw and Spatterjaaay!).
Fixed rare error when a mod adds/removes an event handler from an event handler.
Fixed string sorting/comparison for some special characters.
For the Console Commands mod:
Fixed error opening menu when some item data is invalid.
Fixed spawned Floor TV not functional as a TV (thanks to Platonymous!).
Fixed spawned sturgeon roe having incorrect color.
For modders:
Updated internal dependencies.
SMAPI now ignores more file types when scanning for mod folders (.doc, .docx, .rar, and .zip).
Added current GPU to trace logs to simplify troubleshooting.
3.6.1
Released 21 June 2020 for Stardew Valley 1.4.1 or later.
Fixed event priority sorting.
3.6
Released 20 June 2020 for Stardew Valley 1.4.1 or later.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps Pathoschild.Stardew.ModBuildConfig from 3.0.0 to 3.1.0.
Release notes
Sourced from Pathoschild.Stardew.ModBuildConfig's releases.
Changelog
Sourced from Pathoschild.Stardew.ModBuildConfig's changelog.
Commits
f976b5c
Merge branch 'develop' into stable4895937
prepare for released804526
remove DumpMetadata option93459a5
fix new asset invalidation code not correctly handling interceptors which bot...aef2550
add Japanese translations, update translation docs00932a3
Merge pull request #686 from wartech0/chest-trackingb6aef49
update release notese64a122
unify item diff logic for players & chests6766fcd
fix NetList watcher not handling array replacement and conflicting changes co...c5cfcc6
fix location snapshot not updated for removed chestsDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)