Merge branch 'master' of https://github.com/GriffinRichards/porymap into window-closing

This commit is contained in:
GriffinR 2024-07-15 14:19:00 -04:00
commit 3fa06229aa
38 changed files with 2028 additions and 1069 deletions

View file

@ -58,7 +58,7 @@ jobs:
- name: Install Qt
uses: jurplel/install-qt-action@v3
with:
version: '6.2.*'
version: '6.5.*'
cached: ${{ steps.cache-qt.outputs.cache-hit }}
- name: Configure

View file

@ -7,6 +7,19 @@ and this project somewhat adheres to [Semantic Versioning](https://semver.org/sp
The **"Breaking Changes"** listed below are changes that have been made in the decompilation projects (e.g. pokeemerald), which porymap requires in order to work properly. It also includes changes to the scripting API that may change the behavior of existing porymap scripts. If porymap is used with a project or API script that is not up-to-date with the breaking changes, then porymap will likely break or behave improperly.
## [Unreleased]
### Fixed
- Fix `Add Region Map...` not updating the region map settings file.
- Fix some crashes on invalid region map tilesets.
- Improve error reporting for invalid region map editor settings.
## [5.4.1] - 2024-03-21
### Fixed
- Fix object event sprites not loading for some struct data formats.
## [5.4.0] - 2024-02-13
### Added
- Add a `Check for Updates` option to show new releases (Windows and macOS only).
### Changed
- If Wild Encounters fail to load they are now only disabled for that session, and the settings remain unchanged.
- Defaults are used if project constants are missing, rather than failing to open the project or changing settings.
@ -474,7 +487,9 @@ The **"Breaking Changes"** listed below are changes that have been made in the d
## [1.0.0] - 2018-10-26
This was the initial release.
[Unreleased]: https://github.com/huderlem/porymap/compare/5.3.0...HEAD
[Unreleased]: https://github.com/huderlem/porymap/compare/5.4.1...HEAD
[5.4.1]: https://github.com/huderlem/porymap/compare/5.4.0...5.4.1
[5.4.0]: https://github.com/huderlem/porymap/compare/5.3.0...5.4.0
[5.3.0]: https://github.com/huderlem/porymap/compare/5.2.0...5.3.0
[5.2.0]: https://github.com/huderlem/porymap/compare/5.1.1...5.2.0
[5.1.1]: https://github.com/huderlem/porymap/compare/5.1.0...5.1.1

View file

@ -1,5 +1,5 @@
Version: 5.3.0
Date: January 15th, 2024
Version: 5.4.1
Date: March 21st, 2024
This version of porymap works with pokeruby and pokeemerald as of the following commit hashes:
* pokeemerald: c76beed98990a57c84d3930190fd194abfedf7e8
@ -12,6 +12,26 @@ Please report any issues on GitHub: [https://github.com/huderlem/porymap/issues]
-------------------------
## [5.4.1] - 2024-03-21
### Fixed
- Fix object event sprites not loading for some struct data formats.
## [5.4.0] - 2024-02-13
### Added
- Add a `Check for Updates` option to show new releases (Windows and macOS only).
### Changed
- If Wild Encounters fail to load they are now only disabled for that session, and the settings remain unchanged.
- Defaults are used if project constants are missing, rather than failing to open the project or changing settings.
- Selector images now center on the selection when eyedropping or zooming.
### Fixed
- Fix some minor visual issues with the various zoom sliders.
- Smooth out scrolling when mouse is over tile/metatile images.
- Fix the Tileset Editor selectors getting extra white space when changing tilesets.
- Fix a crash when adding disabled events with the Pencil tool.
- Fix error log about failing to find the scripts file when a new map is created.
## [5.3.0] - 2024-01-15
### Added
- Add zoom sliders to the Tileset Editor.

View file

@ -9,6 +9,26 @@ The **"Breaking Changes"** listed below are changes that have been made in the d
## [Unreleased]
Nothing, yet.
## [5.4.1] - 2024-03-21
### Fixed
- Fix object event sprites not loading for some struct data formats.
## [5.4.0] - 2024-02-13
### Added
- Add a `Check for Updates` option to show new releases (Windows and macOS only).
### Changed
- If Wild Encounters fail to load they are now only disabled for that session, and the settings remain unchanged.
- Defaults are used if project constants are missing, rather than failing to open the project or changing settings.
- Selector images now center on the selection when eyedropping or zooming.
### Fixed
- Fix some minor visual issues with the various zoom sliders.
- Smooth out scrolling when mouse is over tile/metatile images.
- Fix the Tileset Editor selectors getting extra white space when changing tilesets.
- Fix a crash when adding disabled events with the Pencil tool.
- Fix error log about failing to find the scripts file when a new map is created.
## [5.3.0] - 2024-01-15
### Added
- Add zoom sliders to the Tileset Editor.
@ -464,7 +484,9 @@ Nothing, yet.
## [1.0.0] - 2018-10-26
This was the initial release.
[Unreleased]: https://github.com/huderlem/porymap/compare/5.3.0...HEAD
[Unreleased]: https://github.com/huderlem/porymap/compare/5.4.1...HEAD
[5.4.1]: https://github.com/huderlem/porymap/compare/5.4.0...5.4.1
[5.4.0]: https://github.com/huderlem/porymap/compare/5.3.0...5.4.0
[5.3.0]: https://github.com/huderlem/porymap/compare/5.2.0...5.3.0
[5.2.0]: https://github.com/huderlem/porymap/compare/5.1.1...5.2.0
[5.1.1]: https://github.com/huderlem/porymap/compare/5.1.0...5.1.1

View file

@ -219,124 +219,134 @@
<ul>
<li class="toctree-l1"><a class="reference internal" href="reference/changelog.html">Changelog</a><ul>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#unreleased">Unreleased</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id1">5.3.0 - 2024-01-15</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#added">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#changed">Changed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id1">5.4.1 - 2024-03-21</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#fixed">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id2">5.2.0 - 2024-01-02</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id3">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id4">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id5">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id2">5.4.0 - 2024-02-13</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#added">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#changed">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id3">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id6">5.1.1 - 2023-02-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id7">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id8">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id9">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id4">5.3.0 - 2024-01-15</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id5">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id6">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id7">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id10">5.1.0 - 2023-01-22</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id11">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id12">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id13">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id8">5.2.0 - 2024-01-02</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id9">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id10">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id11">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id14">5.0.0 - 2022-10-30</a><ul>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id12">5.1.1 - 2023-02-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id13">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id14">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id15">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id16">5.1.0 - 2023-01-22</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id17">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id18">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id19">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id20">5.0.0 - 2022-10-30</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#breaking-changes">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id15">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id16">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id17">Fixed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id21">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id22">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id23">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id18">4.5.0 - 2021-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id19">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id20">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id21">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id24">4.5.0 - 2021-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id25">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id26">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id27">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id22">4.4.0 - 2020-12-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id23">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id24">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id25">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id28">4.4.0 - 2020-12-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id29">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id30">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id31">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id26">4.3.1 - 2020-07-17</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id27">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id28">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id29">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id32">4.3.1 - 2020-07-17</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id33">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id34">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id35">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id30">4.3.0 - 2020-06-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id31">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id32">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id33">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id36">4.3.0 - 2020-06-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id37">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id38">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id39">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id34">4.2.0 - 2020-06-06</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id35">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id36">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id37">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id40">4.2.0 - 2020-06-06</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id41">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id42">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id43">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id38">4.1.0 - 2020-05-18</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id39">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id40">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id41">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id44">4.1.0 - 2020-05-18</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id45">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id46">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id47">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id42">4.0.0 - 2020-04-28</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id43">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id44">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id45">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id46">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id48">4.0.0 - 2020-04-28</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id49">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id50">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id51">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id52">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id47">3.0.1 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id48">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id53">3.0.1 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id54">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id49">3.0.0 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id50">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id51">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id52">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id53">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id55">3.0.0 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id56">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id57">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id58">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id59">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id54">2.0.0 - 2019-10-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id55">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id56">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id57">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id58">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id60">2.0.0 - 2019-10-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id61">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id62">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id63">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id64">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id59">1.2.2 - 2019-05-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id60">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id61">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id62">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id65">1.2.2 - 2019-05-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id66">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id67">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id68">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id63">1.2.1 - 2019-02-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id64">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id65">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id69">1.2.1 - 2019-02-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id70">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id71">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id66">1.2.0 - 2019-02-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id67">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id68">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id69">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id70">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id72">1.2.0 - 2019-02-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id73">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id74">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id75">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id76">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id71">1.1.0 - 2018-12-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id72">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id73">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id74">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id75">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id77">1.1.0 - 2018-12-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id78">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id79">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id80">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id81">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id76">1.0.0 - 2018-10-26</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id82">1.0.0 - 2018-10-26</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="reference/related-projects.html">Related Projects</a></li>

View file

@ -219,124 +219,134 @@
<ul>
<li class="toctree-l1"><a class="reference internal" href="reference/changelog.html">Changelog</a><ul>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#unreleased">Unreleased</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id1">5.3.0 - 2024-01-15</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#added">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#changed">Changed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id1">5.4.1 - 2024-03-21</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#fixed">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id2">5.2.0 - 2024-01-02</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id3">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id4">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id5">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id2">5.4.0 - 2024-02-13</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#added">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#changed">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id3">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id6">5.1.1 - 2023-02-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id7">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id8">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id9">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id4">5.3.0 - 2024-01-15</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id5">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id6">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id7">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id10">5.1.0 - 2023-01-22</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id11">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id12">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id13">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id8">5.2.0 - 2024-01-02</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id9">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id10">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id11">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id14">5.0.0 - 2022-10-30</a><ul>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id12">5.1.1 - 2023-02-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id13">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id14">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id15">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id16">5.1.0 - 2023-01-22</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id17">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id18">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id19">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id20">5.0.0 - 2022-10-30</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#breaking-changes">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id15">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id16">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id17">Fixed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id21">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id22">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id23">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id18">4.5.0 - 2021-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id19">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id20">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id21">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id24">4.5.0 - 2021-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id25">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id26">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id27">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id22">4.4.0 - 2020-12-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id23">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id24">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id25">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id28">4.4.0 - 2020-12-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id29">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id30">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id31">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id26">4.3.1 - 2020-07-17</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id27">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id28">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id29">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id32">4.3.1 - 2020-07-17</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id33">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id34">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id35">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id30">4.3.0 - 2020-06-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id31">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id32">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id33">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id36">4.3.0 - 2020-06-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id37">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id38">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id39">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id34">4.2.0 - 2020-06-06</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id35">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id36">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id37">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id40">4.2.0 - 2020-06-06</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id41">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id42">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id43">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id38">4.1.0 - 2020-05-18</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id39">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id40">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id41">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id44">4.1.0 - 2020-05-18</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id45">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id46">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id47">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id42">4.0.0 - 2020-04-28</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id43">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id44">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id45">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id46">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id48">4.0.0 - 2020-04-28</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id49">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id50">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id51">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id52">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id47">3.0.1 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id48">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id53">3.0.1 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id54">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id49">3.0.0 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id50">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id51">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id52">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id53">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id55">3.0.0 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id56">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id57">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id58">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id59">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id54">2.0.0 - 2019-10-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id55">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id56">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id57">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id58">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id60">2.0.0 - 2019-10-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id61">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id62">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id63">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id64">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id59">1.2.2 - 2019-05-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id60">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id61">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id62">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id65">1.2.2 - 2019-05-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id66">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id67">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id68">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id63">1.2.1 - 2019-02-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id64">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id65">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id69">1.2.1 - 2019-02-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id70">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id71">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id66">1.2.0 - 2019-02-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id67">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id68">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id69">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id70">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id72">1.2.0 - 2019-02-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id73">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id74">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id75">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id76">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id71">1.1.0 - 2018-12-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id72">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id73">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id74">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id75">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id77">1.1.0 - 2018-12-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id78">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id79">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id80">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id81">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id76">1.0.0 - 2018-10-26</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id82">1.0.0 - 2018-10-26</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="reference/related-projects.html">Related Projects</a></li>
@ -519,26 +529,28 @@
<ul>
<li class="toctree-l1"><a class="reference internal" href="reference/changelog.html">Changelog</a><ul>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#unreleased">Unreleased</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id1">5.3.0 - 2024-01-15</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id2">5.2.0 - 2024-01-02</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id6">5.1.1 - 2023-02-20</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id10">5.1.0 - 2023-01-22</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id14">5.0.0 - 2022-10-30</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id18">4.5.0 - 2021-12-26</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id22">4.4.0 - 2020-12-20</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id26">4.3.1 - 2020-07-17</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id30">4.3.0 - 2020-06-27</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id34">4.2.0 - 2020-06-06</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id38">4.1.0 - 2020-05-18</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id42">4.0.0 - 2020-04-28</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id47">3.0.1 - 2020-03-04</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id49">3.0.0 - 2020-03-04</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id54">2.0.0 - 2019-10-16</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id59">1.2.2 - 2019-05-16</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id63">1.2.1 - 2019-02-16</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id66">1.2.0 - 2019-02-04</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id71">1.1.0 - 2018-12-27</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id76">1.0.0 - 2018-10-26</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id1">5.4.1 - 2024-03-21</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id2">5.4.0 - 2024-02-13</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id4">5.3.0 - 2024-01-15</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id8">5.2.0 - 2024-01-02</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id12">5.1.1 - 2023-02-20</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id16">5.1.0 - 2023-01-22</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id20">5.0.0 - 2022-10-30</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id24">4.5.0 - 2021-12-26</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id28">4.4.0 - 2020-12-20</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id32">4.3.1 - 2020-07-17</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id36">4.3.0 - 2020-06-27</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id40">4.2.0 - 2020-06-06</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id44">4.1.0 - 2020-05-18</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id48">4.0.0 - 2020-04-28</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id53">3.0.1 - 2020-03-04</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id55">3.0.0 - 2020-03-04</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id60">2.0.0 - 2019-10-16</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id65">1.2.2 - 2019-05-16</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id69">1.2.1 - 2019-02-16</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id72">1.2.0 - 2019-02-04</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id77">1.1.0 - 2018-12-27</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id82">1.0.0 - 2018-10-26</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="reference/related-projects.html">Related Projects</a></li>

View file

@ -220,124 +220,134 @@
<ul>
<li class="toctree-l1"><a class="reference internal" href="../reference/changelog.html">Changelog</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#unreleased">Unreleased</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id1">5.3.0 - 2024-01-15</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#added">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#changed">Changed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id1">5.4.1 - 2024-03-21</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#fixed">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id2">5.2.0 - 2024-01-02</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id3">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id4">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id5">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id2">5.4.0 - 2024-02-13</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#added">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#changed">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id3">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id6">5.1.1 - 2023-02-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id7">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id8">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id9">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id4">5.3.0 - 2024-01-15</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id5">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id6">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id7">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id10">5.1.0 - 2023-01-22</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id11">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id12">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id13">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id8">5.2.0 - 2024-01-02</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id9">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id10">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id11">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id14">5.0.0 - 2022-10-30</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id12">5.1.1 - 2023-02-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id13">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id14">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id15">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id16">5.1.0 - 2023-01-22</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id17">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id18">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id19">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id20">5.0.0 - 2022-10-30</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#breaking-changes">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id15">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id16">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id17">Fixed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id21">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id22">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id23">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id18">4.5.0 - 2021-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id19">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id20">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id21">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id24">4.5.0 - 2021-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id25">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id26">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id27">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id22">4.4.0 - 2020-12-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id23">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id24">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id25">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id28">4.4.0 - 2020-12-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id29">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id30">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id31">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id26">4.3.1 - 2020-07-17</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id27">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id28">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id29">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id32">4.3.1 - 2020-07-17</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id33">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id34">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id35">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id30">4.3.0 - 2020-06-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id31">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id32">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id33">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id36">4.3.0 - 2020-06-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id37">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id38">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id39">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id34">4.2.0 - 2020-06-06</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id35">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id36">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id37">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id40">4.2.0 - 2020-06-06</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id41">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id42">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id43">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id38">4.1.0 - 2020-05-18</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id39">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id40">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id41">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id44">4.1.0 - 2020-05-18</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id45">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id46">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id47">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id42">4.0.0 - 2020-04-28</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id43">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id44">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id45">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id46">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id48">4.0.0 - 2020-04-28</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id49">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id50">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id51">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id52">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id47">3.0.1 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id48">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id53">3.0.1 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id54">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id49">3.0.0 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id50">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id51">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id52">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id53">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id55">3.0.0 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id56">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id57">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id58">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id59">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id54">2.0.0 - 2019-10-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id55">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id56">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id57">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id58">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id60">2.0.0 - 2019-10-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id61">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id62">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id63">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id64">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id59">1.2.2 - 2019-05-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id60">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id61">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id62">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id65">1.2.2 - 2019-05-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id66">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id67">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id68">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id63">1.2.1 - 2019-02-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id64">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id65">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id69">1.2.1 - 2019-02-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id70">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id71">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id66">1.2.0 - 2019-02-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id67">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id68">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id69">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id70">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id72">1.2.0 - 2019-02-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id73">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id74">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id75">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id76">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id71">1.1.0 - 2018-12-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id72">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id73">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id74">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id75">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id77">1.1.0 - 2018-12-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id78">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id79">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id80">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id81">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id76">1.0.0 - 2018-10-26</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id82">1.0.0 - 2018-10-26</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../reference/related-projects.html">Related Projects</a></li>

View file

@ -220,124 +220,134 @@
<ul>
<li class="toctree-l1"><a class="reference internal" href="../reference/changelog.html">Changelog</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#unreleased">Unreleased</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id1">5.3.0 - 2024-01-15</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#added">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#changed">Changed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id1">5.4.1 - 2024-03-21</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#fixed">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id2">5.2.0 - 2024-01-02</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id3">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id4">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id5">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id2">5.4.0 - 2024-02-13</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#added">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#changed">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id3">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id6">5.1.1 - 2023-02-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id7">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id8">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id9">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id4">5.3.0 - 2024-01-15</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id5">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id6">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id7">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id10">5.1.0 - 2023-01-22</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id11">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id12">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id13">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id8">5.2.0 - 2024-01-02</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id9">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id10">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id11">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id14">5.0.0 - 2022-10-30</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id12">5.1.1 - 2023-02-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id13">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id14">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id15">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id16">5.1.0 - 2023-01-22</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id17">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id18">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id19">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id20">5.0.0 - 2022-10-30</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#breaking-changes">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id15">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id16">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id17">Fixed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id21">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id22">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id23">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id18">4.5.0 - 2021-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id19">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id20">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id21">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id24">4.5.0 - 2021-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id25">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id26">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id27">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id22">4.4.0 - 2020-12-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id23">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id24">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id25">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id28">4.4.0 - 2020-12-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id29">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id30">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id31">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id26">4.3.1 - 2020-07-17</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id27">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id28">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id29">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id32">4.3.1 - 2020-07-17</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id33">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id34">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id35">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id30">4.3.0 - 2020-06-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id31">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id32">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id33">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id36">4.3.0 - 2020-06-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id37">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id38">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id39">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id34">4.2.0 - 2020-06-06</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id35">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id36">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id37">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id40">4.2.0 - 2020-06-06</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id41">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id42">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id43">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id38">4.1.0 - 2020-05-18</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id39">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id40">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id41">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id44">4.1.0 - 2020-05-18</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id45">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id46">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id47">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id42">4.0.0 - 2020-04-28</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id43">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id44">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id45">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id46">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id48">4.0.0 - 2020-04-28</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id49">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id50">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id51">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id52">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id47">3.0.1 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id48">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id53">3.0.1 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id54">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id49">3.0.0 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id50">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id51">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id52">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id53">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id55">3.0.0 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id56">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id57">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id58">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id59">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id54">2.0.0 - 2019-10-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id55">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id56">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id57">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id58">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id60">2.0.0 - 2019-10-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id61">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id62">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id63">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id64">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id59">1.2.2 - 2019-05-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id60">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id61">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id62">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id65">1.2.2 - 2019-05-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id66">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id67">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id68">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id63">1.2.1 - 2019-02-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id64">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id65">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id69">1.2.1 - 2019-02-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id70">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id71">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id66">1.2.0 - 2019-02-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id67">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id68">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id69">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id70">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id72">1.2.0 - 2019-02-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id73">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id74">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id75">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id76">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id71">1.1.0 - 2018-12-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id72">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id73">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id74">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id75">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id77">1.1.0 - 2018-12-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id78">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id79">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id80">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id81">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id76">1.0.0 - 2018-10-26</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id82">1.0.0 - 2018-10-26</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../reference/related-projects.html">Related Projects</a></li>

View file

@ -220,124 +220,134 @@
<ul>
<li class="toctree-l1"><a class="reference internal" href="../reference/changelog.html">Changelog</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#unreleased">Unreleased</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id1">5.3.0 - 2024-01-15</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#added">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#changed">Changed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id1">5.4.1 - 2024-03-21</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#fixed">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id2">5.2.0 - 2024-01-02</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id3">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id4">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id5">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id2">5.4.0 - 2024-02-13</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#added">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#changed">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id3">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id6">5.1.1 - 2023-02-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id7">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id8">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id9">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id4">5.3.0 - 2024-01-15</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id5">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id6">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id7">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id10">5.1.0 - 2023-01-22</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id11">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id12">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id13">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id8">5.2.0 - 2024-01-02</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id9">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id10">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id11">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id14">5.0.0 - 2022-10-30</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id12">5.1.1 - 2023-02-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id13">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id14">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id15">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id16">5.1.0 - 2023-01-22</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id17">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id18">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id19">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id20">5.0.0 - 2022-10-30</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#breaking-changes">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id15">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id16">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id17">Fixed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id21">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id22">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id23">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id18">4.5.0 - 2021-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id19">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id20">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id21">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id24">4.5.0 - 2021-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id25">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id26">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id27">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id22">4.4.0 - 2020-12-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id23">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id24">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id25">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id28">4.4.0 - 2020-12-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id29">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id30">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id31">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id26">4.3.1 - 2020-07-17</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id27">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id28">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id29">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id32">4.3.1 - 2020-07-17</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id33">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id34">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id35">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id30">4.3.0 - 2020-06-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id31">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id32">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id33">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id36">4.3.0 - 2020-06-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id37">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id38">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id39">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id34">4.2.0 - 2020-06-06</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id35">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id36">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id37">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id40">4.2.0 - 2020-06-06</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id41">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id42">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id43">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id38">4.1.0 - 2020-05-18</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id39">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id40">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id41">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id44">4.1.0 - 2020-05-18</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id45">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id46">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id47">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id42">4.0.0 - 2020-04-28</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id43">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id44">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id45">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id46">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id48">4.0.0 - 2020-04-28</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id49">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id50">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id51">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id52">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id47">3.0.1 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id48">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id53">3.0.1 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id54">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id49">3.0.0 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id50">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id51">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id52">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id53">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id55">3.0.0 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id56">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id57">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id58">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id59">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id54">2.0.0 - 2019-10-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id55">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id56">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id57">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id58">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id60">2.0.0 - 2019-10-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id61">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id62">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id63">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id64">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id59">1.2.2 - 2019-05-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id60">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id61">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id62">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id65">1.2.2 - 2019-05-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id66">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id67">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id68">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id63">1.2.1 - 2019-02-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id64">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id65">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id69">1.2.1 - 2019-02-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id70">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id71">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id66">1.2.0 - 2019-02-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id67">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id68">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id69">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id70">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id72">1.2.0 - 2019-02-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id73">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id74">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id75">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id76">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id71">1.1.0 - 2018-12-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id72">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id73">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id74">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id75">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id77">1.1.0 - 2018-12-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id78">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id79">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id80">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id81">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id76">1.0.0 - 2018-10-26</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id82">1.0.0 - 2018-10-26</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../reference/related-projects.html">Related Projects</a></li>

View file

@ -220,124 +220,134 @@
<ul>
<li class="toctree-l1"><a class="reference internal" href="../reference/changelog.html">Changelog</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#unreleased">Unreleased</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id1">5.3.0 - 2024-01-15</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#added">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#changed">Changed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id1">5.4.1 - 2024-03-21</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#fixed">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id2">5.2.0 - 2024-01-02</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id3">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id4">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id5">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id2">5.4.0 - 2024-02-13</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#added">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#changed">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id3">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id6">5.1.1 - 2023-02-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id7">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id8">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id9">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id4">5.3.0 - 2024-01-15</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id5">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id6">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id7">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id10">5.1.0 - 2023-01-22</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id11">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id12">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id13">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id8">5.2.0 - 2024-01-02</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id9">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id10">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id11">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id14">5.0.0 - 2022-10-30</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id12">5.1.1 - 2023-02-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id13">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id14">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id15">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id16">5.1.0 - 2023-01-22</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id17">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id18">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id19">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id20">5.0.0 - 2022-10-30</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#breaking-changes">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id15">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id16">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id17">Fixed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id21">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id22">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id23">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id18">4.5.0 - 2021-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id19">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id20">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id21">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id24">4.5.0 - 2021-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id25">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id26">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id27">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id22">4.4.0 - 2020-12-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id23">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id24">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id25">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id28">4.4.0 - 2020-12-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id29">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id30">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id31">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id26">4.3.1 - 2020-07-17</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id27">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id28">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id29">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id32">4.3.1 - 2020-07-17</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id33">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id34">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id35">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id30">4.3.0 - 2020-06-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id31">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id32">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id33">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id36">4.3.0 - 2020-06-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id37">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id38">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id39">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id34">4.2.0 - 2020-06-06</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id35">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id36">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id37">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id40">4.2.0 - 2020-06-06</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id41">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id42">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id43">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id38">4.1.0 - 2020-05-18</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id39">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id40">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id41">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id44">4.1.0 - 2020-05-18</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id45">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id46">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id47">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id42">4.0.0 - 2020-04-28</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id43">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id44">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id45">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id46">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id48">4.0.0 - 2020-04-28</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id49">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id50">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id51">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id52">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id47">3.0.1 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id48">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id53">3.0.1 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id54">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id49">3.0.0 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id50">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id51">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id52">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id53">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id55">3.0.0 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id56">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id57">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id58">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id59">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id54">2.0.0 - 2019-10-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id55">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id56">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id57">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id58">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id60">2.0.0 - 2019-10-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id61">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id62">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id63">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id64">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id59">1.2.2 - 2019-05-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id60">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id61">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id62">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id65">1.2.2 - 2019-05-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id66">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id67">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id68">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id63">1.2.1 - 2019-02-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id64">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id65">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id69">1.2.1 - 2019-02-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id70">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id71">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id66">1.2.0 - 2019-02-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id67">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id68">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id69">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id70">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id72">1.2.0 - 2019-02-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id73">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id74">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id75">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id76">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id71">1.1.0 - 2018-12-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id72">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id73">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id74">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id75">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id77">1.1.0 - 2018-12-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id78">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id79">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id80">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id81">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id76">1.0.0 - 2018-10-26</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id82">1.0.0 - 2018-10-26</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../reference/related-projects.html">Related Projects</a></li>

View file

@ -220,124 +220,134 @@
<ul>
<li class="toctree-l1"><a class="reference internal" href="../reference/changelog.html">Changelog</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#unreleased">Unreleased</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id1">5.3.0 - 2024-01-15</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#added">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#changed">Changed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id1">5.4.1 - 2024-03-21</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#fixed">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id2">5.2.0 - 2024-01-02</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id3">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id4">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id5">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id2">5.4.0 - 2024-02-13</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#added">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#changed">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id3">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id6">5.1.1 - 2023-02-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id7">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id8">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id9">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id4">5.3.0 - 2024-01-15</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id5">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id6">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id7">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id10">5.1.0 - 2023-01-22</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id11">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id12">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id13">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id8">5.2.0 - 2024-01-02</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id9">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id10">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id11">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id14">5.0.0 - 2022-10-30</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id12">5.1.1 - 2023-02-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id13">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id14">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id15">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id16">5.1.0 - 2023-01-22</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id17">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id18">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id19">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id20">5.0.0 - 2022-10-30</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#breaking-changes">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id15">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id16">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id17">Fixed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id21">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id22">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id23">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id18">4.5.0 - 2021-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id19">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id20">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id21">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id24">4.5.0 - 2021-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id25">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id26">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id27">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id22">4.4.0 - 2020-12-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id23">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id24">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id25">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id28">4.4.0 - 2020-12-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id29">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id30">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id31">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id26">4.3.1 - 2020-07-17</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id27">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id28">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id29">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id32">4.3.1 - 2020-07-17</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id33">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id34">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id35">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id30">4.3.0 - 2020-06-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id31">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id32">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id33">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id36">4.3.0 - 2020-06-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id37">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id38">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id39">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id34">4.2.0 - 2020-06-06</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id35">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id36">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id37">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id40">4.2.0 - 2020-06-06</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id41">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id42">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id43">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id38">4.1.0 - 2020-05-18</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id39">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id40">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id41">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id44">4.1.0 - 2020-05-18</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id45">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id46">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id47">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id42">4.0.0 - 2020-04-28</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id43">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id44">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id45">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id46">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id48">4.0.0 - 2020-04-28</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id49">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id50">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id51">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id52">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id47">3.0.1 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id48">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id53">3.0.1 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id54">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id49">3.0.0 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id50">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id51">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id52">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id53">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id55">3.0.0 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id56">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id57">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id58">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id59">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id54">2.0.0 - 2019-10-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id55">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id56">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id57">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id58">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id60">2.0.0 - 2019-10-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id61">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id62">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id63">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id64">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id59">1.2.2 - 2019-05-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id60">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id61">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id62">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id65">1.2.2 - 2019-05-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id66">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id67">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id68">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id63">1.2.1 - 2019-02-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id64">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id65">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id69">1.2.1 - 2019-02-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id70">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id71">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id66">1.2.0 - 2019-02-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id67">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id68">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id69">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id70">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id72">1.2.0 - 2019-02-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id73">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id74">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id75">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id76">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id71">1.1.0 - 2018-12-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id72">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id73">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id74">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id75">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id77">1.1.0 - 2018-12-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id78">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id79">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id80">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id81">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id76">1.0.0 - 2018-10-26</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id82">1.0.0 - 2018-10-26</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../reference/related-projects.html">Related Projects</a></li>

View file

@ -220,124 +220,134 @@
<ul>
<li class="toctree-l1"><a class="reference internal" href="../reference/changelog.html">Changelog</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#unreleased">Unreleased</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id1">5.3.0 - 2024-01-15</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#added">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#changed">Changed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id1">5.4.1 - 2024-03-21</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#fixed">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id2">5.2.0 - 2024-01-02</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id3">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id4">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id5">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id2">5.4.0 - 2024-02-13</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#added">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#changed">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id3">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id6">5.1.1 - 2023-02-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id7">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id8">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id9">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id4">5.3.0 - 2024-01-15</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id5">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id6">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id7">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id10">5.1.0 - 2023-01-22</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id11">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id12">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id13">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id8">5.2.0 - 2024-01-02</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id9">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id10">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id11">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id14">5.0.0 - 2022-10-30</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id12">5.1.1 - 2023-02-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id13">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id14">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id15">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id16">5.1.0 - 2023-01-22</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id17">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id18">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id19">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id20">5.0.0 - 2022-10-30</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#breaking-changes">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id15">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id16">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id17">Fixed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id21">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id22">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id23">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id18">4.5.0 - 2021-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id19">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id20">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id21">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id24">4.5.0 - 2021-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id25">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id26">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id27">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id22">4.4.0 - 2020-12-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id23">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id24">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id25">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id28">4.4.0 - 2020-12-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id29">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id30">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id31">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id26">4.3.1 - 2020-07-17</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id27">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id28">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id29">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id32">4.3.1 - 2020-07-17</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id33">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id34">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id35">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id30">4.3.0 - 2020-06-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id31">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id32">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id33">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id36">4.3.0 - 2020-06-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id37">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id38">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id39">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id34">4.2.0 - 2020-06-06</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id35">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id36">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id37">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id40">4.2.0 - 2020-06-06</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id41">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id42">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id43">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id38">4.1.0 - 2020-05-18</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id39">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id40">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id41">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id44">4.1.0 - 2020-05-18</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id45">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id46">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id47">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id42">4.0.0 - 2020-04-28</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id43">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id44">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id45">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id46">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id48">4.0.0 - 2020-04-28</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id49">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id50">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id51">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id52">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id47">3.0.1 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id48">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id53">3.0.1 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id54">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id49">3.0.0 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id50">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id51">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id52">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id53">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id55">3.0.0 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id56">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id57">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id58">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id59">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id54">2.0.0 - 2019-10-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id55">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id56">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id57">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id58">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id60">2.0.0 - 2019-10-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id61">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id62">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id63">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id64">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id59">1.2.2 - 2019-05-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id60">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id61">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id62">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id65">1.2.2 - 2019-05-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id66">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id67">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id68">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id63">1.2.1 - 2019-02-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id64">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id65">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id69">1.2.1 - 2019-02-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id70">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id71">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id66">1.2.0 - 2019-02-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id67">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id68">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id69">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id70">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id72">1.2.0 - 2019-02-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id73">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id74">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id75">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id76">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id71">1.1.0 - 2018-12-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id72">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id73">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id74">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id75">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id77">1.1.0 - 2018-12-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id78">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id79">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id80">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/changelog.html#id81">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id76">1.0.0 - 2018-10-26</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/changelog.html#id82">1.0.0 - 2018-10-26</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../reference/related-projects.html">Related Projects</a></li>

View file

@ -220,124 +220,134 @@
<ul class="current">
<li class="toctree-l1 current"><a class="current reference internal" href="#">Changelog</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#unreleased">Unreleased</a></li>
<li class="toctree-l2"><a class="reference internal" href="#id1">5.3.0 - 2024-01-15</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#added">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="#changed">Changed</a></li>
<li class="toctree-l2"><a class="reference internal" href="#id1">5.4.1 - 2024-03-21</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#fixed">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#id2">5.2.0 - 2024-01-02</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#id3">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id4">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id5">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="#id2">5.4.0 - 2024-02-13</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#added">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="#changed">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id3">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#id6">5.1.1 - 2023-02-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#id7">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id8">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id9">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="#id4">5.3.0 - 2024-01-15</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#id5">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id6">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id7">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#id10">5.1.0 - 2023-01-22</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#id11">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id12">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id13">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="#id8">5.2.0 - 2024-01-02</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#id9">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id10">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id11">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#id14">5.0.0 - 2022-10-30</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#id12">5.1.1 - 2023-02-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#id13">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id14">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id15">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#id16">5.1.0 - 2023-01-22</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#id17">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id18">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id19">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#id20">5.0.0 - 2022-10-30</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#breaking-changes">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id15">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id16">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id17">Fixed</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id21">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id22">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id23">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#id18">4.5.0 - 2021-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#id19">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id20">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id21">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="#id24">4.5.0 - 2021-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#id25">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id26">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id27">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#id22">4.4.0 - 2020-12-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#id23">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id24">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id25">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="#id28">4.4.0 - 2020-12-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#id29">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id30">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id31">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#id26">4.3.1 - 2020-07-17</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#id27">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id28">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id29">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="#id32">4.3.1 - 2020-07-17</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#id33">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id34">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id35">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#id30">4.3.0 - 2020-06-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#id31">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id32">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id33">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="#id36">4.3.0 - 2020-06-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#id37">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id38">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id39">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#id34">4.2.0 - 2020-06-06</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#id35">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id36">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id37">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="#id40">4.2.0 - 2020-06-06</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#id41">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id42">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id43">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#id38">4.1.0 - 2020-05-18</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#id39">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id40">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id41">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="#id44">4.1.0 - 2020-05-18</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#id45">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id46">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id47">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#id42">4.0.0 - 2020-04-28</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#id43">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id44">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id45">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id46">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="#id48">4.0.0 - 2020-04-28</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#id49">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id50">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id51">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id52">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#id47">3.0.1 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#id48">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="#id53">3.0.1 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#id54">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#id49">3.0.0 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#id50">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id51">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id52">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id53">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="#id55">3.0.0 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#id56">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id57">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id58">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id59">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#id54">2.0.0 - 2019-10-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#id55">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id56">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id57">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id58">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="#id60">2.0.0 - 2019-10-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#id61">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id62">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id63">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id64">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#id59">1.2.2 - 2019-05-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#id60">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id61">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id62">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="#id65">1.2.2 - 2019-05-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#id66">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id67">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id68">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#id63">1.2.1 - 2019-02-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#id64">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id65">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="#id69">1.2.1 - 2019-02-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#id70">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id71">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#id66">1.2.0 - 2019-02-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#id67">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id68">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id69">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id70">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="#id72">1.2.0 - 2019-02-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#id73">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id74">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id75">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id76">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#id71">1.1.0 - 2018-12-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#id72">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id73">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id74">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id75">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="#id77">1.1.0 - 2018-12-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#id78">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id79">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id80">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="#id81">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#id76">1.0.0 - 2018-10-26</a></li>
<li class="toctree-l2"><a class="reference internal" href="#id82">1.0.0 - 2018-10-26</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="related-projects.html">Related Projects</a></li>
@ -414,21 +424,57 @@
and this project somewhat adheres to <a class="reference external" href="https://semver.org/spec/v2.0.0.html">Semantic Versioning</a>. The MAJOR version number is bumped when there are breaking changes in the pret projects.</p>
<p>The <strong>“Breaking Changes”</strong> listed below are changes that have been made in the decompilation projects (e.g. pokeemerald), which porymap requires in order to work properly. It also includes changes to the scripting API that may change the behavior of existing porymap scripts. If porymap is used with a project or API script that is not up-to-date with the breaking changes, then porymap will likely break or behave improperly.</p>
<div class="section" id="unreleased">
<h2><a class="reference external" href="https://github.com/huderlem/porymap/compare/5.3.0...HEAD">Unreleased</a><a class="headerlink" href="#unreleased" title="Permalink to this headline"></a></h2>
<h2><a class="reference external" href="https://github.com/huderlem/porymap/compare/5.4.1...HEAD">Unreleased</a><a class="headerlink" href="#unreleased" title="Permalink to this headline"></a></h2>
<p>Nothing, yet.</p>
</div>
<div class="section" id="id1">
<h2><a class="reference external" href="https://github.com/huderlem/porymap/compare/5.2.0...5.3.0">5.3.0</a> - 2024-01-15<a class="headerlink" href="#id1" title="Permalink to this headline"></a></h2>
<h2><a class="reference external" href="https://github.com/huderlem/porymap/compare/5.4.0...5.4.1">5.4.1</a> - 2024-03-21<a class="headerlink" href="#id1" title="Permalink to this headline"></a></h2>
<div class="section" id="fixed">
<h3>Fixed<a class="headerlink" href="#fixed" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li>Fix object event sprites not loading for some struct data formats.</li>
</ul>
</div>
</div>
<div class="section" id="id2">
<h2><a class="reference external" href="https://github.com/huderlem/porymap/compare/5.3.0...5.4.0">5.4.0</a> - 2024-02-13<a class="headerlink" href="#id2" title="Permalink to this headline"></a></h2>
<div class="section" id="added">
<h3>Added<a class="headerlink" href="#added" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li>Add a <code class="docutils literal notranslate"><span class="pre">Check</span> <span class="pre">for</span> <span class="pre">Updates</span></code> option to show new releases (Windows and macOS only).</li>
</ul>
</div>
<div class="section" id="changed">
<h3>Changed<a class="headerlink" href="#changed" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li>If Wild Encounters fail to load they are now only disabled for that session, and the settings remain unchanged.</li>
<li>Defaults are used if project constants are missing, rather than failing to open the project or changing settings.</li>
<li>Selector images now center on the selection when eyedropping or zooming.</li>
</ul>
</div>
<div class="section" id="id3">
<h3>Fixed<a class="headerlink" href="#id3" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li>Fix some minor visual issues with the various zoom sliders.</li>
<li>Smooth out scrolling when mouse is over tile/metatile images.</li>
<li>Fix the Tileset Editor selectors getting extra white space when changing tilesets.</li>
<li>Fix a crash when adding disabled events with the Pencil tool.</li>
<li>Fix error log about failing to find the scripts file when a new map is created.</li>
</ul>
</div>
</div>
<div class="section" id="id4">
<h2><a class="reference external" href="https://github.com/huderlem/porymap/compare/5.2.0...5.3.0">5.3.0</a> - 2024-01-15<a class="headerlink" href="#id4" title="Permalink to this headline"></a></h2>
<div class="section" id="id5">
<h3>Added<a class="headerlink" href="#id5" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li>Add zoom sliders to the Tileset Editor.</li>
<li>Add <code class="docutils literal notranslate"><span class="pre">getMetatileBehaviorName</span></code> and <code class="docutils literal notranslate"><span class="pre">setMetatileBehaviorName</span></code> to the API.</li>
<li>Add <code class="docutils literal notranslate"><span class="pre">metatile_behaviors</span></code>, <code class="docutils literal notranslate"><span class="pre">num_primary_palettes</span></code>, and <code class="docutils literal notranslate"><span class="pre">num_secondary_palettes</span></code> to <code class="docutils literal notranslate"><span class="pre">constants</span></code> in the API.</li>
</ul>
</div>
<div class="section" id="changed">
<h3>Changed<a class="headerlink" href="#changed" title="Permalink to this headline"></a></h3>
<div class="section" id="id6">
<h3>Changed<a class="headerlink" href="#id6" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li>Metatile ID strings are now padded to their current max, not the overall max.</li>
<li>Non-existent directories are now removed from the Open Recent Project menu.</li>
@ -438,8 +484,8 @@ and this project somewhat adheres to <a class="reference external" href="https:/
<li>The API functions <code class="docutils literal notranslate"><span class="pre">addImage</span></code> and <code class="docutils literal notranslate"><span class="pre">createImage</span></code> now support project-relative paths.</li>
</ul>
</div>
<div class="section" id="fixed">
<h3>Fixed<a class="headerlink" href="#fixed" title="Permalink to this headline"></a></h3>
<div class="section" id="id7">
<h3>Fixed<a class="headerlink" href="#id7" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li>Fix the metatile selector rectangle jumping when selecting up or left of the origin.</li>
<li>Fix the event group tabs sometimes showing an event from the wrong group.</li>
@ -453,10 +499,10 @@ and this project somewhat adheres to <a class="reference external" href="https:/
</ul>
</div>
</div>
<div class="section" id="id2">
<h2><a class="reference external" href="https://github.com/huderlem/porymap/compare/5.1.1...5.2.0">5.2.0</a> - 2024-01-02<a class="headerlink" href="#id2" title="Permalink to this headline"></a></h2>
<div class="section" id="id3">
<h3>Added<a class="headerlink" href="#id3" title="Permalink to this headline"></a></h3>
<div class="section" id="id8">
<h2><a class="reference external" href="https://github.com/huderlem/porymap/compare/5.1.1...5.2.0">5.2.0</a> - 2024-01-02<a class="headerlink" href="#id8" title="Permalink to this headline"></a></h2>
<div class="section" id="id9">
<h3>Added<a class="headerlink" href="#id9" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li>Add an editor window under <code class="docutils literal notranslate"><span class="pre">Options</span> <span class="pre">-&gt;</span> <span class="pre">Project</span> <span class="pre">Settings...</span></code> to customize the project-specific settings in <code class="docutils literal notranslate"><span class="pre">porymap.project.cfg</span></code> and <code class="docutils literal notranslate"><span class="pre">porymap.user.cfg</span></code>.</li>
<li>Add an editor window under <code class="docutils literal notranslate"><span class="pre">Options</span> <span class="pre">-&gt;</span> <span class="pre">Custom</span> <span class="pre">Scripts...</span></code> for Porymaps API scripts.</li>
@ -470,8 +516,8 @@ and this project somewhat adheres to <a class="reference external" href="https:/
<li>Support for 8bpp tileset tile images.</li>
</ul>
</div>
<div class="section" id="id4">
<h3>Changed<a class="headerlink" href="#id4" title="Permalink to this headline"></a></h3>
<div class="section" id="id10">
<h3>Changed<a class="headerlink" href="#id10" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li><code class="docutils literal notranslate"><span class="pre">Script</span></code> dropdowns now include scripts from the current maps scripts file.</li>
<li>Encounter Rate now defaults to the most commonly used value, rather than 0.</li>
@ -486,8 +532,8 @@ and this project somewhat adheres to <a class="reference external" href="https:/
<li>Porymap will now attempt to read metatile attribute masks from the project.</li>
</ul>
</div>
<div class="section" id="id5">
<h3>Fixed<a class="headerlink" href="#id5" title="Permalink to this headline"></a></h3>
<div class="section" id="id11">
<h3>Fixed<a class="headerlink" href="#id11" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li>Fix text boxes in the Palette Editor calculating color incorrectly.</li>
<li>Fix metatile labels being sorted incorrectly for tileset names with multiple underscores.</li>
@ -509,23 +555,23 @@ and this project somewhat adheres to <a class="reference external" href="https:/
</ul>
</div>
</div>
<div class="section" id="id6">
<h2><a class="reference external" href="https://github.com/huderlem/porymap/compare/5.1.0...5.1.1">5.1.1</a> - 2023-02-20<a class="headerlink" href="#id6" title="Permalink to this headline"></a></h2>
<div class="section" id="id7">
<h3>Added<a class="headerlink" href="#id7" title="Permalink to this headline"></a></h3>
<div class="section" id="id12">
<h2><a class="reference external" href="https://github.com/huderlem/porymap/compare/5.1.0...5.1.1">5.1.1</a> - 2023-02-20<a class="headerlink" href="#id12" title="Permalink to this headline"></a></h2>
<div class="section" id="id13">
<h3>Added<a class="headerlink" href="#id13" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li>Add <code class="docutils literal notranslate"><span class="pre">registerToggleAction</span></code> to the scripting API</li>
</ul>
</div>
<div class="section" id="id8">
<h3>Changed<a class="headerlink" href="#id8" title="Permalink to this headline"></a></h3>
<div class="section" id="id14">
<h3>Changed<a class="headerlink" href="#id14" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li>Change encounter tab copy and paste behavior.</li>
<li>A warning will appear if a custom script fails to load or an action fails to run.</li>
</ul>
</div>
<div class="section" id="id9">
<h3>Fixed<a class="headerlink" href="#id9" title="Permalink to this headline"></a></h3>
<div class="section" id="id15">
<h3>Fixed<a class="headerlink" href="#id15" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li>Fix null characters being unpredictably written to some JSON files.</li>
<li>Fix tilesets that share part of their name loading incorrectly.</li>
@ -541,10 +587,10 @@ and this project somewhat adheres to <a class="reference external" href="https:/
</ul>
</div>
</div>
<div class="section" id="id10">
<h2><a class="reference external" href="https://github.com/huderlem/porymap/compare/5.0.0...5.1.0">5.1.0</a> - 2023-01-22<a class="headerlink" href="#id10" title="Permalink to this headline"></a></h2>
<div class="section" id="id11">
<h3>Added<a class="headerlink" href="#id11" title="Permalink to this headline"></a></h3>
<div class="section" id="id16">
<h2><a class="reference external" href="https://github.com/huderlem/porymap/compare/5.0.0...5.1.0">5.1.0</a> - 2023-01-22<a class="headerlink" href="#id16" title="Permalink to this headline"></a></h2>
<div class="section" id="id17">
<h3>Added<a class="headerlink" href="#id17" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li>Add new config options for reorganizing metatile attributes.</li>
<li>Add <code class="docutils literal notranslate"><span class="pre">setScale</span></code> to the scripting API.</li>
@ -552,8 +598,8 @@ and this project somewhat adheres to <a class="reference external" href="https:/
<li>Add option to copy wild encounters from another encounters tab.</li>
</ul>
</div>
<div class="section" id="id12">
<h3>Changed<a class="headerlink" href="#id12" title="Permalink to this headline"></a></h3>
<div class="section" id="id18">
<h3>Changed<a class="headerlink" href="#id18" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li>Double-clicking on a connecting map on the Map or Events tabs will now open that map.</li>
<li>Hovering on border metatiles with the mouse will now display their information in the bottom bar.</li>
@ -562,8 +608,8 @@ and this project somewhat adheres to <a class="reference external" href="https:/
<li>Pokémon icons in the encounter editor have their transparency set.</li>
</ul>
</div>
<div class="section" id="id13">
<h3>Fixed<a class="headerlink" href="#id13" title="Permalink to this headline"></a></h3>
<div class="section" id="id19">
<h3>Fixed<a class="headerlink" href="#id19" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li>Fix the Region Map Editor being opened by the Shortcuts Editor.</li>
<li>Fix New Map settings being preserved when switching projects.</li>
@ -576,8 +622,8 @@ and this project somewhat adheres to <a class="reference external" href="https:/
</ul>
</div>
</div>
<div class="section" id="id14">
<h2><a class="reference external" href="https://github.com/huderlem/porymap/compare/4.5.0...5.0.0">5.0.0</a> - 2022-10-30<a class="headerlink" href="#id14" title="Permalink to this headline"></a></h2>
<div class="section" id="id20">
<h2><a class="reference external" href="https://github.com/huderlem/porymap/compare/4.5.0...5.0.0">5.0.0</a> - 2022-10-30<a class="headerlink" href="#id20" title="Permalink to this headline"></a></h2>
<div class="section" id="breaking-changes">
<h3>Breaking Changes<a class="headerlink" href="#breaking-changes" title="Permalink to this headline"></a></h3>
<ul class="simple">
@ -589,8 +635,8 @@ and this project somewhat adheres to <a class="reference external" href="https:/
<li>The API function <code class="docutils literal notranslate"><span class="pre">addFilledRect</span></code> has been removed; its been replaced by new arguments in <code class="docutils literal notranslate"><span class="pre">addRect</span></code>: <code class="docutils literal notranslate"><span class="pre">color</span></code> has been replaced with <code class="docutils literal notranslate"><span class="pre">borderColor</span></code> and <code class="docutils literal notranslate"><span class="pre">fillColor</span></code>, and a new <code class="docutils literal notranslate"><span class="pre">rounding</span></code> argument allows ellipses to be drawn.</li>
</ul>
</div>
<div class="section" id="id15">
<h3>Added<a class="headerlink" href="#id15" title="Permalink to this headline"></a></h3>
<div class="section" id="id21">
<h3>Added<a class="headerlink" href="#id21" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li>Add prefab support</li>
<li>Add Cut/Copy/Paste for metatiles in the Tileset Editor.</li>
@ -601,8 +647,8 @@ and this project somewhat adheres to <a class="reference external" href="https:/
<li>Add new features to the scripting API, including the ability to display messages and user input windows, set the overlays opacity, rotation, scale, and clipping, interact with map header properties and the map border, read tile pixel data, and more.</li>
</ul>
</div>
<div class="section" id="id16">
<h3>Changed<a class="headerlink" href="#id16" title="Permalink to this headline"></a></h3>
<div class="section" id="id22">
<h3>Changed<a class="headerlink" href="#id22" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li>Previous settings will be remembered in the New Map Options window.</li>
<li>The Custom Attributes table for map headers and events now supports types other than strings.</li>
@ -626,8 +672,8 @@ and this project somewhat adheres to <a class="reference external" href="https:/
<li>If any JSON data is the incorrect type Porymap will now attempt to convert it.</li>
</ul>
</div>
<div class="section" id="id17">
<h3>Fixed<a class="headerlink" href="#id17" title="Permalink to this headline"></a></h3>
<div class="section" id="id23">
<h3>Fixed<a class="headerlink" href="#id23" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li>Fix events losing their assigned script when the script autocomplete is used.</li>
<li>Fix the unsaved changes indicator not disappearing when saving changes to events.</li>
@ -653,10 +699,10 @@ and this project somewhat adheres to <a class="reference external" href="https:/
</ul>
</div>
</div>
<div class="section" id="id18">
<h2><a class="reference external" href="https://github.com/huderlem/porymap/compare/4.4.0...4.5.0">4.5.0</a> - 2021-12-26<a class="headerlink" href="#id18" title="Permalink to this headline"></a></h2>
<div class="section" id="id19">
<h3>Added<a class="headerlink" href="#id19" title="Permalink to this headline"></a></h3>
<div class="section" id="id24">
<h2><a class="reference external" href="https://github.com/huderlem/porymap/compare/4.4.0...4.5.0">4.5.0</a> - 2021-12-26<a class="headerlink" href="#id24" title="Permalink to this headline"></a></h2>
<div class="section" id="id25">
<h3>Added<a class="headerlink" href="#id25" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li>WSL project paths are now supported. (For example, \wsl$\Ubuntu-20.04\home\huderlem\pokeemerald)</li>
<li>Add ability to export map timelapse animated GIFs with <code class="docutils literal notranslate"><span class="pre">File</span> <span class="pre">-&gt;</span> <span class="pre">Export</span> <span class="pre">Map</span> <span class="pre">Timelapse</span> <span class="pre">Image...</span></code>.</li>
@ -668,8 +714,8 @@ and this project somewhat adheres to <a class="reference external" href="https:/
<li>Porymap is now compatible with Qt6.</li>
</ul>
</div>
<div class="section" id="id20">
<h3>Changed<a class="headerlink" href="#id20" title="Permalink to this headline"></a></h3>
<div class="section" id="id26">
<h3>Changed<a class="headerlink" href="#id26" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li>New events will be placed in the center of the current view of the map.</li>
<li>Scripting API errors are more detailed and logged in more situations.</li>
@ -678,8 +724,8 @@ and this project somewhat adheres to <a class="reference external" href="https:/
<li>The onBlockChanged script callback is now called for blocks changed by Undo/Redo.</li>
</ul>
</div>
<div class="section" id="id21">
<h3>Fixed<a class="headerlink" href="#id21" title="Permalink to this headline"></a></h3>
<div class="section" id="id27">
<h3>Fixed<a class="headerlink" href="#id27" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li>Fix % operator in C defines not being evaluated</li>
<li>Fix tileset palette editor crash that could occur when switching maps or tilesets with it open.</li>
@ -689,10 +735,10 @@ and this project somewhat adheres to <a class="reference external" href="https:/
</ul>
</div>
</div>
<div class="section" id="id22">
<h2><a class="reference external" href="https://github.com/huderlem/porymap/compare/4.3.1...4.4.0">4.4.0</a> - 2020-12-20<a class="headerlink" href="#id22" title="Permalink to this headline"></a></h2>
<div class="section" id="id23">
<h3>Added<a class="headerlink" href="#id23" title="Permalink to this headline"></a></h3>
<div class="section" id="id28">
<h2><a class="reference external" href="https://github.com/huderlem/porymap/compare/4.3.1...4.4.0">4.4.0</a> - 2020-12-20<a class="headerlink" href="#id28" title="Permalink to this headline"></a></h2>
<div class="section" id="id29">
<h3>Added<a class="headerlink" href="#id29" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li>Add undoable edit history for Events tab.</li>
<li>Add keyboard shortcut for <code class="docutils literal notranslate"><span class="pre">DEL</span></code> key to delete the currently selected event(s).</li>
@ -708,14 +754,14 @@ and this project somewhat adheres to <a class="reference external" href="https:/
<li>Add custom text editor commands in <code class="docutils literal notranslate"><span class="pre">Options</span> <span class="pre">-&gt;</span> <span class="pre">Edit</span> <span class="pre">Preferences</span></code>, a tool-button next to the <code class="docutils literal notranslate"><span class="pre">Script</span></code> combo-box, and <code class="docutils literal notranslate"><span class="pre">Tools</span> <span class="pre">-&gt;</span> <span class="pre">Open</span> <span class="pre">Project</span> <span class="pre">in</span> <span class="pre">Text</span> <span class="pre">Editor</span></code>. The tool-button will open the containing file to the cooresponding script.</li>
</ul>
</div>
<div class="section" id="id24">
<h3>Changed<a class="headerlink" href="#id24" title="Permalink to this headline"></a></h3>
<div class="section" id="id30">
<h3>Changed<a class="headerlink" href="#id30" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li>Holding <code class="docutils literal notranslate"><span class="pre">shift</span></code> now toggles “Smart Path” drawing; when the “Smart Paths” checkbox is checked, holding <code class="docutils literal notranslate"><span class="pre">shift</span></code> will temporarily disable it.</li>
</ul>
</div>
<div class="section" id="id25">
<h3>Fixed<a class="headerlink" href="#id25" title="Permalink to this headline"></a></h3>
<div class="section" id="id31">
<h3>Fixed<a class="headerlink" href="#id31" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li>Fix a bug with the current metatile selection zoom.</li>
<li>Fix bug preventing the status bar from updating the current position while dragging events.</li>
@ -726,26 +772,26 @@ and this project somewhat adheres to <a class="reference external" href="https:/
</ul>
</div>
</div>
<div class="section" id="id26">
<h2><a class="reference external" href="https://github.com/huderlem/porymap/compare/4.3.0...4.3.1">4.3.1</a> - 2020-07-17<a class="headerlink" href="#id26" title="Permalink to this headline"></a></h2>
<div class="section" id="id27">
<h3>Added<a class="headerlink" href="#id27" title="Permalink to this headline"></a></h3>
<div class="section" id="id32">
<h2><a class="reference external" href="https://github.com/huderlem/porymap/compare/4.3.0...4.3.1">4.3.1</a> - 2020-07-17<a class="headerlink" href="#id32" title="Permalink to this headline"></a></h2>
<div class="section" id="id33">
<h3>Added<a class="headerlink" href="#id33" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li>Add keyboard shortcut <code class="docutils literal notranslate"><span class="pre">Ctrl</span> <span class="pre">+</span> <span class="pre">D</span></code> for duplicating map events.</li>
<li>Add keyboard shortcut <code class="docutils literal notranslate"><span class="pre">Ctrl</span> <span class="pre">+</span> <span class="pre">Shift</span> <span class="pre">+</span> <span class="pre">Z</span></code> for “redo” in the tileset editor.</li>
<li>Add scripting api to reorder metatile layers and draw them with opacity.</li>
</ul>
</div>
<div class="section" id="id28">
<h3>Changed<a class="headerlink" href="#id28" title="Permalink to this headline"></a></h3>
<div class="section" id="id34">
<h3>Changed<a class="headerlink" href="#id34" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li>The tileset editor now syncs its metatile selection with the maps metatile selector.</li>
<li>The number of object events per map is now limited to OBJECT_EVENT_TEMPLATES_COUNT</li>
<li>The tileset editor can now flip selections that were taken from an existing metatile.</li>
</ul>
</div>
<div class="section" id="id29">
<h3>Fixed<a class="headerlink" href="#id29" title="Permalink to this headline"></a></h3>
<div class="section" id="id35">
<h3>Fixed<a class="headerlink" href="#id35" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li>Fix bug where editing a metatile layer would have no effect.</li>
<li>Fix a crash that occured when creating a new tileset using triple layer mode.</li>
@ -756,22 +802,22 @@ and this project somewhat adheres to <a class="reference external" href="https:/
</ul>
</div>
</div>
<div class="section" id="id30">
<h2><a class="reference external" href="https://github.com/huderlem/porymap/compare/4.2.0...4.3.0">4.3.0</a> - 2020-06-27<a class="headerlink" href="#id30" title="Permalink to this headline"></a></h2>
<div class="section" id="id31">
<h3>Added<a class="headerlink" href="#id31" title="Permalink to this headline"></a></h3>
<div class="section" id="id36">
<h2><a class="reference external" href="https://github.com/huderlem/porymap/compare/4.2.0...4.3.0">4.3.0</a> - 2020-06-27<a class="headerlink" href="#id36" title="Permalink to this headline"></a></h2>
<div class="section" id="id37">
<h3>Added<a class="headerlink" href="#id37" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li>Add triple-layer metatiles support.</li>
</ul>
</div>
<div class="section" id="id32">
<h3>Changed<a class="headerlink" href="#id32" title="Permalink to this headline"></a></h3>
<div class="section" id="id38">
<h3>Changed<a class="headerlink" href="#id38" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li>The “Open Scripts” button will fall back to <code class="docutils literal notranslate"><span class="pre">scripts.inc</span></code> if <code class="docutils literal notranslate"><span class="pre">scripts.pory</span></code> doesnt exist.</li>
</ul>
</div>
<div class="section" id="id33">
<h3>Fixed<a class="headerlink" href="#id33" title="Permalink to this headline"></a></h3>
<div class="section" id="id39">
<h3>Fixed<a class="headerlink" href="#id39" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li>Fix bug where exported tileset images could be horizontally or vertically flipped.</li>
<li>Fix bug where the map list wasnt filtered properly after switching filter types.</li>
@ -779,47 +825,47 @@ and this project somewhat adheres to <a class="reference external" href="https:/
</ul>
</div>
</div>
<div class="section" id="id34">
<h2><a class="reference external" href="https://github.com/huderlem/porymap/compare/4.1.0...4.2.0">4.2.0</a> - 2020-06-06<a class="headerlink" href="#id34" title="Permalink to this headline"></a></h2>
<div class="section" id="id35">
<h3>Added<a class="headerlink" href="#id35" title="Permalink to this headline"></a></h3>
<div class="section" id="id40">
<h2><a class="reference external" href="https://github.com/huderlem/porymap/compare/4.1.0...4.2.0">4.2.0</a> - 2020-06-06<a class="headerlink" href="#id40" title="Permalink to this headline"></a></h2>
<div class="section" id="id41">
<h3>Added<a class="headerlink" href="#id41" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li>Add more project-specific configs to better support porting features from different projects.</li>
<li>Add metatile label names to the status bar when hovering over metatiles in the map editor tab.</li>
<li>Add mouse coordinates to the status bar when hovering in the events tab.</li>
</ul>
</div>
<div class="section" id="id36">
<h3>Changed<a class="headerlink" href="#id36" title="Permalink to this headline"></a></h3>
<div class="section" id="id42">
<h3>Changed<a class="headerlink" href="#id42" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li><code class="docutils literal notranslate"><span class="pre">metatile_labels.h</span></code> is now watched for changes.</li>
</ul>
</div>
<div class="section" id="id37">
<h3>Fixed<a class="headerlink" href="#id37" title="Permalink to this headline"></a></h3>
<div class="section" id="id43">
<h3>Fixed<a class="headerlink" href="#id43" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li>Reduce time it takes to load maps and save in the tileset editor.</li>
<li>Fix crash that could occur when parsing unknown symbols when evaluating <code class="docutils literal notranslate"><span class="pre">define</span></code> expressions.</li>
</ul>
</div>
</div>
<div class="section" id="id38">
<h2><a class="reference external" href="https://github.com/huderlem/porymap/compare/4.0.0...4.1.0">4.1.0</a> - 2020-05-18<a class="headerlink" href="#id38" title="Permalink to this headline"></a></h2>
<div class="section" id="id39">
<h3>Added<a class="headerlink" href="#id39" title="Permalink to this headline"></a></h3>
<div class="section" id="id44">
<h2><a class="reference external" href="https://github.com/huderlem/porymap/compare/4.0.0...4.1.0">4.1.0</a> - 2020-05-18<a class="headerlink" href="#id44" title="Permalink to this headline"></a></h2>
<div class="section" id="id45">
<h3>Added<a class="headerlink" href="#id45" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li>Add scripting capabilities, which allows the user to add custom behavior to Porymap using JavaScript scripts.</li>
<li>Add ability to import FRLG tileset .bvd files from Advance Map 1.92.</li>
</ul>
</div>
<div class="section" id="id40">
<h3>Changed<a class="headerlink" href="#id40" title="Permalink to this headline"></a></h3>
<div class="section" id="id46">
<h3>Changed<a class="headerlink" href="#id46" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li>Edit modes are no longer shared between the Map and Events tabs. Pencil is default for Map tab, and Pointer is default for Events tab.</li>
</ul>
</div>
<div class="section" id="id41">
<h3>Fixed<a class="headerlink" href="#id41" title="Permalink to this headline"></a></h3>
<div class="section" id="id47">
<h3>Fixed<a class="headerlink" href="#id47" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li>Disallow drawing new heal locations in the events tab.</li>
<li>Fix issue where the metatile selection window was not resizable.</li>
@ -830,16 +876,16 @@ and this project somewhat adheres to <a class="reference external" href="https:/
</ul>
</div>
</div>
<div class="section" id="id42">
<h2><a class="reference external" href="https://github.com/huderlem/porymap/compare/3.0.1...4.0.0">4.0.0</a> - 2020-04-28<a class="headerlink" href="#id42" title="Permalink to this headline"></a></h2>
<div class="section" id="id43">
<h3>Breaking Changes<a class="headerlink" href="#id43" title="Permalink to this headline"></a></h3>
<div class="section" id="id48">
<h2><a class="reference external" href="https://github.com/huderlem/porymap/compare/3.0.1...4.0.0">4.0.0</a> - 2020-04-28<a class="headerlink" href="#id48" title="Permalink to this headline"></a></h2>
<div class="section" id="id49">
<h3>Breaking Changes<a class="headerlink" href="#id49" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li>If you are using pokeemerald or pokeruby, there were changes made in <a class="reference external" href="https://github.com/pret/pokeemerald/pull/1010">pokeemerald/#1010</a> and <a class="reference external" href="https://github.com/pret/pokeruby/pull/776">pokeruby/#776</a> that you will need to integrate in order to use this version of porymap.</li>
</ul>
</div>
<div class="section" id="id44">
<h3>Added<a class="headerlink" href="#id44" title="Permalink to this headline"></a></h3>
<div class="section" id="id50">
<h3>Added<a class="headerlink" href="#id50" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li>Support for <a class="reference external" href="https://github.com/pret/pokefirered">pokefirered</a>. Kanto fans rejoice! At long last porymap supports the FRLG decompilation project.</li>
<li>Add ability to export map stitches with <code class="docutils literal notranslate"><span class="pre">File</span> <span class="pre">-&gt;</span> <span class="pre">Export</span> <span class="pre">Map</span> <span class="pre">Stitch</span> <span class="pre">Image...</span></code>.</li>
@ -850,8 +896,8 @@ and this project somewhat adheres to <a class="reference external" href="https:/
<li>Add <code class="docutils literal notranslate"><span class="pre">Pencil</span></code>, <code class="docutils literal notranslate"><span class="pre">Move</span></code>, and <code class="docutils literal notranslate"><span class="pre">Map</span> <span class="pre">Shift</span></code> tools to the Events tab.</li>
</ul>
</div>
<div class="section" id="id45">
<h3>Changed<a class="headerlink" href="#id45" title="Permalink to this headline"></a></h3>
<div class="section" id="id51">
<h3>Changed<a class="headerlink" href="#id51" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li>Porymap now saves map and encounter json data in an order consistent with the upstream repos. This will provide more comprehensible diffs when files are saved.</li>
<li>Update Porymap icon.</li>
@ -859,8 +905,8 @@ and this project somewhat adheres to <a class="reference external" href="https:/
<li>Extend connection min and max offsets to players view boundary, rather than the maps boundary.</li>
</ul>
</div>
<div class="section" id="id46">
<h3>Fixed<a class="headerlink" href="#id46" title="Permalink to this headline"></a></h3>
<div class="section" id="id52">
<h3>Fixed<a class="headerlink" href="#id52" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li>Fix bug where pressing TAB key did not navigate through widgets in the wild encounter tables.</li>
<li>Fix bug that allowed selecting an invalid metatile in the metatile selector.</li>
@ -869,19 +915,19 @@ and this project somewhat adheres to <a class="reference external" href="https:/
</ul>
</div>
</div>
<div class="section" id="id47">
<h2><a class="reference external" href="https://github.com/huderlem/porymap/compare/3.0.0...3.0.1">3.0.1</a> - 2020-03-04<a class="headerlink" href="#id47" title="Permalink to this headline"></a></h2>
<div class="section" id="id48">
<h3>Fixed<a class="headerlink" href="#id48" title="Permalink to this headline"></a></h3>
<div class="section" id="id53">
<h2><a class="reference external" href="https://github.com/huderlem/porymap/compare/3.0.0...3.0.1">3.0.1</a> - 2020-03-04<a class="headerlink" href="#id53" title="Permalink to this headline"></a></h2>
<div class="section" id="id54">
<h3>Fixed<a class="headerlink" href="#id54" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li>Fix bug on Mac where tileset images were corrupted when saving.</li>
</ul>
</div>
</div>
<div class="section" id="id49">
<h2><a class="reference external" href="https://github.com/huderlem/porymap/compare/2.0.0...3.0.0">3.0.0</a> - 2020-03-04<a class="headerlink" href="#id49" title="Permalink to this headline"></a></h2>
<div class="section" id="id50">
<h3>Breaking Changes<a class="headerlink" href="#id50" title="Permalink to this headline"></a></h3>
<div class="section" id="id55">
<h2><a class="reference external" href="https://github.com/huderlem/porymap/compare/2.0.0...3.0.0">3.0.0</a> - 2020-03-04<a class="headerlink" href="#id55" title="Permalink to this headline"></a></h2>
<div class="section" id="id56">
<h3>Breaking Changes<a class="headerlink" href="#id56" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li>pokeemerald and pokeruby both underwent a naming consistency update with respect to “object events”. As such, these naming changes break old versions of Porymap.<ul>
<li>pokeemerald object event PR: https://github.com/pret/pokeemerald/pull/910</li>
@ -890,22 +936,22 @@ and this project somewhat adheres to <a class="reference external" href="https:/
</li>
</ul>
</div>
<div class="section" id="id51">
<h3>Added<a class="headerlink" href="#id51" title="Permalink to this headline"></a></h3>
<div class="section" id="id57">
<h3>Added<a class="headerlink" href="#id57" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li>Add optional support for Poryscript script files via the <code class="docutils literal notranslate"><span class="pre">use_poryscript</span></code> config option.</li>
<li>Selecting a group of metatiles from the map area now also copies the collision properties, too.</li>
<li>Add keyboard shortcut <code class="docutils literal notranslate"><span class="pre">Ctrl</span> <span class="pre">+</span> <span class="pre">G</span></code> for toggling the map grid.</li>
</ul>
</div>
<div class="section" id="id52">
<h3>Changed<a class="headerlink" href="#id52" title="Permalink to this headline"></a></h3>
<div class="section" id="id58">
<h3>Changed<a class="headerlink" href="#id58" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li>Draw map connections with the current maps tilesets to more accurately mimic their appearance in-game.</li>
</ul>
</div>
<div class="section" id="id53">
<h3>Fixed<a class="headerlink" href="#id53" title="Permalink to this headline"></a></h3>
<div class="section" id="id59">
<h3>Fixed<a class="headerlink" href="#id59" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li>Fix index-out-of-bounds crash when deleting the last event in an event type group.</li>
<li>Fix bug where exporting tileset images could add an extra row of junk at the end.</li>
@ -915,17 +961,17 @@ and this project somewhat adheres to <a class="reference external" href="https:/
</ul>
</div>
</div>
<div class="section" id="id54">
<h2><a class="reference external" href="https://github.com/huderlem/porymap/compare/1.2.2...2.0.0">2.0.0</a> - 2019-10-16<a class="headerlink" href="#id54" title="Permalink to this headline"></a></h2>
<div class="section" id="id55">
<h3>Breaking Changes<a class="headerlink" href="#id55" title="Permalink to this headline"></a></h3>
<div class="section" id="id60">
<h2><a class="reference external" href="https://github.com/huderlem/porymap/compare/1.2.2...2.0.0">2.0.0</a> - 2019-10-16<a class="headerlink" href="#id60" title="Permalink to this headline"></a></h2>
<div class="section" id="id61">
<h3>Breaking Changes<a class="headerlink" href="#id61" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li>Accomodate event object graphics pointer table being explicitly indexed. From changes introduced in commits <a class="reference external" href="https://github.com/pret/pokeemerald/commit/cdae0c1444bed98e652c87dc3e3edcecacfef8be">cdae0c1444bed98e652c87dc3e3edcecacfef8be</a> and <a class="reference external" href="https://github.com/pret/pokeruby/commit/0e8ccfc4fd3544001f4c25fafd401f7558bdefba">0e8ccfc4fd3544001f4c25fafd401f7558bdefba</a>.</li>
<li>New “field” key in wild encounter JSON data from pokeemerald and pokeruby commits <a class="reference external" href="https://github.com/pret/pokeemerald/commit/adb0a444577b59eb02788c782a3d04bc285be0ba">adb0a444577b59eb02788c782a3d04bc285be0ba</a> and <a class="reference external" href="c73de8bed752ca538d90cfc93c4a9e8c7965f8c9">https://github.com/pret/pokeruby/commit/c73de8bed752ca538d90cfc93c4a9e8c7965f8c9</a>.</li>
</ul>
</div>
<div class="section" id="id56">
<h3>Added<a class="headerlink" href="#id56" title="Permalink to this headline"></a></h3>
<div class="section" id="id62">
<h3>Added<a class="headerlink" href="#id62" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li>Add wild encounter table editor.</li>
<li>Add dark themes.</li>
@ -933,16 +979,16 @@ and this project somewhat adheres to <a class="reference external" href="https:/
<li>Add warning when closing porymap with unsaved changes.</li>
</ul>
</div>
<div class="section" id="id57">
<h3>Changed<a class="headerlink" href="#id57" title="Permalink to this headline"></a></h3>
<div class="section" id="id63">
<h3>Changed<a class="headerlink" href="#id63" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li>Exporting map images is now more configurable. Events, connections, collision, etc. can be toggled on and off before exporting the image.</li>
<li>The entire Tileset Editor selection is now conveniently flipped when selecting x-flip or y-flip.</li>
<li>Autocomplete for porymaps comboboxes no longer require typing the full string prefix.</li>
</ul>
</div>
<div class="section" id="id58">
<h3>Fixed<a class="headerlink" href="#id58" title="Permalink to this headline"></a></h3>
<div class="section" id="id64">
<h3>Fixed<a class="headerlink" href="#id64" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li>Fix bug where map group names were hardcoded when creating a new map.</li>
<li>Fix bug in Tileset Editor where multi-tile selections werent properly painted when clicking on the bottom row of the metatile layers.</li>
@ -953,18 +999,18 @@ and this project somewhat adheres to <a class="reference external" href="https:/
</ul>
</div>
</div>
<div class="section" id="id59">
<h2><a class="reference external" href="https://github.com/huderlem/porymap/compare/1.2.1...1.2.2">1.2.2</a> - 2019-05-16<a class="headerlink" href="#id59" title="Permalink to this headline"></a></h2>
<div class="section" id="id60">
<h3>Added<a class="headerlink" href="#id60" title="Permalink to this headline"></a></h3>
<div class="section" id="id65">
<h2><a class="reference external" href="https://github.com/huderlem/porymap/compare/1.2.1...1.2.2">1.2.2</a> - 2019-05-16<a class="headerlink" href="#id65" title="Permalink to this headline"></a></h2>
<div class="section" id="id66">
<h3>Added<a class="headerlink" href="#id66" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li>Add region map editor</li>
<li>Add ability to add new tilesets</li>
<li>Add official Porymap documentation website: https://huderlem.github.io/porymap/</li>
</ul>
</div>
<div class="section" id="id61">
<h3>Changed<a class="headerlink" href="#id61" title="Permalink to this headline"></a></h3>
<div class="section" id="id67">
<h3>Changed<a class="headerlink" href="#id67" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li>Event sprites now display as facing the direction of their movement type.</li>
<li>Default values for newly-created events now use valid values from the project, rather than hardcoded values.</li>
@ -974,8 +1020,8 @@ and this project somewhat adheres to <a class="reference external" href="https:/
<li>Default values for new events are now more sensible and guaranteed to be valid.</li>
</ul>
</div>
<div class="section" id="id62">
<h3>Fixed<a class="headerlink" href="#id62" title="Permalink to this headline"></a></h3>
<div class="section" id="id68">
<h3>Fixed<a class="headerlink" href="#id68" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li>Fix bug in zoomed metatile selector where a large selection rectangle was being rendered.</li>
<li>Fix bug where edited map icons were not rendered properly.</li>
@ -984,32 +1030,32 @@ and this project somewhat adheres to <a class="reference external" href="https:/
</ul>
</div>
</div>
<div class="section" id="id63">
<h2><a class="reference external" href="https://github.com/huderlem/porymap/compare/1.2.0...1.2.1">1.2.1</a> - 2019-02-16<a class="headerlink" href="#id63" title="Permalink to this headline"></a></h2>
<div class="section" id="id64">
<h3>Added<a class="headerlink" href="#id64" title="Permalink to this headline"></a></h3>
<div class="section" id="id69">
<h2><a class="reference external" href="https://github.com/huderlem/porymap/compare/1.2.0...1.2.1">1.2.1</a> - 2019-02-16<a class="headerlink" href="#id69" title="Permalink to this headline"></a></h2>
<div class="section" id="id70">
<h3>Added<a class="headerlink" href="#id70" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li>Add ability to zoom in and out the map metatile selector via a slider at the bottom of the metatile selector window.</li>
</ul>
</div>
<div class="section" id="id65">
<h3>Fixed<a class="headerlink" href="#id65" title="Permalink to this headline"></a></h3>
<div class="section" id="id71">
<h3>Fixed<a class="headerlink" href="#id71" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li>Fix crash when creating a new map from a layout that has no pre-existing maps that use it.</li>
<li>Fix bug where <code class="docutils literal notranslate"><span class="pre">var_value</span></code>, <code class="docutils literal notranslate"><span class="pre">trainer_type</span></code> and <code class="docutils literal notranslate"><span class="pre">trainer_sight_or_berry_tree_id</span></code> JSON fields were being interpreted as integers.</li>
</ul>
</div>
</div>
<div class="section" id="id66">
<h2><a class="reference external" href="https://github.com/huderlem/porymap/compare/1.1.0...1.2.0">1.2.0</a> - 2019-02-04<a class="headerlink" href="#id66" title="Permalink to this headline"></a></h2>
<div class="section" id="id67">
<h3>Breaking Changes<a class="headerlink" href="#id67" title="Permalink to this headline"></a></h3>
<div class="section" id="id72">
<h2><a class="reference external" href="https://github.com/huderlem/porymap/compare/1.1.0...1.2.0">1.2.0</a> - 2019-02-04<a class="headerlink" href="#id72" title="Permalink to this headline"></a></h2>
<div class="section" id="id73">
<h3>Breaking Changes<a class="headerlink" href="#id73" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li>New JSON map data format in pokeemerald and pokeruby from commits <a class="reference external" href="https://github.com/pret/pokeemerald/commit/82abc164dc9f6a74fdf0c535cc1621b7ed05318b">82abc164dc9f6a74fdf0c535cc1621b7ed05318b</a> and <a class="reference external" href="https://github.com/pret/pokeruby/commit/a0ba1b7c6353f7e4f3066025514c05b323a0123d">a0ba1b7c6353f7e4f3066025514c05b323a0123d</a>.</li>
</ul>
</div>
<div class="section" id="id68">
<h3>Added<a class="headerlink" href="#id68" title="Permalink to this headline"></a></h3>
<div class="section" id="id74">
<h3>Added<a class="headerlink" href="#id74" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li>Add “magic fill” mode to fill tool (hold down CTRL key). This fills all matching metatiles on the map, rather than only the contiguous region.</li>
<li>Add ability to import tileset palettes (JASC, .pal, .tpl, .gpl, .act).</li>
@ -1022,8 +1068,8 @@ and this project somewhat adheres to <a class="reference external" href="https:/
<li>Add ability to define custom fields for map header and all events.</li>
</ul>
</div>
<div class="section" id="id69">
<h3>Changed<a class="headerlink" href="#id69" title="Permalink to this headline"></a></h3>
<div class="section" id="id75">
<h3>Changed<a class="headerlink" href="#id75" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li>Collapse the map list by default.</li>
<li>Collision view now has a transparency slider to help make it easier to view the underlying metatiles.</li>
@ -1037,8 +1083,8 @@ and this project somewhat adheres to <a class="reference external" href="https:/
<li>The tiles image in the tileset editor will no longer flip according to the x/y flip checkboxes. The individual tile selection still flips, though.</li>
</ul>
</div>
<div class="section" id="id70">
<h3>Fixed<a class="headerlink" href="#id70" title="Permalink to this headline"></a></h3>
<div class="section" id="id76">
<h3>Fixed<a class="headerlink" href="#id76" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li>Fix bug where smart paths could be auto-enabled, despite the checkbox being disabled.</li>
<li>Fix crash that could occur when changing the palette id in the tileset palette editor.</li>
@ -1047,32 +1093,32 @@ and this project somewhat adheres to <a class="reference external" href="https:/
</ul>
</div>
</div>
<div class="section" id="id71">
<h2><a class="reference external" href="https://github.com/huderlem/porymap/compare/1.0.0...1.1.0">1.1.0</a> - 2018-12-27<a class="headerlink" href="#id71" title="Permalink to this headline"></a></h2>
<div class="section" id="id72">
<h3>Breaking Changes<a class="headerlink" href="#id72" title="Permalink to this headline"></a></h3>
<div class="section" id="id77">
<h2><a class="reference external" href="https://github.com/huderlem/porymap/compare/1.0.0...1.1.0">1.1.0</a> - 2018-12-27<a class="headerlink" href="#id77" title="Permalink to this headline"></a></h2>
<div class="section" id="id78">
<h3>Breaking Changes<a class="headerlink" href="#id78" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li>New map header format in pokeemerald from commit <a class="reference external" href="https://github.com/pret/pokeemerald/commit/a1ea3b5e394bc115ba9b86348c161094a00dcca7">a1ea3b5e394bc115ba9b86348c161094a00dcca7</a>.</li>
</ul>
</div>
<div class="section" id="id73">
<h3>Added<a class="headerlink" href="#id73" title="Permalink to this headline"></a></h3>
<div class="section" id="id79">
<h3>Added<a class="headerlink" href="#id79" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li>Add <code class="docutils literal notranslate"><span class="pre">porymap.project.cfg</span></code> config file to project repos, in order to house project-specific settings, such as <code class="docutils literal notranslate"><span class="pre">base_game_version=pokeemerald</span></code>.</li>
<li>Write all logs to <code class="docutils literal notranslate"><span class="pre">porymap.log</span></code> file, so users can view any errors that porymap hits.</li>
<li>Changelog</li>
</ul>
</div>
<div class="section" id="id74">
<h3>Changed<a class="headerlink" href="#id74" title="Permalink to this headline"></a></h3>
<div class="section" id="id80">
<h3>Changed<a class="headerlink" href="#id80" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li>Add <code class="docutils literal notranslate"><span class="pre">porymap.cfg</span></code> base config file, rather than using built-in system settings (e.g. registry on Windows).</li>
<li>Properly read/write map headers for <code class="docutils literal notranslate"><span class="pre">pokeemerald</span></code>.</li>
<li>Overhauled event editing pane, which now contains tabs for each different event. Events of the same type can be iterated through using the spinner at the top of the tab. This makes it possible to edit events that are outside the viewing window.</li>
</ul>
</div>
<div class="section" id="id75">
<h3>Fixed<a class="headerlink" href="#id75" title="Permalink to this headline"></a></h3>
<div class="section" id="id81">
<h3>Fixed<a class="headerlink" href="#id81" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li>Creating new hidden-item events now uses a valid default flag value.</li>
<li>Fix bug where tilesets were sometimes not displaying their bottom row of metatiles.</li>
@ -1085,8 +1131,8 @@ and this project somewhat adheres to <a class="reference external" href="https:/
</ul>
</div>
</div>
<div class="section" id="id76">
<h2><a class="reference external" href="https://github.com/huderlem/porymap/tree/1.0.0">1.0.0</a> - 2018-10-26<a class="headerlink" href="#id76" title="Permalink to this headline"></a></h2>
<div class="section" id="id82">
<h2><a class="reference external" href="https://github.com/huderlem/porymap/tree/1.0.0">1.0.0</a> - 2018-10-26<a class="headerlink" href="#id82" title="Permalink to this headline"></a></h2>
<p>This was the initial release.</p>
</div>
</div>

View file

@ -219,124 +219,134 @@
<ul>
<li class="toctree-l1"><a class="reference internal" href="reference/changelog.html">Changelog</a><ul>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#unreleased">Unreleased</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id1">5.3.0 - 2024-01-15</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#added">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#changed">Changed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id1">5.4.1 - 2024-03-21</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#fixed">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id2">5.2.0 - 2024-01-02</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id3">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id4">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id5">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id2">5.4.0 - 2024-02-13</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#added">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#changed">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id3">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id6">5.1.1 - 2023-02-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id7">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id8">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id9">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id4">5.3.0 - 2024-01-15</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id5">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id6">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id7">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id10">5.1.0 - 2023-01-22</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id11">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id12">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id13">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id8">5.2.0 - 2024-01-02</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id9">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id10">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id11">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id14">5.0.0 - 2022-10-30</a><ul>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id12">5.1.1 - 2023-02-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id13">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id14">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id15">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id16">5.1.0 - 2023-01-22</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id17">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id18">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id19">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id20">5.0.0 - 2022-10-30</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#breaking-changes">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id15">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id16">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id17">Fixed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id21">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id22">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id23">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id18">4.5.0 - 2021-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id19">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id20">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id21">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id24">4.5.0 - 2021-12-26</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id25">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id26">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id27">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id22">4.4.0 - 2020-12-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id23">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id24">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id25">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id28">4.4.0 - 2020-12-20</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id29">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id30">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id31">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id26">4.3.1 - 2020-07-17</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id27">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id28">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id29">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id32">4.3.1 - 2020-07-17</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id33">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id34">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id35">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id30">4.3.0 - 2020-06-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id31">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id32">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id33">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id36">4.3.0 - 2020-06-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id37">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id38">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id39">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id34">4.2.0 - 2020-06-06</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id35">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id36">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id37">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id40">4.2.0 - 2020-06-06</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id41">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id42">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id43">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id38">4.1.0 - 2020-05-18</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id39">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id40">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id41">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id44">4.1.0 - 2020-05-18</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id45">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id46">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id47">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id42">4.0.0 - 2020-04-28</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id43">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id44">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id45">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id46">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id48">4.0.0 - 2020-04-28</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id49">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id50">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id51">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id52">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id47">3.0.1 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id48">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id53">3.0.1 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id54">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id49">3.0.0 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id50">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id51">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id52">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id53">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id55">3.0.0 - 2020-03-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id56">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id57">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id58">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id59">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id54">2.0.0 - 2019-10-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id55">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id56">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id57">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id58">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id60">2.0.0 - 2019-10-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id61">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id62">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id63">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id64">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id59">1.2.2 - 2019-05-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id60">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id61">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id62">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id65">1.2.2 - 2019-05-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id66">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id67">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id68">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id63">1.2.1 - 2019-02-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id64">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id65">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id69">1.2.1 - 2019-02-16</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id70">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id71">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id66">1.2.0 - 2019-02-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id67">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id68">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id69">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id70">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id72">1.2.0 - 2019-02-04</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id73">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id74">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id75">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id76">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id71">1.1.0 - 2018-12-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id72">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id73">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id74">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id75">Fixed</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id77">1.1.0 - 2018-12-27</a><ul>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id78">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id79">Added</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id80">Changed</a></li>
<li class="toctree-l3"><a class="reference internal" href="reference/changelog.html#id81">Fixed</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id76">1.0.0 - 2018-10-26</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/changelog.html#id82">1.0.0 - 2018-10-26</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="reference/related-projects.html">Related Projects</a></li>

File diff suppressed because one or more lines are too long

View file

@ -52,9 +52,6 @@
<pointsize>12</pointsize>
</font>
</property>
<property name="text">
<string>Version 5.3.0 - January 15th, 2024</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>

View file

@ -1715,7 +1715,7 @@
<x>0</x>
<y>0</y>
<width>100</width>
<height>30</height>
<height>16</height>
</rect>
</property>
<property name="sizePolicy">
@ -1809,7 +1809,7 @@
<x>0</x>
<y>0</y>
<width>100</width>
<height>30</height>
<height>16</height>
</rect>
</property>
<property name="sizePolicy">
@ -1903,7 +1903,7 @@
<x>0</x>
<y>0</y>
<width>100</width>
<height>30</height>
<height>16</height>
</rect>
</property>
<property name="sizePolicy">
@ -2003,7 +2003,7 @@
<x>0</x>
<y>0</y>
<width>100</width>
<height>30</height>
<height>16</height>
</rect>
</property>
<property name="sizePolicy">
@ -2097,7 +2097,7 @@
<x>0</x>
<y>0</y>
<width>100</width>
<height>30</height>
<height>16</height>
</rect>
</property>
<property name="sizePolicy">
@ -3112,6 +3112,7 @@
<addaction name="actionAbout_Porymap"/>
<addaction name="actionOpen_Log_File"/>
<addaction name="actionOpen_Config_Folder"/>
<addaction name="actionCheck_for_Updates"/>
</widget>
<widget class="QMenu" name="menuOptions">
<property name="title">
@ -3406,6 +3407,14 @@
<string>Custom Scripts...</string>
</property>
</action>
<action name="actionCheck_for_Updates">
<property name="text">
<string>Check for Updates...</string>
</property>
<property name="menuRole">
<enum>QAction::ApplicationSpecificRole</enum>
</property>
</action>
</widget>
<layoutdefault spacing="6" margin="11"/>
<customwidgets>

View file

@ -26,6 +26,9 @@
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QCheckBox" name="checkBox_MonitorProjectFiles">
<property name="toolTip">
<string>If checked, a prompt to reload your project will appear if relevant project files are edited</string>
</property>
<property name="text">
<string>Monitor project files</string>
</property>
@ -33,11 +36,24 @@
</item>
<item>
<widget class="QCheckBox" name="checkBox_OpenRecentProject">
<property name="toolTip">
<string>If checked, Porymap will automatically open your most recently opened project on startup</string>
</property>
<property name="text">
<string>Open recent project on launch</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="checkBox_CheckForUpdates">
<property name="toolTip">
<string>If checked, Porymap will automatically alert you on startup if a new release is available</string>
</property>
<property name="text">
<string>Automatically check for updates</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>

104
forms/updatepromoter.ui Normal file
View file

@ -0,0 +1,104 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>UpdatePromoter</class>
<widget class="QDialog" name="UpdatePromoter">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>592</width>
<height>484</height>
</rect>
</property>
<property name="windowTitle">
<string>Porymap Version Update</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QFrame" name="frame">
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QLabel" name="label_Status">
<property name="text">
<string/>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_Warning">
<property name="text">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:13pt; color:#d7000c;&quot;&gt;WARNING: &lt;/span&gt;&lt;span style=&quot; font-weight:400;&quot;&gt;Updating Porymap may require you to update your projects. See &quot;Breaking Changes&quot; in the Changelog for details.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QFrame" name="frame_Changelog">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="frameShape">
<enum>QFrame::NoFrame</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Plain</enum>
</property>
<layout class="QVBoxLayout" name="verticalLayout_3">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QTextBrowser" name="text_Changelog">
<property name="openExternalLinks">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QCheckBox" name="checkBox_StopAlerts">
<property name="text">
<string>Do not alert me about new updates</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QDialogButtonBox" name="buttonBox">
<property name="standardButtons">
<set>QDialogButtonBox::Close|QDialogButtonBox::Retry</set>
</property>
</widget>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>

View file

@ -8,9 +8,14 @@
#include <QSize>
#include <QKeySequence>
#include <QMultiMap>
#include <QDateTime>
#include <QUrl>
#include <QVersionNumber>
#include "events.h"
static const QVersionNumber porymapVersion = QVersionNumber::fromString(PORYMAP_VERSION);
// In both versions the default new map border is a generic tree
#define DEFAULT_BORDER_RSE (QList<uint16_t>{0x1D4, 0x1D5, 0x1DC, 0x1DD})
#define DEFAULT_BORDER_FRLG (QList<uint16_t>{0x14, 0x15, 0x1C, 0x1D})
@ -74,6 +79,10 @@ public:
this->paletteEditorBitDepth = 24;
this->projectSettingsTab = 0;
this->warpBehaviorWarningDisabled = false;
this->checkForUpdates = true;
this->lastUpdateCheckTime = QDateTime();
this->lastUpdateCheckVersion = porymapVersion;
this->rateLimitTimes.clear();
}
void addRecentProject(QString project);
void setRecentProjects(QStringList projects);
@ -105,6 +114,10 @@ public:
void setPaletteEditorBitDepth(int bitDepth);
void setProjectSettingsTab(int tab);
void setWarpBehaviorWarningDisabled(bool disabled);
void setCheckForUpdates(bool enabled);
void setLastUpdateCheckTime(QDateTime time);
void setLastUpdateCheckVersion(QVersionNumber version);
void setRateLimitTimes(QMap<QUrl, QDateTime> map);
QString getRecentProject();
QStringList getRecentProjects();
bool getReopenOnLaunch();
@ -135,6 +148,10 @@ public:
int getPaletteEditorBitDepth();
int getProjectSettingsTab();
bool getWarpBehaviorWarningDisabled();
bool getCheckForUpdates();
QDateTime getLastUpdateCheckTime();
QVersionNumber getLastUpdateCheckVersion();
QMap<QUrl, QDateTime> getRateLimitTimes();
protected:
virtual QString getConfigFilepath() override;
virtual void parseConfigKeyValue(QString key, QString value) override;
@ -183,6 +200,10 @@ private:
int paletteEditorBitDepth;
int projectSettingsTab;
bool warpBehaviorWarningDisabled;
bool checkForUpdates;
QDateTime lastUpdateCheckTime;
QVersionNumber lastUpdateCheckVersion;
QMap<QUrl, QDateTime> rateLimitTimes;
};
extern PorymapConfig porymapConfig;

87
include/core/network.h Normal file
View file

@ -0,0 +1,87 @@
#ifndef NETWORK_H
#define NETWORK_H
/*
The two classes defined here provide a simplified interface for Qt's network classes QNetworkAccessManager and QNetworkReply.
With the Qt classes, the workflow for a GET is roughly: generate a QNetworkRequest, give this request to QNetworkAccessManager::get,
connect the returned object to QNetworkReply::finished, and in the slot of that connection handle the various HTTP headers and attributes,
then manage errors or process the webpage's body.
These classes handle generating the QNetworkRequest with a given URL and manage the HTTP headers in the reply. They will automatically
respect rate limits and return cached data if the webpage hasn't changed since previous requests. Instead of interacting with a QNetworkReply,
callers interact with a simplified NetworkReplyData.
Example that logs Porymap's description on GitHub:
NetworkAccessManager * manager = new NetworkAccessManager(this);
NetworkReplyData * reply = manager->get("https://api.github.com/repos/huderlem/porymap");
connect(reply, &NetworkReplyData::finished, [reply] () {
if (!reply->errorString().isEmpty()) {
logError(QString("Failed to read description: %1").arg(reply->errorString()));
} else {
auto webpage = QJsonDocument::fromJson(reply->body());
logInfo(QString("Porymap: %1").arg(webpage["description"].toString()));
}
reply->deleteLater();
});
*/
#include <QNetworkAccessManager>
#include <QNetworkRequest>
#include <QNetworkReply>
#include <QDateTime>
class NetworkReplyData : public QObject
{
Q_OBJECT
public:
QUrl url() const { return m_url; }
QUrl nextUrl() const { return m_nextUrl; }
QByteArray body() const { return m_body; }
QString errorString() const { return m_error; }
QDateTime retryAfter() const { return m_retryAfter; }
bool isFinished() const { return m_finished; }
friend class NetworkAccessManager;
private:
QUrl m_url;
QUrl m_nextUrl;
QByteArray m_body;
QString m_error;
QDateTime m_retryAfter;
bool m_finished;
void finish() {
m_finished = true;
emit finished();
};
signals:
void finished();
};
class NetworkAccessManager : public QNetworkAccessManager
{
Q_OBJECT
public:
NetworkAccessManager(QObject * parent = nullptr);
~NetworkAccessManager();
NetworkReplyData * get(const QString &url);
NetworkReplyData * get(const QUrl &url);
private:
// For a more complex cache we could implement a QAbstractCache for the manager
struct CacheEntry {
QString eTag;
QByteArray data;
};
QMap<QUrl, CacheEntry*> cache;
QMap<QUrl, QDateTime> rateLimitTimes;
void processReply(QNetworkReply * reply, NetworkReplyData * data);
const QNetworkRequest getRequest(const QUrl &url);
};
#endif // NETWORK_H

View file

@ -77,16 +77,16 @@ namespace fex
switch (type_)
{
case Type::kEmpty:
return "kEmpty: {}";
return "{}";
case Type::kNumber:
return "kNumber: " + std::to_string(int_value_);
return std::to_string(int_value_);
case Type::kString:
return "kString: \"" + string_value_ + "\"";
return "\"" + string_value_ + "\"";
case Type::kIdentifier:
return "kIdentifier: " + string_value_;
return string_value_;
case Type::kValueList:
{
std::string out = "kValueList: {\n";
std::string out = "{\n";
for (const ArrayValue &v : values_)
{
out += "\t" + v.ToString() + ",\n";
@ -94,7 +94,7 @@ namespace fex
return out + "}\n";
}
case Type::kValuePair:
return "kValuePair: " + pair_.first + " = " + pair_.second->ToString() + "\n";
return pair_.first + " = " + pair_.second->ToString() + "\n";
}
}

View file

@ -27,6 +27,7 @@
#include "preferenceeditor.h"
#include "projectsettingseditor.h"
#include "customscriptseditor.h"
#include "updatepromoter.h"
@ -288,6 +289,7 @@ private slots:
void on_spinBox_SelectedCollision_valueChanged(int collision);
void on_actionRegion_Map_Editor_triggered();
void on_actionPreferences_triggered();
void on_actionCheck_for_Updates_triggered();
void togglePreferenceSpecificUi();
void on_actionProject_Settings_triggered();
void on_actionCustom_Scripts_triggered();
@ -307,6 +309,8 @@ private:
QPointer<PreferenceEditor> preferenceEditor = nullptr;
QPointer<ProjectSettingsEditor> projectSettingsEditor = nullptr;
QPointer<CustomScriptsEditor> customScriptsEditor = nullptr;
QPointer<UpdatePromoter> updatePromoter = nullptr;
QPointer<NetworkAccessManager> networkAccessManager = nullptr;
FilterChildrenProxyModel *mapListProxyModel;
QStandardItemModel *mapListModel;
QList<QStandardItem*> *mapGroupItemsList;
@ -385,6 +389,7 @@ private:
void initTilesetEditor();
bool initRegionMapEditor(bool silent = false);
bool askToFixRegionMapEditor();
void initShortcutsEditor();
void initCustomScriptsEditor();
void connectSubEditorsToShortcutsEditor();
@ -398,6 +403,8 @@ private:
QObjectList shortcutableObjects() const;
void addCustomHeaderValue(QString key, QJsonValue value, bool isNew = false);
int insertTilesetLabel(QStringList * list, QString label);
void checkForUpdates(bool requestedByUser);
};
enum MapListUserRoles {

View file

@ -52,7 +52,6 @@ public:
static QJSValue fromBlock(Block block);
static QJSValue fromTile(Tile tile);
static Tile toTile(QJSValue obj);
static QJSValue version(QList<int> versionNums);
static QJSValue dimensions(int width, int height);
static QJSValue position(int x, int y);
static const QImage * getImage(const QString &filepath, bool useCache);

View file

@ -14,7 +14,6 @@ class AboutPorymap : public QMainWindow
public:
explicit AboutPorymap(QWidget *parent = nullptr);
~AboutPorymap();
QList<int> getVersionNumbers();
private:
Ui::AboutPorymap *ui;
};

View file

@ -27,6 +27,7 @@ public:
~RegionMapEditor();
bool load(bool silent = false);
bool setupErrored() const { return setupError; }
void onRegionMapTileSelectorSelectedTileChanged(unsigned id);
void onRegionMapTileSelectorHoveredTileChanged(unsigned id);
@ -41,6 +42,8 @@ public:
void resizeTilemap(int width, int height);
bool reconfigure();
QObjectList shortcutableObjects() const;
public slots:
@ -53,9 +56,13 @@ private:
RegionMap *region_map = nullptr;
tsl::ordered_map<QString, RegionMap *> region_maps;
QString configFilepath;
QString mapSectionFilepath;
poryjson::Json rmConfigJson;
bool configSaved = false;
bool setupError = false;
QUndoGroup history;

View file

@ -0,0 +1,50 @@
#ifndef UPDATEPROMOTER_H
#define UPDATEPROMOTER_H
#include "network.h"
#include <QDialog>
#include <QPushButton>
#include <QVersionNumber>
namespace Ui {
class UpdatePromoter;
}
class UpdatePromoter : public QDialog
{
Q_OBJECT
public:
explicit UpdatePromoter(QWidget *parent, NetworkAccessManager *manager);
~UpdatePromoter() {};
void checkForUpdates();
void updatePreferences();
private:
Ui::UpdatePromoter *ui;
NetworkAccessManager *const manager;
QPushButton * button_Downloads;
QPushButton * button_Retry;
QString changelog;
QUrl downloadUrl;
QVersionNumber newVersion;
bool foundReleases;
QSet<QUrl> visitedUrls; // Prevent infinite redirection
void resetDialog();
void get(const QUrl &url);
void processWebpage(const QJsonDocument &data, const QUrl &nextUrl);
void error(const QString &err, const QDateTime time = QDateTime());
private slots:
void dialogButtonClicked(QAbstractButton *button);
signals:
void changedPreferences();
};
#endif // UPDATEPROMOTER_H

View file

@ -4,7 +4,7 @@
#
#-------------------------------------------------
QT += core gui qml
QT += core gui qml network
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
@ -14,6 +14,8 @@ RC_ICONS = resources/icons/porymap-icon-2.ico
ICON = resources/icons/porymap.icns
QMAKE_CXXFLAGS += -std=c++17 -Wall
QMAKE_TARGET_BUNDLE_PREFIX = com.pret
VERSION = 5.4.1
DEFINES += PORYMAP_VERSION=\\\"$$VERSION\\\"
SOURCES += src/core/block.cpp \
src/core/bitpacker.cpp \
@ -26,6 +28,7 @@ SOURCES += src/core/block.cpp \
src/core/mapparser.cpp \
src/core/metatile.cpp \
src/core/metatileparser.cpp \
src/core/network.cpp \
src/core/paletteutil.cpp \
src/core/parseutil.cpp \
src/core/tile.cpp \
@ -102,7 +105,8 @@ SOURCES += src/core/block.cpp \
src/project.cpp \
src/settings.cpp \
src/log.cpp \
src/ui/uintspinbox.cpp
src/ui/uintspinbox.cpp \
src/ui/updatepromoter.cpp
HEADERS += include/core/block.h \
include/core/bitpacker.h \
@ -117,6 +121,7 @@ HEADERS += include/core/block.h \
include/core/mapparser.h \
include/core/metatile.h \
include/core/metatileparser.h \
include/core/network.h \
include/core/paletteutil.h \
include/core/parseutil.h \
include/core/tile.h \
@ -196,7 +201,8 @@ HEADERS += include/core/block.h \
include/scriptutility.h \
include/settings.h \
include/log.h \
include/ui/uintspinbox.h
include/ui/uintspinbox.h \
include/ui/updatepromoter.h
FORMS += forms/mainwindow.ui \
forms/prefabcreationdialog.ui \
@ -214,7 +220,8 @@ FORMS += forms/mainwindow.ui \
forms/colorpicker.ui \
forms/projectsettingseditor.ui \
forms/customscriptseditor.ui \
forms/customscriptslistitem.ui
forms/customscriptslistitem.ui \
forms/updatepromoter.ui
RESOURCES += \
resources/images.qrc \

View file

@ -407,6 +407,24 @@ void PorymapConfig::parseConfigKeyValue(QString key, QString value) {
this->projectSettingsTab = getConfigInteger(key, value, 0);
} else if (key == "warp_behavior_warning_disabled") {
this->warpBehaviorWarningDisabled = getConfigBool(key, value);
} else if (key == "check_for_updates") {
this->checkForUpdates = getConfigBool(key, value);
} else if (key == "last_update_check_time") {
this->lastUpdateCheckTime = QDateTime::fromString(value).toLocalTime();
} else if (key == "last_update_check_version") {
auto version = QVersionNumber::fromString(value);
if (version.segmentCount() != 3) {
logWarn(QString("Invalid config value for %1: '%2'. Must be 3 numbers separated by '.'").arg(key).arg(value));
this->lastUpdateCheckVersion = porymapVersion;
} else {
this->lastUpdateCheckVersion = version;
}
} else if (key.startsWith("rate_limit_time/")) {
static const QRegularExpression regex("\\brate_limit_time/(?<url>.+)");
QRegularExpressionMatch match = regex.match(key);
if (match.hasMatch()) {
this->rateLimitTimes.insert(match.captured("url"), QDateTime::fromString(value).toLocalTime());
}
} else {
logWarn(QString("Invalid config key found in config file %1: '%2'").arg(this->getConfigFilepath()).arg(key));
}
@ -453,6 +471,15 @@ QMap<QString, QString> PorymapConfig::getKeyValueMap() {
map.insert("palette_editor_bit_depth", QString::number(this->paletteEditorBitDepth));
map.insert("project_settings_tab", QString::number(this->projectSettingsTab));
map.insert("warp_behavior_warning_disabled", QString::number(this->warpBehaviorWarningDisabled));
map.insert("check_for_updates", QString::number(this->checkForUpdates));
map.insert("last_update_check_time", this->lastUpdateCheckTime.toUTC().toString());
map.insert("last_update_check_version", this->lastUpdateCheckVersion.toString());
for (auto i = this->rateLimitTimes.cbegin(), end = this->rateLimitTimes.cend(); i != end; i++){
// Only include rate limit times that are still active (i.e., in the future)
const QDateTime time = i.value();
if (!time.isNull() && time > QDateTime::currentDateTime())
map.insert("rate_limit_time/" + i.key().toString(), time.toUTC().toString());
}
return map;
}
@ -631,6 +658,31 @@ void PorymapConfig::setProjectSettingsTab(int tab) {
this->save();
}
void PorymapConfig::setWarpBehaviorWarningDisabled(bool disabled) {
this->warpBehaviorWarningDisabled = disabled;
this->save();
}
void PorymapConfig::setCheckForUpdates(bool enabled) {
this->checkForUpdates = enabled;
this->save();
}
void PorymapConfig::setLastUpdateCheckTime(QDateTime time) {
this->lastUpdateCheckTime = time;
this->save();
}
void PorymapConfig::setLastUpdateCheckVersion(QVersionNumber version) {
this->lastUpdateCheckVersion = version;
this->save();
}
void PorymapConfig::setRateLimitTimes(QMap<QUrl, QDateTime> map) {
this->rateLimitTimes = map;
this->save();
}
QString PorymapConfig::getRecentProject() {
return this->recentProjects.value(0);
}
@ -781,15 +833,26 @@ int PorymapConfig::getProjectSettingsTab() {
return this->projectSettingsTab;
}
void PorymapConfig::setWarpBehaviorWarningDisabled(bool disabled) {
this->warpBehaviorWarningDisabled = disabled;
this->save();
}
bool PorymapConfig::getWarpBehaviorWarningDisabled() {
return this->warpBehaviorWarningDisabled;
}
bool PorymapConfig::getCheckForUpdates() {
return this->checkForUpdates;
}
QDateTime PorymapConfig::getLastUpdateCheckTime() {
return this->lastUpdateCheckTime;
}
QVersionNumber PorymapConfig::getLastUpdateCheckVersion() {
return this->lastUpdateCheckVersion;
}
QMap<QUrl, QDateTime> PorymapConfig::getRateLimitTimes() {
return this->rateLimitTimes;
}
const QStringList ProjectConfig::versionStrings = {
"pokeruby",
"pokefirered",

154
src/core/network.cpp Normal file
View file

@ -0,0 +1,154 @@
#include "network.h"
#include "config.h"
#include <QCoreApplication>
#include <QRegularExpression>
#include <QTimer>
// Fallback wait time (in seconds) for rate limiting
static const int DefaultWaitTime = 120;
NetworkAccessManager::NetworkAccessManager(QObject * parent) : QNetworkAccessManager(parent) {
// We store rate limit end times in the user's config so that Porymap will still respect them after a restart.
// To avoid reading/writing to a local file during network operations, we only read/write the file when the
// manager is created/destroyed respectively.
this->rateLimitTimes = porymapConfig.getRateLimitTimes();
this->setRedirectPolicy(QNetworkRequest::NoLessSafeRedirectPolicy);
};
NetworkAccessManager::~NetworkAccessManager() {
porymapConfig.setRateLimitTimes(this->rateLimitTimes);
qDeleteAll(this->cache);
}
const QNetworkRequest NetworkAccessManager::getRequest(const QUrl &url) {
QNetworkRequest request(url);
// Set User-Agent to porymap/#.#.#
request.setHeader(QNetworkRequest::UserAgentHeader, QString("%1/%2").arg(QCoreApplication::applicationName())
.arg(QCoreApplication::applicationVersion()));
// If we've made a successful request in this session already, set the If-None-Match header.
// We'll only get a full response from the server if the data has changed since this last request.
// This helps to avoid hitting rate limits.
auto cacheEntry = this->cache.value(url, nullptr);
if (cacheEntry)
request.setHeader(QNetworkRequest::IfNoneMatchHeader, cacheEntry->eTag);
return request;
}
NetworkReplyData * NetworkAccessManager::get(const QString &url) {
return this->get(QUrl(url));
}
NetworkReplyData * NetworkAccessManager::get(const QUrl &url) {
NetworkReplyData * data = new NetworkReplyData();
data->m_url = url;
// If we are rate-limited, don't send a new request.
if (this->rateLimitTimes.contains(url)) {
auto time = this->rateLimitTimes.value(url);
if (!time.isNull() && time > QDateTime::currentDateTime()) {
data->m_retryAfter = time;
data->m_error = QString("Rate limit reached. Please try again after %1.").arg(data->m_retryAfter.toString());
QTimer::singleShot(1000, data, &NetworkReplyData::finish); // We can't emit this signal before caller has a chance to connect
return data;
}
// Rate limiting expired
this->rateLimitTimes.remove(url);
}
QNetworkReply * reply = QNetworkAccessManager::get(this->getRequest(url));
connect(reply, &QNetworkReply::finished, [this, reply, data] {
this->processReply(reply, data);
data->finish();
});
return data;
}
void NetworkAccessManager::processReply(QNetworkReply * reply, NetworkReplyData * data) {
if (!reply || !reply->isFinished())
return;
// The url in the request and the url ultimately processed (reply->url()) may differ if the request was redirected.
// For identification purposes (e.g. knowing if we are rate limited before a request is made) we use the url that
// was originally given for the request.
auto url = data->m_url;
reply->deleteLater();
int statusCode = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt();
// Handle pagination (specifically, the format GitHub uses).
// This header is still sent for a 304, so we don't need to bother caching it.
if (reply->hasRawHeader("link")) {
static const QRegularExpression regex("<(?<url>.+)?>; rel=\"next\"");
QRegularExpressionMatch match = regex.match(QString(reply->rawHeader("link")));
if (match.hasMatch())
data->m_nextUrl = QUrl(match.captured("url"));
}
if (statusCode == 304) {
// "Not Modified", data hasn't changed since our last request.
auto cacheEntry = this->cache.value(url, nullptr);
if (cacheEntry)
data->m_body = cacheEntry->data;
else
data->m_error = "Failed to read webpage from cache.";
return;
}
// Handle standard rate limit header
if (reply->hasRawHeader("retry-after")) {
auto retryAfter = QVariant(reply->rawHeader("retry-after"));
if (retryAfter.canConvert<QDateTime>()) {
data->m_retryAfter = retryAfter.toDateTime().toLocalTime();
} else if (retryAfter.canConvert<int>()) {
data->m_retryAfter = QDateTime::currentDateTime().addSecs(retryAfter.toInt());
}
if (data->m_retryAfter.isNull() || data->m_retryAfter <= QDateTime::currentDateTime()) {
data->m_retryAfter = QDateTime::currentDateTime().addSecs(DefaultWaitTime);
}
if (statusCode == 429) {
data->m_error = "Too many requests. ";
} else if (statusCode == 503) {
data->m_error = "Service busy or unavailable. ";
}
data->m_error.append(QString("Please try again after %1.").arg(data->m_retryAfter.toString()));
this->rateLimitTimes.insert(url, data->m_retryAfter);
return;
}
// Handle GitHub's rate limit headers. As of writing this is (without authentication) 60 requests per IP address per hour.
bool ok;
int limitRemaining = reply->rawHeader("x-ratelimit-remaining").toInt(&ok);
if (ok && limitRemaining <= 0) {
auto limitReset = reply->rawHeader("x-ratelimit-reset").toLongLong(&ok);
data->m_retryAfter = ok ? QDateTime::fromSecsSinceEpoch(limitReset).toLocalTime()
: QDateTime::currentDateTime().addSecs(DefaultWaitTime);;
data->m_error = QString("Too many requests. Please try again after %1.").arg(data->m_retryAfter.toString());
this->rateLimitTimes.insert(url, data->m_retryAfter);
return;
}
// Handle remaining errors generically
auto error = reply->error();
if (error != QNetworkReply::NoError) {
data->m_error = reply->errorString();
return;
}
// Successful reply, we've received new data. Insert this data in the cache.
CacheEntry * cacheEntry = this->cache.value(url, nullptr);
if (!cacheEntry) {
cacheEntry = new CacheEntry;
this->cache.insert(url, cacheEntry);
}
auto eTagHeader = reply->header(QNetworkRequest::ETagHeader);
if (eTagHeader.canConvert<QString>())
cacheEntry->eTag = eTagHeader.toString();
cacheEntry->data = data->m_body = reply->readAll();
}

View file

@ -564,12 +564,12 @@ QMap<QString, QHash<QString, QString>> ParseUtil::readCStructs(const QString &fi
for (const fex::ArrayValue &v : it->second.values()) {
if (v.type() == fex::ArrayValue::Type::kValuePair) {
QString key = QString::fromStdString(v.pair().first);
QString value = QString::fromStdString(v.pair().second->string_value());
QString value = QString::fromStdString(v.pair().second->ToString());
values.insert(key, value);
} else {
// For compatibility with structs that don't specify member names.
if (memberMap.contains(i))
values.insert(memberMap.value(i), QString::fromStdString(v.string_value()));
if (memberMap.contains(i) && !values.contains(memberMap.value(i)))
values.insert(memberMap.value(i), QString::fromStdString(v.ToString()));
}
i++;
}

View file

@ -79,14 +79,25 @@ bool RegionMap::loadTilemap(poryjson::Json tilemapJson) {
this->palette_path = tilemapObject["palette"].string_value();
}
QImage tilesetFile(fullPath(this->tileset_path));
if (tilesetFile.isNull()) {
logError(QString("Failed to open region map tileset file '%1'.").arg(tileset_path));
return false;
}
if (tilesetFile.width() < 8 || tilesetFile.height() < 8) {
logError(QString("Region map tileset file '%1' must be at least 8x8.").arg(tileset_path));
return false;
}
QFile tilemapFile(fullPath(this->tilemap_path));
if (!tilemapFile.open(QIODevice::ReadOnly)) {
logError(QString("Failed to open region map tilemap file %1.").arg(tilemap_path));
logError(QString("Failed to open region map tilemap file '%1'.").arg(tilemap_path));
return false;
}
if (tilemapFile.size() < tilemapBytes()) {
logError(QString("The region map tilemap at %1 is too small.").arg(tilemap_path));
logError(QString("The region map tilemap at '%1' is too small.").arg(tilemap_path));
return false;
}
@ -297,7 +308,7 @@ bool RegionMap::loadLayout(poryjson::Json layoutJson) {
}
setLayout("main", layout);
} else {
logError("Region map layout is not readable.");
logError(QString("Failed to read region map layout from '%1'.").arg(this->layout_path));
return false;
}
}

View file

@ -41,6 +41,14 @@
#include <QSet>
#include <QLoggingCategory>
// We only publish release binaries for Windows and macOS.
// This is relevant for the update promoter, which alerts users of a new release.
// TODO: Currently the update promoter is disabled on our Windows releases because
// the pre-compiled Qt build doesn't link OpenSSL. Re-enable below once this is fixed.
#if /*defined(Q_OS_WIN) || */defined(Q_OS_MACOS)
#define RELEASE_PLATFORM
#endif
using OrderedJson = poryjson::Json;
using OrderedJsonDoc = poryjson::JsonDoc;
@ -53,11 +61,13 @@ MainWindow::MainWindow(QWidget *parent) :
{
QCoreApplication::setOrganizationName("pret");
QCoreApplication::setApplicationName("porymap");
QCoreApplication::setApplicationVersion(PORYMAP_VERSION);
QApplication::setApplicationDisplayName("porymap");
QApplication::setWindowIcon(QIcon(":/icons/porymap-icon-2.ico"));
ui->setupUi(this);
cleanupLargeLog();
logInfo(QString("Launching Porymap v%1").arg(QCoreApplication::applicationVersion()));
this->initWindow();
if (porymapConfig.getReopenOnLaunch() && this->openProject(porymapConfig.getRecentProject(), true))
@ -66,6 +76,9 @@ MainWindow::MainWindow(QWidget *parent) :
// there is a bug affecting macOS users, where the trackpad deilveres a bad touch-release gesture
// the warning is a bit annoying, so it is disabled here
QLoggingCategory::setFilterRules(QStringLiteral("qt.pointer.dispatch=false"));
if (porymapConfig.getCheckForUpdates())
this->checkForUpdates(false);
}
MainWindow::~MainWindow()
@ -92,6 +105,7 @@ void MainWindow::setWindowDisabled(bool disabled) {
ui->actionAbout_Porymap->setDisabled(false);
ui->actionOpen_Log_File->setDisabled(false);
ui->actionOpen_Config_Folder->setDisabled(false);
ui->actionCheck_for_Updates->setDisabled(false);
if (!disabled)
togglePreferenceSpecificUi();
}
@ -106,6 +120,10 @@ void MainWindow::initWindow() {
this->initShortcuts();
this->restoreWindowState();
#ifndef RELEASE_PLATFORM
ui->actionCheck_for_Updates->setVisible(false);
#endif
setWindowDisabled(true);
}
@ -245,6 +263,39 @@ void MainWindow::initExtraSignals() {
label_MapRulerStatus->setTextInteractionFlags(Qt::TextSelectableByMouse);
}
void MainWindow::on_actionCheck_for_Updates_triggered() {
checkForUpdates(true);
}
#ifdef RELEASE_PLATFORM
void MainWindow::checkForUpdates(bool requestedByUser) {
if (!this->networkAccessManager)
this->networkAccessManager = new NetworkAccessManager(this);
if (!this->updatePromoter) {
this->updatePromoter = new UpdatePromoter(this, this->networkAccessManager);
connect(this->updatePromoter, &UpdatePromoter::changedPreferences, [this] {
if (this->preferenceEditor)
this->preferenceEditor->updateFields();
});
}
if (requestedByUser) {
openSubWindow(this->updatePromoter);
} else {
// This is an automatic update check. Only run if we haven't done one in the last 5 minutes
QDateTime lastCheck = porymapConfig.getLastUpdateCheckTime();
if (lastCheck.addSecs(5*60) >= QDateTime::currentDateTime())
return;
}
this->updatePromoter->checkForUpdates();
porymapConfig.setLastUpdateCheckTime(QDateTime::currentDateTime());
}
#else
void MainWindow::checkForUpdates(bool) {}
#endif
void MainWindow::initEditor() {
this->editor = new Editor(ui);
connect(this->editor, &Editor::objectsChanged, this, &MainWindow::updateObjects);
@ -2730,6 +2781,9 @@ void MainWindow::togglePreferenceSpecificUi() {
ui->actionOpen_Project_in_Text_Editor->setEnabled(false);
else
ui->actionOpen_Project_in_Text_Editor->setEnabled(true);
if (this->updatePromoter)
this->updatePromoter->updatePreferences();
}
void MainWindow::openProjectSettingsEditor(int tab) {
@ -2887,23 +2941,43 @@ void MainWindow::on_pushButton_CreatePrefab_clicked() {
bool MainWindow::initRegionMapEditor(bool silent) {
this->regionMapEditor = new RegionMapEditor(this, this->editor->project);
bool success = this->regionMapEditor->load(silent);
if (!success) {
delete this->regionMapEditor;
this->regionMapEditor = nullptr;
if (!silent) {
QMessageBox msgBox(this);
QString errorMsg = QString("There was an error opening the region map data. Please see %1 for full error details.\n\n%3")
.arg(getLogPath())
.arg(getMostRecentError());
msgBox.critical(nullptr, "Error Opening Region Map Editor", errorMsg);
if (!this->regionMapEditor->load(silent)) {
// The region map editor either failed to load,
// or the user declined configuring their settings.
if (!silent && this->regionMapEditor->setupErrored()) {
if (this->askToFixRegionMapEditor())
return true;
}
delete this->regionMapEditor;
return false;
}
return true;
}
bool MainWindow::askToFixRegionMapEditor() {
QMessageBox msgBox;
msgBox.setIcon(QMessageBox::Critical);
msgBox.setText(QString("There was an error opening the region map data. Please see %1 for full error details.").arg(getLogPath()));
msgBox.setDetailedText(getMostRecentError());
msgBox.setStandardButtons(QMessageBox::Ok);
msgBox.setDefaultButton(QMessageBox::Ok);
auto reconfigButton = msgBox.addButton("Reconfigure", QMessageBox::ActionRole);
msgBox.exec();
if (msgBox.clickedButton() == reconfigButton) {
if (this->regionMapEditor->reconfigure()) {
// User fixed error
return true;
}
if (this->regionMapEditor->setupErrored()) {
// User's new settings still fail, show error and ask again
return this->askToFixRegionMapEditor();
}
}
// User accepted error
return false;
}
// Attempt to close any open sub-windows of the main window, giving each a chance to abort the process.
// Each of these are expected to be a QPointer to a widget with WA_DeleteOnClose set, so manually deleting
// and nullifying the pointer members is not necessary here.

View file

@ -1,7 +1,6 @@
#include "scripting.h"
#include "log.h"
#include "config.h"
#include "aboutporymap.h"
QMap<CallbackType, QString> callbackFunctions = {
{OnProjectOpened, "onProjectOpened"},
@ -77,15 +76,12 @@ void Scripting::populateGlobalObject(MainWindow *mainWindow) {
QJSValue constants = instance->engine->newObject();
// Invisibly create an "About" window to read Porymap version
AboutPorymap *about = new AboutPorymap(mainWindow);
if (about) {
QJSValue version = Scripting::version(about->getVersionNumbers());
constants.setProperty("version", version);
delete about;
} else {
logError("Failed to read Porymap version for API");
}
// Get version numbers
QJSValue version = instance->engine->newObject();
version.setProperty("major", porymapVersion.majorVersion());
version.setProperty("minor", porymapVersion.minorVersion());
version.setProperty("patch", porymapVersion.microVersion());
constants.setProperty("version", version);
// Get basic tileset information
int numTilesPrimary = Project::getNumTilesPrimary();
@ -343,14 +339,6 @@ QJSValue Scripting::position(int x, int y) {
return obj;
}
QJSValue Scripting::version(QList<int> versionNums) {
QJSValue obj = instance->engine->newObject();
obj.setProperty("major", versionNums.at(0));
obj.setProperty("minor", versionNums.at(1));
obj.setProperty("patch", versionNums.at(2));
return obj;
}
Tile Scripting::toTile(QJSValue obj) {
Tile tile = Tile();

View file

@ -8,6 +8,7 @@ AboutPorymap::AboutPorymap(QWidget *parent) :
{
ui->setupUi(this);
this->ui->label_Version->setText(QString("Version %1 - %2").arg(QCoreApplication::applicationVersion()).arg(QStringLiteral(__DATE__)));
this->ui->textBrowser->setSource(QUrl("qrc:/CHANGELOG.md"));
}
@ -15,16 +16,3 @@ AboutPorymap::~AboutPorymap()
{
delete ui;
}
// Returns the Porymap version number as a list of ints with the order {major, minor, patch}
QList<int> AboutPorymap::getVersionNumbers()
{
// Get the version string "#.#.#"
static const QRegularExpression regex("Version (\\d+)\\.(\\d+)\\.(\\d+)");
QRegularExpressionMatch match = regex.match(ui->label_Version->text());
if (!match.hasMatch()) {
logError("Failed to locate Porymap version text");
return QList<int>({0, 0, 0});
}
return QList<int>({match.captured(1).toInt(), match.captured(2).toInt(), match.captured(3).toInt()});
}

View file

@ -49,6 +49,7 @@ void PreferenceEditor::updateFields() {
ui->lineEdit_TextEditorGotoLine->setText(porymapConfig.getTextEditorGotoLine());
ui->checkBox_MonitorProjectFiles->setChecked(porymapConfig.getMonitorFiles());
ui->checkBox_OpenRecentProject->setChecked(porymapConfig.getReopenOnLaunch());
ui->checkBox_CheckForUpdates->setChecked(porymapConfig.getCheckForUpdates());
}
void PreferenceEditor::saveFields() {
@ -58,10 +59,14 @@ void PreferenceEditor::saveFields() {
emit themeChanged(theme);
}
porymapConfig.setSaveDisabled(true);
porymapConfig.setTextEditorOpenFolder(ui->lineEdit_TextEditorOpenFolder->text());
porymapConfig.setTextEditorGotoLine(ui->lineEdit_TextEditorGotoLine->text());
porymapConfig.setMonitorFiles(ui->checkBox_MonitorProjectFiles->isChecked());
porymapConfig.setReopenOnLaunch(ui->checkBox_OpenRecentProject->isChecked());
porymapConfig.setCheckForUpdates(ui->checkBox_CheckForUpdates->isChecked());
porymapConfig.setSaveDisabled(false);
porymapConfig.save();
emit preferencesSaved();
}

View file

@ -29,6 +29,8 @@ RegionMapEditor::RegionMapEditor(QWidget *parent, Project *project) :
this->setAttribute(Qt::WA_DeleteOnClose);
this->ui->setupUi(this);
this->project = project;
this->configFilepath = QString("%1/%2").arg(this->project->root).arg(projectConfig.getFilePath(ProjectFilePath::json_region_porymap_cfg));
this->mapSectionFilepath = QString("%1/%2").arg(this->project->root).arg(projectConfig.getFilePath(ProjectFilePath::json_region_map_entries));
this->initShortcuts();
this->restoreWindowState();
}
@ -111,12 +113,10 @@ void RegionMapEditor::applyUserShortcuts() {
bool RegionMapEditor::loadRegionMapEntries() {
this->region_map_entries.clear();
QString regionMapSectionFilepath = QString("%1/%2").arg(this->project->root).arg(projectConfig.getFilePath(ProjectFilePath::json_region_map_entries));
ParseUtil parser;
QJsonDocument sectionsDoc;
if (!parser.tryParseJsonFile(&sectionsDoc, regionMapSectionFilepath)) {
logError(QString("Failed to read map data from %1").arg(regionMapSectionFilepath));
if (!parser.tryParseJsonFile(&sectionsDoc, this->mapSectionFilepath)) {
logError(QString("Failed to read map data from %1").arg(this->mapSectionFilepath));
return false;
}
@ -141,11 +141,9 @@ bool RegionMapEditor::loadRegionMapEntries() {
}
bool RegionMapEditor::saveRegionMapEntries() {
QString regionMapSectionFilepath = QString("%1/%2").arg(this->project->root).arg(projectConfig.getFilePath(ProjectFilePath::json_region_map_entries));
QFile sectionsFile(regionMapSectionFilepath);
QFile sectionsFile(this->mapSectionFilepath);
if (!sectionsFile.open(QIODevice::WriteOnly)) {
logError(QString("Error: Could not open %1 for writing").arg(regionMapSectionFilepath));
logError(QString("Could not open %1 for writing").arg(this->mapSectionFilepath));
return false;
}
@ -299,7 +297,7 @@ bool RegionMapEditor::buildConfigDialog() {
form.addRow(addMapButton);
// allow user to add region maps
connect(addMapButton, &QPushButton::clicked, [this, regionMapList] {
connect(addMapButton, &QPushButton::clicked, [this, regionMapList, &updateJsonFromList] {
poryjson::Json resultJson = configRegionMapDialog();
poryjson::Json::object resultObj = resultJson.object_items();
@ -311,6 +309,7 @@ bool RegionMapEditor::buildConfigDialog() {
newItem->setText(resultObj["alias"].string_value());
newItem->setData(Qt::UserRole, resultStr);
regionMapList->addItem(newItem);
updateJsonFromList();
});
QPushButton *delMapButton = new QPushButton("Delete Selected Region Map");
@ -404,16 +403,6 @@ bool RegionMapEditor::verifyConfig(poryjson::Json cfg) {
logError("Region map config json has no map list.");
return false;
}
OrderedJson::array arr = obj["region_maps"].array_items();
for (auto ref : arr) {
RegionMap tempMap(this->project);
if (!tempMap.loadMapData(ref)) {
return false;
}
}
return true;
}
@ -477,6 +466,7 @@ bool RegionMapEditor::setup() {
if (!newMap->loadMapData(o)) {
delete newMap;
// TODO: consider continue, just reporting error loading single map?
this->setupError = true;
return false;
}
@ -499,26 +489,21 @@ bool RegionMapEditor::setup() {
if (!region_maps.empty()) {
setRegionMap(region_maps.begin()->second);
}
this->setupError = false;
return true;
}
bool RegionMapEditor::load(bool silent) {
// check for config json file
QString jsonConfigFilepath = this->project->root + "/" + projectConfig.getFilePath(ProjectFilePath::json_region_porymap_cfg);
bool badConfig = true;
if (QFile::exists(jsonConfigFilepath)) {
logInfo("Region map configuration file found.");
if (QFile::exists(this->configFilepath)) {
ParseUtil parser;
OrderedJson::object obj;
if (parser.tryParseOrderedJsonFile(&obj, jsonConfigFilepath)) {
if (parser.tryParseOrderedJsonFile(&obj, this->configFilepath)) {
this->rmConfigJson = OrderedJson(obj);
this->configSaved = true;
}
badConfig = !verifyConfig(this->rmConfigJson);
} else {
logWarn("Region Map config file not found.");
}
if (badConfig) {
@ -534,14 +519,15 @@ bool RegionMapEditor::load(bool silent) {
if (warning.exec() == QMessageBox::Ok) {
// there is a separate window that allows to load multiple region maps,
if (!buildConfigDialog()) {
logError("Region map loading interrupted [user]");
// User canceled config set up
return false;
}
} else {
// do not open editor
logError("Region map loading interrupted [user]");
// User declined config set up
return false;
}
} else {
logInfo("Successfully loaded region map configuration file.");
}
return setup();
@ -583,10 +569,9 @@ void RegionMapEditor::saveConfig() {
mapsObject["region_maps"] = mapArray;
OrderedJson newConfigJson(mapsObject);
QString filepath = QString("%1/%2").arg(this->project->root).arg(projectConfig.getFilePath(ProjectFilePath::json_region_porymap_cfg));
QFile file(filepath);
QFile file(this->configFilepath);
if (!file.open(QIODevice::WriteOnly)) {
logError(QString("Error: Could not open %1 for writing").arg(filepath));
logError(QString("Could not open %1 for writing").arg(this->configFilepath));
return;
}
OrderedJsonDoc jsonDoc(&newConfigJson);
@ -615,6 +600,11 @@ void RegionMapEditor::on_actionSave_All_triggered() {
}
void RegionMapEditor::on_action_Configure_triggered() {
reconfigure();
}
bool RegionMapEditor::reconfigure() {
this->setupError = false;
if (this->modified()) {
QMessageBox warning;
warning.setIcon(QMessageBox::Warning);
@ -625,15 +615,16 @@ void RegionMapEditor::on_action_Configure_triggered() {
if (warning.exec() == QMessageBox::Ok) {
if (buildConfigDialog()) {
reload();
return reload();
}
}
}
else {
if (buildConfigDialog()) {
reload();
return reload();
}
}
return false;
}
void RegionMapEditor::displayRegionMap() {

187
src/ui/updatepromoter.cpp Normal file
View file

@ -0,0 +1,187 @@
#include "updatepromoter.h"
#include "ui_updatepromoter.h"
#include "log.h"
#include "config.h"
#include <QJsonDocument>
#include <QJsonArray>
#include <QJsonObject>
#include <QDesktopServices>
#include <QTimer>
UpdatePromoter::UpdatePromoter(QWidget *parent, NetworkAccessManager *manager)
: QDialog(parent),
ui(new Ui::UpdatePromoter),
manager(manager)
{
ui->setupUi(this);
// Set up "Do not alert me" check box
this->updatePreferences();
ui->checkBox_StopAlerts->setVisible(false);
connect(ui->checkBox_StopAlerts, &QCheckBox::stateChanged, [this](int state) {
bool enable = (state != Qt::Checked);
porymapConfig.setCheckForUpdates(enable);
emit this->changedPreferences();
});
// Set up button box
this->button_Retry = ui->buttonBox->button(QDialogButtonBox::Retry);
this->button_Downloads = ui->buttonBox->addButton("Go to Downloads...", QDialogButtonBox::ActionRole);
ui->buttonBox->button(QDialogButtonBox::Close)->setDefault(true);
connect(ui->buttonBox, &QDialogButtonBox::clicked, this, &UpdatePromoter::dialogButtonClicked);
this->resetDialog();
}
void UpdatePromoter::resetDialog() {
this->button_Downloads->setEnabled(false);
ui->text_Changelog->setVisible(false);
ui->label_Warning->setVisible(false);
ui->label_Status->setText("");
this->changelog = QString();
this->downloadUrl = QString();
this->newVersion = QVersionNumber();
this->foundReleases = false;
this->visitedUrls.clear();
}
void UpdatePromoter::checkForUpdates() {
// If the Retry button is disabled, making requests is disabled
if (!this->button_Retry->isEnabled())
return;
this->resetDialog();
this->button_Retry->setEnabled(false);
ui->label_Status->setText("Checking for updates...");
// We could use the URL ".../releases/latest" to retrieve less data, but this would run into problems if the
// most recent item on the releases page is not actually a new release (like the static windows build).
// By getting all releases we can also present a multi-version changelog of all changes since the host release.
static const QUrl url("https://api.github.com/repos/huderlem/porymap/releases");
this->get(url);
}
void UpdatePromoter::get(const QUrl &url) {
this->visitedUrls.insert(url);
auto reply = this->manager->get(url);
connect(reply, &NetworkReplyData::finished, [this, reply] () {
if (!reply->errorString().isEmpty()) {
this->error(reply->errorString(), reply->retryAfter());
} else {
this->processWebpage(QJsonDocument::fromJson(reply->body()), reply->nextUrl());
}
reply->deleteLater();
});
}
// Read all the items on the releases page, ignoring entries without a version identifier tag.
// Objects in the releases page data are sorted newest to oldest.
void UpdatePromoter::processWebpage(const QJsonDocument &data, const QUrl &nextUrl) {
const QJsonArray releases = data.array();
int i;
for (i = 0; i < releases.size(); i++) {
auto release = releases.at(i).toObject();
// Convert tag string to version numbers
const QString tagName = release.value("tag_name").toString();
const QVersionNumber version = QVersionNumber::fromString(tagName);
if (version.segmentCount() != 3) continue;
// We've found a valid release tag. If the version number is not newer than the host version then we can stop looking at releases.
this->foundReleases = true;
if (porymapVersion >= version)
break;
const QString description = release.value("body").toString();
if (description.isEmpty()) {
// If the release was published very recently it won't have a description yet, in which case don't tell the user about it yet.
continue;
}
if (this->downloadUrl.isEmpty()) {
// This is the first (newest) release we've found. Record its URL for download.
const QUrl url = QUrl(release.value("html_url").toString());
if (url.isEmpty()) {
// If there's no URL, something has gone wrong and we should skip this release.
continue;
}
this->downloadUrl = url;
this->newVersion = version;
}
// Record the changelog of this release so we can show all changes since the host release.
this->changelog.append(QString("## %1\n%2\n\n").arg(tagName).arg(description));
}
// If we read the entire page then we didn't find a release as old as the host version.
// Keep looking on the second page, there might still be new releases there.
if (i == releases.size() && !nextUrl.isEmpty() && !this->visitedUrls.contains(nextUrl)) {
this->get(nextUrl);
return;
}
if (!this->foundReleases) {
// We retrieved the webpage but didn't successfully parse any releases.
this->error("Error parsing releases webpage");
return;
}
// Populate dialog with result
ui->text_Changelog->setMarkdown(this->changelog);
ui->text_Changelog->setVisible(!this->changelog.isEmpty());
this->button_Downloads->setEnabled(!this->downloadUrl.isEmpty());
this->button_Retry->setEnabled(true);
if (!this->newVersion.isNull()) {
ui->label_Status->setText("A new version of Porymap is available!");
ui->label_Warning->setVisible(this->newVersion.majorVersion() > porymapVersion.majorVersion());
// Alert the user about the new version if the dialog wasn't already open.
// Show the window, but also show the option to turn off automatic alerts in the future.
// We only show this alert once for a given release.
if (!this->isVisible() && this->newVersion > porymapConfig.getLastUpdateCheckVersion()) {
ui->checkBox_StopAlerts->setVisible(true);
this->show();
}
porymapConfig.setLastUpdateCheckVersion(this->newVersion);
} else {
ui->label_Status->setText("Your version of Porymap is up to date!");
ui->label_Warning->setVisible(false);
}
}
void UpdatePromoter::error(const QString &err, const QDateTime retryAfter) {
const QString message = QString("Failed to check for version update: %1").arg(err);
ui->label_Status->setText(message);
if (!this->isVisible())
logWarn(message);
// If a "retry after" date/time is provided, disable the Retry button until then.
// Otherwise users are allowed to retry after an error.
auto timeUntil = QDateTime::currentDateTime().msecsTo(retryAfter);
if (timeUntil > 0) {
this->button_Retry->setEnabled(false);
QTimer::singleShot(timeUntil, Qt::VeryCoarseTimer, [this]() {
this->button_Retry->setEnabled(true);
});
} else {
this->button_Retry->setEnabled(true);
}
}
void UpdatePromoter::updatePreferences() {
const QSignalBlocker blocker(ui->checkBox_StopAlerts);
ui->checkBox_StopAlerts->setChecked(!porymapConfig.getCheckForUpdates());
}
void UpdatePromoter::dialogButtonClicked(QAbstractButton *button) {
if (ui->buttonBox->buttonRole(button) == QDialogButtonBox::RejectRole) {
this->close();
} else if (button == this->button_Retry) {
this->checkForUpdates();
} else if (button == this->button_Downloads) {
QDesktopServices::openUrl(this->downloadUrl);
}
}