tag:github.com,2008:https://github.com/sbrl/Pepperminty-Wiki/releases Release notes from Pepperminty-Wiki 2023-02-19T01:51:05Z tag:github.com,2008:Repository/27140639/v0.24 2023-02-19T02:14:27Z v0.24 <p>Hey there, one and all! Welcome to the (belated) release of Pepperminty Wiki v0.24!</p> <p>Before we continue, I need to mention that <strong>you need to install this release or higher if you want to edit pages in the latest version of the <a href="https://play.google.com/store/apps/details?id=com.sbrl.peppermint" rel="nofollow">Android client app</a></strong>. This is actually the main reason I'm making this beta release now - to give people something to update to that's not "build from source from the latest git".</p> <p>With that out of the way, this release has a number of cool features:</p> <ul> <li>📺 <strong>Support for embedding YouTube / Vimeo videos:</strong> e.g. <code>![alt text](https://youtube.com/watch?v=pID0xQ2qnrQ)</code>. If you can think of another site that should have native embed support, please <a href="https://github.com/sbrl/Pepperminty-Wiki/issues/new">open an issue</a> (note that embedding regular video files still works as before)</li> <li>📦 <strong>Added <a href="https://meta.discourse.org/t/rich-link-previews-with-onebox/98088" rel="nofollow">oneboxing</a>:</strong> Rich previews for internal links. If an internal link with 3 square brackets (e.g. <code>[[[example]]]</code>) is on it's own with nothing before or after it on a line, then it'll be turned into a onebox</li> <li>🔐 <strong>Improved security:</strong> The method by which these security issues were disclosed leaves a lot to be desired, but they are fixed anyway.</li> <li>📱 <strong>Improved API support for the <a href="https://play.google.com/store/apps/details?id=com.sbrl.peppermint" rel="nofollow">Android client app</a> (<a href="https://github.com/sbrl/Pepperminty-Wiki-Client-Android">GitHub</a>):</strong> This may be a constant feature in the next few updates as I add more functionality to the app :D</li> </ul> <p>Have you updated to this release? <a href="https://starbeamrainbowlabs.com/blog/viewtracker.php?action=record&amp;format=text&amp;post-id=pepperminty-wiki/PEPPERMINTY_WIKI_VERSION" rel="nofollow">Click this link to say hi</a>!</p> <p>This release also has an experimental GPG and SHA256 hashes file attached. My GPG key is <a href="https://starbeamrainbowlabs.com/sbrl.asc" rel="nofollow"><code>C2F7843F9ADF9FEE264ACB9CC1C6C0BB001E1725</code></a> - please <a href="https://github.com/sbrl/Pepperminty-Wiki/issues/">open an issue</a> if you encounter any issues 🙂</p> <h2>Updating</h2> <p>You can update to this release simply by grabbing an updated copy of <code>index.php</code> and replacing the version in your current wiki (don't forget to take backups! I make every effort to squash as many bugs as possible, but you can never be too certain). You can get an updated copy of <code>index.php</code> in a number of ways:</p> <ul> <li>By downloading the <code>index.php</code> file attached to this release</li> <li>Using the <a href="https://starbeamrainbowlabs.com/labs/peppermint/download.php" rel="nofollow">online downloader</a> (always has the latest stable version)</li> <li>Using the online downloader offline</li> <li>Building your own from source</li> </ul> <p>For more information on the last 2 methods, please see <a href="https://starbeamrainbowlabs.com/labs/peppermint/__nightdocs/05-Getting-A-Copy.html" rel="nofollow">the documentation</a> for more information.</p> <p>For those who want to contribute financially as a thank you, I've recently <a href="https://liberapay.com/sbrl" rel="nofollow">setup a Liberapay</a> to accept donations. It's certainly not required, but would definitely help me out :-) If you want to contribute but Liberapay isn't for you, please let me know (e.g. open an issue, see <a href="https://starbeamrainbowlabs.com/" rel="nofollow">my website for more contact options</a>)</p> <h2>Since v0.24-beta1</h2> <ul> <li><strong>Added:</strong> <code>filter</code> GET parameter to the <code>list</code> action, which filters the list of pages to contain only those containing the specified substring.</li> <li><strong>Fixed:</strong> [Rest API] Documented <code>redirect</code> and <code>redirected_from</code> GET params to the <code>view</code> action.</li> <li><strong>Fixed:</strong> Fixed bug where templating variables were not populated under some circumstances.</li> <li><strong>Fixed:</strong> Typo on credits page</li> </ul> <h2>Since v0.23</h2> <h3>Added</h3> <ul> <li>Added support for embedding external YouTube and Vimeo videos (e.g. <code>![alt text](https://youtube.com/watch?v=pID0xQ2qnrQ)</code>) <ul> <li>If you know of a cool service that should be supported, please open an issue - YouTube and Vimeo were just the only 2 I could think of</li> <li>Known issue: specifying the size (i.e. with <code> | 500x400</code> inside the brackets <code>()</code> there) doesn't currently work because iframes are weird</li> </ul> </li> <li>Added <a href="https://meta.discourse.org/t/rich-link-previews-with-onebox/98088" rel="nofollow">oneboxing</a>: rich previews for internal links. If an internal link with 3 square brackets (e.g. <code>[[[example]]]</code>) is on it's own with nothing before or after it on a line, then it'll be turned into a onebox <ul> <li>2 new settings have also been added to control it: <code>parser_onebox_enabled</code> and <code>parser_onebox_preview_length</code></li> <li>TODO: Update the dynamic help page for this.</li> </ul> </li> <li>[Rest API] Add new <code>x-tags</code> HTTP header to <code>raw</code> action (<strong>required</strong> for v2.2 of the android client app to edit pages!)</li> </ul> <h3>Changed</h3> <ul> <li>Display returnto URL above the login form if present to further mitigate CSRF issues</li> <li>[Rest API] Return a 409 Conflict instead of a 200 OK on an edit conflict when saving a page in the <code>save</code> action, and add <code>x-failure-reason</code> for more errors</li> </ul> <h3>Fixed</h3> <ul> <li>Stats: Fix crash when loading the stats page</li> <li>Fix crash when leaving a top-level comment</li> <li>[security] Fixed an XSS vulnerability in the <code>format</code> GET parameter of the <code>stats</code> action (thanks, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JamieSlome/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JamieSlome">@JamieSlome</a>)</li> <li>[security] Ensured that the <code>returnto</code> GET parameter leads you only to another place on your Pepperminty Wiki instance (thanks, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JamieSlome/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JamieSlome">@JamieSlome</a>)</li> <li>[security] Ensure that Javascript in SVGs never gets executed (it's too challenging to strip it, since it could be lurking in many different places - according to <a href="https://stackoverflow.com/a/68505306/1460422" rel="nofollow">this answer</a> even Inkscape doesn't strip all Javascript when asked to)</li> <li>[security] Fixed XSS when the <code>action</code> GET param doesn't match a known action</li> <li>[security] User pages are now only savable in the HTTP API by either a moderator or the owning user (previously only the <code>edit</code> action was protected, so if you made a request direct to the <code>save</code> action, you could bypass the check)</li> <li>StorageBox: Create SQLite DB if it doesn't exist explicitly with <code>touch()</code>, because some systems are weird</li> <li>StorageBox: Fix crash when <code>index.php</code> is a symbolic link</li> <li>Fixed erroneous additional entries in complex tables of contents</li> <li>Make <code>PeppermintParsedown::extract_page_names</code> more multibyte safe to avoid empty statistics</li> </ul> sbrl tag:github.com,2008:Repository/27140639/v0.24-beta1 2022-07-05T14:40:17Z v0.24-beta1 <p>Hey there, one and all! Welcome to the first beta release of Pepperminty Wiki v0.24.</p> <p>Before we continue, I need to mention that <strong>you need to install this release or higher if you want to edit pages in the latest version of the <a href="https://play.google.com/store/apps/details?id=com.sbrl.peppermint" rel="nofollow">Android client app</a></strong>. This is actually the main reason I'm making this beta release now - to give people something to update to that's not "build from source from the latest git".</p> <p>With that out of the way, this release has a number of cool features:</p> <ul> <li>📺 <strong>Support for embedding YouTube / Vimeo videos:</strong> e.g. <code>![alt text](https://youtube.com/watch?v=pID0xQ2qnrQ)</code>. If you can think of another site that should have native embed support, please <a href="https://github.com/sbrl/Pepperminty-Wiki/issues/new">open an issue</a></li> <li>📦 <strong>Added <a href="https://meta.discourse.org/t/rich-link-previews-with-onebox/98088" rel="nofollow">oneboxing</a>:</strong> Rich previews for internal links. If an internal link with 3 square brackets (e.g. <code>[[[example]]]</code>) is on it's own with nothing before or after it on a line, then it'll be turned into a onebox</li> <li>🔐 <strong>Improved security:</strong> The method by which these security issues were disclosed leaves a lot to be desired, but they are fixed anyway.</li> <li>📱 <strong>Improved API support for the <a href="https://play.google.com/store/apps/details?id=com.sbrl.peppermint" rel="nofollow">Android client app</a> (<a href="https://github.com/sbrl/Pepperminty-Wiki-Client-Android">GitHub</a>):</strong> This may be a constant feature in the next few updates as I add more functionality to the app :D</li> </ul> <p>Have you updated to this release? <a href="https://starbeamrainbowlabs.com/blog/viewtracker.php?action=record&amp;format=text&amp;post-id=pepperminty-wiki/v0.24-beta1" rel="nofollow">Click this link to say hi</a>!</p> <p>This release also has an experimental GPG and SHA256 hashes file attached. My GPG key is <code>C2F7843F9ADF9FEE264ACB9CC1C6C0BB001E1725</code> - please <a href="https://github.com/sbrl/Pepperminty-Wiki/issues/">open an issue</a> if you encounter any issues 🙂</p> <h2>Updating</h2> <p>You can update to this release simply by grabbing an updated copy of <code>index.php</code> and replacing the version in your current wiki (don't forget to take backups! I make every effort to squash as many bugs as possible, but you can never be too certain). You can get an updated copy of <code>index.php</code> in a number of ways:</p> <ul> <li>By downloading the <code>index.php</code> file attached to this release</li> <li>Using the <a href="https://starbeamrainbowlabs.com/labs/peppermint/download.php" rel="nofollow">online downloader</a> (always has the latest stable version): <strong>I have updated the online downloader for this version. Normally this is only done for stable releases!</strong></li> <li>Using the online downloader offline</li> <li>Building your own from source</li> </ul> <p>For more information on the last 2 methods, please see <a href="https://starbeamrainbowlabs.com/labs/peppermint/__nightdocs/05-Getting-A-Copy.html" rel="nofollow">the documentation</a> for more information.</p> <p>For those who want to contribute financially as a thank you, I've recently <a href="https://liberapay.com/sbrl" rel="nofollow">setup a Liberapay</a> to accept donations. It's certainly not required, but would definitely help me out :-) If you want to contribute but Liberapay isn't for you, please let me know (e.g. open an issue, see <a href="https://starbeamrainbowlabs.com/" rel="nofollow">my website for more contact options</a>)</p> <h2>Since v0.23</h2> <h3>Added</h3> <ul> <li>Added support for embedding external YouTube and Vimeo videos (e.g. <code>![alt text](https://youtube.com/watch?v=pID0xQ2qnrQ)</code>) <ul> <li>If you know of a cool service that should be supported, please open an issue - YouTube and Vimeo were just the only 2 I could think of</li> <li>Known issue: specifying the size (i.e. with <code> | 500x400</code> inside the brackets <code>()</code> there) doesn't currently work because iframes are weird</li> </ul> </li> <li>Added <a href="https://meta.discourse.org/t/rich-link-previews-with-onebox/98088" rel="nofollow">oneboxing</a>: rich previews for internal links. If an internal link with 3 square brackets (e.g. <code>[[[example]]]</code>) is on it's own with nothing before or after it on a line, then it'll be turned into a onebox <ul> <li>2 new settings have also been added to control it: <code>parser_onebox_enabled</code> and <code>parser_onebox_preview_length</code></li> <li>TODO: Update the dynamic help page for this.</li> </ul> </li> <li>[Rest API] Add new <code>x-tags</code> HTTP header to <code>raw</code> action (<strong>required</strong> for v2.2 of the android client app to edit pages!)</li> </ul> <h3>Changed</h3> <ul> <li>Display returnto URL above the login form if present to further mitigate CSRF issues</li> <li>[Rest API] Return a 409 Conflict instead of a 200 OK on an edit conflict when saving a page in the <code>save</code> action, and add <code>x-failure-reason</code> for more errors</li> </ul> <h3>Fixed</h3> <ul> <li>Stats: Fix crash when loading the stats page</li> <li>Fix crash when leaving a top-level comment</li> <li>[security] Fixed an XSS vulnerability in the <code>format</code> GET parameter of the <code>stats</code> action (thanks, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JamieSlome/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JamieSlome">@JamieSlome</a>)</li> <li>[security] Ensured that the <code>returnto</code> GET parameter leads you only to another place on your Pepperminty Wiki instance (thanks, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JamieSlome/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JamieSlome">@JamieSlome</a>)</li> <li>[security] Ensure that Javascript in SVGs never gets executed (it's too challenging to strip it, since it could be lurking in many different places - according to <a href="https://stackoverflow.com/a/68505306/1460422" rel="nofollow">this answer</a> even Inkscape doesn't strip all Javascript when asked to)</li> <li>[security] Fixed XSS when the <code>action</code> GET param doesn't match a known action</li> <li>[security] User pages are now only savable in the HTTP API by either a moderator or the owning user (previously only the <code>edit</code> action was protected, so if you made a request direct to the <code>save</code> action, you could bypass the check)</li> <li>StorageBox: Create SQLite DB if it doesn't exist explicitly with <code>touch()</code>, because some systems are weird</li> <li>StorageBox: Fix crash when <code>index.php</code> is a symbolic link</li> <li>Fixed erroneous additional entries in complex tables of contents</li> <li>Make <code>PeppermintParsedown::extract_page_names</code> more multibyte safe to avoid empty statistics</li> </ul> sbrl tag:github.com,2008:Repository/27140639/v0.23 2021-09-03T01:27:53Z v0.23 <p>Hey there everyone! It's another release :D This is an unusual one in many respects - for one there hasn't been a beta release (the least time this happened for a major release was waaay back in <a href="https://github.com/sbrl/Pepperminty-Wiki/releases/tag/v0.9">v0.9</a> in 2015). There's a reason for that - in issue <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="968084706" data-permission-text="Title is private" data-url="https://github.com/sbrl/Pepperminty-Wiki/issues/222" data-hovercard-type="issue" data-hovercard-url="/sbrl/Pepperminty-Wiki/issues/222/hovercard" href="https://github.com/sbrl/Pepperminty-Wiki/issues/222">#222</a> someone has unethically reported a security issue with Pepperminty Wiki by not privately disclosing it, and instead publishing it publicly on the internet (exhibits <a href="https://github.com/hmaverickadams/CVE-2021-38600">a</a>, <a href="https://github.com/hmaverickadams/CVE-2021-38601">b</a>).</p> <p>Of these 2, the one that involves the <code>first-run</code> action is not of concern, since it requires the site secret to pull off and even then that can only be executed once. If you're worried about that, you've got other issues - you could achieve the same effect simply uploading a static HTML file to your web server or changing multiple different settings in <code>peppermint.json</code> which by design take arbitrary HTML!</p> <p>The other vulnerability uncovered a bunch of places in which potentially unsafe user input was sent to the user improperly encoded - potentially allowing someone to insert arbitrary HTML (and hence scripts) where they shouldn't. This release fixes that.</p> <p>Despite this rushed release, there are a number of awesome additions in this release too:</p> <ul> <li>📄 Experimental support for transparent handling of <code>[display text](./Page Name.md)</code> style internal links (disabled by default: enable the <code>parser_mangle_external_links</code> setting and delete the <code>._cache</code> directory to enable)</li> <li>🗺 XML sitemap support (manual setup required via an edit to your <code>robots.txt</code>)</li> <li>💡 Automatic system requirements indicator to first run (doesn't block you from proceeding, but helps you make sure you meet Pepperminty Wiki's system requirements)</li> <li>🪲 Many bugs squashed!</li> <li>⏫ Fixed compatibility issues with PHP 8.0</li> </ul> <p>So all in all this release should be a good incremental improvement over v0.22. If I spot any new show stoppers, I'll make a quick hotfix release to squash them.</p> <p>Have you updated to this release? <a href="https://starbeamrainbowlabs.com/blog/viewtracker.php?action=record&amp;format=text&amp;post-id=pepperminty-wiki/v0.23" rel="nofollow">Click this link to say hi</a>!</p> <p>This release also has an experimental GPG and SHA256 hashes file attached. My GPG key is <code>C2F7843F9ADF9FEE264ACB9CC1C6C0BB001E1725</code> - please <a href="https://github.com/sbrl/Pepperminty-Wiki/issues/">open an issue</a> if you encounter any issues 🙂</p> <h2>Updating</h2> <p>You can update to this release simply by grabbing an updated copy of <code>index.php</code> and replacing the version in your current wiki (don't forget to take backups! I make every effort to squash as many bugs as possible, but you can never be too certain). You can get an updated copy of <code>index.php</code> in a number of ways:</p> <ul> <li>By downloading the <code>index.php</code> file attached to this release</li> <li>Using the <a href="https://starbeamrainbowlabs.com/labs/peppermint/download.php" rel="nofollow">online downloader</a> (always has the latest stable version)</li> <li>Using the online downloader offline</li> <li>Building your own from source</li> </ul> <p>For more information on the last 2 methods, please see <a href="https://starbeamrainbowlabs.com/labs/peppermint/__nightdocs/05-Getting-A-Copy.html" rel="nofollow">the documentation</a> for more information.</p> <p>For those who want to contribute financially as a thank you, I've recently <a href="https://liberapay.com/sbrl" rel="nofollow">setup a Liberapay</a> to accept donations. It's certainly not required, but would definitely help me out :-) If you want to contribute but Liberapay isn't for you, please let me know (e.g. open an issue, see <a href="https://starbeamrainbowlabs.com/" rel="nofollow">my website for more contact options</a>)</p> <h2>Since v0.22</h2> <h2>Added</h2> <ul> <li>Added HTTP API support for creating pages that don't yet have a name (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="652615709" data-permission-text="Title is private" data-url="https://github.com/sbrl/Pepperminty-Wiki/issues/194" data-hovercard-type="issue" data-hovercard-url="/sbrl/Pepperminty-Wiki/issues/194/hovercard" href="https://github.com/sbrl/Pepperminty-Wiki/issues/194">#194</a>) <ul> <li>This allows for having a "create new page" button in your navigation links - e.g. edit <code>nav_links</code>, <code>nav_links_extra</code>, or <code>nav_links_bottom</code> in your <code>peppermint.json</code> and add something like <code>[ "+", "index.php?action=edit&amp;unknownpagename=yes" ]</code>.</li> </ul> </li> <li>XML sitemap support with the new <code>page-sitemap</code> module (manual setup required for crawlers to notice it: see <a href="https://github.com/sbrl/Pepperminty-Wiki/blob/master/docs/02-Features.md#whats-this-about-manual-setup-for-the-sitemap">the documentation</a>)</li> <li>Experimental support for transparent handling of <code>[display text](./Page Name.md)</code> style internal links (disabled by default: enable the <code>parser_mangle_external_links</code> setting and delete the <code>._cache</code> directory to enable)</li> <li>Added automatic system requirements indicator to first run (checks for various PHP extensions required for various different functions) - does not block you from proceeding, but does assist in first-time system configuration</li> </ul> <h2>Changed</h2> <ul> <li>Updated the <a href="https://starbeamrainbowlabs.com/labs/peppermint/peppermint-config-info.php" rel="nofollow">configuration guide</a> to include count of how many settings we have</li> <li>Also send a <code>x-robots-tag: noindex, nofollow</code> HTTP header for the login page (Semrush Bot, you better obey this one)</li> <li>Support <code>page</code> as either a GET parameter or a POST parameter (GET takes precedence over POST)</li> <li>Preview generation: If php-imagick is not installed but required for a particular operation, return a proper error message</li> <li>File upload: If fileinfo is not installed, return a proper error message when someone attempts to upload a file</li> <li>Add <code>image/avif</code> (AVIF image), <code>image/jxl</code> (JPEG XL image), and <code>image/heif</code>/<code>image/heic</code> to <code>upload_allowed_file_types</code> (you'll need to delete your entry in <code>peppermint.json</code> to get the new updated list) <ul> <li>Also added these and <code>flac</code> (which was already allowed as an upload by default) to the data size calculator on <code>?action=help&amp;dev=yes</code></li> </ul> </li> </ul> <h2>Fixed</h2> <ul> <li>[security] Fixed some potential XSS attacks in the page editor</li> <li>[security] Fix stored XSS attack in the wiki name via the first run wizard <a href="https://github.com/hmaverickadams/CVE-2021-38600">CVE-2021-38600</a>; low severity since it requires the site secret to do the initial setup &amp; said initial setup can only be performed once</li> <li>[security] Fix reflected XSS attacks (arbitrary code execution in the user's browser) via the many different GET parameters in many different modules</li> <li>[security] Automatically run page titles through <code>htmlentities()</code></li> <li>Fixed a weird bug in the <code>stats-update</code> action causing warnings</li> <li>search: Properly apply weightings of matches in page titles and tags</li> <li>Improved error handling on first run where the PHP Zip extension is not installed</li> <li>Also extract to <code>._extra_data</code> if the directory is empty</li> <li>Add <code>sidebar_show</code> to the settings GUI and the <a href="https://starbeamrainbowlabs.com/labs/peppermint/peppermint-config-info.php" rel="nofollow">configuration guide</a></li> <li>Fix crash when using the search bar with PHP 8.0+</li> <li>Prefix the default value of the <code>logo_url</code> setting with <code>https:</code></li> <li>Fix display of subpages in the sidebar, and also wrap subpage lists in a <code>&lt;details /&gt;</code> element to allow collapsing them</li> <li>Fix file upload error handling logic - a proper error page is now sent to the client</li> <li>Create theme gallery help section instead of overwriting the one entitled "Jumping to a random page".</li> <li>Fix broken character in recent changes log entry when moving pages</li> </ul> sbrl tag:github.com,2008:Repository/27140639/v0.22 2020-09-11T20:37:46Z v0.22 <p>After a record-breaking number of beta releases, it's finally that time again: another new stable release!</p> <p>Check out the major new features:</p> <ul> <li>📖 Reading time estimations (on by default, toggle with the <code>readingtime_enabled</code> setting)</li> <li>⛅ Similar page suggestions at the bottom of the page, powered by the search index (on by default, toggle with the <code>similarpages_enabled</code> / <code>similarpages_count</code> settings)</li> <li>📝 New syntax features: checkboxes, highlighted text, spoiler text, super/subscript, automatic table of contents - check the inbuilt help page for details</li> <li>📑 Uploaded PDFs can now be embedded into pages (older wikis make sure that <code>application/pdf</code> is present in the <code>upload_allowed_file_types</code> setting)</li> <li>🍪 Improved cookie security: PHP 7.3+ recommended</li> </ul> <p>Some notes for admins:</p> <ul> <li><strong>Make sure you have PHP 7.3+ when you update past this point!</strong></li> <li>Owners of existing wikis need to ensure that the <code>upload_allowed_file_types</code> setting in <code>peppermint.json</code> contains <code>application/pdf</code></li> <li><strong>New policy:</strong> Only <a href="https://www.php.net/supported-versions.php" rel="nofollow">officially supported</a> versions of PHP are officially supported by Pepperminty Wiki. <ul> <li>If you encounter issues using an unsupported version of PHP, please update before opening an issue.</li> </ul> </li> </ul> <p>Special thanks to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/virtadpt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/virtadpt">@virtadpt</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SeanFromIT/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SeanFromIT">@SeanFromIT</a> for reporting bugs in this beta release cycle.</p> <p>Have you updated to this release? <a href="https://starbeamrainbowlabs.com/blog/viewtracker.php?action=record&amp;format=text&amp;post-id=pepperminty-wiki/v0.22" rel="nofollow">Click this link to say hi</a>!</p> <p>This release also has an experimental GPG and SHA256 hashes file attached. My GPG key is <code>C2F7843F9ADF9FEE264ACB9CC1C6C0BB001E1725</code> - please <a href="https://github.com/sbrl/Pepperminty-Wiki/issues/">open an issue</a> if you encounter any issues 🙂</p> <h2>Updating</h2> <p>You can update to this release simply by grabbing an updated copy of <code>index.php</code> and replacing the version in your current wiki (don't forget to take backups! I make every effort to squash as many bugs as possible, but you can never be too certain). You can get an updated copy of <code>index.php</code> in a number of ways:</p> <ul> <li>By downloading the <code>index.php</code> file attached to this release</li> <li>Using the <a href="https://starbeamrainbowlabs.com/labs/peppermint/download.php" rel="nofollow">online downloader</a> (always has the latest stable version)</li> <li>Using the online downloader offline</li> <li>Building your own from source</li> </ul> <p>For more information on the last 2 methods, please see <a href="https://starbeamrainbowlabs.com/labs/peppermint/__nightdocs/05-Getting-A-Copy.html" rel="nofollow">the documentation</a> for more information.</p> <p>For those who want to contribute financially as a thank you, I've recently <a href="https://liberapay.com/sbrl" rel="nofollow">setup a Liberapay</a> to accept donations. It's certainly not required, but would definitely help me out :-) If you want to contribute but Liberapay isn't for you, please let me know (e.g. open an issue, see <a href="https://starbeamrainbowlabs.com/" rel="nofollow">my website for more contact options</a>)</p> <h2>Since VERSION_NUMBER_HERE</h2> <p>FULL_CHANGELOG_HERE</p> <h2>Since v0.22-beta3</h2> <p><em>No changes were made since the last beta release</em></p> <h2>Since v0.22-beta2</h2> <h3>Changed</h3> <ul> <li>Don't emit custom CSS unless there's something to emit</li> </ul> <h3>Fixed</h3> <ul> <li>Fixed <code>inbody:searchterm</code> advanced query syntax</li> <li>Fixed inaccessible colours in the page list when using the dark theme</li> <li>Fixed invalid HTML generated by new <code>hide_email</code> implementation</li> </ul> <h2>Since v0.22-beta1</h2> <h3>Added</h3> <ul> <li>Added dark theme via <code>prefers-color-scheme</code> to configuration guide (see the stable channel guide <a href="https://starbeamrainbowlabs.com/labs/peppermint/peppermint-config-info.php" rel="nofollow">here</a> - will only be updated when v0.22 is released)</li> <li>Added link thingy you can click next to each setting to jump right to it</li> <li>[docs] Documented the structure of <code>pageindex.json</code> and <code>recentchanges.json</code></li> </ul> <h3>Fixed</h3> <ul> <li>Obfuscate the admin email address at the bottom of every page - we missed it in v0.22-beta1 (but got every other one though :P) (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="675432504" data-permission-text="Title is private" data-url="https://github.com/sbrl/Pepperminty-Wiki/issues/205" data-hovercard-type="issue" data-hovercard-url="/sbrl/Pepperminty-Wiki/issues/205/hovercard" href="https://github.com/sbrl/Pepperminty-Wiki/issues/205">#205</a>)</li> <li>Bugfix: Don't use <code>-&gt;text()</code> for recursion when parsing markdown - it resets <code>-&gt;DefinitionData</code>, which breaks footnotes (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="679487194" data-permission-text="Title is private" data-url="https://github.com/sbrl/Pepperminty-Wiki/issues/209" data-hovercard-type="issue" data-hovercard-url="/sbrl/Pepperminty-Wiki/issues/209/hovercard" href="https://github.com/sbrl/Pepperminty-Wiki/issues/209">#209</a>)</li> <li>Fix name of did you mean index: <code>didyoumeaninddex.sqlite</code> → <code>didyoumeanindex.sqlite</code> (feature is disabled by default; manual renaming required)</li> </ul> <h3>Changed</h3> <ul> <li>Disable parser cache by default to avoid issues because said cache isn't invalidated when it should be (and doing so would take more of a performance hit than leaving it on)</li> </ul> <h2>Since v0.21.1-hotfix1</h2> <p><strong>Make sure you have PHP 7.3+ when you update past this point!</strong> It isn't the end of the world if you don't, but it will make you more secure if you do.</p> <h3>Added</h3> <ul> <li>[Module Api] Add new <code>search::invindex_term_getpageids</code>, and <code>search::invindex_term_getoffsets</code>, and <code>search::index_sort_freq</code> methods</li> <li>[Module Api] Add new <code>ends_with</code> and <code>filepath_to_pagename</code> core functions</li> <li>Added new syntax features to PeppermintParsedown, inspired by ParsedownExtreme (which we couldn't get to work, and it wasn't working before as far as I can tell) <ul> <li>Checkboxes: <code>[ ]</code> and <code>[x]</code> after a bullet point or at the start of a line</li> <li>Marked / highlighted text: <code>Some text ==marked text== more text</code></li> <li>Spoiler text: <code>Some text &gt;!spoiler!&lt; more text</code> or <code>Some text ||spoiler|| more text</code></li> <li>Superscript: <code>Some text^superscript^ more text</code></li> <li>Subscript: <code>Some text~subscript~ more text</code></li> </ul> </li> <li>Added automatic table of contents! (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="320541867" data-permission-text="Title is private" data-url="https://github.com/sbrl/Pepperminty-Wiki/issues/155" data-hovercard-type="issue" data-hovercard-url="/sbrl/Pepperminty-Wiki/issues/155/hovercard" href="https://github.com/sbrl/Pepperminty-Wiki/issues/155">#155</a>) <ul> <li>Put <code>[__TOC__]</code> on a line by itself to insert an automatic table of contents</li> <li>Note that the level of heading generated can be controlled (or even removed) by the new <code>parser_toc_heading_level</code> setting</li> </ul> </li> <li>Add <code>&lt;meta name="theme-color" content="value" /&gt;</code> support with the new <code>theme_colour</code> setting. More information: <a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta/name/theme-color" rel="nofollow">MDN</a>, <a href="https://caniuse.com/#feat=meta-theme-color" rel="nofollow">caniuse</a>. Also used by some platforms to customise embed accents when generating a rich snippet (e.g. Discord).</li> <li>Added reading time estimate to the top of wiki pages - control it with the new <code>readingtime_enabled</code> setting (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="485405147" data-permission-text="Title is private" data-url="https://github.com/sbrl/Pepperminty-Wiki/issues/172" data-hovercard-type="issue" data-hovercard-url="/sbrl/Pepperminty-Wiki/issues/172/hovercard" href="https://github.com/sbrl/Pepperminty-Wiki/issues/172">#172</a>) <ul> <li>The algorithm used to estimate reading times is the as the one used in Firefox's reader mode</li> </ul> </li> <li>Added similar page suggestions between the bottom of the page content and the comments - control it with the new <code>similarpages_enabled</code> and <code>similarpages_count</code> settings.</li> <li>Added absolute redirect support - use it like this: <code># REDIRECT [display text](INSERT_REDIRECT_URL_HERE)</code> <ul> <li>It's disabled by default due to potential security issues with untrusted editors - enable it with the new <code>redirect_absolute_enable</code> setting (default: <code>false</code>)</li> </ul> </li> <li>Added new settings to control various features more precisely <ul> <li><code>comment_enabled</code> controls whether <em>anyone</em> is allowed to comment at all or not</li> <li><code>comment_hide_all</code> determines whether the commenting system displays anything at all (if disabled, it's (almost) like the <code>feature-comments</code> doesn't exist - consider using the downloader to exclude the commenting system instead of enabling this setting)</li> <li><code>avatars_gravatar_enabled</code> determines whether redirects to <a href="https://gravatar.com/" rel="nofollow">gravatar.com</a> should be performed if a user hasn't yet uploaded an avatar (if disabled then a blank image is returned instead of a redirect).</li> </ul> </li> <li>PDF previews now show the browser's UI when embedded in pages with the <code>![alt text](File/somefile.png)</code> syntax</li> <li>[Rest API] Add new <code>typeheader</code> GET parameter to <code>raw</code> action (ref <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1319262" rel="nofollow">Firefox bug 1319262</a>)</li> </ul> <h3>Changed</h3> <ul> <li><strong>New policy:</strong> Only <a href="https://www.php.net/supported-versions.php" rel="nofollow">officially supported</a> versions of PHP are officially supported by Pepperminty Wiki.</li> <li>Fiddled with Parsedown &amp; ParsedownExtra versions</li> <li>Removed ParsedownExtreme, as it wasn't doing anything useful anyway <ul> <li>Don't worry, we've absorbed all the useful features (see above)</li> <li>NOTE TO SELF: Don't forget to update wikimatrix.org when we next make a stable release! (if you are reading this in the release notes for a stable release, please get in touch)</li> </ul> </li> <li>Enabled horizontal resize handle on sidebar (but it doesn't persist yet)</li> <li>[security] <code>SameSite=Strict</code> is now set on all cookies in PHP 7.3+ <ul> <li>This prevents session-stealing attacks from third-party origins</li> <li>This complies with the <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite#SameSiteNone_requires_Secure" rel="nofollow">new samesite cookies rules</a>.</li> <li>A warning is generated in PHP 7.2 and below = <a href="https://www.php.net/supported-versions.php" rel="nofollow">please upgrade</a> to PHP 7.3+! (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="666680160" data-permission-text="Title is private" data-url="https://github.com/sbrl/Pepperminty-Wiki/issues/200" data-hovercard-type="issue" data-hovercard-url="/sbrl/Pepperminty-Wiki/issues/200/hovercard" href="https://github.com/sbrl/Pepperminty-Wiki/issues/200">#200</a>)</li> </ul> </li> <li>[security] The <code>Secure</code> cookie flag is now automatically added when clients use HTTPS to prevent downgrade-based session stealing attacks (control this with the new <code>cookie_secure</code> setting)</li> <li>Standardised prefixes to (most) <code>error_log()</code> calls to aid clarity in multi-wiki environments</li> <li>Improved pageindex rebuilder algorithm to search for and import history revisions - this helps when converting data from another wiki format</li> <li>Improved spam protection when hiding email addresses. Javascript is now required to decode email addresses - please <a href="https://github.com/sbrl/Pepperminty-Wiki/issues/new">get in touch</a> if this is a problem for whatever reason. I take accessibility <em>very</em> seriously.</li> <li>Bump weighting of title and tag matches in search results (delete the <code>search_title_matches_weighting</code> and <code>search_tags_matches_weighting</code> settings to get the new weightings)</li> </ul> <h3>Fixed</h3> <ul> <li>Squashed a warning when using the fenced code block syntax</li> <li>If a redirect page sends you to create a page that doesn't exist, a link back to the redirect page itself is now displayed</li> <li>Really fix bots getting into infinite loops on the login page this time by marking all login pages as <code>noindex, nofollow</code> with a robots <code>&lt;meta /&gt;</code> tag</li> <li>Navigating to a redirect page from a page list or the recent changes list will no longer cause you to automatically follow the redirect</li> <li>Limited sidebar size to 20% of the screen width at most</li> <li>Fix the <a href="https://github.com/sbrl/Pepperminty-Wiki/blob/master/Changelog.md#fixed-3">large blank space problem</a> in all themes</li> <li>Squashed the text <code>\A</code> appearing before tags at the bottom of pages for some users (<a href="https://gitter.im/Pepperminty-Wiki/Lobby?at=5f0632068342f4627401f145" rel="nofollow">ref</a>)</li> <li>Fixed an issue causing uploaded avatars not to render</li> <li>Fixed an obscure bug in the search engine when excluding terms that appear both in a page's title and body</li> <li>Squashed a warning at the top of search results (more insight is needed though to squash the inconsistencies in the search index that creep in though)</li> <li>Removed annoying scrollbars when editing long pages</li> <li>Fixed an obscure warning when previewing PDFs (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="674259388" data-permission-text="Title is private" data-url="https://github.com/sbrl/Pepperminty-Wiki/issues/202" data-hovercard-type="issue" data-hovercard-url="/sbrl/Pepperminty-Wiki/issues/202/hovercard" href="https://github.com/sbrl/Pepperminty-Wiki/issues/202">#202</a>)</li> <li>Ensure that the parent page exists when moving a page to be a child of a non-existent parent (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="674233376" data-permission-text="Title is private" data-url="https://github.com/sbrl/Pepperminty-Wiki/issues/201" data-hovercard-type="issue" data-hovercard-url="/sbrl/Pepperminty-Wiki/issues/201/hovercard" href="https://github.com/sbrl/Pepperminty-Wiki/issues/201">#201</a>)</li> <li>Fixed templating (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="675352646" data-permission-text="Title is private" data-url="https://github.com/sbrl/Pepperminty-Wiki/issues/203" data-hovercard-type="issue" data-hovercard-url="/sbrl/Pepperminty-Wiki/issues/203/hovercard" href="https://github.com/sbrl/Pepperminty-Wiki/issues/203">#203</a>)</li> <li>Fixed warning from statistics engine during firstrun wizard</li> </ul> sbrl tag:github.com,2008:Repository/27140639/v0.22-beta3 2020-09-04T23:58:13Z v0.22-beta3 <p>Another beta release! I should have released this earlier, but I've been really busy with my PhD recently. Anyway, despite the larger-than-usual number of changes in this release, I'm pretty confident that we've got all the showstoppers squashed in this one. If all goes well, I'll be releasing the stable version of v0.22 in 1 week's time (to give everyone time to test this release).</p> <p>This beta release also marks a new record for the most number of beta releases before a stable release!</p> <p>Have you updated to this release? <a href="https://starbeamrainbowlabs.com/blog/viewtracker.php?action=record&amp;format=text&amp;post-id=pepperminty-wiki/PEPPERMINTY_WIKI_VERSION" rel="nofollow">Click this link to say hi</a>!</p> <p>This release also has an experimental GPG and SHA256 hashes file attached. My GPG key is <code>C2F7843F9ADF9FEE264ACB9CC1C6C0BB001E1725</code> - please <a href="https://github.com/sbrl/Pepperminty-Wiki/issues/">open an issue</a> if you encounter any issues 🙂</p> <h2>Updating</h2> <p>You can update to this release simply by grabbing an updated copy of <code>index.php</code> and replacing the version in your current wiki (don't forget to take backups! I make every effort to squash as many bugs as possible, but you can never be too certain). You can get an updated copy of <code>index.php</code> in a number of ways:</p> <ul> <li>By downloading the <code>index.php</code> file attached to this release</li> <li>Using the <a href="https://starbeamrainbowlabs.com/labs/peppermint/download.php" rel="nofollow">online downloader</a> (always has the latest stable version)</li> <li>Using the online downloader offline</li> <li>Building your own from source</li> </ul> <p>For more information on the last 2 methods, please see <a href="https://starbeamrainbowlabs.com/labs/peppermint/__nightdocs/05-Getting-A-Copy.html" rel="nofollow">the documentation</a> for more information.</p> <p>For those who want to contribute financially as a thank you, I've recently <a href="https://liberapay.com/sbrl" rel="nofollow">setup a Liberapay</a> to accept donations. It's certainly not required, but would definitely help me out :-) If you want to contribute but Liberapay isn't for you, please let me know (e.g. open an issue, see <a href="https://starbeamrainbowlabs.com/" rel="nofollow">my website for more contact options</a>)</p> <h2>Since v0.22-beta2</h2> <h3>Changed</h3> <ul> <li>Don't emit custom CSS unless there's something to emit</li> </ul> <h3>Fixed</h3> <ul> <li>Fixed <code>inbody:searchterm</code> advanced query syntax</li> <li>Fixed inaccessible colours in the page list when using the dark theme</li> <li>Fixed invalid HTML generated by new <code>hide_email</code> implementation</li> </ul> sbrl tag:github.com,2008:Repository/27140639/v0.22-beta2 2020-08-19T14:10:52Z v0.22-beta2 <p>This is the 2nd beta release for v0.22! Thanks to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SeanFromIT/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SeanFromIT">@SeanFromIT</a> and @viradpt for the bug reports (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="675432504" data-permission-text="Title is private" data-url="https://github.com/sbrl/Pepperminty-Wiki/issues/205" data-hovercard-type="issue" data-hovercard-url="/sbrl/Pepperminty-Wiki/issues/205/hovercard" href="https://github.com/sbrl/Pepperminty-Wiki/issues/205">#205</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="679487194" data-permission-text="Title is private" data-url="https://github.com/sbrl/Pepperminty-Wiki/issues/209" data-hovercard-type="issue" data-hovercard-url="/sbrl/Pepperminty-Wiki/issues/209/hovercard" href="https://github.com/sbrl/Pepperminty-Wiki/issues/209">#209</a>, and more over <a href="https://gitter.im/Pepperminty-Wiki/Lobby" rel="nofollow">Gitter</a>)</p> <p>Have you updated to this release? <a href="https://starbeamrainbowlabs.com/blog/viewtracker.php?action=record&amp;format=text&amp;post-id=pepperminty-wiki/PEPPERMINTY_WIKI_VERSION" rel="nofollow">Click this link to say hi</a>!</p> <p>This release also has an experimental GPG and SHA256 hashes file attached. My GPG key is <code>C2F7843F9ADF9FEE264ACB9CC1C6C0BB001E1725</code> - please <a href="https://github.com/sbrl/Pepperminty-Wiki/issues/">open an issue</a> if you encounter any issues 🙂</p> <h2>Updating</h2> <p>You can update to this release simply by grabbing an updated copy of <code>index.php</code> and replacing the version in your current wiki (don't forget to take backups! I make every effort to squash as many bugs as possible, but you can never be too certain). You can get an updated copy of <code>index.php</code> in a number of ways:</p> <ul> <li>By downloading the <code>index.php</code> file attached to this release</li> <li>Using the <a href="https://starbeamrainbowlabs.com/labs/peppermint/download.php" rel="nofollow">online downloader</a> (always has the latest stable version)</li> <li>Using the online downloader offline</li> <li>Building your own from source</li> </ul> <p>For more information on the last 2 methods, please see <a href="https://starbeamrainbowlabs.com/labs/peppermint/__nightdocs/05-Getting-A-Copy.html" rel="nofollow">the documentation</a> for more information.</p> <p>For those who want to contribute financially as a thank you, I've recently <a href="https://liberapay.com/sbrl" rel="nofollow">setup a Liberapay</a> to accept donations. It's certainly not required, but would definitely help me out :-) If you want to contribute but Liberapay isn't for you, please let me know (e.g. open an issue, over <a href="https://gitter.im/Pepperminty-Wiki/Lobby" rel="nofollow">Gitter</a>, see <a href="https://starbeamrainbowlabs.com/" rel="nofollow">my website for more contact options</a>)</p> <h2>Since v0.22-beta1</h2> <h3>Added</h3> <ul> <li>Added dark theme via <code>prefers-color-scheme</code> to configuration guide (see the stable channel guide <a href="https://starbeamrainbowlabs.com/labs/peppermint/peppermint-config-info.php" rel="nofollow">here</a> - will only be updated when v0.22 is released)</li> <li>Added link thingy you can click next to each setting to jump right to it</li> <li>[docs] Documented the structure of <code>pageindex.json</code> and <code>recentchanges.json</code></li> </ul> <h3>Fixed</h3> <ul> <li>Obfuscate the admin email address at the bottom of every page - we missed it in v0.22-beta1 (but got every other one though :P) (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="675432504" data-permission-text="Title is private" data-url="https://github.com/sbrl/Pepperminty-Wiki/issues/205" data-hovercard-type="issue" data-hovercard-url="/sbrl/Pepperminty-Wiki/issues/205/hovercard" href="https://github.com/sbrl/Pepperminty-Wiki/issues/205">#205</a>)</li> <li>Bugfix: Don't use <code>-&gt;text()</code> for recursion when parsing markdown - it resets <code>-&gt;DefinitionData</code>, which breaks footnotes (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="679487194" data-permission-text="Title is private" data-url="https://github.com/sbrl/Pepperminty-Wiki/issues/209" data-hovercard-type="issue" data-hovercard-url="/sbrl/Pepperminty-Wiki/issues/209/hovercard" href="https://github.com/sbrl/Pepperminty-Wiki/issues/209">#209</a>)</li> <li>Fix name of did you mean index: <code>didyoumeaninddex.sqlite</code> → <code>didyoumeanindex.sqlite</code> (feature is disabled by default; manual renaming required)</li> </ul> <h3>Changed</h3> <ul> <li>Disable parser cache by default to avoid issues because said cache isn't invalidated when it should be (and doing so would take more of a performance hit than leaving it on)</li> </ul> <hr> <h2>Since v0.21.1-hotfix1</h2> <p>Make sure you have PHP 7.3+ when you update past this point! It isn't the end of the world if you don't, but it will make you more secure if you do.</p> <h3>Added</h3> <ul> <li>[Module Api] Add new <code>search::invindex_term_getpageids</code>, and <code>search::invindex_term_getoffsets</code>, and <code>search::index_sort_freq</code> methods</li> <li>[Module Api] Add new <code>ends_with</code> and <code>filepath_to_pagename</code> core functions</li> <li>Added new syntax features to PeppermintParsedown, inspired by ParsedownExtreme (which we couldn't get to work, and it wasn't working before as far as I can tell) <ul> <li>Checkboxes: <code>[ ]</code> and <code>[x]</code> after a bullet point or at the start of a line</li> <li>Marked / highlighted text: <code>Some text ==marked text== more text</code></li> <li>Spoiler text: <code>Some text &gt;!spoiler!&lt; more text</code> or <code>Some text ||spoiler|| more text</code></li> <li>Superscript: <code>Some text^superscript^ more text</code></li> <li>Subscript: <code>Some text~subscript~ more text</code></li> </ul> </li> <li>Added automatic table of contents! (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="320541867" data-permission-text="Title is private" data-url="https://github.com/sbrl/Pepperminty-Wiki/issues/155" data-hovercard-type="issue" data-hovercard-url="/sbrl/Pepperminty-Wiki/issues/155/hovercard" href="https://github.com/sbrl/Pepperminty-Wiki/issues/155">#155</a>) <ul> <li>Put <code>[__TOC__]</code> on a line by itself to insert an automatic table of contents</li> <li>Note that the level of heading generated can be controlled (or even removed) by the new <code>parser_toc_heading_level</code> setting</li> </ul> </li> <li>Add <code>&lt;meta name="theme-color" content="value" /&gt;</code> support with the new <code>theme_colour</code> setting. More information: <a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta/name/theme-color" rel="nofollow">MDN</a>, <a href="https://caniuse.com/#feat=meta-theme-color" rel="nofollow">caniuse</a>. Also used by some platforms to customise embed accents when generating a rich snippet (e.g. Discord).</li> <li>Added reading time estimate to the top of wiki pages - control it with the new <code>readingtime_enabled</code> setting (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="485405147" data-permission-text="Title is private" data-url="https://github.com/sbrl/Pepperminty-Wiki/issues/172" data-hovercard-type="issue" data-hovercard-url="/sbrl/Pepperminty-Wiki/issues/172/hovercard" href="https://github.com/sbrl/Pepperminty-Wiki/issues/172">#172</a>) <ul> <li>The algorithm used to estimate reading times is the as the one used in Firefox's reader mode</li> </ul> </li> <li>Added similar page suggestions between the bottom of the page content and the comments - control it with the new <code>similarpages_enabled</code> and <code>similarpages_count</code> settings.</li> <li>Added absolute redirect support - use it like this: <code># REDIRECT [display text](INSERT_REDIRECT_URL_HERE)</code> <ul> <li>It's disabled by default due to potential security issues with untrusted editors - enable it with the new <code>redirect_absolute_enable</code> setting (default: <code>false</code>)</li> </ul> </li> <li>Added new settings to control various features more precisely <ul> <li><code>comment_enabled</code> controls whether <em>anyone</em> is allowed to comment at all or not</li> <li><code>comment_hide_all</code> determines whether the commenting system displays anything at all (if disabled, it's (almost) like the <code>feature-comments</code> doesn't exist - consider using the downloader to exclude the commenting system instead of enabling this setting)</li> <li><code>avatars_gravatar_enabled</code> determines whether redirects to <a href="https://gravatar.com/" rel="nofollow">gravatar.com</a> should be performed if a user hasn't yet uploaded an avatar (if disabled then a blank image is returned instead of a redirect).</li> </ul> </li> <li>PDF previews now show the browser's UI when embedded in pages with the <code>![alt text](File/somefile.png)</code> syntax</li> <li>[Rest API] Add new <code>typeheader</code> GET parameter to <code>raw</code> action (ref <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1319262" rel="nofollow">Firefox bug 1319262</a>)</li> </ul> <h3>Changed</h3> <ul> <li><strong>New policy:</strong> Only <a href="https://www.php.net/supported-versions.php" rel="nofollow">officially supported</a> versions of PHP are officially supported by Pepperminty Wiki.</li> <li>Fiddled with Parsedown &amp; ParsedownExtra versions</li> <li>Removed ParsedownExtreme, as it wasn't doing anything useful anyway <ul> <li>Don't worry, we've absorbed all the useful features (see above)</li> <li>NOTE TO SELF: Don't forget to update wikimatrix.org when we next make a stable release! (if you are reading this in the release notes for a stable release, please get in touch)</li> </ul> </li> <li>Enabled horizontal resize handle on sidebar (but it doesn't persist yet)</li> <li>[security] <code>SameSite=Strict</code> is now set on all cookies in PHP 7.3+ <ul> <li>This prevents session-stealing attacks from third-party origins</li> <li>This complies with the <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite#SameSiteNone_requires_Secure" rel="nofollow">new samesite cookies rules</a>.</li> <li>A warning is generated in PHP 7.2 and below = <a href="https://www.php.net/supported-versions.php" rel="nofollow">please upgrade</a> to PHP 7.3+! (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="666680160" data-permission-text="Title is private" data-url="https://github.com/sbrl/Pepperminty-Wiki/issues/200" data-hovercard-type="issue" data-hovercard-url="/sbrl/Pepperminty-Wiki/issues/200/hovercard" href="https://github.com/sbrl/Pepperminty-Wiki/issues/200">#200</a>)</li> </ul> </li> <li>[security] The <code>Secure</code> cookie flag is now automatically added when clients use HTTPS to prevent downgrade-based session stealing attacks (control this with the new <code>cookie_secure</code> setting)</li> <li>Standardised prefixes to (most) <code>error_log()</code> calls to aid clarity in multi-wiki environments</li> <li>Improved pageindex rebuilder algorithm to search for and import history revisions - this helps when converting data from another wiki format</li> <li>Improved spam protection when hiding email addresses. Javascript is now required to decode email addresses - please <a href="https://github.com/sbrl/Pepperminty-Wiki/issues/new">get in touch</a> if this is a problem for whatever reason. I take accessibility <em>very</em> seriously.</li> <li>Bump weighting of title and tag matches in search results (delete the <code>search_title_matches_weighting</code> and <code>search_tags_matches_weighting</code> settings to get the new weightings)</li> </ul> <h3>Fixed</h3> <ul> <li>Squashed a warning when using the fenced code block syntax</li> <li>If a redirect page sends you to create a page that doesn't exist, a link back to the redirect page itself is now displayed</li> <li>Really fix bots getting into infinite loops on the login page this time by marking all login pages as <code>noindex, nofollow</code> with a robots <code>&lt;meta /&gt;</code> tag</li> <li>Navigating to a redirect page from a page list or the recent changes list will no longer cause you to automatically follow the redirect</li> <li>Limited sidebar size to 20% of the screen width at most</li> <li>Fix the <a href="https://github.com/sbrl/Pepperminty-Wiki/blob/master/Changelog.md#fixed-3">large blank space problem</a> in all themes</li> <li>Squashed the text <code>\A</code> appearing before tags at the bottom of pages for some users (<a href="https://gitter.im/Pepperminty-Wiki/Lobby?at=5f0632068342f4627401f145" rel="nofollow">ref</a>)</li> <li>Fixed an issue causing uploaded avatars not to render</li> <li>Fixed an obscure bug in the search engine when excluding terms that appear both in a page's title and body</li> <li>Squashed a warning at the top of search results (more insight is needed though to squash the inconsistencies in the search index that creep in though)</li> <li>Removed annoying scrollbars when editing long pages</li> <li>Fixed an obscure warning when previewing PDFs (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="674259388" data-permission-text="Title is private" data-url="https://github.com/sbrl/Pepperminty-Wiki/issues/202" data-hovercard-type="issue" data-hovercard-url="/sbrl/Pepperminty-Wiki/issues/202/hovercard" href="https://github.com/sbrl/Pepperminty-Wiki/issues/202">#202</a>)</li> <li>Ensure that the parent page exists when moving a page to be a child of a non-existent parent (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="674233376" data-permission-text="Title is private" data-url="https://github.com/sbrl/Pepperminty-Wiki/issues/201" data-hovercard-type="issue" data-hovercard-url="/sbrl/Pepperminty-Wiki/issues/201/hovercard" href="https://github.com/sbrl/Pepperminty-Wiki/issues/201">#201</a>)</li> <li>Fixed templating (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="675352646" data-permission-text="Title is private" data-url="https://github.com/sbrl/Pepperminty-Wiki/issues/203" data-hovercard-type="issue" data-hovercard-url="/sbrl/Pepperminty-Wiki/issues/203/hovercard" href="https://github.com/sbrl/Pepperminty-Wiki/issues/203">#203</a>)</li> <li>Fixed warning from statistics engine during firstrun wizard</li> </ul> sbrl tag:github.com,2008:Repository/27140639/v0.22-beta1 2020-09-11T20:51:55Z v0.22-beta1 <p>Hello and welcome to another beta release of Pepperminty Wiki! Check out the major new features:</p> <ul> <li>📖 Reading time estimations (on by default, toggle with the <code>readingtime_enabled</code> setting)</li> <li>⛅ Similar page suggestions at the bottom of the page, powered by the search index (on by default, toggle with the <code>similarpages_enabled</code> / <code>similarpages_count</code> settings)</li> <li>📝 New syntax features: checkboxes, highlighted text, spoiler text, super/subscript, automatic table of contents - check the inbuilt help page for details</li> <li>📑 Uploaded PDFs can now be embedded into pages (older wikis make sure that <code>application/pdf</code> is present in the <code>upload_allowed_file_types</code> setting)</li> <li>🍪 Improved cookie security: PHP 7.3+ recommended</li> </ul> <p>.....and lots of other bugfixes and new features! Check the full changelog at the bottom of these release notes for the full details.</p> <p>Regarding the reading time and similar page suggestions, I'm still a little unsure about it. What to you think? Please <strong><a href="https://www.strawpoll.me/20753773" rel="nofollow">fill out this strawpoll</a></strong> by <strong>Tuesday 11th August 2020 12pm GMT</strong> (after which I'll be looking to make final adjustments before making another beta release / the stable release) - it would be really helpful!</p> <h2>Notes for admins</h2> <p>Like the last stable release, there are a few things that admins should be aware of:</p> <ul> <li>If you're updating from before v0.21.1-hotfix1, please change your wiki secret. This is really important, as v0.21.1-hotfix1 fixes a <strong>critical security issue</strong>.</li> <li>I have a new policy: Only <a href="https://www.php.net/supported-versions.php" rel="nofollow">officially supported</a> versions of PHP will be supported by Pepperminty Wiki. This just ensures that I have a clear line that I can draw on the subject.</li> <li>Speaking of PHP versions, PHP 7.3+ is highly recommended going forwards. <code>SameSite=Strict</code> is now set on all cookies to comply with the <a href="https://hacks.mozilla.org/2020/08/changes-to-samesite-cookie-behavior/" rel="nofollow">new cookie handling being introduced into browsers</a>, but <strong>only in PHP 7.3+</strong>.</li> <li>Some users have reported issues with the search engine after updating to this release. Rebuilding the search index may be required (use the CLI with <code>php index.php exec search rebuild</code>, or navigate to the master settings and hit the rebuild button)</li> <li>Set the new <code>theme_colour</code> setting to enable extra coolness in some browsers and when generating embeds in places like Discord 🙂</li> </ul> <p>Have you updated to this release? <a href="https://starbeamrainbowlabs.com/blog/viewtracker.php?action=record&amp;format=text&amp;post-id=pepperminty-wiki/v0.22-beta1" rel="nofollow">Click this link to say hi</a>!</p> <p>This release also has an experimental GPG and SHA256 hashes file attached. My GPG key is <code>C2F7843F9ADF9FEE264ACB9CC1C6C0BB001E1725</code> - please <a href="https://github.com/sbrl/Pepperminty-Wiki/issues/">open an issue</a> if you encounter any issues 🙂</p> <h2>Updating</h2> <p>You can update to this release simply by grabbing an updated copy of <code>index.php</code> and replacing the version in your current wiki (don't forget to take backups! I make every effort to squash as many bugs as possible, but you can never be too certain). You can get an updated copy of <code>index.php</code> in a number of ways:</p> <ul> <li>By downloading the <code>index.php</code> file attached to this release</li> <li>Using the online downloader offline</li> <li>Building your own from source</li> </ul> <p>For more information on the last 2 methods, please see <a href="https://starbeamrainbowlabs.com/labs/peppermint/__nightdocs/05-Getting-A-Copy.html" rel="nofollow">the documentation</a> for more information.</p> <h2>Since v0.21.1-hotfix1</h2> <p>Make sure you have PHP 7.3+ when you update past this point! It isn't the end of the world if you don't, but it will make you more secure if you do.</p> <h3>Added</h3> <ul> <li>[Module Api] Add new <code>search::invindex_term_getpageids</code>, and <code>search::invindex_term_getoffsets</code>, and <code>search::index_sort_freq</code> methods</li> <li>[Module Api] Add new <code>ends_with</code> and <code>filepath_to_pagename</code> core functions</li> <li>Added new syntax features to PeppermintParsedown, inspired by ParsedownExtreme (which we couldn't get to work, and it wasn't working before as far as I can tell) <ul> <li>Checkboxes: <code>[ ]</code> and <code>[x]</code> after a bullet point or at the start of a line</li> <li>Marked / highlighted text: <code>Some text ==marked text== more text</code></li> <li>Spoiler text: <code>Some text &gt;!spoiler!&lt; more text</code> or <code>Some text ||spoiler|| more text</code></li> <li>Superscript: <code>Some text^superscript^ more text</code></li> <li>Subscript: <code>Some text~subscript~ more text</code></li> </ul> </li> <li>Added automatic table of contents! (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="320541867" data-permission-text="Title is private" data-url="https://github.com/sbrl/Pepperminty-Wiki/issues/155" data-hovercard-type="issue" data-hovercard-url="/sbrl/Pepperminty-Wiki/issues/155/hovercard" href="https://github.com/sbrl/Pepperminty-Wiki/issues/155">#155</a>) <ul> <li>Put <code>[__TOC__]</code> on a line by itself to insert an automatic table of contents</li> <li>Note that the level of heading generated can be controlled (or even removed) by the new <code>parser_toc_heading_level</code> setting</li> </ul> </li> <li>Add <code>&lt;meta name="theme-color" content="value" /&gt;</code> support with the new <code>theme_colour</code> setting. More information: <a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta/name/theme-color" rel="nofollow">MDN</a>, <a href="https://caniuse.com/#feat=meta-theme-color" rel="nofollow">caniuse</a>. Also used by some platforms to customise embed accents when generating a rich snippet (e.g. Discord).</li> <li>Added reading time estimate to the top of wiki pages - control it with the new <code>readingtime_enabled</code> setting (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="485405147" data-permission-text="Title is private" data-url="https://github.com/sbrl/Pepperminty-Wiki/issues/172" data-hovercard-type="issue" data-hovercard-url="/sbrl/Pepperminty-Wiki/issues/172/hovercard" href="https://github.com/sbrl/Pepperminty-Wiki/issues/172">#172</a>) <ul> <li>The algorithm used to estimate reading times is the as the one used in Firefox's reader mode</li> </ul> </li> <li>Added similar page suggestions between the bottom of the page content and the comments - control it with the new <code>similarpages_enabled</code> and <code>similarpages_count</code> settings.</li> <li>Added absolute redirect support - use it like this: <code># REDIRECT [display text](INSERT_REDIRECT_URL_HERE)</code> <ul> <li>It's disabled by default due to potential security issues with untrusted editors - enable it with the new <code>redirect_absolute_enable</code> setting (default: <code>false</code>)</li> </ul> </li> <li>Added new settings to control various features more precisely <ul> <li><code>comment_enabled</code> controls whether <em>anyone</em> is allowed to comment at all or not</li> <li><code>comment_hide_all</code> determines whether the commenting system displays anything at all (if disabled, it's (almost) like the <code>feature-comments</code> doesn't exist - consider using the downloader to exclude the commenting system instead of enabling this setting)</li> <li><code>avatars_gravatar_enabled</code> determines whether redirects to <a href="https://gravatar.com/" rel="nofollow">gravatar.com</a> should be performed if a user hasn't yet uploaded an avatar (if disabled then a blank image is returned instead of a redirect).</li> </ul> </li> <li>PDF previews now show the browser's UI when embedded in pages with the <code>![alt text](File/somefile.png)</code> syntax</li> <li>[Rest API] Add new <code>typeheader</code> GET parameter to <code>raw</code> action (ref <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1319262" rel="nofollow">Firefox bug 1319262</a>)</li> </ul> <h3>Changed</h3> <ul> <li><strong>New policy:</strong> Only <a href="https://www.php.net/supported-versions.php" rel="nofollow">officially supported</a> versions of PHP are officially supported by Pepperminty Wiki.</li> <li>Fiddled with Parsedown &amp; ParsedownExtra versions</li> <li>Removed ParsedownExtreme, as it wasn't doing anything useful anyway <ul> <li>Don't worry, we've absorbed all the useful features (see above)</li> <li>NOTE TO SELF: Don't forget to update wikimatrix.org when we next make a stable release! (if you are reading this in the release notes for a stable release, please get in touch)</li> </ul> </li> <li>Enabled horizontal resize handle on sidebar (but it doesn't persist yet)</li> <li>[security] <code>SameSite=Strict</code> is now set on all cookies in PHP 7.3+ <ul> <li>This prevents session-stealing attacks from third-party origins</li> <li>This complies with the <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite#SameSiteNone_requires_Secure" rel="nofollow">new samesite cookies rules</a>.</li> <li>A warning is generated in PHP 7.2 and below = <a href="https://www.php.net/supported-versions.php" rel="nofollow">please upgrade</a> to PHP 7.3+! (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="666680160" data-permission-text="Title is private" data-url="https://github.com/sbrl/Pepperminty-Wiki/issues/200" data-hovercard-type="issue" data-hovercard-url="/sbrl/Pepperminty-Wiki/issues/200/hovercard" href="https://github.com/sbrl/Pepperminty-Wiki/issues/200">#200</a>)</li> </ul> </li> <li>[security] The <code>Secure</code> cookie flag is now automatically added when clients use HTTPS to prevent downgrade-based session stealing attacks (control this with the new <code>cookie_secure</code> setting)</li> <li>Standardised prefixes to (most) <code>error_log()</code> calls to aid clarity in multi-wiki environments</li> <li>Improved pageindex rebuilder algorithm to search for and import history revisions - this helps when converting data from another wiki format</li> <li>Improved spam protection when hiding email addresses. Javascript is now required to decode email addresses - please <a href="https://github.com/sbrl/Pepperminty-Wiki/issues/new">get in touch</a> if this is a problem for whatever reason. I take accessibility <em>very</em> seriously.</li> <li>Bump weighting of title and tag matches in search results (delete the <code>search_title_matches_weighting</code> and <code>search_tags_matches_weighting</code> settings to get the new weightings)</li> </ul> <h3>Fixed</h3> <ul> <li>Squashed a warning when using the fenced code block syntax</li> <li>If a redirect page sends you to create a page that doesn't exist, a link back to the redirect page itself is now displayed</li> <li>Really fix bots getting into infinite loops on the login page this time by marking all login pages as <code>noindex, nofollow</code> with a robots <code>&lt;meta /&gt;</code> tag</li> <li>Navigating to a redirect page from a page list or the recent changes list will no longer cause you to automatically follow the redirect</li> <li>Limited sidebar size to 20% of the screen width at most</li> <li>Fix the <a href="https://github.com/sbrl/Pepperminty-Wiki/blob/master/Changelog.md#fixed-3">large blank space problem</a> in all themes</li> <li>Squashed the text <code>\A</code> appearing before tags at the bottom of pages for some users (<a href="https://gitter.im/Pepperminty-Wiki/Lobby?at=5f0632068342f4627401f145" rel="nofollow">ref</a>)</li> <li>Fixed an issue causing uploaded avatars not to render</li> <li>Fixed an obscure bug in the search engine when excluding terms that appear both in a page's title and body</li> <li>Squashed a warning at the top of search results (more insight is needed though to squash the inconsistencies in the search index that creep in though)</li> <li>Removed annoying scrollbars when editing long pages</li> <li>Fixed an obscure warning when previewing PDFs (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="674259388" data-permission-text="Title is private" data-url="https://github.com/sbrl/Pepperminty-Wiki/issues/202" data-hovercard-type="issue" data-hovercard-url="/sbrl/Pepperminty-Wiki/issues/202/hovercard" href="https://github.com/sbrl/Pepperminty-Wiki/issues/202">#202</a>)</li> <li>Ensure that the parent page exists when moving a page to be a child of a non-existent parent (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="674233376" data-permission-text="Title is private" data-url="https://github.com/sbrl/Pepperminty-Wiki/issues/201" data-hovercard-type="issue" data-hovercard-url="/sbrl/Pepperminty-Wiki/issues/201/hovercard" href="https://github.com/sbrl/Pepperminty-Wiki/issues/201">#201</a>)</li> <li>Fixed templating (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="675352646" data-permission-text="Title is private" data-url="https://github.com/sbrl/Pepperminty-Wiki/issues/203" data-hovercard-type="issue" data-hovercard-url="/sbrl/Pepperminty-Wiki/issues/203/hovercard" href="https://github.com/sbrl/Pepperminty-Wiki/issues/203">#203</a>)</li> <li>Fixed warning from statistics engine during firstrun wizard</li> </ul> sbrl tag:github.com,2008:Repository/27140639/v0.21.1-hotfix1 2020-07-10T19:29:46Z v0.21.1-hotfix1 <p>Oh, my! I think this is the fastest I've ever gotten a hotfix out. I've found a <strong>serious security issue</strong> in Pepperminty Wiki which must be fixed <strong>right away</strong>! Please update to this release <strong>as soon as possible</strong>.</p> <p><strong>Please also edit the value of the <code>secret</code> property in <code>peppermint.json</code>, as it may have been compromised.</strong></p> <p><strong>Edit:</strong> On the subject of security, this is now the first release that has experimental SHA256 hashes that are signed with GPG. Future releases will always be signed in the same way. My GPG key id is <code>C2F7843F9ADF9FEE264ACB9CC1C6C0BB001E1725</code> (let me know if you encounter any issues.</p> <p>Note that this is a maintenance release that backports some urgent bugfixes to v0.21. Current development efforts are focused on v0.22. The work-in-progress changelog for v0.22 can be found <a href="https://github.com/sbrl/Pepperminty-Wiki/blob/master/Changelog.md">here</a>.</p> <p>Have you updated to this release? <a href="https://starbeamrainbowlabs.com/blog/viewtracker.php?action=record&amp;format=text&amp;post-id=pepperminty-wiki/v0.21.1-hotfix1" rel="nofollow">Click this link to say hi</a>!</p> <h2>Updating</h2> <p>You can update to this release simply by grabbing an updated copy of <code>index.php</code> and replacing the version in your current wiki (don't forget to take backups! I make every effort to squash as many bugs as possible, but you can never be too certain). You can get an updated copy of <code>index.php</code> in a number of ways:</p> <ul> <li>By downloading the <code>index.php</code> file attached to this release</li> <li>Using the <a href="https://starbeamrainbowlabs.com/labs/peppermint/download.php" rel="nofollow">online downloader</a> (always has the latest stable version)</li> <li>Using the online downloader offline</li> <li>Building your own from source</li> </ul> <p>For more information on the last 2 methods, please see <a href="https://starbeamrainbowlabs.com/labs/peppermint/__nightdocs/05-Getting-A-Copy.html" rel="nofollow">the documentation</a> for more information.</p> <h2>Since v0.21</h2> <ul> <li>[security] Fix security issue in the debug action</li> </ul> sbrl tag:github.com,2008:Repository/27140639/v0.21 2020-05-17T12:47:51Z v0.21 <p>Welcome, one and all! It's time for Pepperminty Wiki v0.21! 🎉🎉🎉 In ~5 months and 24 days, 138 commits and 3 hotfixes(!) have been made to bring you v0.21 - with lots of new features to check out. This is another huge release. Check out the feature summary:</p> <ul> <li>🔭 Watchlists: Get an email when a page is updated (assuming you have email setup in your PHP installation)</li> <li>📱 Improved mobile support: There's still a ways to go, but it's <em>much</em> better than it was. <a href="https://github.com/sbrl/Pepperminty-Wiki/issues/new">Open an issue</a> if you've got any suggestions for improvement, no matter how small</li> <li>🎷 Autocomplete tags: Tags now autocomplete when editing pages</li> <li>🐚 A command-line interface: Pepperminty Wiki now has a command-line interface, where you can do things like update the search index. Check out the <a href="https://github.com/sbrl/Pepperminty-Wiki/blob/master/docs/20-Command-Line-Interface.md">docs</a> for more info</li> <li>🎥 Added markdown support to media captions: Fancy media captions are now at your fingertips! Just add markdown to the alt portion of the image tag (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="602611138" data-permission-text="Title is private" data-url="https://github.com/sbrl/Pepperminty-Wiki/issues/184" data-hovercard-type="issue" data-hovercard-url="/sbrl/Pepperminty-Wiki/issues/184/hovercard" href="https://github.com/sbrl/Pepperminty-Wiki/issues/184">#184</a>)</li> </ul> <p>Lots of other gems can be found in the full changelog below, so take a look :D</p> <p>Also, Pepperminty Wiki <a href="https://peppermint.mooncarrot.space/" rel="nofollow">now has a website</a>! I built it with <a href="https://www.npmjs.com/package/@11ty/eleventy" rel="nofollow">Eleventy</a>.</p> <p>A few things to note for admins:</p> <ul> <li>The CLI will never be <em>required</em> to do things. Its goal is to provide an alternative interface (particularly for larger wikis and those who want to automate stuff via shell scripting).</li> <li>A working PHP email setup is required for the watchlist to work</li> <li>A new button has been added to the <code>nav_links_extra</code> mega menu. You'll need to delete the <code>nav_links_extra</code> entry from your <code>peppermint.json</code> in order for this to show up.</li> <li>Search index performance has been improved. Again :D This requires regenerating the search index after updating.</li> <li>Email address verification: Enabled by default. Users will now need to verify their email addresses. An easy fix is to edit your profile re-enter your email address to receive the verification email</li> </ul> <p>Wow, that's a lot! The full changelog can be found below as usual. Before I end this message though, I just want to ask:</p> <p><strong>Please help test this release.</strong></p> <p>I mean it. This release comes with a number of huge fundamental changes (large and small), some of which are incremental in a series across the last few releases. Particularly of note is the command-line interface - that required massive backend changes.</p> <p>Help would be really appreciated to find issues before the big main stable release in about a week's time (unless issues are found). While hotfixes are fun, I'd prefer to keep them to a minimum :P</p> <p>Even if you just want to share an "implementation report" (a short summary of your experience upgrading), I'd really appreciate the feedback :-)</p> <p>--Starbeamrainbowlabs</p> <hr> <p>Have you updated to this release? <a href="https://starbeamrainbowlabs.com/blog/viewtracker.php?action=record&amp;format=text&amp;post-id=pepperminty-wiki/v0.21" rel="nofollow">Click this link to say hi</a>!</p> <h2>Updating</h2> <p>You can update to this release simply by grabbing an updated copy of <code>index.php</code> and replacing the version in your current wiki (don't forget to take backups! I make every effort to squash as many bugs as possible, but you can never be too certain). You can get an updated copy of <code>index.php</code> in a number of ways:</p> <ul> <li>By downloading the <code>index.php</code> file attached to this release</li> <li>Using the <a href="https://starbeamrainbowlabs.com/labs/peppermint/download.php" rel="nofollow">online downloader</a> (always has the latest stable version)</li> <li>Using the online downloader offline</li> <li>Building your own from source</li> </ul> <p>For more information on the last 2 methods, please see <a href="https://starbeamrainbowlabs.com/labs/peppermint/__nightdocs/05-Getting-A-Copy.html" rel="nofollow">the documentation</a> for more information.</p> <h2>Since v0.21-beta1</h2> <h3>Fixed</h3> <ul> <li>Make <code>PEPPERMINT_THEME</code> environment variable work again when compiling on the command line</li> <li>Fixed invalid HTML that was causing layout issues on the master settings page</li> </ul> <h2>Since v0.20.4-hotfix4</h2> <h3>Added</h3> <ul> <li>Watchlists! A new addition has been added to the more menu to add the current page to your personal watchlist <ul> <li>An email will be sent to all users watching a page when an edit is saved to it (uses the PHP <code>mail()</code> function internally, via the <a href="https://starbeamrainbowlabs.com/labs/peppermint/docs/ModuleApi/#method_email_user" rel="nofollow"><code>email_user()</code></a> internal Pepperminty Wiki utility function)</li> </ul> </li> <li>Email address verification <ul> <li>Enabled by default. In order to receive emails users now need to verify their email address</li> <li>This is done via a verification email that's sent when you change your email address (even if your email address is the same when you change your preferences and you haven't yet verified it)</li> <li>A new <code>email_verify_addresses</code> setting has been added to control the functionality</li> </ul> </li> <li>Added dark theme to the <a href="https://starbeamrainbowlabs.com/labs/peppermint/download.php" rel="nofollow">downloader</a> (will be updated at the next stable release)</li> <li>Added initial mobile theme support to the default theme <ul> <li>There's still a bunch of work to do in this department, but it's a bit of a challenge to do so without breaking desktop support</li> </ul> </li> <li>Added autocomplete for tags when editing pages, powered by <a href="https://leaverou.github.io/awesomplete/" rel="nofollow">Awesomplete</a> <ul> <li>The new <code>editing_tags_autocomplete</code> setting - enabled by default - toggles it, but why would you want to turn it off? :P</li> <li>It should be reasonably accessible, judging from all the aria tags I'm seeing</li> <li>Get in touch if you experience performance issues with fetching tag lists from your wiki</li> </ul> </li> <li>A command-line interface! <ul> <li>Wiki administrators with terminal/console access can now make use of a brand-new CLI by executing <code>php ./index.php</code> (warning: strange things will happen if the current working directory is not the directory that contains index.php and peppermint.json)</li> </ul> </li> <li>Added new <code>anoncomments</code> setting to control whether anonymous users are allowed to make comments (disabled by default) - thanks to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SeanFromIT/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SeanFromIT">@SeanFromIT</a> for suggesting it in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="601300334" data-permission-text="Title is private" data-url="https://github.com/sbrl/Pepperminty-Wiki/issues/181" data-hovercard-type="issue" data-hovercard-url="/sbrl/Pepperminty-Wiki/issues/181/hovercard" href="https://github.com/sbrl/Pepperminty-Wiki/issues/181">#181</a></li> <li>Added markdown support for media captions (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="602611138" data-permission-text="Title is private" data-url="https://github.com/sbrl/Pepperminty-Wiki/issues/184" data-hovercard-type="issue" data-hovercard-url="/sbrl/Pepperminty-Wiki/issues/184/hovercard" href="https://github.com/sbrl/Pepperminty-Wiki/issues/184">#184</a>)</li> <li>Finally: <em>Experimental</em> didyoumean support. Ever made a typo in a search query? The new didyoumean engine can correct query terms that are up to 2 characters out! <ul> <li>It's disabled by default (check out the new <code>search_didyoumean_enabled</code> setting), as it enabling it comes with a significant performance impact when typos are corrected (~0.8s-ish / typo is currently observed)</li> <li>Uses the words in the search index as a base for corrections (so if you have a typo on a page, then it will correct it to the typo)</li> <li>The index does <em>not</em> currently update when you edit a page - this feature is still <em>very</em> experimental (please report any issues)</li> <li>A typo is a search query term that is both not a stop word and not found in the search index</li> </ul> </li> </ul> <h3>Fixed</h3> <ul> <li> <p>Fixed weighted word support on search query analysis debug page</p> </li> <li> <p>Added missing apostrophes to stop words in search system. Regenerating your search index will now yield a slightly smaller index</p> </li> <li> <p>Fixed link loop when logging in for crawlers</p> </li> <li> <p>[security] Bugfix: Don't leak the PHP version in emails when expose_php is turned off</p> </li> <li> <p>Fixed handling of Unicode characters when emailing users - added new <code>email_subject_utf8</code> and <code>email_body_utf8</code> settings to control the new behaviour</p> </li> <li> <p>Add new <code>email_debug_dontsend</code> setting for debugging emails sent by Pepperminty Wiki</p> </li> <li> <p>Fixed pressing alt + enter to open a search in a new tab - it should no longer fail and briefly prompt to allow pop-ups</p> </li> <li> <p>Squashed a bug in the new upgraded get/set_array_simple search optimisation</p> </li> <li> <p>Updated Parsedown to squash warning in PHP 7.4+</p> </li> <li> <p>Trailing commas in the tags box will no longer result in empty tags being added to pages.</p> </li> <li> <p>Minor UI fixes</p> <ul> <li>Multiple tags in search results and on page lists now have a margin between them</li> </ul> </li> <li> <p>Newline characters (<code>\r</code> and <code>\n</code>) are now replaced with spaces in internal links (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="602863457" data-permission-text="Title is private" data-url="https://github.com/sbrl/Pepperminty-Wiki/issues/186" data-hovercard-type="issue" data-hovercard-url="/sbrl/Pepperminty-Wiki/issues/186/hovercard" href="https://github.com/sbrl/Pepperminty-Wiki/issues/186">#186</a>, thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SeanFromIT/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SeanFromIT">@SeanFromIT</a>!)</p> </li> <li> <p>Inbuilt help documentation corrections (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="602859938" data-permission-text="Title is private" data-url="https://github.com/sbrl/Pepperminty-Wiki/issues/185" data-hovercard-type="pull_request" data-hovercard-url="/sbrl/Pepperminty-Wiki/pull/185/hovercard" href="https://github.com/sbrl/Pepperminty-Wiki/pull/185">#185</a>, thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SeanFromIT/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SeanFromIT">@SeanFromIT</a>!)</p> </li> <li> <p>Fixed a warning message when a file fails to upload (thanks for the test file, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SeanFromIT/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SeanFromIT">@SeanFromIT</a>)</p> </li> <li> <p>Really fix the dot problem from v0.20.3-hotfix3 that <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SeanFromIT/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SeanFromIT">@SeanFromIT</a> reported</p> </li> <li> <p>Make <code>PEPPERMINT_THEME</code> environment variable work again when compiling on the command line</p> </li> <li> <p>Fixed invalid HTML that was causing layout issues on the master settings page</p> </li> </ul> <h3>Changed</h3> <ul> <li>Improved the search indexing system performance - again <ul> <li>Another search index rebuild is required</li> </ul> </li> <li>Optimisation: Don't generate the list of pages for the datalist if it isn't going to be displayed (especially noticeable on wikis with lots of pages)</li> <li>Optimisation: Don't load the statistics index if it's not needed (also esp. noticeable on wikis with lots of pages)</li> <li>Optimisation: Refactor <code>stas_split()</code> to be faster (informal testing shows ~18% faster → 4% total time)</li> <li>[Module Api] Optimisation: Remove <code>search::transliterate</code> because it has a huge overhead. Use <code>search::$literator-&gt;transliterate()</code> instead.</li> <li>[Module Api] Add new <code>absolute</code> and <code>html</code> optional boolean arguments to <code>render_timestamp()</code></li> <li>[Module Api] <code>search::extract_context()</code> and <code>search::highlight_context()</code> now take in a <em>parsed</em> query (with <code>search::stas_parse()</code>), not a raw string</li> </ul> <h3>Known bugs</h3> <ul> <li>Wow, a new section! Haven't seen one of these before. Hopefully we don't see it too often.....</li> <li>The didyoumean search query typo correction engine does not currently update it's index when you save an edit to a page (the typo correction engine is still under development).</li> </ul> sbrl tag:github.com,2008:Repository/27140639/v0.21-beta1 2020-05-07T23:49:00Z v0.21-beta1 <p>Welcome, one and all! It's time for the very first beta release of Pepperminty Wiki v0.21! 🎉🎉🎉 In ~5 months and 14 days, 132 commits and 3 hotfixes(!) have been made to bring you v0.21 - with lots of new features to check out. This is another huge release. Check out the feature summary:</p> <ul> <li>🔭 Watchlists: Get an email when a page is updated (assuming you have email setup in your PHP installation)</li> <li>📱 Improved mobile support: There's still a ways to go, but it's <em>much</em> better than it was. <a href="https://github.com/sbrl/Pepperminty-Wiki/issues/new">Open an issue</a> if you've got any suggestions for improvement, no matter how small</li> <li>🎷 Autocomplete tags: Tags now autocomplete when editing pages</li> <li>🐚 A command-line interface: Pepperminty Wiki now has a command-line interface, where you can do things like update the search index. Check out the <a href="https://github.com/sbrl/Pepperminty-Wiki/blob/master/docs/20-Command-Line-Interface.md">docs</a> for more info</li> <li>🎥 Added markdown support to media captions: Fancy media captions are now at your fingertips! Just add markdown to the alt portion of the image tag (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="602611138" data-permission-text="Title is private" data-url="https://github.com/sbrl/Pepperminty-Wiki/issues/184" data-hovercard-type="issue" data-hovercard-url="/sbrl/Pepperminty-Wiki/issues/184/hovercard" href="https://github.com/sbrl/Pepperminty-Wiki/issues/184">#184</a>)</li> </ul> <p>Lots of other gems can be found in the full changelog below, so take a look :D</p> <p>A few things to note for admins:</p> <ul> <li>The CLI will never be <em>required</em> to do things. Its goal is to provide an alternative interface (particularly for larger wikis and those who want to automate stuff via shell scripting).</li> <li>A working PHP email setup is required for the watchlist to work</li> <li>A new button has been added to the <code>nav_links_extra</code> mega menu. You'll need to delete the <code>nav_links_extra</code> entry from your <code>peppermint.json</code> in order for this to show up.</li> <li>Search index performance has been improved. Again :D This requires regenerating the search index after updating.</li> <li>Email address verification: Enabled by default. Users will now need to verify their email addresses. An easy fix is to edit your profile re-enter your email address to receive the verification email</li> </ul> <p>Wow, that's a lot! The full changelog can be found below as usual. Before I end this message though, I just want to ask:</p> <p><strong>Please help test this release.</strong></p> <p>I mean it. This release comes with a number of huge fundamental changes (large and small), some of which are incremental in a series across the last few releases. Particularly of note is the command-line interface - that required massive backend changes.</p> <p>Help would be really appreciated to find issues before the big main stable release in about a week's time (unless issues are found). While hotfixes are fun, I'd prefer to keep them to a minimum :P</p> <p>Even if you just want to share an "implementation report" (a short summary of your experience upgrading), I'd really appreciate the feedback :-)</p> <p>--Starbeamrainbowlabs</p> <hr> <p>Have you updated to this release? <a href="https://starbeamrainbowlabs.com/blog/viewtracker.php?action=record&amp;format=text&amp;post-id=pepperminty-wiki/v0.21-beta1" rel="nofollow">Click this link to say hi</a>!</p> <h2>Updating</h2> <p>You can update to this release simply by grabbing an updated copy of <code>index.php</code> and replacing the version in your current wiki (don't forget to take backups! I make every effort to squash as many bugs as possible, but you can never be too certain). You can get an updated copy of <code>index.php</code> in a number of ways:</p> <ul> <li>By downloading the <code>index.php</code> file attached to this release</li> <li>Using the <a href="https://starbeamrainbowlabs.com/labs/peppermint/download.php" rel="nofollow">online downloader</a> (always has the latest stable version)</li> <li>Using the online downloader offline</li> <li>Building your own from source</li> </ul> <p>For more information on the last 2 methods, please see <a href="https://starbeamrainbowlabs.com/labs/peppermint/__nightdocs/05-Getting-A-Copy.html" rel="nofollow">the documentation</a> for more information.</p> <h2>Since v0.20.4-hotfix4</h2> <h3>Added</h3> <ul> <li>Watchlists! A new addition has been added to the more menu to add the current page to your personal watchlist <ul> <li>An email will be sent to all users watching a page when an edit is saved to it (uses the PHP <code>mail()</code> function internally, via the <a href="https://starbeamrainbowlabs.com/labs/peppermint/docs/ModuleApi/#method_email_user" rel="nofollow"><code>email_user()</code></a> internal Pepperminty Wiki utility function)</li> </ul> </li> <li>Email address verification <ul> <li>Enabled by default. In order to receive emails users now need to verify their email address</li> <li>This is done via a verification email that's sent when you change your email address (even if your email address is the same when you change your preferences and you haven't yet verified it)</li> <li>A new <code>email_verify_addresses</code> setting has been added to control the functionality</li> </ul> </li> <li>Added dark theme to the <a href="https://starbeamrainbowlabs.com/labs/peppermint/download.php" rel="nofollow">downloader</a> (will be updated at the next stable release)</li> <li>Added initial mobile theme support to the default theme <ul> <li>There's still a bunch of work to do in this department, but it's a bit of a challenge to do so without breaking desktop support</li> </ul> </li> <li>Added autocomplete for tags when editing pages, powered by <a href="https://leaverou.github.io/awesomplete/" rel="nofollow">Awesomplete</a> <ul> <li>The new <code>editing_tags_autocomplete</code> setting - enabled by default - toggles it, but why would you want to turn it off? :P</li> <li>It should be reasonably accessible, judging from all the aria tags I'm seeing</li> <li>Get in touch if you experience performance issues with fetching tag lists from your wiki</li> </ul> </li> <li>A command-line interface! <ul> <li>Wiki administrators with terminal/console access can now make use of a brand-new CLI by executing <code>php ./index.php</code> (warning: strange things will happen if the current working directory is not the directory that contains index.php and peppermint.json)</li> </ul> </li> <li>Added new <code>anoncomments</code> setting to control whether anonymous users are allowed to make comments (disabled by default) - thanks to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SeanFromIT/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SeanFromIT">@SeanFromIT</a> for suggesting it in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="601300334" data-permission-text="Title is private" data-url="https://github.com/sbrl/Pepperminty-Wiki/issues/181" data-hovercard-type="issue" data-hovercard-url="/sbrl/Pepperminty-Wiki/issues/181/hovercard" href="https://github.com/sbrl/Pepperminty-Wiki/issues/181">#181</a></li> <li>Added markdown support for media captions (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="602611138" data-permission-text="Title is private" data-url="https://github.com/sbrl/Pepperminty-Wiki/issues/184" data-hovercard-type="issue" data-hovercard-url="/sbrl/Pepperminty-Wiki/issues/184/hovercard" href="https://github.com/sbrl/Pepperminty-Wiki/issues/184">#184</a>)</li> <li>Finally: <em>Experimental</em> didyoumean support. Ever made a typo in a search query? The new didyoumean engine can correct query terms that are up to 2 characters out! <ul> <li>It's disabled by default (check out the new <code>search_didyoumean_enabled</code> setting), as it enabling it comes with a significant performance impact when typos are corrected (~0.8s-ish / typo is currently observed)</li> <li>Uses the words in the search index as a base for corrections (so if you have a typo on a page, then it will correct it to the typo)</li> <li>The index does <em>not</em> currently update when you edit a page - this feature is still <em>very</em> experimental (please report any issues)</li> <li>A typo is a search query term that is both not a stop word and not found in the search index</li> </ul> </li> </ul> <h3>Fixed</h3> <ul> <li>Fixed weighted word support on search query analysis debug page</li> <li>Added missing apostrophes to stop words in search system. Regenerating your search index will now yield a slightly smaller index</li> <li>Fixed link loop when logging in for crawlers</li> <li>[security] Bugfix: Don't leak the PHP version in emails when expose_php is turned off</li> <li>Fixed handling of Unicode characters when emailing users - added new <code>email_subject_utf8</code> and <code>email_body_utf8</code> settings to control the new behaviour</li> <li>Add new <code>email_debug_dontsend</code> setting for debugging emails sent by Pepperminty Wiki</li> <li>Fixed pressing alt + enter to open a search in a new tab - it should no longer fail and briefly prompt to allow pop-ups</li> <li>Squashed a bug in the new upgraded get/set_array_simple search optimisation</li> <li>Updated Parsedown to squash warning in PHP 7.4+</li> <li>Trailing commas in the tags box will no longer result in empty tags being added to pages.</li> <li>Minor UI fixes <ul> <li>Multiple tags in search results and on page lists now have a margin between them</li> </ul> </li> <li>Newline characters (<code>\r</code> and <code>\n</code>) are now replaced with spaces in internal links (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="602863457" data-permission-text="Title is private" data-url="https://github.com/sbrl/Pepperminty-Wiki/issues/186" data-hovercard-type="issue" data-hovercard-url="/sbrl/Pepperminty-Wiki/issues/186/hovercard" href="https://github.com/sbrl/Pepperminty-Wiki/issues/186">#186</a>, thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SeanFromIT/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SeanFromIT">@SeanFromIT</a>!)</li> <li>Inbuilt help documentation corrections (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="602859938" data-permission-text="Title is private" data-url="https://github.com/sbrl/Pepperminty-Wiki/issues/185" data-hovercard-type="pull_request" data-hovercard-url="/sbrl/Pepperminty-Wiki/pull/185/hovercard" href="https://github.com/sbrl/Pepperminty-Wiki/pull/185">#185</a>, thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SeanFromIT/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SeanFromIT">@SeanFromIT</a>!)</li> <li>Fixed a warning message when a file fails to upload (thanks for the test file, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SeanFromIT/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SeanFromIT">@SeanFromIT</a>)</li> <li>Really fix the dot problem from v0.20.3-hotfix3 that <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SeanFromIT/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SeanFromIT">@SeanFromIT</a> reported</li> </ul> <h3>Changed</h3> <ul> <li>Improved the search indexing system performance - again <ul> <li>Another search index rebuild is required</li> </ul> </li> <li>Optimisation: Don't generate the list of pages for the datalist if it isn't going to be displayed (especially noticeable on wikis with lots of pages)</li> <li>Optimisation: Don't load the statistics index if it's not needed (also esp. noticeable on wikis with lots of pages)</li> <li>Optimisation: Refactor <code>stas_split()</code> to be faster (informal testing shows ~18% faster → 4% total time)</li> <li>[Module Api] Optimisation: Remove <code>search::transliterate</code> because it has a huge overhead. Use <code>search::$literator-&gt;transliterate()</code> instead.</li> <li>[Module Api] Add new <code>absolute</code> and <code>html</code> optional boolean arguments to <code>render_timestamp()</code></li> <li>[Module Api] <code>search::extract_context()</code> and <code>search::highlight_context()</code> now take in a <em>parsed</em> query (with <code>search::stas_parse()</code>), not a raw string</li> </ul> <h3>Known bugs</h3> <ul> <li>Wow, a new section! Haven't seen one of these before. Hopefully we don't see it too often.....</li> <li>The didyoumean search query typo correction engine does not currently update it's index when you save an edit to a page (the typo correction engine is still under development).</li> </ul> sbrl