-
Breaking: Marked
CompatibilityCode,ValidationCode,IssueKind, andFormatIdas#[non_exhaustive]to make room for future variants without repeated semver breaks. -
Changing
mercenary.idbetween0(no mercenary hired) and nonzero (mercenary hired) now reports a blocking compatibility issue underCompatibilityChecks::Enforce, because Halbu does not yet rewrite the mercenary item subsection inside the raw item tail. -
Fixed mercenary encoding to zero the full mercenary header block when no mercenary is hired.
-
Added parse and validation coverage for ghost mercenary data on non-hired mercenaries.
-
Added regression tests around mercenary hire-state handling.
-
Removed an over-broad quest-state validation check on prologue/completion markers.
- Fixed a bugged difficulty unlock warning by accepting
CompletedBeforeas a quest completion marker. - Reworked progression validation to use a difficulty floor instead of requiring an exact normalized value.
- Added a real high level save as a regression fixture to keep the save parse and validation checks clean.
- Removed unused
logdependency.
- Added optional save validation reports, separate from encoding.
- Added RotW support.
- Added v99/v105 coverage.
- Added Warlock support and moved named skills to a separate module.
- Split format, edition, and expansion concepts more cleanly.
- Added save summaries.
- Exposed checksum metadata in parsed saves.
- Added compatibility rules and forced encode handling.
- Added a best-effort save game edition hint.
- Added examples.