This is the 2nd beta release for v0.22! Thanks to @SeanFromIT and @viradpt for the bug reports (#205, #209, and more over Gitter)
Have you updated to this release? Click this link to say hi!
This release also has an experimental GPG and SHA256 hashes file attached. My GPG key is C2F7843F9ADF9FEE264ACB9CC1C6C0BB001E1725 - please open an issue if you encounter any issues 🙂
Updating
You can update to this release simply by grabbing an updated copy of index.php 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 index.php in a number of ways:
- By downloading the
index.phpfile attached to this release - Using the online downloader (always has the latest stable version)
- Using the online downloader offline
- Building your own from source
For more information on the last 2 methods, please see the documentation for more information.
For those who want to contribute financially as a thank you, I've recently setup a Liberapay 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 Gitter, see my website for more contact options)
Since v0.22-beta1
Added
- Added dark theme via
prefers-color-schemeto configuration guide (see the stable channel guide here - will only be updated when v0.22 is released) - Added link thingy you can click next to each setting to jump right to it
- [docs] Documented the structure of
pageindex.jsonandrecentchanges.json
Fixed
- 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) (#205)
- Bugfix: Don't use
->text()for recursion when parsing markdown - it resets->DefinitionData, which breaks footnotes (#209) - Fix name of did you mean index:
didyoumeaninddex.sqlite→didyoumeanindex.sqlite(feature is disabled by default; manual renaming required)
Changed
- 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)
Since v0.21.1-hotfix1
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.
Added
- [Module Api] Add new
search::invindex_term_getpageids, andsearch::invindex_term_getoffsets, andsearch::index_sort_freqmethods - [Module Api] Add new
ends_withandfilepath_to_pagenamecore functions - 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)
- Checkboxes:
[ ]and[x]after a bullet point or at the start of a line - Marked / highlighted text:
Some text ==marked text== more text - Spoiler text:
Some text >!spoiler!< more textorSome text ||spoiler|| more text - Superscript:
Some text^superscript^ more text - Subscript:
Some text~subscript~ more text
- Checkboxes:
- Added automatic table of contents! (#155)
- Put
[__TOC__]on a line by itself to insert an automatic table of contents - Note that the level of heading generated can be controlled (or even removed) by the new
parser_toc_heading_levelsetting
- Put
- Add
<meta name="theme-color" content="value" />support with the newtheme_coloursetting. More information: MDN, caniuse. Also used by some platforms to customise embed accents when generating a rich snippet (e.g. Discord). - Added reading time estimate to the top of wiki pages - control it with the new
readingtime_enabledsetting (#172)- The algorithm used to estimate reading times is the as the one used in Firefox's reader mode
- Added similar page suggestions between the bottom of the page content and the comments - control it with the new
similarpages_enabledandsimilarpages_countsettings. - Added absolute redirect support - use it like this:
# REDIRECT [display text](INSERT_REDIRECT_URL_HERE)- It's disabled by default due to potential security issues with untrusted editors - enable it with the new
redirect_absolute_enablesetting (default:false)
- It's disabled by default due to potential security issues with untrusted editors - enable it with the new
- Added new settings to control various features more precisely
comment_enabledcontrols whether anyone is allowed to comment at all or notcomment_hide_alldetermines whether the commenting system displays anything at all (if disabled, it's (almost) like thefeature-commentsdoesn't exist - consider using the downloader to exclude the commenting system instead of enabling this setting)avatars_gravatar_enableddetermines whether redirects to gravatar.com should be performed if a user hasn't yet uploaded an avatar (if disabled then a blank image is returned instead of a redirect).
- PDF previews now show the browser's UI when embedded in pages with the
syntax - [Rest API] Add new
typeheaderGET parameter torawaction (ref Firefox bug 1319262)
Changed
- New policy: Only officially supported versions of PHP are officially supported by Pepperminty Wiki.
- Fiddled with Parsedown & ParsedownExtra versions
- Removed ParsedownExtreme, as it wasn't doing anything useful anyway
- Don't worry, we've absorbed all the useful features (see above)
- 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)
- Enabled horizontal resize handle on sidebar (but it doesn't persist yet)
- [security]
SameSite=Strictis now set on all cookies in PHP 7.3+- This prevents session-stealing attacks from third-party origins
- This complies with the new samesite cookies rules.
- A warning is generated in PHP 7.2 and below = please upgrade to PHP 7.3+! (#200)
- [security] The
Securecookie flag is now automatically added when clients use HTTPS to prevent downgrade-based session stealing attacks (control this with the newcookie_securesetting) - Standardised prefixes to (most)
error_log()calls to aid clarity in multi-wiki environments - Improved pageindex rebuilder algorithm to search for and import history revisions - this helps when converting data from another wiki format
- Improved spam protection when hiding email addresses. Javascript is now required to decode email addresses - please get in touch if this is a problem for whatever reason. I take accessibility very seriously.
- Bump weighting of title and tag matches in search results (delete the
search_title_matches_weightingandsearch_tags_matches_weightingsettings to get the new weightings)
Fixed
- Squashed a warning when using the fenced code block syntax
- 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
- Really fix bots getting into infinite loops on the login page this time by marking all login pages as
noindex, nofollowwith a robots<meta />tag - Navigating to a redirect page from a page list or the recent changes list will no longer cause you to automatically follow the redirect
- Limited sidebar size to 20% of the screen width at most
- Fix the large blank space problem in all themes
- Squashed the text
\Aappearing before tags at the bottom of pages for some users (ref) - Fixed an issue causing uploaded avatars not to render
- Fixed an obscure bug in the search engine when excluding terms that appear both in a page's title and body
- 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)
- Removed annoying scrollbars when editing long pages
- Fixed an obscure warning when previewing PDFs (#202)
- Ensure that the parent page exists when moving a page to be a child of a non-existent parent (#201)
- Fixed templating (#203)
- Fixed warning from statistics engine during firstrun wizard