Files
loot-condition-interpreter/CHANGELOG.md
T

154 lines
4.5 KiB
Markdown
Raw Normal View History

2018-10-23 21:04:13 +01:00
# Changelog
2020-10-23 23:05:32 +01:00
## [2.1.2] - 2020-10-23
### Fixed
- Version `0.1.1` of `pelite-macros` (a dependency of the `pelite` dependency)
broke the ability to build `pelite` v0.8.x without pinning the version of
`pelite-macros` used.
### Changed
- Updated pelite to v0.9.0.
- Updated cbindgen to v0.15.
2020-06-13 23:46:36 +01:00
## [2.1.1] - 2020-06-13
### Changed
- Checksum calculations are now much faster for larger files.
- Directory paths are now handled more gracefully in `checksum()`, `version()` and `product_version()` conditions.
- Resolved some `rustc` deprecation warnings by replacing usage of `std::error::Error`'s `description()` function with `to_string()`.
- Updated cbindgen to v0.14.
- Updated pelite to v0.8.0.
2019-10-05 11:52:09 +01:00
## [2.1.0] - 2019-10-05
### Added
- Support for an `is_master(file path)` condition function that returns true if
the given file path is a master plugin, and false otherwise.
2019-07-23 19:15:35 +01:00
## [2.0.1] - 2019-07-23
### Fixed
- Regular expressions are now prefixed with `^` and suffixed with `$` to ensure
that only exact matches to the given expression are found.
2019-06-30 11:23:13 +01:00
## [2.0.0] - 2019-06-30
### Added
- A cbindgen configuration file at `ffi/cbindgen.toml` so that cbindgen can now
be run as `cbindgen ffi/ -o ffi/include/loot_condition_interpreter.h`.
### Changed
- The `ParsingError` enum has been renamed to `ParsingErrorKind`, and its
`Unknown(u32)` variant has been replaced by a `GenericParserError(String)`
variant.
- The `Error::GenericParsingError` and `Error::CustomParsingError` variants have
been combined into a single `Error::ParsingError(String, ParsingErrorKind)`
variant.
- `GameType` variants have been renamed to use fewer acronyms:
- `Tes4` -> `Oblivion`
- `Tes5` -> `Skyrim`
- `Tes5se` -> `SkyrimSE`
- `Tes5vr` -> `SkyrimVR`
- `Fo3` -> `Fallout3`
- `Fonv` -> `FalloutNV`
- `Fo4` -> `Fallout4`
- `Fo4vr` -> `Fallout4VR`
- `Tes3` -> `Morrowind`
- The `LCI_GAME_*` constants have been renamed to match the new `GameType`
names:
- `LCI_GAME_TES4` -> `LCI_GAME_OBLIVION`
- `LCI_GAME_TES5` -> `LCI_GAME_SKYRIM`
- `LCI_GAME_TES5SE` -> `LCI_GAME_SKYRIM_SE`
- `LCI_GAME_TES5VR` -> `LCI_GAME_SKYRIM_VR`
- `LCI_GAME_FO3` -> `LCI_GAME_FALLOUT_3`
- `LCI_GAME_FNV` -> `LCI_GAME_FALLOUT_NV`
- `LCI_GAME_FO4` -> `LCI_GAME_FALLOUT_4`
- `LCI_GAME_FO4VR` -> `LCI_GAME_FALLOUT_4_VR`
- `LCI_GAME_TES3` -> `LCI_GAME_MORROWIND`
- The C header generated by cbindgen can now be used from C++.
- Updated nom to v5.
- Updated cbindgen to v0.9.
- Updated code to Rust 2018 syntax.
### Removed
- The C++ header `loot_condition_interpreter.hpp` is no longer generated by
cbindgen. Include `loot_condition_interpreter.h` instead.
### Fixed
- Evaluating `version()` and `product_version()` conditions will no longer error
if the given executable has no version fields. Instead, it will be evaluated
as having no version.
2019-04-07 12:25:40 +01:00
## [1.3.0] - 2019-04-07
### Added
- Support for Morrowind using ``GameType::tes3``.
2019-01-26 09:50:40 +00:00
## [1.2.2] - 2019-01-26
### Fixed
- `file(<regex>)`, `active(<regex>)`, `many(<regex>)` and `many_active(<regex>)`
did not parse the closing `)`, causing any remaining input to be skipped.
## Changed
- Parsing expressions will now fail if it does not consume all the given input.
## [1.2.1] - 2019-01-20
2019-01-20 00:47:21 +00:00
### Fixed
- Parsing error when reading the version fields of an executable that did not
have any US English version info. Reading executables' version fields now uses
the first version info structure instead of attempting to read the US English
version info structure.
2018-12-22 23:51:01 +00:00
## [1.2.0] - 2018-12-22
### Added
- Support for parsing version strings that match the regular expression
`\d+, \d+, \d+, \d+`.
### Changed
- An executable's product version is now read from the `ProductVersion` field in
the executable's `VS_VERSIONINFO` structure, not from the product version
fields in the `VS_FIXEDFILEINFO` structure. This is so that the version read
matches the version displayed by Windows' File Explorer.
2018-11-14 21:17:59 +00:00
## [1.1.1] - 2018-11-14
### Fixed
- Parsing error caused by using `>=` or `<=` as the comparator in version
functions.
- Parsing error when encountering backslashes in a version or checksum
function's path argument.
- Parsing error when parentheses around expressions are padded with whitespace.
2018-10-23 21:04:13 +01:00
## [1.1.0] - 2018-10-23
### Added
- Support for `product_version()` condition functions, e.g.
`product_version("file.exe", "1.0.0", ==)`. It will read the product version
field of the executable at the given path, or error if the given path does not
point to an executable.
## [1.0.0] - 2018-10-21
Initial release