It's time for v0.17! This time, it's all about quality-of-life. Here are the highlights:
- 🌈 🔎 Added full UTF-8 support to the search engine! No more weird errors when searching for pages containing special characters.
- 🔑 Overhauled password hashing, making it much more secure! This means that you'll need to reset everyone's passwords, but it's definitely worth the additional security. Instructions on how to do this are below in the upgrade instructions.
- 🚁 Added revert to this revision buttons on the history page for moderators
- 🌍 Added HTTP/2.0 Server Push support! This comes with a new setting,
http2_server_push_items
, that lets you specify extra custom files to push in addition to the those specified automatically. - 🍭 And more! See the full changelog at the bottom of this release.
As always, you can update by downloading a fresh copy and replacing your existing index.php
. The README has a section on how to do that. With this update, there are a few important notes for webmasters / server owners:
- All passwords will need to be re-hashed. Password resets can be done from the user table when logged in as a moderator or better (the
user-table
action), and also via the inbuilthash
action (don't forget to do this in incognito and to clear the server logs / reset your password again afterwards). - The search index will need to be rebuilt in order to correctly index Unicode characters. This can be done via the Rebuild Search Index button on the
configure
action page, or by requesting theinvindex-rebuild
action directly. - If you didn't customise the
secret
setting inpeppermint.json
on install, you may need to change it. This release makes the generator for this parameter cryptographically secure, so you can just delete it manually and have it be automatically regenerated for you 🙂
If you encounter any problems, please open an issue and help you out.
--Starbeamrainbowlabs
Full Changelog
Since v0.7-beta2
Fixed
- Removed stray debugging output
- Tweaked css to make new search context generation look better
Since v0.17-beta1
Fixed
- Fixed the cost-climbing bug in the last beta release
- Removed stray debugging output
- Tweaked css to make new search context generation look better
Since v0.16
Added
- [Module API] Added
save_settings()
convenience method - [Rest API] Add
user-add
andset-password
moderator actions - Added
random_page_exclude_redirects
setting that prevents therandom
action from returning redirect pages. - Added link to user table on the credits page
- Added history reversion via the
history-revert
action - Added
history_max_revisions
setting to allow control of the maximum number of revisions stored for a page- Takes effect every time a page revision is added
- Added page restore system
- A previous page revision can be restored with a single click from the page history page
- Added a new
history_revert_require_moderator
setting to control whether moderator privileges are required to use the functionality (regardless of setting a user must be logged in)
- HTTP/2.0 Server Push support!
- You'll need to make sure your web server has support turned on
- The CSS file specified in the
css
setting (url path must begin with a forward-slash) and the favicon (must not be adata:
url) are automatically pushed when rendering pages - 2 new settings have been added:
http2_server_push
for turning it on and off (defaults to on), andhttp2_server_push_items
for specifying custom resources to push (in case you design your own theme and want to push down the associated resources) - More information about
http2_server_push_items
in particular is available on the configuration info page (when this release is out, of course. Until then, check out the description inpeppermint.guiconfig.json
)
- Added
<meta name='generator' />
tag to all pages
Fixed
- Updated the search system to transliterate characters to better support searching pages that are written in other languages.
- You'll want to rebuild your search index via the button in the configuration panel, or the
invindex-rebuild
action.
- You'll want to rebuild your search index via the button in the configuration panel, or the
- [Security] Made the site secret generator cryptographically secure. If you created your wiki before this change, you might want to change your site secret in
peppermint.json
to something more secure with a site like random.org.- The PHP function
openssl_pseudo_random_bytes()
was being used before, but apparently that's not cryptographically secure.
- The PHP function
- [Module API] Fix
full_url()
logic - [Module API] Make
email_user()
correctly return email sending failures - Squashed a warning in the search redirector
- The search redirector will now check both the specified page name and the page name in Title Case
- Improve help text description of image captions displayed alongside images
- Fixed the page history page - it should now display all page revisions in valid HTML
- Fixed another bug in the search context generator
- Display an ellipsis at the beginning of a search context if it doesn't start at the beginning of a page
- Semicolons are no longer automatically included in greedy internal links.
- Pressing enter in the tag box now correctly previews instead of performing a smart restore
- Removed stray debugging output
- Fixed the cost-climbing bug in the last beta release
- Tweaked css to make new search context generation look better
Changed
- Password hashing has been overhauled! A totally new-and-different system is being used now, so you'll need to rehash all your passwords.
- The
hash
action supports the new password hashing scheme. - Added
password_cost
,password_cost_time
, andpassword_cost_time_interval
settings password_cost
is recalculated automatically every week by default (it keeps track of this via thepassword_cost_time_lastcheck
'setting')
- The
- The
css
setting will now keep a value of auto, even whenpeppermint.json
is automatically updated by Pepperminty Wiki. - Optimised the search system a lot (#157 - ~2800ms searches now take ~450ms O.o)
- Tuned the default value for
search_characters_context
down to 75 (this won't be the case for existing wikis, so you'll need to adjust it manually) - Added new
search_characters_context_total
setting to control the maximum characters in a search context
- Tuned the default value for
- The
index
action's output should now be formatted nicely. - Restyled "matching tags" in the search results in the default stylesheet
- Added moar icons to the nav / more menus. Delete the appropriate entries in
peppermint.json
to get the updated ones!