|
3 | 3 | Version numbers are shared between libloadorder and libloadorder-ffi. This |
4 | 4 | changelog does not include libloadorder-ffi changes. |
5 | 5 |
|
| 6 | +## [18.7.0] - Unreleased |
| 7 | + |
| 8 | +### Added |
| 9 | + |
| 10 | +- libloadorder's Cargo config now includes `package.rust-version`, set to |
| 11 | + `1.82`. |
| 12 | + |
| 13 | +### Changed |
| 14 | + |
| 15 | +- Libloadorder now tracks whether plugins are explicitly or implicitly active. |
| 16 | + Plugins that are activated by `plugins.txt` (or the game's equivalent, e.g. |
| 17 | + `Morrowind.ini` for Morrowind) entries are treated as explicitly active, while |
| 18 | + other reasons for being active (such as being hardcoded by the game to always |
| 19 | + be active, listed in CCC files, specified as test files in game .ini files, |
| 20 | + identified by .nam files, or activated by other plugins being active) are |
| 21 | + treated as implicitly active. |
| 22 | + |
| 23 | + `WritableLoadOrder::activate()` and `WritableLoadOrder::set_active_plugins()` |
| 24 | + explicitly activate the plugins that they are given. |
| 25 | + |
| 26 | + `WritableLoadOrder::save()`'s behaviour is unchanged, so while it may record |
| 27 | + some implicitly active plugins as explicitly active when writing to |
| 28 | + `plugins.txt` (or equivalent files), it will not make the same changes to |
| 29 | + libloadorder's current state. |
| 30 | +- `WritableLoadOrder::deactivate()` will now error if you try to deactivate a |
| 31 | + plugin that is implicitly activated by another plugin. For example, if the |
| 32 | + game is Starfield and `A.esp` is active, then you can't deactivate |
| 33 | + `BlueprintShips-A.esm`. |
| 34 | +- `WritableLoadOrder::deactivate()` will now also deactivate any other plugins |
| 35 | + that are implicitly active only due to the given plugin. For example, if the |
| 36 | + game is Starfield and `A.esp` is active, then deactivating it will also |
| 37 | + deactivate `BlueprintShips-A.esm`, unless the latter is explicitly active or |
| 38 | + has another reason for being implicitly active (e.g. because `A.esm` is |
| 39 | + active). |
| 40 | + |
6 | 41 | ## [18.6.0] - 2026-03-26 |
7 | 42 |
|
8 | 43 | ### Added |
|
0 commit comments