refactor: use markdown files for changelog

This commit is contained in:
grandeljay 2023-12-19 15:07:02 +01:00
parent 07650dc806
commit 21de306cb7
11 changed files with 178 additions and 694 deletions

View file

@ -1,17 +0,0 @@
<!--- BEGIN HEADER -->
# Changelog
All notable changes to this project will be documented in this file.
<!--- END HEADER -->
## [1.1.2](https://github.com/wishthis/wishthis/compare/v1.1.1...v1.1.2) (2023-12-01)
### Bug Fixes
* Logging into non-existent user ([27d663](https://github.com/wishthis/wishthis/commit/27d66368eea93f61e691a5624bb6e8fbe094b5a2))
* Not being able to stay logged in ([0b87dc](https://github.com/wishthis/wishthis/commit/0b87dc3cac7ea8553c59f6fd3b87dcfa72abfb3d))
* Typo ([45a04f](https://github.com/wishthis/wishthis/commit/45a04fb7e79050e6ad35c056f386a5669e47f21b))
---

15
changelogs/0-6-0.md Normal file
View file

@ -0,0 +1,15 @@
## v0.6.0
### Added
- This changelog
- Wish properties
- Button to mark wish as fulfilled
### Improved
- Card design
### Fixed
- Various small bugs

32
changelogs/0-7-0.md Normal file
View file

@ -0,0 +1,32 @@
## v0.7.0
### Added
- Blog
- Dark theme
- Wish properties. You can now mark a wish as purchasable and add a price.
- Jump to last edited wishlist from home
- Quick add wish from home
- Button to request more wishes from a users wishlist
- Option to stay logged in
### Improved
- Localisation (many new translations added)
- Additional logins are no longer required when switching between wishthis channels
- Remembered wishlists design
### Changed
- Changelog is now a page instead of a downloadable markdown file
- Wishes can be edited from the wishlist now, without loading another page
- "Saved wishlists" has been renamed to "Remember lists"
### Fixed
- Various minor things (typos, menu order, etc)
- Wish information being updated with 404 content from URL
- Wish image not showing
- An error when saving a wish with a really long URL
- Redirect errors on Nginx
- An error when fetching title from an URL containing quotes

19
changelogs/0-7-1.md Normal file
View file

@ -0,0 +1,19 @@
## v0.7.1
### Improved
- MJML settings page #47
- Expired sessions are now invalidated by wishthis instead of relying on the browser to delete the cookies.
- Dark theme
- Remembered lists design
- Translations
### Fixed
- Label on top of dropdown menu #44
- Encoding issue in wish description #45
- Caching issue with the blog #46
- An error when a blog post doesn't have a featured image.
- Version number not being stored correctly causing the migration to execute the wrong script.
- Wishlist filter cut off on mobile
- Wish options not selectable after filtering

5
changelogs/0-7-2.md Normal file
View file

@ -0,0 +1,5 @@
## v0.7.2
### Fixed
- Fix fulfilled wishes showing after using filter

5
changelogs/0-7-3.md Normal file
View file

@ -0,0 +1,5 @@
## v0.7.3
### Fixed
- Fix fulfilled wishes disappearing for wishlist owner #58

24
changelogs/1-0-0.md Normal file
View file

@ -0,0 +1,24 @@
## v1.0.0
### Added
- Option to set currency #43
- A roadmap in the changelog
- Compact/list view for wishes
- Option to enable advertisements
### Improved
- Large parts of wishthis have been completely rewritten, such as the API and how pretty URLs work. The aim was to increase security and maintainability.
- Changelog now automatically selects the current version, instead of the top most tab.
### Changed
- Decreased wish height on mobile devices
### Fixed
- Temporary fulfilled wish does not become available again after 30 minutes, except when viewing as the owner of the list. #71
- Fix various wish UI bugs #48
- Fix background and colour when opening the mobile menu
- Marking wish as fulfilled

24
changelogs/1-1-0.md Normal file
View file

@ -0,0 +1,24 @@
## v1.1.0
### Added
- Configuration flag to disable plausible.io calls #64
- Add account delete option #69
- Configuration flag to disable user registrations #70
- After creating an account your language is automatically set to your browser's (if it is available), instead of defaulting to en_GB.
- Amazon links are now automatically converted to affiliate links to help support wishthis financially.
- Prerequisite check during installation
### Fixed
- Wish price field not being set #107
- RewriteRules which caused HTTP 404 errors #93
- Switching to wish "product" tab breaks view #83
- Special characters not being displayed properly #80
- A fatal error when the CHANNELS constant is removed from the config #74
- Fulfilled wishes disappearing for wishlist owners
- Deprecated notices on PHP 8.2
### Changed
- Added button labels for mobile devices

7
changelogs/1-1-1.md Normal file
View file

@ -0,0 +1,7 @@
## v1.1.1
### Fixed
- Shared wishlist not accessible #179
- Accessing wishlist without permission #177
- Password reset not working #175

10
changelogs/unreleased.md Normal file
View file

@ -0,0 +1,10 @@
## Unreleased
### Fixed
- Logging into non existent user #184
- "Keep me logged in" checkbox
### Changed
- The login process (session management) has been completely rewritten

View file

@ -19,696 +19,56 @@ $page->navigation();
<h1 class="ui header"><?= $page->title ?></h1>
<div class="ui stackable grid">
<?php
$changelogsDirectory = ROOT . '/changelogs';
$changelogs = \scandir($changelogsDirectory, \SCANDIR_SORT_DESCENDING);
$changelogs = \array_map(
function (string $filename) use ($changelogsDirectory) {
$filepath = $changelogsDirectory . '/' . $filename;
return $filepath;
},
$changelogs
);
$changelogs = \array_filter($changelogs, '\is_file');
?>
<div class="four wide column">
<div class="ui vertical pointing fluid menu profile">
<a class="item" data-tab="roadmap"><?= __('Roadmap') ?></a>
<a class="item" data-tab="unreleased"><?= __('Unreleased') ?></a>
<a class="item" data-tab="1-1-1"><?= __('1.1.1') ?></a>
<a class="item" data-tab="1-1-0"><?= __('1.1.0') ?></a>
<a class="item" data-tab="1-0-0"><?= __('1.0.0') ?></a>
<a class="item" data-tab="0-7-3"><?= __('0.7.3') ?></a>
<a class="item" data-tab="0-7-2"><?= __('0.7.2') ?></a>
<a class="item" data-tab="0-7-1"><?= __('0.7.1') ?></a>
<a class="item" data-tab="0-7-0"><?= __('0.7.0') ?></a>
<a class="item" data-tab="0-6-0"><?= __('0.6.0') ?></a>
<?php
foreach ($changelogs as $filepath) {
$filenameSanitised = \pathinfo($filepath, \PATHINFO_FILENAME);
$firstLine = \fgets(\fopen($filepath, 'r'));
$label = \preg_replace('/[^a-zA-Z0-9\-\.]/', '', $firstLine);
?>
<a class="item" data-tab="<?= $filenameSanitised ?>"><?= $label ?></a>
<?php
}
?>
</div>
</div>
<div class="twelve wide stretched column">
<div class="ui tab" data-tab="roadmap">
<div class="ui segment">
<h2 class="ui header"><?= __('Roadmap') ?></h2>
<p>
<?php
echo sprintf(
/** TRANSLATORS: %s: discussions */
__('If you would like to give feedback regarding the roadmap, please refer to the %s on GitHub, or chat on Matrix or Discord.'),
sprintf(
'<a href="https://github.com/wishthis/wishthis/discussions" target="_blank">%s</a>',
__('discussions')
)
);
foreach ($changelogs as $filepath) {
$filenameSanitised = \pathinfo($filepath, \PATHINFO_FILENAME);
?>
</p>
<ul>
<li>
<?php
/** TRANSLATORS: Changelog: Roadmap */
echo __('Allow customising priority colours');
?>
<a href="https://github.com/wishthis/wishthis/issues/34" target="_blank">#34</a>
</li>
<li>
<?php
/** TRANSLATORS: Changelog: Roadmap */
echo __('Filter by price');
?>
<a href="https://github.com/wishthis/wishthis/issues/43" target="_blank">#43</a>
</li>
<li>
<?php
/** TRANSLATORS: Changelog: Roadmap */
echo __('Bookmarklets');
?>
<a href="https://github.com/wishthis/wishthis/issues/49" target="_blank">#49</a>
</li>
<li>
<?php
/** TRANSLATORS: Changelog: Roadmap */
echo __('Notifications for fulfilled wishes');
?>
</li>
<li>
<?php
/** TRANSLATORS: Changelog: Roadmap */
echo __('Verify wishes are still available when attempting to fulfil them. Alternatively, a heartbeat which checks if all the wishes are still unfulfilled.');
?>
</li>
</ul>
</div>
</div>
<div class="ui tab" data-tab="unreleased">
<div class="ui tab" data-tab="<?= $filenameSanitised ?>">
<div class="ui segments">
<div class="ui segment">
<h2 class="ui header"><?= __('Unreleased') ?></h2>
</div>
<div class="ui segment">
<h3 class="ui header"><?= __('Fixed') ?></h3>
<ul>
<li>
<?php
/** TRANSLATORS: Changelog: Fixed */
echo __('Logging into non existent user');
$parsedown = new \Parsedown();
$text = \file_get_contents($filepath);
$text = \preg_replace('/(#(\d+))/', '<a href="https://github.com/wishthis/wishthis/issues/$2">$1</a>', $text);
?>
<a href="https://github.com/wishthis/wishthis/issues/184" target="_blank">#184</a>
</li>
<li>
<?php
/** TRANSLATORS: Changelog: Fixed */
echo __('"Keep me logged in" checkbox');
?>
</li>
</ul>
<h3 class="ui header"><?= __('Changed') ?></h3>
<ul>
<li>
<?php
/** TRANSLATORS: Changelog: Changed */
echo __('The login process (session management) has been completely rewritten');
?>
</li>
</ul>
<div class="ui segment"><?= $parsedown->text($text); ?></div>
</div>
</div>
</div>
<div class="ui tab" data-tab="1-1-1">
<div class="ui segments">
<div class="ui segment">
<h2 class="ui header"><?= __('1.1.1') ?></h2>
</div>
<div class="ui segment">
<h3 class="ui header"><?= __('Fixed') ?></h3>
<ul>
<li>
<?php
/** TRANSLATORS: Changelog: Fixed */
echo __('Shared wishlist not accessible');
}
?>
<a href="https://github.com/wishthis/wishthis/issues/179" target="_blank">#179</a>
</li>
<li>
<?php
/** TRANSLATORS: Changelog: Fixed */
echo __('Accessing wishlist without permission');
?>
<a href="https://github.com/wishthis/wishthis/issues/177" target="_blank">#177</a>
</li>
<li>
<?php
/** TRANSLATORS: Changelog: Fixed */
echo __('Password reset not working');
?>
<a href="https://github.com/wishthis/wishthis/issues/175" target="_blank">#175</a>
</li>
</ul>
</div>
</div>
</div>
<div class="ui tab" data-tab="1-1-0">
<div class="ui segments">
<div class="ui segment">
<h2 class="ui header"><?= __('1.1.0') ?></h2>
</div>
<div class="ui segment">
<h3 class="ui header"><?= __('Added') ?></h3>
<ul>
<li>
<?php
/** TRANSLATORS: Changelog: Added */
echo __('Configuration flag to disable plausible.io calls');
?>
<a href="https://github.com/wishthis/wishthis/issues/64" target="_blank">#64</a>
</li>
<li>
<?php
/** TRANSLATORS: Changelog: Added */
echo __('Add account delete option');
?>
<a href="https://github.com/wishthis/wishthis/issues/69" target="_blank">#69</a>
</li>
<li>
<?php
/** TRANSLATORS: Changelog: Added */
echo __('Configuration flag to disable user registrations');
?>
<a href="https://github.com/wishthis/wishthis/issues/70" target="_blank">#70</a>
</li>
<li>
<?php
/** TRANSLATORS: Changelog: Added */
echo __('After creating an account your language is automatically set to your browser\'s (if it is available), instead of defaulting to en_GB.');
?>
</li>
<li>
<?php
/** TRANSLATORS: Changelog: Added */
echo __('Amazon links are now automatically converted to affiliate links to help support wishthis financially.');
?>
</li>
<li>
<?php
/** TRANSLATORS: Changelog: Added */
echo __('Prerequisite check during installation');
?>
</li>
</ul>
<h3 class="ui header"><?= __('Fixed') ?></h3>
<ul>
<li>
<?php
/** TRANSLATORS: Changelog: Fixed */
echo __('Wish price field not being set');
?>
<a href="https://github.com/wishthis/wishthis/issues/107" target="_blank">#107</a>
</li>
<li>
<?php
/** TRANSLATORS: Changelog: Fixed */
echo __('RewriteRules which caused HTTP 404 errors');
?>
<a href="https://github.com/wishthis/wishthis/issues/93" target="_blank">#93</a>
</li>
<li>
<?php
/** TRANSLATORS: Changelog: Fixed */
echo __('Switching to wish "product" tab breaks view');
?>
<a href="https://github.com/wishthis/wishthis/issues/83" target="_blank">#83</a>
</li>
<li>
<?php
/** TRANSLATORS: Changelog: Fixed */
echo __('Special characters not being displayed properly');
?>
<a href="https://github.com/wishthis/wishthis/issues/80" target="_blank">#80</a>
</li>
<li>
<?php
/** TRANSLATORS: Changelog: Fixed */
echo __('A fatal error when the CHANNELS constant is removed from the config');
?>
<a href="https://github.com/wishthis/wishthis/issues/74" target="_blank">#74</a>
</li>
<li>
<?php
/** TRANSLATORS: Changelog: Fixed */
echo __('Fulfilled wishes disappearing for wishlist owners');
?>
</li>
<li>
<?php
/** TRANSLATORS: Changelog: Fixed */
echo __('Deprecated notices on PHP 8.2');
?>
</li>
</ul>
<h3 class="ui header"><?= __('Changed') ?></h3>
<ul>
<li>
<?php
/** TRANSLATORS: Changelog: Changed */
echo __('Added button labels for mobile devices');
?>
</li>
</ul>
</div>
</div>
</div>
<div class="ui tab" data-tab="1-0-0">
<div class="ui segments">
<div class="ui segment">
<h2 class="ui header"><?= __('1.0.0') ?></h2>
</div>
<div class="ui segment">
<h3 class="ui header"><?= __('Added') ?></h3>
<ul>
<li>
<?php
/** TRANSLATORS: Changelog: Added */
echo __('Option to set currency');
?>
<a href="https://github.com/wishthis/wishthis/issues/43" target="_blank">#43</a>
</li>
<li>
<?php
/** TRANSLATORS: Changelog: Added */
echo __('A roadmap in the changelog');
?>
</li>
<li>
<?php
/** TRANSLATORS: Changelog: Added */
echo __('Compact/list view for wishes');
?>
</li>
<li>
<?php
/** TRANSLATORS: Changelog: Added */
echo __('Option to enable advertisements');
?>
</li>
</ul>
<h3 class="ui header"><?= __('Improved') ?></h3>
<ul>
<li>
<?php
/** TRANSLATORS: Changelog: Improved */
echo __('Large parts of wishthis have been completely rewritten, such as the API and how pretty URLs work. The aim was to increase security and maintainability.');
?>
</li>
<li>
<?php
/** TRANSLATORS: Changelog: Improved */
echo __('Changelog now automatically selects the current version, instead of the top most tab.');
?>
</li>
</ul>
<h3 class="ui header"><?= __('Changed') ?></h3>
<ul>
<li>
<?php
/** TRANSLATORS: Changelog: Changed */
echo __('Decreased wish height on mobile devices');
?>
</li>
</ul>
<h3 class="ui header"><?= __('Fixed') ?></h3>
<ul>
<li>
<?php
/** TRANSLATORS: Changelog: Fixed */
echo __('Temporary fulfilled wish does not become available again after 30 minutes, except when viewing as the owner of the list.');
?>
<a href="https://github.com/wishthis/wishthis/issues/71" target="_blank">#71</a>
</li>
<li>
<?php
/** TRANSLATORS: Changelog: Fixed */
echo __('Fix various wish UI bugs');
?>
<a href="https://github.com/wishthis/wishthis/issues/48" target="_blank">#48</a>
</li>
<li>
<?php
/** TRANSLATORS: Changelog: Fixed */
echo __('Fix background and colour when opening the mobile menu');
?>
</li>
<li>
<?php
/** TRANSLATORS: Changelog: Fixed */
echo __('Marking wish as fulfilled');
?>
</li>
</ul>
</div>
</div>
</div>
<div class="ui tab" data-tab="0-7-3">
<div class="ui segments">
<div class="ui segment">
<h2 class="ui header"><?= __('0.7.3') ?></h2>
</div>
<div class="ui segment">
<h3 class="ui header"><?= __('Fixed') ?></h3>
<ul>
<li>
<?php
/** TRANSLATORS: Changelog: Fixed */
echo __('Fix fulfilled wishes disappearing for wishlist owner');
?>
<a href="https://github.com/wishthis/wishthis/issues/58" target="_blank">#58</a>
</li>
</ul>
</div>
</div>
</div>
<div class="ui tab" data-tab="0-7-2">
<div class="ui segments">
<div class="ui segment">
<h2 class="ui header"><?= __('0.7.2') ?></h2>
</div>
<div class="ui segment">
<h3 class="ui header"><?= __('Fixed') ?></h3>
<ul>
<li>
<?php
/** TRANSLATORS: Changelog: Fixed */
echo __('Fix fulfilled wishes showing after using filter');
?>
</li>
</ul>
</div>
</div>
</div>
<div class="ui tab" data-tab="0-7-1">
<div class="ui segments">
<div class="ui segment">
<h2 class="ui header"><?= __('0.7.1') ?></h2>
</div>
<div class="ui segment">
<h3 class="ui header"><?= __('Improved') ?></h3>
<ul>
<li>
<?php
/** TRANSLATORS: Changelog: Improved */
echo __('MJML settings page');
?>
<a href="https://github.com/wishthis/wishthis/issues/47" target="_blank">#47</a>
</li>
<li>
<?php
/** TRANSLATORS: Changelog: Improved */
echo __('Expired sessions are now invalidated by wishthis instead of relying on the browser to delete the cookies.');
?>
</li>
<li>
<?php
/** TRANSLATORS: Changelog: Improved */
echo __('Dark theme');
?>
</li>
<li>
<?php
/** TRANSLATORS: Changelog: Improved */
echo __('Remembered lists design');
?>
</li>
<li>
<?php
/** TRANSLATORS: Changelog: Improved */
echo __('Translations');
?>
</li>
</ul>
<h3 class="ui header"><?= __('Fixed') ?></h3>
<ul>
<li>
<?php
/** TRANSLATORS: Changelog: Fixed */
echo __('Label on top of dropdown menu');
?>
<a href="https://github.com/wishthis/wishthis/issues/44" target="_blank">#44</a>
</li>
<li>
<?php
/** TRANSLATORS: Changelog: Fixed */
echo __('Encoding issue in wish description');
?>
<a href="https://github.com/wishthis/wishthis/issues/45" target="_blank">#45</a>
</li>
<li>
<?php
/** TRANSLATORS: Changelog: Fixed */
echo __('Caching issue with the blog');
?>
<a href="https://github.com/wishthis/wishthis/issues/46" target="_blank">#46</a>
</li>
<li>
<?php
/** TRANSLATORS: Changelog: Fixed */
echo __('An error when a blog post doesn\'t have a featured image.');
?>
</li>
<li>
<?php
/** TRANSLATORS: Changelog: Fixed */
echo __('Version number not being stored correctly causing the migration to execute the wrong script.');
?>
</li>
<li>
<?php
/** TRANSLATORS: Changelog: Fixed */
echo __('Wishlist filter cut off on mobile');
?>
</li>
<li>
<?php
/** TRANSLATORS: Changelog: Fixed */
echo __('Wish options not selectable after filtering');
?>
</li>
</ul>
</div>
</div>
</div>
<div class="ui tab" data-tab="0-7-0">
<div class="ui segments">
<div class="ui segment">
<h2 class="ui header"><?= __('0.7.0') ?></h2>
</div>
<div class="ui segment">
<h3 class="ui header"><?= __('Added') ?></h3>
<ul>
<li>
<?php
/** TRANSLATORS: Changelog: Added */
echo __('Blog')
?>
</li>
<li>
<?php
/** TRANSLATORS: Changelog: Added */
echo __('Dark theme')
?>
</li>
<li>
<?php
/** TRANSLATORS: Changelog: Added */
echo __('Wish properties. You can now mark a wish as purchasable and add a price.')
?>
</li>
<li>
<?php
/** TRANSLATORS: Changelog: Added */
echo __('Jump to last edited wishlist from home')
?>
</li>
<li>
<?php
/** TRANSLATORS: Changelog: Added */
echo __('Quick add wish from home')
?>
</li>
<li>
<?php
/** TRANSLATORS: Changelog: Added */
echo __('Button to request more wishes from a users wishlist')
?>
</li>
<li>
<?php
/** TRANSLATORS: Changelog: Added */
echo __('Option to stay logged in')
?>
</li>
</ul>
<h3 class="ui header"><?= __('Improved') ?></h3>
<ul>
<li>
<?php
/** TRANSLATORS: Changelog: Improved */
echo __('Localisation (many new translations added)');
?>
</li>
<li>
<?php
/** TRANSLATORS: Changelog: Improved */
echo __('Additional logins are no longer required when switching between wishthis channels');
?>
</li>
<li>
<?php
/** TRANSLATORS: Changelog: Improved */
echo __('Remembered wishlists design');
?>
</li>
</ul>
<h3 class="ui header"><?= __('Changed') ?></h3>
<ul>
<li>
<?php
/** TRANSLATORS: Changelog: Changed */
echo __('Changelog is now a page instead of a downloadable markdown file');
?>
</li>
<li>
<?php
/** TRANSLATORS: Changelog: Changed */
echo __('Wishes can be edited from the wishlist now, without loading another page');
?>
</li>
<li>
<?php
/** TRANSLATORS: Changelog: Changed */
echo __('"Saved wishlists" has been renamed to "Remember lists"');
?>
</li>
</ul>
<h3 class="ui header"><?= __('Fixed') ?></h3>
<ul>
<li>
<?php
/** TRANSLATORS: Changelog: Fixed */
echo __('Various minor things (typos, menu order, etc)');
?>
</li>
<li>
<?php
/** TRANSLATORS: Changelog: Fixed */
echo __('Wish information being updated with 404 content from URL');
?>
</li>
<li>
<?php
/** TRANSLATORS: Changelog: Fixed */
echo __('Wish image not showing');
?>
</li>
<li>
<?php
/** TRANSLATORS: Changelog: Fixed */
echo __('An error when saving a wish with a really long URL');
?>
</li>
<li>
<?php
/** TRANSLATORS: Changelog: Fixed */
echo __('Redirect errors on Nginx');
?>
</li>
<li>
<?php
/** TRANSLATORS: Changelog: Fixed */
echo __('An error when fetching title from an URL containing quotes');
?>
</li>
</ul>
</div>
</div>
</div>
<div class="ui tab" data-tab="0-6-0">
<div class="ui segments">
<div class="ui segment">
<h2 class="ui header"><?= __('0.6.0') ?></h2>
</div>
<div class="ui segment">
<h3 class="ui header"><?= __('Added') ?></h3>
<ul>
<li>
<?php
/** TRANSLATORS: Changelog: Added */
echo __('This changelog');
?>
</li>
<li>
<?php
/** TRANSLATORS: Changelog: Added */
echo __('Wish properties');
?>
</li>
<li>
<?php
/** TRANSLATORS: Changelog: Added */
echo __('Button to mark wish as fulfilled');
?>
</li>
</ul>
<h3 class="ui header"><?= __('Improved') ?></h3>
<ul>
<li>
<?php
/** TRANSLATORS: Changelog: Improved */
echo __('Card design');
?>
</li>
</ul>
<h3 class="ui header"><?= __('Fixed') ?></h3>
<ul>
<li>
<?php
/** TRANSLATORS: Changelog: Improved */
echo __('Various small bugs');
?>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
</main>
<?php