Skip to content

v0.21-beta1

Pre-release
Pre-release
Compare
Choose a tag to compare
@sbrl sbrl released this 07 May 21:41
· 344 commits to master since this release
e252bad

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:

  • πŸ”­ Watchlists: Get an email when a page is updated (assuming you have email setup in your PHP installation)
  • πŸ“± Improved mobile support: There's still a ways to go, but it's much better than it was. Open an issue if you've got any suggestions for improvement, no matter how small
  • 🎷 Autocomplete tags: Tags now autocomplete when editing pages
  • 🐚 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 docs for more info
  • πŸŽ₯ 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 (#184)

Lots of other gems can be found in the full changelog below, so take a look :D

A few things to note for admins:

  • The CLI will never be required 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).
  • A working PHP email setup is required for the watchlist to work
  • A new button has been added to the nav_links_extra mega menu. You'll need to delete the nav_links_extra entry from your peppermint.json in order for this to show up.
  • Search index performance has been improved. Again :D This requires regenerating the search index after updating.
  • 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

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:

Please help test this release.

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.

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

Even if you just want to share an "implementation report" (a short summary of your experience upgrading), I'd really appreciate the feedback :-)

--Starbeamrainbowlabs


Have you updated to this release? Click this link to say hi!

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.

Since v0.20.4-hotfix4

Added

  • Watchlists! A new addition has been added to the more menu to add the current page to your personal watchlist
    • An email will be sent to all users watching a page when an edit is saved to it (uses the PHP mail() function internally, via the email_user() internal Pepperminty Wiki utility function)
  • Email address verification
    • Enabled by default. In order to receive emails users now need to verify their email address
    • 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)
    • A new email_verify_addresses setting has been added to control the functionality
  • Added dark theme to the downloader (will be updated at the next stable release)
  • Added initial mobile theme support to the default theme
    • 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
  • Added autocomplete for tags when editing pages, powered by Awesomplete
    • The new editing_tags_autocomplete setting - enabled by default - toggles it, but why would you want to turn it off? :P
    • It should be reasonably accessible, judging from all the aria tags I'm seeing
    • Get in touch if you experience performance issues with fetching tag lists from your wiki
  • A command-line interface!
    • Wiki administrators with terminal/console access can now make use of a brand-new CLI by executing php ./index.php (warning: strange things will happen if the current working directory is not the directory that contains index.php and peppermint.json)
  • Added new anoncomments setting to control whether anonymous users are allowed to make comments (disabled by default) - thanks to @SeanFromIT for suggesting it in #181
  • Added markdown support for media captions (#184)
  • Finally: Experimental 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!
    • It's disabled by default (check out the new search_didyoumean_enabled setting), as it enabling it comes with a significant performance impact when typos are corrected (~0.8s-ish / typo is currently observed)
    • 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)
    • The index does not currently update when you edit a page - this feature is still very experimental (please report any issues)
    • A typo is a search query term that is both not a stop word and not found in the search index

Fixed

  • Fixed weighted word support on search query analysis debug page
  • Added missing apostrophes to stop words in search system. Regenerating your search index will now yield a slightly smaller index
  • Fixed link loop when logging in for crawlers
  • [security] Bugfix: Don't leak the PHP version in emails when expose_php is turned off
  • Fixed handling of Unicode characters when emailing users - added new email_subject_utf8 and email_body_utf8 settings to control the new behaviour
  • Add new email_debug_dontsend setting for debugging emails sent by Pepperminty Wiki
  • Fixed pressing alt + enter to open a search in a new tab - it should no longer fail and briefly prompt to allow pop-ups
  • Squashed a bug in the new upgraded get/set_array_simple search optimisation
  • Updated Parsedown to squash warning in PHP 7.4+
  • Trailing commas in the tags box will no longer result in empty tags being added to pages.
  • Minor UI fixes
    • Multiple tags in search results and on page lists now have a margin between them
  • Newline characters (\r and \n) are now replaced with spaces in internal links (#186, thanks @SeanFromIT!)
  • Inbuilt help documentation corrections (#185, thanks @SeanFromIT!)
  • Fixed a warning message when a file fails to upload (thanks for the test file, @SeanFromIT)
  • Really fix the dot problem from v0.20.3-hotfix3 that @SeanFromIT reported

Changed

  • Improved the search indexing system performance - again
    • Another search index rebuild is required
  • 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)
  • Optimisation: Don't load the statistics index if it's not needed (also esp. noticeable on wikis with lots of pages)
  • Optimisation: Refactor stas_split() to be faster (informal testing shows ~18% faster β†’ 4% total time)
  • [Module Api] Optimisation: Remove search::transliterate because it has a huge overhead. Use search::$literator->transliterate() instead.
  • [Module Api] Add new absolute and html optional boolean arguments to render_timestamp()
  • [Module Api] search::extract_context() and search::highlight_context() now take in a parsed query (with search::stas_parse()), not a raw string

Known bugs

  • Wow, a new section! Haven't seen one of these before. Hopefully we don't see it too often.....
  • 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).