Skip to content

Commit

Permalink
Set version number and changelogs for v0.16.0
Browse files Browse the repository at this point in the history
  • Loading branch information
Ortham committed Jul 12, 2020
1 parent 2c02936 commit b4dc6e2
Show file tree
Hide file tree
Showing 4 changed files with 111 additions and 6 deletions.
90 changes: 90 additions & 0 deletions docs/api/changelog.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,96 @@
Version History
***************

0.16.0 - 2020-07-12
===================

Added
-----

- The ``!=``, ``>``, ``<=`` and ``>=`` comparison operators are now implemented
for :cpp:any:`loot::File`, :cpp:any:`loot::Location`,
:cpp:any:`loot::Message`, :cpp:any:`loot::MessageContent`,
:cpp:any:`loot::PluginCleaningData` and :cpp:any:`loot::Tag`.
- The ``!=``, ``<``, ``>``, ``<=`` and ``>=`` comparison operators are now
implemented for :cpp:any:`loot::Group`.
- A new :cpp:any:`Filename` class for representing strings handled as
case-insensitive filenames.
- ``PluginMetadata::NameMatches()`` checks if the given plugin filename matches
the plugin name of the metadata object it is called on. If the plugin metadata
name is a regular expression, the given plugin filename will be matched
against it, otherwise the comparison is case-insensitive equality.


Changed
-------

- ``File::GetName()`` now returns a :cpp:any:`Filename` instead of a
``std::string``.
- :cpp:any:`GetGroups()` and :cpp:any:`GetUserGroups()` now return
``std::vector<Group>`` instead of ``std::unordered_set<Group>``.
- :cpp:any:`SetUserGroups()` now takes a ``const std::vector<Group>&`` instead
of a ``const std::unordered_set<std::string>&``.
- :cpp:any:`loot::Group`'s three-argument constructor now takes a
``const std::vector<std::string>&`` instead of a
``const std::unordered_set<std::string>&`` as its second parameter.
- :cpp:any:`GetAfterGroups()` now returns a ``std::vector<std::string>``
instead of a ``std::unordered_set<std::string>``.
- ``std::set<>`` usage has been replaced by ``std::vector<>`` throughout the
public API. This affects the following functions:

- ``PluginInterface::GetBashTags()``
- ``DatabaseInterface::GetKnownBashTags()``
- ``GameInterface::GetLoadedPlugins()``
- ``PluginMetadata::GetLoadAfterFiles()``
- ``PluginMetadata::SetLoadAfterFiles()``
- ``PluginMetadata::GetRequirements()``
- ``PluginMetadata::SetRequirements()``
- ``PluginMetadata::GetIncompatibilities()``
- ``PluginMetadata::SetIncompatibilities()``
- ``PluginMetadata::GetTags()``
- ``PluginMetadata::SetTags()``
- ``PluginMetadata::GetDirtyInfo()``
- ``PluginMetadata::SetDirtyInfo()``
- ``PluginMetadata::GetCleanInfo()``
- ``PluginMetadata::SetCleanInfo()``
- ``PluginMetadata::GetLocations()``
- ``PluginMetadata::SetLocations()``

- :cpp:any:`loot::File`, :cpp:any:`loot::Location`, :cpp:any:`loot::Message`,
:cpp:any:`loot::MessageContent`, :cpp:any:`loot::PluginCleaningData`,
:cpp:any:`loot::Tag` and :cpp:any:`loot::Group` now implement their comparison
operators by comparing all their fields (including inherited fields), using
the same operator for the fields. For example, comparing two
:cpp:any:`loot::File` objects using ``==`` will now compare each of their
fields using ``==``.
- When loading plugins, the speed at which LOOT identifies their corresponding
archive files (``*.bsa`` or ``.ba2``, depending on the game) has been
improved.


Removed
-------

- ``PluginMetadata::IsEnabled()`` and ``PluginMetadata::SetEnabled()``, as it is
no longer possible to disable plugin metadata (though doing so never had any
effect).
- :cpp:any:`PluginMetadata` no longer implements the ``==`` or ``!=`` comparison
operators.
- ``std::hash`` is no longer specialised for :cpp:any:`loot::Group`.

Fixed
-----

- :cpp:any:`LoadsArchive()` now correctly identifies the BSAs that a Skyrim SE
or Skyrim VR loads. This assumes that Skyrim VR plugins load BSAs in the same
way as Skyrim SE. Previously LOOT would use the same rules as the Fallout
games for Skyrim SE or VR, which was incorrect.
- Some operations involving loaded plugins or copies of game interface objects
could potentially cause data races due to a lack of mutex locking in some data
read operations.
- Copying a game interface object did not copy its cached archive files, leaving
the new copy with no cached archive files.

0.15.2 - 2020-06-14
===================

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

The version history of the metadata syntax is given below.

0.16 - 2020-07-12
=================

Changed
-------

- Equality for all metadata data structures is now determined by comparison of
all their fields. String comparison is case-sensitive, with the exception of
``File``'s ``name`` field.

Removed
-------

- The ``enabled`` field has been removed from plugin metadata objects.

0.15 - 2019-11-05
=================

Expand Down
4 changes: 2 additions & 2 deletions src/api/loot_version.cpp.in
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@

namespace loot {
const unsigned int LootVersion::major = 0;
const unsigned int LootVersion::minor = 15;
const unsigned int LootVersion::patch = 2;
const unsigned int LootVersion::minor = 16;
const unsigned int LootVersion::patch = 0;
const std::string LootVersion::revision = "@GIT_COMMIT_STRING@";

LOOT_API std::string LootVersion::GetVersionString() {
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, 15, 2, 0
PRODUCTVERSION 0, 15, 2, 0
FILEVERSION 0, 16, 0, 0
PRODUCTVERSION 0, 16, 0, 0
FILEOS VOS__WINDOWS32
FILETYPE VFT_APP
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904b0"
BEGIN
VALUE "FileVersion", "0.15.2"
VALUE "FileVersion", "0.16.0"
VALUE "LegalCopyright", "Copyright (C) 2013-2016 WrinklyNinja"
VALUE "ProductVersion", "0.15.2"
VALUE "ProductVersion", "0.16.0"
END
END
BLOCK "VarFileInfo"
Expand Down

0 comments on commit b4dc6e2

Please sign in to comment.