Pepperminty Wiki v0.22-beta2 Release Notes

Release Date: 2020-08-19 // over 3 years ago
  • ๐Ÿš€ 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.php file 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-scheme to 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.json and recentchanges.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, and search::invindex_term_getoffsets, and search::index_sort_freq methods
    • [Module Api] Add new ends_with and filepath_to_pagename core 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 text or Some text ||spoiler|| more text
      • Superscript: Some text^superscript^ more text
      • Subscript: Some text~subscript~ more text
    • โž• 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_level setting
    • โž• Add <meta name="theme-color" content="value" /> support with the new theme_colour setting. 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_enabled setting (#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_enabled and similarpages_count settings.
    • 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_enable setting (default: false)
    • โž• Added new settings to control various features more precisely
      • comment_enabled controls whether anyone is allowed to comment at all or not
      • comment_hide_all determines whether the commenting system displays anything at all (if disabled, it's (almost) like the feature-comments doesn't exist - consider using the downloader to exclude the commenting system instead of enabling this setting)
      • avatars_gravatar_enabled determines 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 ![alt text](File/somefile.png) syntax
    • [Rest API] Add new typeheader GET parameter to raw action (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=Strict is now set on all cookies in PHP 7.3+
    • ๐Ÿ”’ [security] The Secure cookie flag is now automatically added when clients use HTTPS to prevent downgrade-based session stealing attacks (control this with the new cookie_secure setting)
    • ๐Ÿ›  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_weighting and search_tags_matches_weighting settings 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, nofollow with 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 \A appearing 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