1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
|
# Release notes
## 1.5
See [log](https://github.com/Pathoschild/SMAPI/compare/stable...develop).
For players:
* Added option to disable update checks.
* SMAPI will now show a friendly error with update links when you try to use a known incompatible mod version.
* Fixed error when a mod uses the new reflection API on a missing field or method.
For developers:
* Deprecated `Version` in favour of `SemanticVersion`.
_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._
## 1.4
See [log](https://github.com/Pathoschild/SMAPI/compare/1.3...1.4).
For players:
* SMAPI will now prevent mods from crashing your game with menu errors.
* The installer will now automatically detect most custom install paths.
* The installer will now automatically clean up old SMAPI files.
* 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.
* 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.
* Fixed the SMAPI console not being shown on Linux and Mac.
For developers:
* 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.
* Added `TypeLoadException` details when intercepted by SMAPI.
* 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.
## 1.3
See [log](https://github.com/Pathoschild/SMAPI/compare/1.2...1.3).
For players:
* You can now run most mods on any platform (e.g. run Windows mods on Linux/Mac).
* Fixed the normal uninstaller not removing files added by the 'SMAPI for developers' installer.
## 1.2
See [log](https://github.com/Pathoschild/SMAPI/compare/1.1.1...1.2).
For players:
* Fixed compatibility with some older mods.
* 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.
* Fixed game crashing on startup with an audio error for some players.
For developers:
* Improved logging to show `ReflectionTypeLoadException` details when it's caught by SMAPI.
## 1.1
See [log](https://github.com/Pathoschild/SMAPI/compare/1.0...1.1.1).
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.
* Fixed compatibility with some older mods.<sup>1.1.1</sup>
* Fixed race condition where some mods would sometimes crash because the game wasn't ready yet.<sup>1.1.1</sup>
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`.
* Added emergency interrupt feature for dangerous mods.
* Fixed deprecation warnings being repeated if the mod can't be identified.<sup>1.1.1</sup>
## 1.0
See [log](https://github.com/Pathoschild/SMAPI/compare/0.40.1.1-3...1.0).
For players:
* Added support for Linux and Mac.
* Added installer to automate adding & removing SMAPI.
* Added background update check on launch.
* 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.
* Added OS version to log.
* Added zoom-adjusted mouse position to mouse-changed event arguments.
* Added SMAPI code documentation.
* Switched to [semantic versioning](http://semver.org).
* Fixed mod versions not shown correctly in the log.
* Fixed misspelled field in `manifest.json` schema.
* 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.
## 0.x
* 0.40.1.1 (2016-09-30, [log](https://github.com/Pathoschild/SMAPI/compare/0.40.0...0.40.1.1-3))
* Added support for Stardew Valley 1.1.
* 0.40.0 (2016-04-05, [log](https://github.com/Pathoschild/SMAPI/compare/0.39.7...0.40.0))
* Fixed an error that ocurred during minigames.
* 0.39.7 (2016-04-04, [log](https://github.com/Pathoschild/SMAPI/compare/0.39.6...0.39.7))
* Added 'no check' graphics events that are triggered regardless of game's if checks.
* 0.39.6 (2016-04-01, [log](https://github.com/Pathoschild/SMAPI/compare/0.39.5...0.39.6))
* Added game & SMAPI versions to log.
* Fixed conflict in graphics tick events.
* Bug fixes.
* 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)
* 0.1 (2016-02-28)
|