Update changelogs and version for 0.26.0

This commit is contained in:
Oliver Hamlet
2025-04-19 21:58:39 +01:00
parent 61eeb7ef85
commit 7bbf55cbb7
5 changed files with 92 additions and 7 deletions
+1 -1
View File
@@ -421,7 +421,7 @@ endif()
# Install
########################################
set(LIBLOOT_VERSION "0.25.5")
set(LIBLOOT_VERSION "0.26.0")
set_property(TARGET loot PROPERTY VERSION ${LIBLOOT_VERSION})
set_property(TARGET loot PROPERTY SOVERSION 0)
+50
View File
@@ -2,6 +2,56 @@
Version History
***************
0.26.0 - 2025-04-19
===================
Added
-----
- :cpp:any:`loot::DatabaseInterface::Evaluate()`, which evaluates the given
condition string.
- :cpp:any:`loot::File::GetConstraint()`, which returns the file's constraint
string or an empty string if the file has no constraint.
Changed
-------
- ``Database::LoadLists()`` has been split into
:cpp:any:`loot::DatabaseInterface::LoadMasterlist()`,
:cpp:any:`loot::DatabaseInterface::LoadMasterlistWithPrelude()` and
:cpp:any:`loot::DatabaseInterface::LoadUserlist()`.
- :cpp:any:`loot::GameInterface::GetPlugin()` and
:cpp:any:`loot::GameInterface::GetLoadedPlugins()` now return a plugins as
``std::shared_ptr<const PluginInterface>`` instead of
``const PluginInterface*``.
- :cpp:any:`loot::PluginInterface::GetBashTags()` now returns a
``std::vector<std::string>`` instead of a ``std::vector<Tag>``, as only the
Tag objects' name values were relevant.
- The callback that is passed to :cpp:any:`loot::SetLoggingCallback()` now takes
a ``std::string_view`` instead of a ``const char*`` as its second parameter.
- :cpp:any:`loot::Group::DEFAULT_NAME` and
:cpp:any:`loot::MessageContent::DEFAULT_LANGUAGE` are now ``std::string_view``
instead of ``const char*``.
- API functions that take string arguments now take them as ``std::string_view``
instead of ``const std::string&``, with the exception of
:cpp:any:`loot::GameInterface::IsPluginActive()` and
:cpp:any:`loot::DatabaseInterface::Evaluate()`.
- The :cpp:any:`loot::File` constructor has been updated to allow a constraint
value to be provided.
- libloot now supports v0.26 of the metadata syntax.
- The ``/Zc:__cplusplus`` compiler flag is now set when building libloot using
MSVC.
- The yaml-cpp dependency can no longer be found using CMake's ``find_package``.
It's now possible to point libloot to an existing yaml-cpp source directory
by setting the ``FETCHCONTENT_SOURCE_DIR_YAML-CPP`` CMake variable, so offline
builds are still possible.
- Updated esplugin to v6.1.2.
- Updated fmt to v11.1.4.
- Updated libloadorder to v18.3.0.
- Updated loot-condition-interpreter to v5.3.0.
- Updated spdlog to v1.15.2.
- Updated yaml-cpp to v0.8.0+merge-key-support.2.
0.25.5 - 2025-03-15
===================
+35
View File
@@ -4,6 +4,41 @@ Version History
The version history of the metadata syntax is given below.
0.26 - 2025-04-19
=================
Added
-----
- The ``File`` data structure now has a ``constraint`` key that takes a
condition string that must evaluate to true for the file's existence to be
recognised.
- The ``file_size(file_path path, file_size size)`` condition function, which
returns true if the given file's size matches the given number of bytes, and
false otherwise (including if the file doesn't exist).
- The ``filename_version(regular_expression path, version given_version, comparison_operator comparator)``
condition function, which takes a regex path with a single capture group, a
version string and a comparison operator and returns true if there is a path
that matches the regex path and the value captured by the regex is a version
string for which the comparison against the given version is true. Unlike the
other version functions, it always returns false if it cannot find a version
to compare against the given version, irrespective of the given comparison
operator.
- The ``description_contains(file_path path, regular_expression regex)``
condition function, which takes a path and a regex and returns true if the
given path is a plugin with a description that contains text that matches the
given regex, and false otherwise (including if the path does not exist, is not
a plugin, or has no description).
- The ``is_executable(file_path path)`` condition function, which returns true
if the given path is a Windows executable (PE) file.
Changed
-------
- Line breaks are now accepted as whitespace when parsing condition strings, so
long expressions can be split over multiple lines.
0.21 - 2023-08-30
=================
+2 -2
View File
@@ -34,10 +34,10 @@ namespace loot {
inline constexpr unsigned int LIBLOOT_VERSION_MAJOR = 0;
/** @brief libloot's minor version number. */
inline constexpr unsigned int LIBLOOT_VERSION_MINOR = 25;
inline constexpr unsigned int LIBLOOT_VERSION_MINOR = 26;
/** @brief libloot's patch version number. */
inline constexpr unsigned int LIBLOOT_VERSION_PATCH = 5;
inline constexpr unsigned int LIBLOOT_VERSION_PATCH = 0;
/**
* @brief Get the library version.
+4 -4
View File
@@ -2,8 +2,8 @@
#include <windows.h>
1 VERSIONINFO
FILEVERSION 0, 25, 5, 0
PRODUCTVERSION 0, 25, 5, 0
FILEVERSION 0, 26, 0, 0
PRODUCTVERSION 0, 26, 0, 0
FILEOS VOS__WINDOWS32
FILETYPE VFT_DLL
BEGIN
@@ -13,12 +13,12 @@ BLOCK "040904b0"
BEGIN
VALUE "CompanyName", "LOOT"
VALUE "FileDescription", "Library providing LOOT's core functionality"
VALUE "FileVersion", "0.25.5"
VALUE "FileVersion", "0.26.0"
VALUE "InternalName", "loot"
VALUE "LegalCopyright", "Copyright (C) 2013-2022 Oliver Hamlet"
VALUE "OriginalFilename", "loot.dll"
VALUE "ProductName", "LOOT"
VALUE "ProductVersion", "0.25.5"
VALUE "ProductVersion", "0.26.0"
END
END
BLOCK "VarFileInfo"