Skip to content

Commit

Permalink
Update version and changelogs for v0.18.0 release
Browse files Browse the repository at this point in the history
  • Loading branch information
Ortham committed Feb 27, 2022
1 parent 24f2635 commit 632b85c
Show file tree
Hide file tree
Showing 4 changed files with 122 additions and 6 deletions.
92 changes: 92 additions & 0 deletions docs/api/changelog.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,98 @@
Version History
***************

0.18.0 - 2022-02-27
===================

Added
-----

- :cpp:any:`loot::Group::DEFAULT_NAME` gives the default group name as a
compile-time constant.
- :cpp:any:`loot::ToSimpleMessages()` turns a ``std::vector<Message>`` into a
``std::vector<SimpleMessage>`` for a given language.
- :cpp:any:`loot::GameInterface::IsLoadOrderAmbiguous()` exposes libloadorder's
``lo_is_ambiguous()`` function.

Fixed
-----

- :cpp:any:`loot::SimpleMessage` now uses an in-class initialiser to ensure that
its ``type`` member variable is always initialised.
- Added missing virtual destructors to :cpp:any:`loot::GameInterface`,
:cpp:any:`loot::DatabaseInterface` and :cpp:any:`loot::PluginInterface`.
- Two versions that only differ by the presence and absence of pre-release
identifiers were not correctly compared according to Semantic Versioning,
which states that 1.0.0-alpha is less than 1.0.0. Via
loot-condition-interpreter.
- Some missing API documentation and formatting issues.

Changed
-------

- :cpp:any:`loot::CreateGameHandle()` now returns a
``std::unique_ptr<GameInterface>`` instead of a
``std::shared_ptr<GameInterface>``.
- :cpp:any:`loot::GameInterface::GetDatabase()` now returns a
``DatabaseInterface&`` instead of a ``std::shared_ptr<DatabaseInterface>``.
- :cpp:any:`loot::GameInterface::GetPlugin()` now returns a
``const PluginInterface*`` instead of a
``std::shared_ptr<const PluginInterface>``.
- :cpp:any:`loot::GameInterface::GetLoadedPlugins()` now returns a
``std::vector<const PluginInterface*>`` instead of a
``std::vector<std::shared_ptr<const PluginInterface>>``.
- ``MessageContent::defaultLanguage`` has been replaced with
:cpp:any:`loot::MessageContent::DEFAULT_LANGUAGE`, which is a compile-time
constant.
- ``File::ChooseDetail()``,
``Message::GetContent(const std::string& language)``,
``MessageContent::Choose()`` and ``PluginCleaningData::ChooseDetail()`` have
been replaced with :cpp:any:`loot::SelectMessageContent`.
- ``Message::ToSimpleMessage()`` has been replaced with
:cpp:any:`loot::ToSimpleMessage()`.
- ``LootVersion`` has been replaced with :cpp:any:`loot::LIBLOOT_VERSION_MAJOR`,
:cpp:any:`loot::LIBLOOT_VERSION_MINOR`,
:cpp:any:`loot::LIBLOOT_VERSION_PATCH`, :cpp:any:`loot::GetLiblootVersion()`
and :cpp:any:`loot::GetLiblootRevision()`.
- :cpp:any:`loot::File::GetDisplayName()` is now a trivial accessor that only
ever returns the value of the display name member variable and performs no
character escaping.
- :cpp:any:`loot::CyclicInteractionError` and
:cpp:any:`loot::UndefinedGroupError` have had their ``const`` member variables
made non-``const``.
- :cpp:any:`loot::ConditionalMetadata`, :cpp:any:`loot::File`,
:cpp:any:`loot::Filename`, :cpp:any:`loot::Group`, :cpp:any:`loot::Location`,
:cpp:any:`loot::Message`, :cpp:any:`loot::MessageContent`,
:cpp:any:`loot::PluginCleaningData`, :cpp:any:`loot::PluginMetadata` and
:cpp:any:`loot::Tag` have had their user-defined default constructors replaced
by use of in-class initialisers and defaulted default constructors.
- The ``<`` and ``==`` operator overloads for :cpp:any:`loot::File`,
:cpp:any:`loot::Group`, :cpp:any:`loot::Location`, :cpp:any:`loot::Message`,
:cpp:any:`loot::MessageContent`, :cpp:any:`loot::PluginCleaningData` and
:cpp:any:`loot::Tag` have become non-member functions.
- The performance of :cpp:any:`loot::PluginMetadata::NameMatches()` has been
greatly improved by not constructing a new regex object every time the
function is called.
- Mentions of GitHub Flavored Markdown have been replaced with CommonMark, as
LOOT now uses the latter instead of the former.
- Updated loot-condition-interpreter to v2.3.0.

Removed
-------

- ``ConditionalMetadata::ParseCondition()``
- ``PluginMetadata::NewMetadata()``
- All Git-related functionality has been removed, including the libgit2
dependency and the following API items:

- ``loot::UpdateFile()``
- ``loot::GetFileRevision()``
- ``loot::IsLatestFile()``
- ``loot::libgit2_category()``
- ``loot::GitStateError``
- ``loot::FileRevision``


0.17.3 - 2022-01-02
===================

Expand Down
24 changes: 24 additions & 0 deletions docs/metadata/changelog.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,30 @@ Version History

The version history of the metadata syntax is given below.

0.18 - 2022-02-27
=================

Added
-----

- The condition function ``readable(filesystem_path path)``, which checks if
the given path is a readable directory or file.

Changed
-------

- The documentation for the version comparison condition functions has been
updated to detail the supported version syntax and semantics.
- Mentions of GitHub Flavored Markdown have been replaced with CommonMark, as
LOOT now uses the latter instead of the former.

Fixed
-----

- Support for ``not (<expression>)`` syntax was not properly documented.
- The documentation for the version comparison functions stated that missing
versions would be treated as if they were ``0``, which was not accurate.

0.17 - 2021-09-24
=================

Expand Down
4 changes: 2 additions & 2 deletions include/loot/loot_version.h
Original file line number Diff line number Diff line change
Expand Up @@ -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 = 17;
inline constexpr unsigned int LIBLOOT_VERSION_MINOR = 18;

/** @brief libloot's patch version number. */
inline constexpr unsigned int LIBLOOT_VERSION_PATCH = 3;
inline constexpr unsigned int LIBLOOT_VERSION_PATCH = 0;

/**
* @brief Get the library version.
Expand Down
8 changes: 4 additions & 4 deletions src/api/resource.rc
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,18 @@
#include <windows.h>

1 VERSIONINFO
FILEVERSION 0, 17, 3, 0
PRODUCTVERSION 0, 17, 3, 0
FILEVERSION 0, 18, 0, 0
PRODUCTVERSION 0, 18, 0, 0
FILEOS VOS__WINDOWS32
FILETYPE VFT_APP
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904b0"
BEGIN
VALUE "FileVersion", "0.17.3"
VALUE "FileVersion", "0.18.0"
VALUE "LegalCopyright", "Copyright (C) 2013-2016 WrinklyNinja"
VALUE "ProductVersion", "0.17.3"
VALUE "ProductVersion", "0.18.0"
END
END
BLOCK "VarFileInfo"
Expand Down

0 comments on commit 632b85c

Please sign in to comment.