diff options
Diffstat (limited to 'docs')
-rw-r--r-- | docs/release-notes-archived.md | 48 | ||||
-rw-r--r-- | docs/release-notes.md | 71 |
2 files changed, 71 insertions, 48 deletions
diff --git a/docs/release-notes-archived.md b/docs/release-notes-archived.md index 9f8de3cb..b5dd538b 100644 --- a/docs/release-notes-archived.md +++ b/docs/release-notes-archived.md @@ -19,7 +19,7 @@ Released 13 September 2019 for Stardew Valley 1.3.36. * Added log parser instructions for Android. * Fixed log parser failing in some cases due to time format localization. -* For modders: +* For mod authors: * `this.Monitor.Log` now defaults to the `Trace` log level instead of `Debug`. The change will only take effect when you recompile the mod. * Fixed 'location list changed' verbose log not correctly listing changes. * Fixed mods able to directly load (and in some cases edit) a different mod's local assets using internal asset key forwarding. @@ -42,7 +42,7 @@ Released 17 March 2019 for Stardew Valley 1.3.36. * Updated mod compatibility list. * Fixed `world_clear` console command removing chests edited to have a debris name. -* For modders: +* For mod authors: * Added support for suppressing false-positive warnings in rare cases. * For the web UI: @@ -55,7 +55,7 @@ Released 01 March 2019 for Stardew Valley 1.3.36. * For players: * Updated for Stardew Valley 1.3.36. -* For modders: +* For mod authors: * Bumped all deprecation levels to _pending removal_. * For the web UI: @@ -80,7 +80,7 @@ Released 09 January 2019 for Stardew Valley 1.3.32–33. * Added beta status filter to compatibility list. * Fixed broken ModDrop links in the compatibility list. -* For modders: +* For mod authors: * Asset changes are now propagated into the parsed save being loaded if applicable. * Added locale to context trace logs. * Fixed error loading custom map tilesheets in some cases. @@ -106,7 +106,7 @@ Released 29 December 2018 for Stardew Valley 1.3.32–33. * Minor performance improvements. * Tweaked installer to reduce antivirus false positives. -* For modders: +* For mod authors: * Added [events](https://stardewvalleywiki.com/Modding:Modder_Guide/APIs/Events): `GameLoop.OneSecondUpdateTicking`, `GameLoop.OneSecondUpdateTicked`, and `Specialized.LoadStageChanged`. * Added `e.IsCurrentLocation` event arg to `World` events. * You can now use `helper.Data.Read/WriteSaveData` as soon as the save is loaded (instead of once the world is initialized). @@ -133,7 +133,7 @@ Released 16 December 2018 for Stardew Valley 1.3.32. * Fixed game launch errors logged as `SMAPI` instead of `game`. * Fixed Windows installer adding unneeded Unix launcher to game folder. -* For modders: +* For mod authors: * Moved content pack methods into a new [content pack API](https://stardewvalleywiki.com/Modding:Modder_Guide/APIs/Content_Packs). * Fixed invalid NPC data propagated when a mod changes NPC dispositions. * Fixed `Display.RenderedWorld` event broken in SMAPI 2.9.1. @@ -162,7 +162,7 @@ Released 07 December 2018 for Stardew Valley 1.3.32. * Fixed empty "mods with warnings" list in some cases due to hidden warnings. * Fixed Console Commands' handling of tool upgrade levels for item commands. -* For modders: +* For mod authors: * Added ModDrop update keys (see [docs](https://stardewvalleywiki.com/Modding:Modder_Guide/APIs/Manifest#Update_checks)). * Added `IsLocalPlayer` to new player events. * Added `helper.CreateTemporaryContentPack` to replace the deprecated `CreateTransitionalContentPack`. @@ -225,7 +225,7 @@ Released 19 November 2018 for Stardew Valley 1.3.32. * Tweaked log parser UI (thanks to danvolchek!). * Fixed log parser instructions for Mac. -* For modders: +* For mod authors: * Added [data API](https://stardewvalleywiki.com/Modding:Modder_Guide/APIs/Data) to store mod data in the save file or app data. * Added [multiplayer API](https://stardewvalleywiki.com/Modding:Modder_Guide/APIs/Multiplayer) and [events](https://stardewvalleywiki.com/Modding:Modder_Guide/Apis/Events#Multiplayer_2) to send/receive messages and get connected player info. * Added [verbose logging](https://stardewvalleywiki.com/Modding:Modder_Guide/APIs/Logging#Verbose_logging) feature. @@ -275,7 +275,7 @@ Released 14 August 2018 for Stardew Valley 1.3.28. * Fixed some SMAPI logs not deleted when starting a new session. * Updated compatibility list. -* For modders: +* For mod authors: * Added support for `.json` data files in the content API (including Content Patcher). * Added propagation for asset changes through the content API for... * child sprites; @@ -336,7 +336,7 @@ Released 01 August 2018 for Stardew Valley 1.3.27. * Fixed log parser mangling crossplatform paths in some cases. * Fixed `smapi.io/install` not linking to a useful page. -* For modders: +* For mod authors: * Added [input API](https://stardewvalleywiki.com/Modding:Modder_Guide/APIs/Input) for reading and suppressing keyboard, controller, and mouse input. * Added code analysis in the NuGet package to flag common issues as warnings. * Replaced `LocationEvents` to support multiplayer: @@ -418,7 +418,7 @@ Released 26 March 2018 for Stardew Valley 1.2.30–1.2.33. * For the [log parser](https://smapi.io/log): * Fixed error when log text contains certain tokens. -* For modders: +* For mod authors: * Updated to Json.NET 11.0.2. * For SMAPI developers: @@ -448,7 +448,7 @@ Released 13 March 2018 for Stardew Valley ~~1.2.30~~–1.2.33. ## 2.5.2 Released 25 February 2018 for Stardew Valley 1.2.30–1.2.33. -* For modders: +* For mod authors: * Fixed issue where replacing an asset through `asset.AsImage()` or `asset.AsDictionary()` didn't take effect. * For the [log parser](https://smapi.io/log): @@ -472,7 +472,7 @@ Released 24 February 2018 for Stardew Valley 1.2.30–1.2.33. * Fixed uninstall script not reporting when done on Linux/Mac. * Updated compatibility list and enabled update checks for more mods. -* For modders: +* For mod authors: * Added support for content packs and new APIs to read them. * Added support for `ISemanticVersion` in JSON models. * Added `SpecializedEvents.UnvalidatedUpdateTick` event for specialized use cases. @@ -506,7 +506,7 @@ Released 24 January 2018 for Stardew Valley 1.2.30–1.2.33. * For the [log parser](https://smapi.io/log): * Fixed error parsing logs with zero installed mods. -* For modders: +* For mod authors: * Added `SaveEvents.BeforeCreate` and `AfterCreate` events. * Added `SButton` `IsActionButton()` and `IsUseToolButton()` extensions. * Improved JSON parse errors to provide more useful info for troubleshooting. @@ -527,7 +527,7 @@ Released 26 December 2017 for Stardew Valley 1.2.30–1.2.33. * Improved cryptic libgdiplus errors on Mac when Mono isn't installed. * Fixed mod UIs hidden when menu backgrounds are enabled. -* For modders: +* For mod authors: * **Added mod-provided APIs** to allow simple integrations between mods, even without direct assembly references. * Added `GameEvents.FirstUpdateTick` event (called once after all mods are initialized). * Added `IsSuppressed` to input events so mods can optionally avoid handling keys another mod has already handled. @@ -557,7 +557,7 @@ Released 02 December 2017 for Stardew Valley 1.2.30–1.2.33. * Fixed error when uploading very large logs. * Slightly improved the UI. -* For modders: +* For mod authors: * Added `helper.Content.NormalizeAssetName` method. * Added `SDate.DaysSinceStart` property. * Fixed input events' `e.SuppressButton(button)` method ignoring specified button. @@ -575,7 +575,7 @@ Released 01 November 2017 for Stardew Valley 1.2.30–1.2.33. * Fixed compatibility check for players with Stardew Valley 1.08. * Fixed `player_setlevel` command not setting XP too. -* For modders: +* For mod authors: * The reflection API now works with public code to simplify mod integrations. * The content API now lets you invalidated multiple assets at once. * The `InputEvents` have been improved: @@ -600,7 +600,7 @@ Released 14 October 2017 for Stardew Valley 1.2.30–1.2.33. * **Mod update checks** SMAPI now checks if your mods have updates available, and will alert you in the console with a convenient link to the mod page. This works with mods from the Chucklefish mod site, GitHub, or Nexus Mods. SMAPI 2.0 launches with - update-check support for over 250 existing mods, and more will be added as modders enable the feature. + update-check support for over 250 existing mods, and more will be added as mod authors enable the feature. * **Mod stability warnings** SMAPI now detects when a mod contains code which can destabilise your game or corrupt your save, and shows a warning @@ -610,7 +610,7 @@ Released 14 October 2017 for Stardew Valley 1.2.30–1.2.33. The console is now simpler and easier to read, some commands have been streamlined, and the colors now adjust to fit your terminal background color. -* **New features for modders** +* **New features for mod authors** SMAPI 2.0 adds several features to enable new kinds of mods (see [API documentation](https://stardewvalleywiki.com/Modding:Modder_Guide/APIs)). @@ -688,7 +688,7 @@ For players: * Fixed errors when loading some custom maps on Linux/Mac or using XNB Loader. * Fixed errors in rare cases when a mod calculates an in-game date. -For modders: +For mod authors: * Added UTC timestamp to log file. For SMAPI developers: @@ -726,7 +726,7 @@ For players: * Fixed controller mod input broken in 1.15. * Fixed TrainerMod packaging unneeded files. -For modders: +For mod authors: * Fixed mod registry lookups by unique ID not being case-insensitive. ## 1.15 @@ -744,7 +744,7 @@ For players: * Fixed invalid `ObjectInformation.xnb` causing a flood of warnings; SMAPI now shows one error instead. * Updated mod compatibility list. -For modders: +For mod authors: * Added `SDate` utility for in-game date calculations (see [API reference](https://stardewvalleywiki.com/Modding:Modder_Guide/APIs/Utilities#Dates)). * Added support for minimum dependency versions in `manifest.json` (see [API reference](https://stardewvalleywiki.com/Modding:Modder_Guide/APIs/Manifest)). * Added more useful logging when loading mods. @@ -777,7 +777,7 @@ For players: * Bumped minimum game version to 1.2.30. * Updated mod compatibility list. -For modders: +For mod authors: * You can now add dependencies to `manifest.json` (see [API reference](https://stardewvalleywiki.com/Modding:Modder_Guide/APIs/Manifest)). * You can now translate your mod (see [API reference](https://stardewvalleywiki.com/Modding:Modder_Guide/APIs/Translation)). * You can now load unpacked `.tbin` files from your mod folder through the content API. @@ -788,7 +788,7 @@ For modders: * Fixed `smapi-crash.txt` being copied from the default log even if a different path is specified with `--log-path`. * Fixed the content API not matching XNB filenames with two dots (like `a.b.xnb`) if you don't specify the `.xnb` extension. * Fixed `debug` command output not printed to console. -* Deprecated `TimeEvents.DayOfMonthChanged`, `SeasonOfYearChanged`, and `YearOfGameChanged`. These don't do what most modders think they do and aren't very reliable, since they depend on the SMAPI/game lifecycle which can change. You should use `TimeEvents.AfterDayStarted` or `SaveEvents.BeforeSave` instead. +* Deprecated `TimeEvents.DayOfMonthChanged`, `SeasonOfYearChanged`, and `YearOfGameChanged`. These don't do what most mod authors think they do and aren't very reliable, since they depend on the SMAPI/game lifecycle which can change. You should use `TimeEvents.AfterDayStarted` or `SaveEvents.BeforeSave` instead. ## 1.13.1 Released 19 May 2017 for Stardew Valley 1.2.26–1.2.29. diff --git a/docs/release-notes.md b/docs/release-notes.md index dabdada1..fb67d8dc 100644 --- a/docs/release-notes.md +++ b/docs/release-notes.md @@ -3,10 +3,33 @@ # Release notes <!-- ## Future release -* For modders: +* For mod authors: * Migrated to Harmony 2.0 (see [_migrate to Harmony 2.0_](https://stardewvalleywiki.com/Modding:Migrate_to_Harmony_2.0) for more info). --> +## 3.9.2 +Released 21 February 2021 for Stardew Valley 1.5.4 or later. + +* For players: + * Added more aggressive memory optimization to reduce `OutOfMemoryException` errors with some mods. + * Improved error when `Stardew Valley.exe` exists but can't be loaded. + * Fixed error running `install on Windows.bat` in very rare cases. + * Fixed `world_settime` command not always updating outdoor ambient lighting _(in Console Commands)_. + +* For mod authors: + * Added early detection of disposed textures so the error details are more relevant _(in Error Handler)_. + * Added error details when an event command fails _(in Error Handler)_. + * Fixed asset propagation for `TileSheets/ChairTiles` not changing existing map seats. + * Fixed edge case when playing in non-English where translatable assets loaded via `IAssetLoader` would no longer be applied after returning to the title screen unless manually invalidated from the cache. + +* For the web UI: + * Updated compatibility list for the new wiki. + * Updated the JSON validator/schema for Content Patcher 1.20. + * Fixed mod compatibility list error if a mod has no name. + +* For SMAPI developers: + * Fixed SMAPI toolkit defaulting the mod type incorrectly if a mod's `manifest.json` has neither `EntryDll` nor `ContentPackFor`. This only affects external tools, since SMAPI itself validates those fields separately. + ## 3.9.1 Released 25 January 2021 for Stardew Valley 1.5.4 or later. @@ -27,7 +50,7 @@ Released 22 January 2021 for Stardew Valley 1.5.4 or later. See [release highlig * Fixed compatibility for very old content packs which still load maps from `.xnb` files. These were broken by map loading changes in Stardew Valley 1.5, but SMAPI now corrects them automatically. * Fixed some broken mods incorrectly listed as XNB mods under 'skipped mods'. -* For modders: +* For mod authors: * Added new input APIs: * Added an [API for multi-key bindings](https://stardewvalleywiki.com/Modding:Modder_Guide/APIs/Input#KeybindList). * Added a new [`Input.ButtonsChanged` event](https://stardewvalleywiki.com/Modding:Modder_Guide/APIs/Events#Input.ButtonsChanged). @@ -61,7 +84,7 @@ Released 15 January 2021 for Stardew Valley 1.5.3 or later. * Updated for Stardew Valley 1.5.3. * Fixed issue where title screen music didn't stop after loading a save. -* For modders: +* For mod authors: * Fixed `SemanticVersion` comparisons returning wrong value in rare cases. ## 3.8.3 @@ -73,7 +96,7 @@ Released 08 January 2021 for Stardew Valley 1.5.2 or later. * You can now enter console commands for a specific screen in split-screen mode by adding `screen=ID` to the command. * Typing `help` in the SMAPI console is now more helpful. -* For modders: +* For mod authors: * Simplified tilesheet order warning added in SMAPI 3.8.2. * For the Console Commands mod: @@ -90,7 +113,7 @@ Released 03 January 2021 for Stardew Valley 1.5.1 or later. * Fixed 'skipped mods' section repeating mods in some cases. * Fixed out-of-date error text. -* For modders: +* For mod authors: * Added warning when a map replacement changes the order/IDs of the original tilesheets, which may cause errors and crashes. Doing so for a farm map is blocked outright since that causes a consistent crash in Stardew Valley 1.5. * Message data from the `ModMessageReceived` event now uses the same serializer settings as the rest of SMAPI. That mainly adds support for sending crossplatform `Color`, `Point`, `Vector2`, `Rectangle`, and `SemanticVersion` fields through network messages. * When a mod is blocked by SMAPI's compatibility override list, the `TRACE` messages while loading it now say so and indicate why. @@ -102,7 +125,7 @@ Released 26 December 2020 for Stardew Valley 1.5.1 or later. * For players: * Fixed broken community center bundles for non-English saves created in Stardew Valley 1.5. Affected saves will be fixed automatically on load. -* For modders: +* For mod authors: * World events are now raised for volcano dungeon levels. * Added `apply_save_fix` command to reapply a save migration in exceptional cases. This should be used very carefully. Type `help apply_save_fix` for details. * **Deprecation notice:** the `Helper.ConsoleCommands.Trigger` method is now deprecated and should no longer be used. See [integration APIs](https://stardewvalleywiki.com/Modding:Modder_Guide/APIs/Integrations) for better mod integration options. It will eventually be removed in SMAPI 4.0. @@ -118,7 +141,7 @@ Released 21 December 2020 for Stardew Valley 1.5 or later. See [release highligh * You can now run the installer from a subfolder of your game folder to auto-detect it. That simplifies installation if you have multiple copies of the game or it can't otherwise auto-detect the game path. * Clarified error when the SMAPI installer is in the `Mods` folder. -* For modders: +* For mod authors: * Added `PerScreen<T>` utility and new `Context` fields to simplify split-screen support in mods. * Added screen ID to log when playing in split-screen mode. @@ -135,7 +158,7 @@ Released 21 November 2020 for Stardew Valley 1.4.1 or later. * Fixed error when heuristically rewriting an outdated mod in rare cases. * Fixed rare 'collection was modified' error when using `harmony summary` console command. -* For modders: +* For mod authors: * Updated TMXTile to 1.5.8 to fix exported `.tmx` files losing tile index properties. * For the Console Commands mod: @@ -145,7 +168,7 @@ Released 21 November 2020 for Stardew Valley 1.4.1 or later. ## 3.7.5 Released 16 October 2020 for Stardew Valley 1.4.1 or later. -* For modders: +* For mod authors: * Fixed changes to the town map asset not reapplying the game's community center, JojaMart, and Pam house changes. ## 3.7.4 @@ -155,7 +178,7 @@ Released 03 October 2020 for Stardew Valley 1.4.1 or later. * Improved performance on some older computers (thanks to millerscout!). * Fixed update alerts for Chucklefish forum mods broken by a recent site change. -* For modders: +* For mod authors: * Updated dependencies (including Mono.Cecil 0.11.2 → 0.11.3 and Platonymous.TMXTile 1.3.8 → 1.5.6). * Fixed asset propagation for `Data\MoviesReactions`. * Fixed error in content pack path handling when you pass a null path. @@ -174,7 +197,7 @@ Released 16 September 2020 for Stardew Valley 1.4.1 or later. * Fixed map rendering crash due to conflict between SMAPI and PyTK. * Fixed error in heuristically-rewritten mods in rare cases (thanks to collaboration with ZaneYork!). -* For modders: +* For mod authors: * File paths accessed through `IContentPack` are now case-insensitive (even on Linux). * For the web UI: @@ -186,7 +209,7 @@ Released 08 September 2020 for Stardew Valley 1.4.1 or later. * For players: * Fixed mod recipe changes not always applied in 3.7. -* For modders: +* For mod authors: * Renamed `PathUtilities.NormalizePathSeparators` to `NormalizePath`, and added normalization for more cases. ## 3.7.1 @@ -211,7 +234,7 @@ Released 07 September 2020 for Stardew Valley 1.4.1 or later. See [release highl * Removed the experimental `RewriteInParallel` option added in SMAPI 3.6 (it was already disabled by default). Unfortunately this caused intermittent and unpredictable errors when enabled. * Internal changes to prepare for upcoming game updates. -* For modders: +* For mod authors: * Added `PathUtilities` to simplify working with file/asset names. * You can now read/write `SDate` values to JSON (e.g. for `config.json`, network mod messages, etc). * Fixed asset propagation not updating title menu buttons immediately on Linux/Mac. @@ -241,7 +264,7 @@ Released 02 August 2020 for Stardew Valley 1.4.1 or later. * Fixed spawned Floor TV not functional as a TV (thanks to Platonymous!). * Fixed spawned sturgeon roe having incorrect color. -* For modders: +* For mod authors: * 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. @@ -274,7 +297,7 @@ Released 20 June 2020 for Stardew Valley 1.4.1 or later. See [release highlights * Updated ModDrop URLs. * Internal changes to improve performance and reliability. -* For modders: +* For mod authors: * Added [event priorities](https://stardewvalleywiki.com/Modding:Modder_Guide/APIs/Events#Custom_priority) (thanks to spacechase0!). * Added [update subkeys](https://stardewvalleywiki.com/Modding:Modder_Guide/APIs/Update_checks#Update_subkeys). * Added [a custom build of Harmony](https://github.com/Pathoschild/Harmony#readme) to provide more useful stack traces in error logs. @@ -309,7 +332,7 @@ Released 27 April 2020 for Stardew Valley 1.4.1 or later. See [release highlight * Updated the JSON validator/schema for Content Patcher 1.13. * Fixed rare intermittent "CGI application encountered an error" errors. -* For modders: +* For mod authors: * Added map patching to the content API (via `asset.AsMap()`). * Added support for using patch helpers with arbitrary data (via `helper.Content.GetPatchHelper`). * Added `SDate` fields/methods: `SeasonIndex`, `FromDaysSinceStart`, `FromWorldDate`, `ToWorldDate`, and `ToLocaleString` (thanks to kdau!). @@ -323,7 +346,7 @@ Released 27 April 2020 for Stardew Valley 1.4.1 or later. See [release highlight ## 3.4.1 Released 24 March 2020 for Stardew Valley 1.4.1 or later. -* For modders: +* For mod authors: * Asset changes now propagate to NPCs in an event (e.g. wedding sprites). * Fixed mouse input suppression not working in SMAPI 3.4. @@ -336,7 +359,7 @@ Released 22 March 2020 for Stardew Valley 1.4.1 or later. See [release highlight * Removed invalid-location check now handled by the game. * Updated translations. Thanks to Annosz (added Hungarian)! -* For modders: +* For mod authors: * Added support for flipped and rotated map tiles (thanks to collaboration with Platonymous!). * Added support for `.tmx` maps using zlib compression (thanks to Platonymous!). * Added `this.Monitor.LogOnce` method. @@ -380,7 +403,7 @@ Released 22 February 2020 for Stardew Valley 1.4.1 or later. See [release highli * Updated the JSON validator and Content Patcher schema for `.tmx` support. * The mod compatibility page now has a sticky table header. -* For modders: +* For mod authors: * Added support for [message sending](https://stardewvalleywiki.com/Modding:Modder_Guide/APIs/Integrations#Message_sending) to mods on the current computer (in addition to remote computers). * Added `ExtendImage` method to content API when editing files to resize textures. * Added `helper.Input.GetState` to get the low-level state of a button. @@ -415,7 +438,7 @@ Released 01 February 2020 for Stardew Valley 1.4.1 or later. See [release highli * Fixed extra files under `Saves` (e.g. manual backups) not being ignored. * Fixed Android issue where game files were backed up. -* For modders: +* For mod authors: * Added support for `.tmx` map files. (Thanks to [Platonymous for the underlying library](https://github.com/Platonymous/TMXTile)!) * Added special handling for `Vector2` values in `.json` files, so they work consistently crossplatform. * Reworked the order that asset editors/loaders are called between multiple mods to support some framework mods like Content Patcher and Json Assets. Note that the order is undefined and should not be depended on. @@ -464,7 +487,7 @@ Released 05 January 2019 for Stardew Valley 1.4.1 or later. See [release highlig * Fixed log parser not correctly handling content packs with no author (thanks to danvolchek!). * Fixed main sidebar link pointing to wiki instead of home page. -* For modders: +* For mod authors: * Added `World.ChestInventoryChanged` event (thanks to collaboration with wartech0!). * Added asset propagation for... * grass textures; @@ -493,7 +516,7 @@ Released 02 December 2019 for Stardew Valley 1.4 or later. * 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: +* For mod authors: * `SemanticVersion` now supports [semver 2.0](https://semver.org/) build metadata. ## 3.0 @@ -523,7 +546,7 @@ For players: * **Fixed many bugs and edge cases.** -For modders: +For mod authors: * **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 @@ -607,7 +630,7 @@ For modders: * Added instructions for Android. * The page now detects your OS and preselects the right instructions (thanks to danvolchek!). -### For modders +### For mod authors * Breaking changes: * Mods are now loaded much earlier in the game launch. This lets mods intercept any content asset, but the game is not fully initialized when `Entry` is called; use the `GameLaunched` event if you need to run code when the game is initialized. * Removed all deprecated APIs. |