2017-01-20 01:22:32 +08:00
# Release notes
2017-07-04 02:29:22 +08:00
## 2.0 (upcoming)
<!--See [log ](https://github.com/Pathoschild/SMAPI/compare/1.10...2.0 ).-->
2017-03-04 09:25:01 +08:00
2017-07-04 02:26:45 +08:00
For players:
2017-07-04 02:29:22 +08:00
* The SMAPI console is now much simpler and easier-to-read.
2017-07-04 02:26:45 +08:00
2017-03-04 09:25:01 +08:00
For mod developers:
2017-07-04 02:29:22 +08:00
* SMAPI mods can now edit XNB images & data loaded by the game (see [API reference ](http://stardewvalleywiki.com/Modding:SMAPI_APIs#Content )).
* SMAPI mods can now inject new XNB images & data (see [API reference ](http://stardewvalleywiki.com/Modding:SMAPI_APIs#Content )).
* The `manifest.json` version can now be specified as a string.
2017-03-31 06:59:01 +08:00
2017-06-13 06:44:36 +08:00
## 1.15
See [log ](https://github.com/Pathoschild/SMAPI/compare/1.14...1.15 ).
For players:
2017-07-03 06:17:20 +08:00
* Revamped TrainerMod's item commands:
2017-07-03 11:17:45 +08:00
* `player_add` is a new command to add any item to your inventory (including tools, weapons, equipment, craftables, wallpaper, etc). This replaces the former `player_additem` , `player_addring` , and `player_addweapon` .
2017-07-03 06:17:20 +08:00
* `list_items` now shows all items in the game. You can search by item type like `list_items weapon` , or search by item name like `list_items galaxy sword` .
* `list_items` now also matches translated item names when playing in another language.
* `list_item_types` is a new command to see a list of item types.
2017-07-04 02:26:45 +08:00
* Cleaned up SMAPI console a bit.
2017-07-03 11:17:45 +08:00
* Fixed unhelpful error when a `config.json` is invalid.
2017-07-03 07:42:05 +08:00
* Fixed rare crash when window loses focus for a few players (further to fix in 1.14).
2017-07-03 08:51:49 +08:00
* Fixed invalid `ObjectInformation.xnb` causing a flood of warnings; SMAPI now shows one error instead.
* Updated mod compatibility list.
2017-06-13 06:44:36 +08:00
2017-06-19 06:01:15 +08:00
For modders:
2017-07-03 11:17:45 +08:00
* Added `SDate` utility for in-game date calculations (see [API reference ](http://stardewvalleywiki.com/Modding:SMAPI_APIs#Dates )).
* Added support for minimum dependency versions in `manifest.json` (see [API reference ](http://stardewvalleywiki.com/Modding:SMAPI_APIs#Manifest )).
* Added more useful logging when loading mods.
* Changed `manifest.MinimumApiVersion` from string to `ISemanticVersion` . This shouldn't affect mods unless they referenced that field in code.
2017-06-19 13:05:43 +08:00
* Fixed `SemanticVersion` parsing some invalid versions into close approximations (like `1.apple` → `1.0-apple` ).
* Fixed `SemanticVersion` not treating hyphens as separators when comparing prerelease tags.
< small > _(While that was technically correct, it leads to unintuitive behaviour like sorting `-alpha-2` _after_ `-alpha-10` , even though `-alpha.2` sorts before `-alpha.10` .)_</ small >
2017-06-27 23:37:50 +08:00
* Fixed corrupted state exceptions not being logged by SMAPI.
2017-07-04 02:09:26 +08:00
* Increased all deprecations to _pending removal_ .
2017-06-19 06:01:15 +08:00
2017-07-03 11:17:45 +08:00
For SMAPI developers:
2017-07-03 13:03:13 +08:00
* Added SMAPI 2.0 compile mode, for testing how mods will work with SMAPI 2.0.
2017-07-03 11:17:45 +08:00
* Added prototype SMAPI 2.0 feature to override XNB files (not enabled for mods yet).
* Added prototype SMAPI 2.0 support for version strings in `manifest.json` (not recommended for mods yet).
2017-05-21 03:11:36 +08:00
## 1.14
2017-06-03 06:45:29 +08:00
See [log ](https://github.com/Pathoschild/SMAPI/compare/1.13...1.14 ).
2017-05-21 03:11:36 +08:00
For players:
2017-05-23 06:55:09 +08:00
* SMAPI now shows friendly errors when...
* it can't detect the game;
* a mod dependency is missing (if it's listed in the mod manifest);
* you have Stardew Valley 1.11 or earlier (which aren't compatible);
* you run `install.exe` from within the downloaded zip file.
2017-05-22 06:22:21 +08:00
* Fixed "unknown mod" deprecation warnings by improving how SMAPI detects the mod using the event.
2017-05-27 12:21:48 +08:00
* Fixed `libgdiplus.dylib` errors for some players on Mac.
2017-05-24 11:31:34 +08:00
* Fixed rare crash when window loses focus for a few players.
2017-05-29 08:31:50 +08:00
* Bumped minimum game version to 1.2.30.
2017-06-03 06:00:57 +08:00
* Updated mod compatibility list.
2017-05-22 05:29:40 +08:00
For modders:
2017-06-03 07:06:24 +08:00
* You can now add dependencies to `manifest.json` (see [API reference ](http://stardewvalleywiki.com/Modding:SMAPI_APIs#Manifest )).
* You can now translate your mod (see [API reference ](http://stardewvalleywiki.com/Modding:SMAPI_APIs#Translation )).
2017-05-26 09:36:58 +08:00
* You can now load unpacked `.tbin` files from your mod folder through the content API.
* SMAPI now automatically fixes tilesheet references for maps loaded from the mod folder.
< small > _When loading a map from the mod folder, SMAPI will automatically use tilesheets relative to the map file if they exists. Otherwise it will default to tilesheets in the game content._< / small >
2017-05-28 11:48:16 +08:00
* Added `Context.IsPlayerFree` for mods that need to check if the player can act (i.e. save is loaded, no menu is displayed, no cutscene is in progress, etc).
2017-05-23 04:41:50 +08:00
* Added `Context.IsInDrawLoop` for specialised mods.
2017-05-22 05:58:17 +08:00
* Fixed `smapi-crash.txt` being copied from the default log even if a different path is specified with `--log-path` .
2017-05-27 13:01:45 +08:00
* Fixed the content API not matching XNB filenames with two dots (like `a.b.xnb` ) if you don't specify the `.xnb` extension.
2017-05-28 12:39:01 +08:00
* Fixed `debug` command output not printed to console.
2017-05-30 11:52:33 +08:00
* 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.
2017-05-21 03:11:36 +08:00
2017-05-20 11:49:59 +08:00
## 1.13.1
For players:
2017-05-20 12:29:04 +08:00
* Fixed errors when loading a mod with no name or version.
* Fixed mods with no manifest `Name` field having no name (SMAPI will now shows their filename).
2017-05-20 11:49:59 +08:00
2017-05-08 13:57:07 +08:00
## 1.13
See [log ](https://github.com/Pathoschild/SMAPI/compare/1.12...1.13 ).
For players:
2017-05-17 07:22:09 +08:00
* SMAPI now recovers better from mod draw errors and detects when the error is irrecoverable.
2017-05-18 01:12:31 +08:00
* SMAPI now recovers automatically from errors in the game loop when possible.
2017-05-14 03:14:32 +08:00
* SMAPI now remembers if your game crashed and offers help next time you launch it.
2017-05-19 05:02:34 +08:00
* Fixed installer sometimes finding redundant game paths.
2017-05-11 12:34:01 +08:00
* Fixed save events not being raised after the first day on Linux/Mac.
2017-05-14 03:14:32 +08:00
* Fixed error on Linux/Mac when a mod loads a PNG immediately after the save is loaded.
2017-05-16 10:41:44 +08:00
* Updated mod compatibility list for Stardew Valley 1.2.
2017-05-08 13:57:07 +08:00
For mod developers:
2017-05-17 07:22:09 +08:00
* Added a `Context.IsWorldReady` flag for mods to use.
2017-05-26 09:36:58 +08:00
< small > _This indicates whether a save is loaded and the world is finished initialising, which starts at the same point that `SaveEvents.AfterLoad` and `TimeEvents.AfterDayStarted` are raised. This is mainly useful for events which can be raised before the world is loaded (like update tick)._</ small >
2017-05-17 07:22:09 +08:00
* Added a `debug` console command which lets you run the game's debug commands (e.g. `debug warp FarmHouse 1 1` warps you to the farmhouse).
* Added basic context info to logs to simplify troubleshooting.
* Added a `Mod.Dispose` method which can be overriden to clean up before exit. This method isn't guaranteed to be called on every exit.
* Deprecated mods that don't have a `Name` , `Version` , or `UniqueID` in their manifest. These will be required in SMAPI 2.0.
* Deprecated `GameEvents.GameLoaded` and `GameEvents.FirstUpdateTick` . You can move any affected code into your mod's `Entry` method.
2017-05-17 07:15:28 +08:00
* Fixed maps not recognising custom tilesheets added through the SMAPI content API.
2017-05-17 11:44:33 +08:00
* Internal refactoring for upcoming features.
2017-05-08 13:57:07 +08:00
2017-05-02 12:43:15 +08:00
## 1.12
See [log ](https://github.com/Pathoschild/SMAPI/compare/1.11...1.12 ).
2017-05-03 12:40:21 +08:00
For players:
* The installer now lets you choose the install path if you have multiple copies of the game, instead of using the first path found.
2017-05-04 00:28:05 +08:00
* Fixed mod draw errors breaking the game.
* Fixed mods on Linux/Mac no longer working after the game saves.
2017-05-27 12:21:48 +08:00
* Fixed `libgdiplus.dylib` errors on Mac when mods read PNG files.
2017-05-03 23:58:33 +08:00
* Adopted pufferchick.
2017-05-03 12:40:21 +08:00
2017-05-02 12:43:15 +08:00
For mod developers:
2017-05-03 11:53:15 +08:00
* Unknown mod manifest fields are now stored in `IManifest::ExtraFields` .
2017-05-03 11:45:25 +08:00
* The content API now defaults to `ContentSource.ModFolder` .
2017-05-03 11:25:23 +08:00
* Fixed content API error when loading a PNG during early game init (e.g. in mod's `Entry` ).
* Fixed content API error when loading an XNB from the mod folder on Mac.
2017-05-02 12:43:15 +08:00
2017-04-27 04:04:20 +08:00
## 1.11
See [log ](https://github.com/Pathoschild/SMAPI/compare/1.10...1.11 ).
For players:
2017-04-28 12:58:54 +08:00
* SMAPI now detects issues in `ObjectInformation.xnb` files caused by outdated XNB mods.
2017-04-27 04:22:41 +08:00
* Errors when loading a save are now shown in the SMAPI console.
2017-04-28 12:58:54 +08:00
* Improved console logging performance.
2017-04-30 00:23:38 +08:00
* Fixed errors during game update causing the game to hang.
2017-04-30 09:46:01 +08:00
* Fixed errors due to mod events triggering during game save in Stardew Valley 1.2.
2017-04-27 04:04:20 +08:00
2017-04-27 04:21:03 +08:00
For mod developers:
2017-04-30 13:17:56 +08:00
* Added a content API which loads custom textures/maps/data from the mod's folder (`.xnb` or `.png` format) or game content.
2017-04-27 04:22:41 +08:00
* `Console.Out` messages are now written to the log file.
2017-04-27 06:25:59 +08:00
* `Monitor.ExitGameImmediately` now aborts SMAPI initialisation and events more quickly.
2017-05-15 10:04:32 +08:00
* Fixed value-changed events being raised when the player loads a save due to values being initialised.
2017-04-27 04:21:03 +08:00
2017-03-31 06:59:01 +08:00
## 1.10
See [log ](https://github.com/Pathoschild/SMAPI/compare/1.9...1.10 ).
2017-03-04 09:25:01 +08:00
2017-04-24 08:27:55 +08:00
For players:
2017-04-25 00:36:20 +08:00
* Updated to Stardew Valley 1.2.
2017-04-24 09:51:49 +08:00
* Added logic to rewrite many mods for compatibility with game updates, though some mods may still need an update.
2017-04-24 11:00:13 +08:00
* Fixed `SEHException` errors affecting some players.
* Fixed issue where SMAPI didn't unlock some files on exit.
2017-04-24 09:55:01 +08:00
* Fixed rare issue where the installer would crash trying to delete a bundled mod from `%appdata%` .
2017-04-24 10:46:14 +08:00
* Improved TrainerMod commands:
* Added `world_setyear` to change the current year.
* Replaced `player_addmelee` with `player_addweapon` with support for non-melee weapons.
2017-04-08 03:36:45 +08:00
For mod developers:
2017-04-24 10:04:56 +08:00
* Mods are now initialised after the `Initialize` /`LoadContent` phase, which means the `GameEvents.Initialize` and `GameEvents.LoadContent` events are deprecated. You can move any logic in those methods to your mod's `Entry` method.
* Added `IsBetween` and string overloads to the `ISemanticVersion` methods.
2017-04-08 03:36:45 +08:00
* Fixed mouse-changed event never updating prior mouse position.
2017-04-24 07:21:48 +08:00
* Fixed `monitor.ExitGameImmediately` not working correctly.
2017-04-24 11:58:08 +08:00
* Fixed `Constants.SaveFolderName` not set for a new game until the save is created.
2017-04-08 03:36:45 +08:00
2017-02-08 09:50:41 +08:00
## 1.9
See [log ](https://github.com/Pathoschild/SMAPI/compare/1.8...1.9 ).
For players:
2017-03-17 04:51:30 +08:00
* SMAPI now detects incompatible mods and disables them before they cause problems.
* SMAPI now allows mods nested into an otherwise empty parent folder (like `Mods\ModName-1.0\ModName\manifest.json` ), since that's a common default behaviour when unpacking mods.
* The installer now detects if you need to update .NET Framework before installing SMAPI.
2017-03-17 05:06:53 +08:00
* The installer now detects if you need to run the game at least once (to let it perform first-time setup) before installing SMAPI.
2017-03-17 07:01:22 +08:00
* The installer on Linux now finds games installed to `~/.steam/steam/steamapps/common/Stardew Valley` too.
2017-03-31 07:48:01 +08:00
* The installer now removes old SMAPI logs to prevent confusion.
2017-03-17 04:51:30 +08:00
* The console now has simpler error messages.
* The console now has improved command handling & feedback.
* The console no longer shows the game's debug output (unless you use a _SMAPI for developers_ build).
* Fixed the game-needs-an-update error not pausing before exit.
2017-02-13 08:41:15 +08:00
* Fixed installer errors for some players when deleting files.
2017-02-19 14:07:04 +08:00
* Fixed installer not ignoring potential game folders that don't contain a Stardew Valley exe.
2017-02-19 14:29:30 +08:00
* Fixed installer not recognising Linux/Mac paths starting with `~/` or containing an escaped space.
2017-03-02 08:20:11 +08:00
* Fixed TrainerMod letting you add invalid items which may crash the game.
2017-03-02 09:06:03 +08:00
* Fixed TrainerMod's `world_downminelevel` command not working.
2017-02-17 14:44:19 +08:00
* Fixed rare issue where mod dependencies would override SMAPI dependencies and cause unpredictable bugs.
2017-03-17 04:51:30 +08:00
* Fixed errors in mods' console command handlers crashing the game.
2017-02-08 09:50:41 +08:00
For mod developers:
2017-02-13 14:27:49 +08:00
* Added a simpler API for console commands (see `helper.ConsoleCommands` ).
2017-03-17 04:51:30 +08:00
* Added `TimeEvents.AfterDayStarted` event triggered when a day starts. This happens no matter how the day started (including new game, loaded save, or player went to bed).
2017-03-31 06:59:01 +08:00
* Added `ContentEvents.AfterLocaleChanged` event triggered when the player changes the content language (for the upcoming Stardew Valley 1.2).
* Added `SaveEvents.AfterReturnToTitle` event triggered when the player returns to the title screen (for the upcoming Stardew Valley 1.2).
* Added `helper.Reflection.GetPrivateProperty` method.
2017-04-02 04:08:31 +08:00
* Added a `--log-path` argument to specify the SMAPI log path during testing.
2017-03-02 09:20:58 +08:00
* SMAPI now writes XNA input enums (`Buttons` and `Keys` ) to JSON as strings automatically, so mods no longer need to add a `StringEnumConverter` themselves for those.
2017-03-17 04:51:30 +08:00
* The SMAPI log now has a simpler filename.
* The SMAPI log now shows the OS caption (like "Windows 10") instead of its internal version when available.
* The SMAPI log now always uses `\r\n` line endings to simplify crossplatform viewing.
2017-03-12 06:28:39 +08:00
* Fixed `SaveEvents.AfterLoad` being raised during the new-game intro before the player is initialised.
2017-03-27 08:15:48 +08:00
* Fixed SMAPI not recognising `Mod` instances that don't subclass `Mod` directly.
2017-02-17 02:59:13 +08:00
* Several obsolete APIs have been removed (see [deprecation guide ](http://canimod.com/guides/updating-a-smapi-mod )),
and all _notice_ -level deprecations have been increased to _info_ .
2017-03-17 04:51:30 +08:00
* Removed the experimental `IConfigFile` .
2017-02-08 09:50:41 +08:00
2017-02-11 08:22:22 +08:00
For SMAPI developers:
2017-03-17 04:51:30 +08:00
* Added support for debugging SMAPI on Linux/Mac if supported by the editor.
2017-02-11 08:22:22 +08:00
2017-01-26 11:30:07 +08:00
## 1.8
See [log ](https://github.com/Pathoschild/SMAPI/compare/1.7...1.8 ).
2017-02-03 12:45:09 +08:00
For players:
2017-02-05 04:30:26 +08:00
* Mods no longer generate `.cache` subfolders.
2017-02-03 12:45:09 +08:00
* Fixed multiple issues where mods failed during assembly loading.
2017-02-04 11:02:54 +08:00
* Tweaked install package to reduce confusion.
2017-02-03 12:45:09 +08:00
For mod developers:
2017-02-05 04:30:26 +08:00
* The `SemanticVersion` constructor now accepts a string version.
2017-02-05 04:27:13 +08:00
* Increased deprecation level for `Extensions` to _pending removal_ .
2017-02-05 04:30:26 +08:00
* **Warning:** `Assembly.GetExecutingAssembly().Location` will no longer reliably
return a valid path, because mod assemblies are loaded from memory when rewritten for
compatibility. This approach has been discouraged since SMAPI 1.3; use `helper.DirectoryPath`
instead.
2017-02-03 09:47:54 +08:00
2017-02-03 12:45:09 +08:00
For SMAPI developers:
* Rewrote assembly loading from the ground up. The new implementation...
* is much simpler;
2017-02-04 14:22:31 +08:00
* eliminates the `.cache` folders by loading rewritten assemblies from memory;
* ensures DLLs are loaded in leaf-to-root order (i.e. dependencies first);
2017-02-03 12:45:09 +08:00
* improves dependent assembly resolution;
2017-02-04 14:22:31 +08:00
* no longer loads DLLs if they're not referenced;
2017-02-03 12:45:09 +08:00
* reduces log verbosity.
2017-01-26 11:30:07 +08:00
2017-01-19 10:32:38 +08:00
## 1.7
See [log ](https://github.com/Pathoschild/SMAPI/compare/1.6...1.7 ).
2017-01-19 14:10:13 +08:00
For players:
2017-01-20 01:22:32 +08:00
* The console now shows the folder path where mods should be added.
* The console now shows deprecation warnings after the list of loaded mods (instead of intermingled).
2017-01-19 14:10:13 +08:00
2017-01-19 10:32:38 +08:00
For mod developers:
2017-01-20 01:22:32 +08:00
* Added a mod registry which provides metadata about loaded mods.
* The `Entry(…)` method is now deferred until all mods are loaded.
* Fixed `SaveEvents.BeforeSave` and `.AfterSave` not triggering on days when the player shipped something.
2017-01-19 10:32:38 +08:00
* Fixed `PlayerEvents.LoadedGame` and `SaveEvents.AfterLoad` being fired before the world finishes initialising.
2017-01-19 11:14:50 +08:00
* Fixed some `LocationEvents` , `PlayerEvents` , and `TimeEvents` being fired during game startup.
2017-01-20 01:22:32 +08:00
* Increased deprecation levels for `SObject` , `LogWriter` (not `Log` ), and `Mod.Entry(ModHelper)` (not `Mod.Entry(IModHelper)` ) to _pending removal_ . Increased deprecation levels for `Mod.PerSaveConfigFolder` , `Mod.PerSaveConfigPath` , and `Version.VersionString` to _info_ .
2017-01-19 10:32:38 +08:00
2017-01-16 09:19:32 +08:00
## 1.6
2017-01-16 10:31:31 +08:00
See [log ](https://github.com/Pathoschild/SMAPI/compare/1.5...1.6 ).
2017-01-12 03:00:13 +08:00
For players:
2017-01-16 09:19:32 +08:00
* Added console commands to open the game/data folders.
2017-01-12 03:00:13 +08:00
* Updated list of incompatible mods.
2017-01-16 09:19:32 +08:00
* Fixed `config.json` values being duplicated in some cases.
* Fixed some Linux users not being able to launch SMAPI from Steam.
* Fixed the installer not finding custom install paths on 32-bit Windows.
* Fixed error when loading a mod which was released with a `.cache` folder for a different platform.
* Fixed error when the console doesn't support colour.
* Fixed error when a mod reads a custom JSON file from a directory that doesn't exist.
2017-01-12 03:00:13 +08:00
2017-01-15 01:26:59 +08:00
For mod developers:
2017-01-16 08:21:26 +08:00
* Added three events: `SaveEvents.BeforeSave` , `SaveEvents.AfterSave` , and `SaveEvents.AfterLoad` .
* Deprecated three events:
2017-01-16 09:19:32 +08:00
* `TimeEvents.OnNewDay` is unreliable; use `TimeEvents.DayOfMonthChanged` or `SaveEvents` instead.
* `PlayerEvents.LoadedGame` is replaced by `SaveEvents.AfterLoad` .
2017-01-16 08:21:26 +08:00
* `PlayerEvents.FarmerChanged` serves no purpose.
2017-01-15 01:26:59 +08:00
2017-01-14 13:59:19 +08:00
For SMAPI developers:
* Added support for specifying a lower bound in mod incompatibility data.
2017-01-16 09:19:32 +08:00
* Added support for custom incompatible-mod error text.
2017-01-15 11:47:54 +08:00
* Fixed issue where `TrainerMod` used older logic to detect the game path.
2017-01-14 13:59:19 +08:00
2016-12-19 02:28:23 +08:00
## 1.5
2016-12-24 01:43:42 +08:00
See [log ](https://github.com/Pathoschild/SMAPI/compare/1.4...1.5 ).
2016-12-19 02:28:23 +08:00
For players:
2016-12-24 01:43:42 +08:00
* Added an option to disable update checks.
2016-12-23 02:08:45 +08:00
* SMAPI will now show a friendly error with update links when you try to use a known incompatible mod version.
2016-12-24 01:43:42 +08:00
* Fixed an error when a mod uses the new reflection API on a missing field or method.
* Fixed an issue where mods weren't notified of a menu change if it changed while SMAPI was still notifying mods of the previous change.
2016-12-19 02:28:23 +08:00
2016-12-22 23:26:00 +08:00
For developers:
* Deprecated `Version` in favour of `SemanticVersion` .
2016-12-24 01:43:42 +08:00
_This new implementation is [semver 2.0](http://semver.org/)-compliant, introduces `NewerThan(version)` and `OlderThan(version)` convenience methods, adds support for parsing a version string into a `SemanticVersion`, and fixes various bugs with the former implementation. This also replaces `Manifest` with `IManifest`._
2016-12-24 01:36:03 +08:00
* Increased deprecation levels for `SObject` , `Extensions` , `LogWriter` (not `Log` ), `SPlayer` , and `Mod.Entry(ModHelper)` (not `Mod.Entry(IModHelper)` ).
2016-12-22 23:26:00 +08:00
2016-12-13 00:20:31 +08:00
## 1.4
2016-12-19 02:28:23 +08:00
See [log ](https://github.com/Pathoschild/SMAPI/compare/1.3...1.4 ).
2016-12-06 13:45:22 +08:00
For players:
2016-12-13 00:20:31 +08:00
* SMAPI will now prevent mods from crashing your game with menu errors.
2016-12-09 01:15:10 +08:00
* The installer will now automatically detect most custom install paths.
* The installer will now automatically clean up old SMAPI files.
2016-12-11 03:29:38 +08:00
* Each mod now has its own `.cache` folder, so removing the mod won't leave orphaned cache files behind.
* Improved installer wording to reduce confusion.
2016-12-08 11:43:05 +08:00
* Fixed the installer not removing TrainerMod from appdata if it's already in the game mods directory.
* Fixed the installer not moving mods out of appdata if the game isn't installed on the same Windows partition.
2016-12-11 03:29:38 +08:00
* Fixed the SMAPI console not being shown on Linux and Mac.
2016-12-06 13:45:22 +08:00
For developers:
2016-12-11 03:29:38 +08:00
* Added a reflection API (via `helper.Reflection` ) that simplifies robust access to the game's private fields and methods.
* Added a searchable `list_items` console command to replace the `out_items` , `out_melee` , and `out_rings` commands.
2016-12-08 11:05:14 +08:00
* Added `TypeLoadException` details when intercepted by SMAPI.
2016-12-07 11:19:38 +08:00
* Fixed an issue where you couldn't debug into an assembly because it was copied into the `.cache` directory. That will now only happen if necessary.
2016-12-06 13:45:22 +08:00
2016-11-30 08:24:00 +08:00
## 1.3
2016-12-19 02:28:23 +08:00
See [log ](https://github.com/Pathoschild/SMAPI/compare/1.2...1.3 ).
2016-11-30 08:24:00 +08:00
For players:
* You can now run most mods on any platform (e.g. run Windows mods on Linux/Mac).
2016-11-30 08:42:27 +08:00
* Fixed the normal uninstaller not removing files added by the 'SMAPI for developers' installer.
2016-11-30 08:24:00 +08:00
2016-11-25 01:19:57 +08:00
## 1.2
2016-12-19 02:28:23 +08:00
See [log ](https://github.com/Pathoschild/SMAPI/compare/1.1.1...1.2 ).
2016-11-24 09:21:12 +08:00
For players:
* Fixed compatibility with some older mods.
2016-11-25 01:19:57 +08:00
* Fixed mod errors in most event handlers crashing the game.
* Fixed mod errors in some event handlers preventing other mods from receiving the same event.
2016-11-25 01:43:28 +08:00
* Fixed game crashing on startup with an audio error for some players.
2016-11-24 09:21:12 +08:00
2016-11-24 09:23:42 +08:00
For developers:
2016-11-25 01:19:57 +08:00
* Improved logging to show `ReflectionTypeLoadException` details when it's caught by SMAPI.
2016-11-24 09:23:42 +08:00
2016-11-15 08:27:44 +08:00
## 1.1
2016-12-19 02:28:23 +08:00
See [log ](https://github.com/Pathoschild/SMAPI/compare/1.0...1.1.1 ).
2016-11-15 08:27:44 +08:00
2016-11-17 06:42:44 +08:00
For players:
* Fixed console exiting immediately when some exceptions occur.
* Fixed an error in 1.0 when mod uses `config.json` but the file doesn't exist.
* Fixed critical errors being saved to a separate log file.
2016-11-24 09:21:12 +08:00
* Fixed compatibility with some older mods.< sup > 1.1.1</ sup >
2016-11-20 05:03:45 +08:00
* Fixed race condition where some mods would sometimes crash because the game wasn't ready yet.< sup > 1.1.1</ sup >
2016-11-17 06:42:44 +08:00
For developers:
* Added new logging interface:
* easier to use;
* supports trace logs (written to the log file, but hidden in the console by default);
* messages are now listed in order;
* messages now show which mod logged them;
* more consistent and intuitive console color scheme.
* Added optional `MinimumApiVersion` to `manifest.json` .
2016-11-17 11:41:27 +08:00
* Added emergency interrupt feature for dangerous mods.
2016-11-19 13:17:58 +08:00
* Fixed deprecation warnings being repeated if the mod can't be identified.< sup > 1.1.1</ sup >
2016-11-15 08:27:44 +08:00
2016-11-08 05:26:31 +08:00
## 1.0
2016-12-19 02:28:23 +08:00
See [log ](https://github.com/Pathoschild/SMAPI/compare/0.40.1.1-3...1.0 ).
2016-11-08 05:26:31 +08:00
For players:
2016-10-31 11:59:51 +08:00
* Added support for Linux and Mac.
2016-11-04 12:07:17 +08:00
* Added installer to automate adding & removing SMAPI.
2016-11-03 12:43:41 +08:00
* Added background update check on launch.
2016-11-08 05:26:31 +08:00
* Fixed missing `steam_appid.txt` file.
* Fixed some mod UIs disappearing at a non-default zoom level for some users.
* Removed undocumented support for mods in AppData folder ** (breaking change)**.
* Removed `F2` debug mode.
For mod developers:
* Added deprecation warnings.
2016-11-03 12:25:54 +08:00
* Added OS version to log.
2016-11-03 12:43:41 +08:00
* Added zoom-adjusted mouse position to mouse-changed event arguments.
2016-11-08 05:26:31 +08:00
* Added SMAPI code documentation.
2016-11-03 12:31:51 +08:00
* Switched to [semantic versioning ](http://semver.org ).
2016-11-08 05:26:31 +08:00
* Fixed mod versions not shown correctly in the log.
2016-11-03 12:25:54 +08:00
* Fixed misspelled field in `manifest.json` schema.
2016-11-08 05:26:31 +08:00
* Fixed some events getting wrong data.
* Simplified log output.
For SMAPI developers:
* Simplified compiling from source.
* Formalised release process and added automated build packaging.
* Removed obsolete and unfinished code.
* Internal cleanup & refactoring.
2016-10-31 11:59:51 +08:00
## 0.x
2016-12-19 02:28:23 +08:00
* 0.40.1.1 (2016-09-30, [log ](https://github.com/Pathoschild/SMAPI/compare/0.40.0...0.40.1.1-3 ))
2016-10-31 11:59:51 +08:00
* Added support for Stardew Valley 1.1.
2016-12-19 02:28:23 +08:00
* 0.40.0 (2016-04-05, [log ](https://github.com/Pathoschild/SMAPI/compare/0.39.7...0.40.0 ))
2016-10-31 11:59:51 +08:00
* Fixed an error that ocurred during minigames.
2016-12-19 02:28:23 +08:00
* 0.39.7 (2016-04-04, [log ](https://github.com/Pathoschild/SMAPI/compare/0.39.6...0.39.7 ))
2016-10-31 11:59:51 +08:00
* Added 'no check' graphics events that are triggered regardless of game's if checks.
2016-12-19 02:28:23 +08:00
* 0.39.6 (2016-04-01, [log ](https://github.com/Pathoschild/SMAPI/compare/0.39.5...0.39.6 ))
2016-10-31 11:59:51 +08:00
* Added game & SMAPI versions to log.
* Fixed conflict in graphics tick events.
* Bug fixes.
2016-12-19 02:28:23 +08:00
* 0.39.5 (2016-03-30, [log ](https://github.com/Pathoschild/SMAPI/compare/0.39.4...0.39.5 ))
* 0.39.4 (2016-03-29, [log ](https://github.com/Pathoschild/SMAPI/compare/0.39.3...0.39.4 ))
* 0.39.3 (2016-03-28, [log ](https://github.com/Pathoschild/SMAPI/compare/0.39.2...0.39.3 ))
* 0.39.2 (2016-03-23, [log ](https://github.com/Pathoschild/SMAPI/compare/0.39.1...0.39.2 ))
* 0.39.1 (2016-03-23, [log ](https://github.com/Pathoschild/SMAPI/compare/0.38.8...0.39.1 ))
* 0.38.8 (2016-03-23, [log ](https://github.com/Pathoschild/SMAPI/compare/0.38.7...0.38.8 ))
* 0.38.7 (2016-03-23, [log ](https://github.com/Pathoschild/SMAPI/compare/0.38.6...0.38.7 ))
* 0.38.6 (2016-03-22, [log ](https://github.com/Pathoschild/SMAPI/compare/0.38.5...0.38.6 ))
* 0.38.5 (2016-03-22, [log ](https://github.com/Pathoschild/SMAPI/compare/0.38.4...0.38.5 ))
* 0.38.4 (2016-03-21, [log ](https://github.com/Pathoschild/SMAPI/compare/0.38.3...0.38.4 ))
* 0.38.3 (2016-03-21, [log ](https://github.com/Pathoschild/SMAPI/compare/0.38.2...0.38.3 ))
* 0.38.2 (2016-03-21, [log ](https://github.com/Pathoschild/SMAPI/compare/0.38.0...0.38.2 ))
* 0.38.0 (2016-03-20, [log ](https://github.com/Pathoschild/SMAPI/compare/0.38.1...0.38.0 ))
* 0.38.1 (2016-03-20, [log ](https://github.com/Pathoschild/SMAPI/compare/0.37.3...0.38.1 ))
* 0.37.3 (2016-03-08, [log ](https://github.com/Pathoschild/SMAPI/compare/0.37.2...0.37.3 ))
* 0.37.2 (2016-03-07, [log ](https://github.com/Pathoschild/SMAPI/compare/0.37.1...0.37.2 ))
* 0.37.1 (2016-03-06, [log ](https://github.com/Pathoschild/SMAPI/compare/0.36...0.37.1 ))
* 0.36 (2016-03-04, [log ](https://github.com/Pathoschild/SMAPI/compare/0.37...0.36 ))
* 0.37 (2016-03-04, [log ](https://github.com/Pathoschild/SMAPI/compare/0.35...0.37 ))
* 0.35 (2016-03-02, [log ](https://github.com/Pathoschild/SMAPI/compare/0.34...0.35 ))
* 0.34 (2016-03-02, [log ](https://github.com/Pathoschild/SMAPI/compare/0.33...0.34 ))
* 0.33 (2016-03-02, [log ](https://github.com/Pathoschild/SMAPI/compare/0.32...0.33 ))
* 0.32 (2016-03-02, [log ](https://github.com/Pathoschild/SMAPI/compare/0.31...0.32 ))
* 0.31 (2016-03-02, [log ](https://github.com/Pathoschild/SMAPI/compare/0.3...0.31 ))
* 0.3 (2016-03-01, [log ](https://github.com/Pathoschild/SMAPI/compare/Alpha0.2...0.3 ))
* 0.2 (2016-02-29, [log ](https://github.com/Pathoschild/SMAPI/compare/Alpha0.1...Alpha0.2 )
2016-11-04 12:07:17 +08:00
* 0.1 (2016-02-28)