What's Changed
This update doesn't bring a lot of new things, instead lots of work has gone into further improving stability and usability. Documentation has been expanded a lot and lots of models now have doc comments, however there are also still a lot of models that do not have doc comments as it's still an ongoing process of adding these to everything.
State has also seen some major changes in how events are processed. Some fields have moved around a bit, but overall changes are mostly in the internal code.
There have also been some changes to better support pre-v4 log files. This includes some defaults and some fields that have been made optional. Some events that have larges differences have been given a legacy variant which is behind a new feature flag called legacy. Note however that these are just a best-effort endeavor and might not always yield correct results or might not parse at all.
Lastly as always there have been fixes and changes to allow for better log parsing. Most of these changes and fixes have been contributed by various (new) contributors. Thank you!
Change log
- Added doc comments to a lot of models. This is still an on-going effort though and there is still a lot of work to be done, but this will come in the future.
- Added better support for pre-v4 logs by @BafDyce. Some events have been given defaults, some have been made optional and some legacy events have been added behind the new
legacyfeature flag. - Major changes to how state works internally which makes the different versions of state less dependent on each other. As a part of this some fields have moved around a bit, specifically moving information related to commanders out of the
LogStateand into bothGameStateandJournalStateindividually. - Added missing variant
PrisontoEconomyenum by @technologicalMayhem, - Added missing variant
CivilisationstoCodexEntryEventCategoryenum by @technologicalMayhem, - Added missing variant
ThargoidtoCodexEntryEventCategoryenum by @technologicalMayhem, - Added missing variant
UnknownUplinktoDataScannedEventTypeenum by @technologicalMayhem, - Added missing variants
OutbreakStationIncreaseandOutbreakStationDecreasetoMissionCompletedEventFactionEffectenum by @technologicalMayhem, - Major changes to how codex entries are handles which should specifically improve parsing the
CodexEntryEvent. Not all entries are matched though; progress is tracked in #91 - Removed
strictfeature flag and replaced it withallow-unknownfeature flag. This means that loose handling of variants can now be enabled without needing to disable default features. - Some enums have been given the non_exhaustive flag which should improve compatibility when changes are made between versions of ED. This is disabled however when using the
allow-unknownfeature as in that case those are covered by the unknown variants. - Renamed
smallmodule topartialsand renamed structs to start with 'Partial' instead of 'Small'. - Renamed
is_livefield ofLogDirReadertoreading_latest. - Fixed some enums related to Odyssey suits not being correctly matched by @qiaoruntao
- Fixed two fields in
CarrierFinanceEventto allow for negative values for when a carrier is in debt by @qiaoruntao - Fixed some incorrect base credit values for some species.
- Species parsing is now case insensitive.
- Optimized spawn conditions
- Lots of models now have the
SerializeandClonetraits derived.
New Contributors
- @BafDyce made their first contribution in #93
- @qiaoruntao made their first contribution in #99
Full Changelog: 0.5.1...0.6.0