Update changelog

This commit is contained in:
Oliver Hamlet
2025-06-11 22:01:33 +01:00
parent 2f683a51d5
commit aaacebefa0
+33 -14
View File
@@ -5,23 +5,42 @@ Version History
0.28.0 - Unreleased
===================
Added
-----
- Many new third-party dependencies, which are all managed by Cargo. Future
updates to direct dependencies will be recorded in this changelog: the Git
history of ``Cargo.lock`` will provide a record of changes to the whole
dependency tree.
Changed
-------
- :cpp:any:`loot::DatabaseInterface::LoadMasterlist()`,
:cpp:any:`loot::DatabaseInterface::LoadMasterlistWithPrelude()` and
:cpp:any:`loot::DatabaseInterface::LoadUserlist()` now throw
``std::runtime_error`` exceptions instead of ``YAML::RepresentationException``
(which was a grandchild of ``std::runtime_error``) when there is a error
parsing metadata YAML.
- When :cpp:any:`loot::DatabaseInterface::WriteUserMetadata()` or
:cpp:any:`loot::DatabaseInterface::WriteMinimalList()` are called with an
output path that has a parent path that does not exist, they now throw a
``std::runtime_error`` instead of a ``std::invalid_argument``.
- When :cpp:any:`loot::DatabaseInterface::GetGroupsPath()` is given a group name
that is undefined, it now throws a :cpp:any:`loot::UndefinedGroupError`
instead of a ``std::invalid_argument``.
- Many exception messages have changed.
- Most of libloot has been reimplemented in Rust instead of C++, with the C++
API now a thin wrapper around the Rust implementation. The C++ ABI and the
documented C++ API are unchanged, though there have been changes to many of
the exceptions that are thrown when errors are encountered.
- :cpp:any:`loot::DatabaseInterface::LoadMasterlist()`,
:cpp:any:`loot::DatabaseInterface::LoadMasterlistWithPrelude()` and
:cpp:any:`loot::DatabaseInterface::LoadUserlist()` now throw
``std::runtime_error`` exceptions instead of
``YAML::RepresentationException`` (which was a grandchild of
``std::runtime_error``) when there is a error parsing metadata YAML.
- When :cpp:any:`loot::DatabaseInterface::WriteUserMetadata()` or
:cpp:any:`loot::DatabaseInterface::WriteMinimalList()` are called with an
output path that has a parent path that does not exist, they now throw a
``std::runtime_error`` instead of a ``std::invalid_argument``.
- When :cpp:any:`loot::DatabaseInterface::GetGroupsPath()` is given a group
name that is undefined, it now throws a :cpp:any:`loot::UndefinedGroupError`
instead of a ``std::invalid_argument``.
- Many exception messages have changed.
Removed
-------
- The Boost, ICU, TBB, fmt, spdlog and yaml-cpp library dependencies.
- cbindgen is no longer used by the build process.
0.27.0 - 2025-06-08
===================