summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/release-notes.md21
-rw-r--r--docs/technical/smapi.md4
2 files changed, 23 insertions, 2 deletions
diff --git a/docs/release-notes.md b/docs/release-notes.md
index 045a5168..ad644532 100644
--- a/docs/release-notes.md
+++ b/docs/release-notes.md
@@ -7,6 +7,27 @@
* 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.5
+Released 21 March 2021 for Stardew Valley 1.5.4 or later.
+
+* For players:
+ * Added console command to reset community center bundles _(in Console Commands)_.
+ * Disabled aggressive memory optimization by default.
+ _The option was added in SMAPI 3.9.2 to reduce errors for some players, but it can cause multiplayer crashes with some mods. If you often see `OutOfMemoryException` errors, you can edit `smapi-internal/config.json` to re-enable it. We're experimenting with making Stardew Valley 64-bit to address memory issues more systematically._
+ * Fixed bundles corrupted in non-English saves created after SMAPI 3.9.2.
+ _If you have an affected save, you can load your save and then enter the `regenerate_bundles confirm` command in the SMAPI console to fix it._
+ * Internal changes to prepare for unofficial 64-bit.
+
+* For mod authors:
+ * Improved asset propagation:
+ * Added for interior door sprites.
+ * SMAPI now updates the NPC pathfinding cache when map warps are changed through the content API.
+ * Reduced performance impact of invalidating cached assets before a save is loaded.
+ * Fixed asset changes not reapplied in the edge case where you're playing in non-English, and the changes are only applied after the save is loaded, and the player returns to title and reloads a save, and the game reloads the target asset before the save is loaded.
+ * Added a second `KeybindList` constructor to simplify single-key default bindings.
+ * Added a `Constants.GameFramework` field which indicates whether the game is using XNA Framework or MonoGame.
+ _Note: mods don't need to handle the difference in most cases, but some players may use MonoGame on Windows in upcoming versions. Mods which check `Constants.TargetPlatform` should review usages as needed._
+
## 3.9.4
Released 07 March 2021 for Stardew Valley 1.5.4 or later.
diff --git a/docs/technical/smapi.md b/docs/technical/smapi.md
index e2832710..e77d9d82 100644
--- a/docs/technical/smapi.md
+++ b/docs/technical/smapi.md
@@ -50,14 +50,14 @@ environment variable | purpose
`SMAPI_NO_TERMINAL` | Equivalent to `--no-terminal` above.
`SMAPI_MODS_PATH` | Equivalent to `--mods-path` above.
-
### Compile flags
SMAPI uses a small number of conditional compilation constants, which you can set by editing the
`<DefineConstants>` element in `SMAPI.csproj`. Supported constants:
flag | purpose
---- | -------
-`SMAPI_FOR_WINDOWS` | Whether SMAPI is being compiled on Windows for players on Windows. Set automatically in `crossplatform.targets`.
+`SMAPI_FOR_WINDOWS` | Whether SMAPI is being compiled for Windows; if not set, the code assumes Linux/MacOS. Set automatically in `common.targets`.
+`SMAPI_FOR_XNA` | Whether SMAPI is being compiled for XNA Framework; if not set, the code assumes MonoGame. Set automatically in `common.targets` with the same value as `SMAPI_FOR_WINDOWS`.
`HARMONY_2` | Whether to enable experimental Harmony 2.0 support and rewrite existing Harmony 1._x_ mods for compatibility. Note that you need to replace `build/0Harmony.dll` with a Harmony 2.0 build (or switch to a package reference) to use this flag.
## For SMAPI developers