A wiki in a box
MPL-2.0 License
Hey there, one and all! Welcome to the (belated) release of Pepperminty Wiki v0.24!
Before we continue, I need to mention that you need to install this release or higher if you want to edit pages in the latest version of the Android client app. 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".
With that out of the way, this release has a number of cool features:
![alt text](https://youtube.com/watch?v=pID0xQ2qnrQ)
. If you can think of another site that should have native embed support, please open an issue (note that embedding regular video files still works as before)[[[example]]]
) is on it's own with nothing before or after it on a line, then it'll be turned into a oneboxHave 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 🙂
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:
index.php
file attached to this releaseFor 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, see my website for more contact options)
filter
GET parameter to the list
action, which filters the list of pages to contain only those containing the specified substring.redirect
and redirected_from
GET params to the view
action.![alt text](https://youtube.com/watch?v=pID0xQ2qnrQ)
)
| 500x400
inside the brackets ()
there) doesn't currently work because iframes are weird[[[example]]]
) is on it's own with nothing before or after it on a line, then it'll be turned into a onebox
parser_onebox_enabled
and parser_onebox_preview_length
x-tags
HTTP header to raw
action (required for v2.2 of the android client app to edit pages!)save
action, and add x-failure-reason
for more errorsformat
GET parameter of the stats
action (thanks, @JamieSlome)returnto
GET parameter leads you only to another place on your Pepperminty Wiki instance (thanks, @JamieSlome)action
GET param doesn't match a known actionedit
action was protected, so if you made a request direct to the save
action, you could bypass the check)touch()
, because some systems are weirdindex.php
is a symbolic linkPeppermintParsedown::extract_page_names
more multibyte safe to avoid empty statisticsPublished by sbrl over 2 years ago
Hey there, one and all! Welcome to the first beta release of Pepperminty Wiki v0.24.
Before we continue, I need to mention that you need to install this release or higher if you want to edit pages in the latest version of the Android client app. 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".
With that out of the way, this release has a number of cool features:
![alt text](https://youtube.com/watch?v=pID0xQ2qnrQ)
. If you can think of another site that should have native embed support, please open an issue
[[[example]]]
) is on it's own with nothing before or after it on a line, then it'll be turned into a oneboxHave 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 🙂
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:
index.php
file attached to this releaseFor 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, see my website for more contact options)
![alt text](https://youtube.com/watch?v=pID0xQ2qnrQ)
)
| 500x400
inside the brackets ()
there) doesn't currently work because iframes are weird[[[example]]]
) is on it's own with nothing before or after it on a line, then it'll be turned into a onebox
parser_onebox_enabled
and parser_onebox_preview_length
x-tags
HTTP header to raw
action (required for v2.2 of the android client app to edit pages!)save
action, and add x-failure-reason
for more errorsformat
GET parameter of the stats
action (thanks, @JamieSlome)returnto
GET parameter leads you only to another place on your Pepperminty Wiki instance (thanks, @JamieSlome)action
GET param doesn't match a known actionedit
action was protected, so if you made a request direct to the save
action, you could bypass the check)touch()
, because some systems are weirdindex.php
is a symbolic linkPeppermintParsedown::extract_page_names
more multibyte safe to avoid empty statisticsPublished by sbrl about 3 years ago
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 v0.9 in 2015). There's a reason for that - in issue #222 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, b).
Of these 2, the one that involves the first-run
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 peppermint.json
which by design take arbitrary HTML!
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.
Despite this rushed release, there are a number of awesome additions in this release too:
[display text](./Page Name.md)
style internal links (disabled by default: enable the parser_mangle_external_links
setting and delete the ._cache
directory to enable)robots.txt
)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.
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 🙂
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:
index.php
file attached to this releaseFor 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, see my website for more contact options)
nav_links
, nav_links_extra
, or nav_links_bottom
in your peppermint.json
and add something like [ "+", "index.php?action=edit&unknownpagename=yes" ]
.page-sitemap
module (manual setup required for crawlers to notice it: see the documentation)[display text](./Page Name.md)
style internal links (disabled by default: enable the parser_mangle_external_links
setting and delete the ._cache
directory to enable)x-robots-tag: noindex, nofollow
HTTP header for the login page (Semrush Bot, you better obey this one)page
as either a GET parameter or a POST parameter (GET takes precedence over POST)image/avif
(AVIF image), image/jxl
(JPEG XL image), and image/heif
/image/heic
to upload_allowed_file_types
(you'll need to delete your entry in peppermint.json
to get the new updated list)
flac
(which was already allowed as an upload by default) to the data size calculator on ?action=help&dev=yes
htmlentities()
stats-update
action causing warnings._extra_data
if the directory is emptysidebar_show
to the settings GUI and the configuration guide
logo_url
setting with https:
<details />
element to allow collapsing themPublished by sbrl about 4 years ago
After a record-breaking number of beta releases, it's finally that time again: another new stable release!
Check out the major new features:
readingtime_enabled
setting)similarpages_enabled
/ similarpages_count
settings)application/pdf
is present in the upload_allowed_file_types
setting)Some notes for admins:
upload_allowed_file_types
setting in peppermint.json
contains application/pdf
Special thanks to @virtadpt and @SeanFromIT for reporting bugs in this beta release cycle.
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 🙂
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:
index.php
file attached to this releaseFor 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, see my website for more contact options)
FULL_CHANGELOG_HERE
No changes were made since the last beta release
inbody:searchterm
advanced query syntaxhide_email
implementationprefers-color-scheme
to configuration guide (see the stable channel guide here - will only be updated when v0.22 is released)pageindex.json
and recentchanges.json
->text()
for recursion when parsing markdown - it resets ->DefinitionData
, which breaks footnotes (#209)didyoumeaninddex.sqlite
→ didyoumeanindex.sqlite
(feature is disabled by default; manual renaming required)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.
search::invindex_term_getpageids
, and search::invindex_term_getoffsets
, and search::index_sort_freq
methodsends_with
and filepath_to_pagename
core functions[ ]
and [x]
after a bullet point or at the start of a lineSome text ==marked text== more text
Some text >!spoiler!< more text
or Some text ||spoiler|| more text
Some text^superscript^ more text
Some text~subscript~ more text
[__TOC__]
on a line by itself to insert an automatic table of contentsparser_toc_heading_level
setting<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).readingtime_enabled
setting (#172)
similarpages_enabled
and similarpages_count
settings.# REDIRECT [display text](INSERT_REDIRECT_URL_HERE)
redirect_absolute_enable
setting (default: false
)comment_enabled
controls whether anyone is allowed to comment at all or notcomment_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).![alt text](File/somefile.png)
syntaxtypeheader
GET parameter to raw
action (ref Firefox bug 1319262)SameSite=Strict
is now set on all cookies in PHP 7.3+
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)error_log()
calls to aid clarity in multi-wiki environmentssearch_title_matches_weighting
and search_tags_matches_weighting
settings to get the new weightings)noindex, nofollow
with a robots <meta />
tag\A
appearing before tags at the bottom of pages for some users (ref)Published by sbrl about 4 years ago
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).
This beta release also marks a new record for the most number of beta releases before a stable release!
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 🙂
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:
index.php
file attached to this releaseFor 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, see my website for more contact options)
inbody:searchterm
advanced query syntaxhide_email
implementationPublished by sbrl about 4 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 🙂
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:
index.php
file attached to this releaseFor 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)
prefers-color-scheme
to configuration guide (see the stable channel guide here - will only be updated when v0.22 is released)pageindex.json
and recentchanges.json
->text()
for recursion when parsing markdown - it resets ->DefinitionData
, which breaks footnotes (#209)didyoumeaninddex.sqlite
→ didyoumeanindex.sqlite
(feature is disabled by default; manual renaming required)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.
search::invindex_term_getpageids
, and search::invindex_term_getoffsets
, and search::index_sort_freq
methodsends_with
and filepath_to_pagename
core functions[ ]
and [x]
after a bullet point or at the start of a lineSome text ==marked text== more text
Some text >!spoiler!< more text
or Some text ||spoiler|| more text
Some text^superscript^ more text
Some text~subscript~ more text
[__TOC__]
on a line by itself to insert an automatic table of contentsparser_toc_heading_level
setting<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).readingtime_enabled
setting (#172)
similarpages_enabled
and similarpages_count
settings.# REDIRECT [display text](INSERT_REDIRECT_URL_HERE)
redirect_absolute_enable
setting (default: false
)comment_enabled
controls whether anyone is allowed to comment at all or notcomment_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).![alt text](File/somefile.png)
syntaxtypeheader
GET parameter to raw
action (ref Firefox bug 1319262)SameSite=Strict
is now set on all cookies in PHP 7.3+
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)error_log()
calls to aid clarity in multi-wiki environmentssearch_title_matches_weighting
and search_tags_matches_weighting
settings to get the new weightings)noindex, nofollow
with a robots <meta />
tag\A
appearing before tags at the bottom of pages for some users (ref)Published by sbrl about 4 years ago
Hello and welcome to another beta release of Pepperminty Wiki! Check out the major new features:
readingtime_enabled
setting)similarpages_enabled
/ similarpages_count
settings)application/pdf
is present in the upload_allowed_file_types
setting).....and lots of other bugfixes and new features! Check the full changelog at the bottom of these release notes for the full details.
Regarding the reading time and similar page suggestions, I'm still a little unsure about it. What to you think? Please fill out this strawpoll by Tuesday 11th August 2020 12pm GMT (after which I'll be looking to make final adjustments before making another beta release / the stable release) - it would be really helpful!
Like the last stable release, there are a few things that admins should be aware of:
SameSite=Strict
is now set on all cookies to comply with the new cookie handling being introduced into browsers, but only in PHP 7.3+.php index.php exec search rebuild
, or navigate to the master settings and hit the rebuild button)theme_colour
setting to enable extra coolness in some browsers and when generating embeds in places like Discord 🙂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 🙂
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:
index.php
file attached to this releaseFor more information on the last 2 methods, please see the documentation for more information.
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.
search::invindex_term_getpageids
, and search::invindex_term_getoffsets
, and search::index_sort_freq
methodsends_with
and filepath_to_pagename
core functions[ ]
and [x]
after a bullet point or at the start of a lineSome text ==marked text== more text
Some text >!spoiler!< more text
or Some text ||spoiler|| more text
Some text^superscript^ more text
Some text~subscript~ more text
[__TOC__]
on a line by itself to insert an automatic table of contentsparser_toc_heading_level
setting<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).readingtime_enabled
setting (#172)
similarpages_enabled
and similarpages_count
settings.# REDIRECT [display text](INSERT_REDIRECT_URL_HERE)
redirect_absolute_enable
setting (default: false
)comment_enabled
controls whether anyone is allowed to comment at all or notcomment_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).![alt text](File/somefile.png)
syntaxtypeheader
GET parameter to raw
action (ref Firefox bug 1319262)SameSite=Strict
is now set on all cookies in PHP 7.3+
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)error_log()
calls to aid clarity in multi-wiki environmentssearch_title_matches_weighting
and search_tags_matches_weighting
settings to get the new weightings)noindex, nofollow
with a robots <meta />
tag\A
appearing before tags at the bottom of pages for some users (ref)Published by sbrl over 4 years ago
Oh, my! I think this is the fastest I've ever gotten a hotfix out. I've found a serious security issue in Pepperminty Wiki which must be fixed right away! Please update to this release as soon as possible.
Please also edit the value of the secret
property in peppermint.json
, as it may have been compromised.
Edit: 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 C2F7843F9ADF9FEE264ACB9CC1C6C0BB001E1725
(let me know if you encounter any issues.
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 here.
Have you updated to this release? Click this link to say hi!
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:
index.php
file attached to this releaseFor more information on the last 2 methods, please see the documentation for more information.
Published by sbrl over 4 years ago
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:
Lots of other gems can be found in the full changelog below, so take a look :D
Also, Pepperminty Wiki now has a website! I built it with Eleventy.
A few things to note for admins:
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.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!
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:
index.php
file attached to this releaseFor more information on the last 2 methods, please see the documentation for more information.
PEPPERMINT_THEME
environment variable work again when compiling on the command linemail()
function internally, via the email_user()
internal Pepperminty Wiki utility function)email_verify_addresses
setting has been added to control the functionalityediting_tags_autocomplete
setting - enabled by default - toggles it, but why would you want to turn it off? :Pphp ./index.php
(warning: strange things will happen if the current working directory is not the directory that contains index.php and peppermint.json)anoncomments
setting to control whether anonymous users are allowed to make comments (disabled by default) - thanks to @SeanFromIT for suggesting it in #181search_didyoumean_enabled
setting), as it enabling it comes with a significant performance impact when typos are corrected (~0.8s-ish / typo is currently observed)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
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
Make PEPPERMINT_THEME
environment variable work again when compiling on the command line
Fixed invalid HTML that was causing layout issues on the master settings page
stas_split()
to be faster (informal testing shows ~18% faster → 4% total time)search::transliterate
because it has a huge overhead. Use search::$literator->transliterate()
instead.absolute
and html
optional boolean arguments to render_timestamp()
search::extract_context()
and search::highlight_context()
now take in a parsed query (with search::stas_parse()
), not a raw stringPublished by sbrl over 4 years ago
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:
Lots of other gems can be found in the full changelog below, so take a look :D
A few things to note for admins:
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.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!
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:
index.php
file attached to this releaseFor more information on the last 2 methods, please see the documentation for more information.
mail()
function internally, via the email_user()
internal Pepperminty Wiki utility function)email_verify_addresses
setting has been added to control the functionalityediting_tags_autocomplete
setting - enabled by default - toggles it, but why would you want to turn it off? :Pphp ./index.php
(warning: strange things will happen if the current working directory is not the directory that contains index.php and peppermint.json)anoncomments
setting to control whether anonymous users are allowed to make comments (disabled by default) - thanks to @SeanFromIT for suggesting it in #181search_didyoumean_enabled
setting), as it enabling it comes with a significant performance impact when typos are corrected (~0.8s-ish / typo is currently observed)email_subject_utf8
and email_body_utf8
settings to control the new behaviouremail_debug_dontsend
setting for debugging emails sent by Pepperminty Wiki\r
and \n
) are now replaced with spaces in internal links (#186, thanks @SeanFromIT!)stas_split()
to be faster (informal testing shows ~18% faster → 4% total time)search::transliterate
because it has a huge overhead. Use search::$literator->transliterate()
instead.absolute
and html
optional boolean arguments to render_timestamp()
search::extract_context()
and search::highlight_context()
now take in a parsed query (with search::stas_parse()
), not a raw stringPublished by sbrl over 4 years ago
Hey look - another wild hotfix appeared! Thanks to @SeanFromIT, 2 nasty bugs have been squashed in this release.
When merging their PR I only realised that it was merging into the hotfix branch after I'd done it, so decided to make another hotfix release 🙂
Note that this is a maintenance release that backports some urgent bugfixes to v0.20. Current development efforts are focused on v0.21. The work-in-progress changelog for v0.21 can be found here.
Have you updated to this release? Click this link to say hi!
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:
index.php
file attached to this releaseFor more information on the last 2 methods, please see the documentation for more information.
Published by sbrl almost 5 years ago
Hey there! It's another hotfix release. Someone on Reddit noted that warnings were showing up in the demo, so this release fixes that. It's because I updated PHP to 7.4 on the server the demo runs on, and the version of Parsedown shipped with v0.20 doesn't like PHP 7.4 very much.
Again, as with v0.20.1-hotfix1, this is a maintenance release that backports some urgent bugfixes to v0.20. Current development efforts are focused on v0.21. The work-in-progress changelog for v0.21 can be found here.
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:
index.php
file attached to this releaseFor more information on the last 2 methods, please see the documentation for more information.
Published by sbrl almost 5 years ago
Hey there! This is the first hotfix of v0.20. @nivex discovered a nasty bug in the peppermint.josn access checker - which this release fixes. If the previous releases didn't work for you, try this one.
Note that this release does not include any of the changes that are scheduled for the v0.21 release. If you want those, you should build your own from master
according to the docs (or get in touch - I'm happy to send you a prebuilt copy!).
Changes in v0.21 that will be coming at some point include watchlists, email verification, performance improvements for wikis with lots of pages, and more! If you're looking to help out with that, please do get in touch if you know of a good fuzzy hash implementation in PHP for nearest-neighbour search. I'd really appreciate it :P
Anyway, updating is as simple as updating your local index.php
- grab your copy from this release, or any other documented method (e.g. the downloader).
Edit: Click here to say hi if you've downloaded this release :D
The full changelog for this release is as follows:
Published by sbrl almost 5 years ago
It's that time again! 5 years to the day since I first started working on Pepperminty Wiki (!) 🎂 and 4 months, 19 days and 163 commits since v0.19 was released (discounting the 4 hotfix releases made to patch nasty bugs), today I'm releasing release of v0.20. This is a huge release - check out the feature summary:
prefers-color-scheme
under-the-hoodPersonally, I'm most proud of the optimisations to the search engine. I've successfully tested it on wikis with ~5.9M words - and while search times vary depending on your input (the new -exclude
syntax will actually speed up queries), a single work query for ~5.0M word wikis takes ~50ms O.o
Unfortunately, this does mean that the search index will need to be rebuilt under the new format - and will be slightly larger than before. To get a progress bar for this operation, go to the master settings and click the rebuild button.
Another notable change is the new 'mega-menu' style more menu:
That menu has been bothering me for a while, and thanks to the kind people on Reddit, I've now got a solution.
Note that you'll need to delete nav_links_extra
from your peppermint.json
in order for it to take effect.
Please test the theme gallery in particular. It's quite complicated under-the-hood, so I'd appreciate some extra eyes on that.
Special thanks to @SeanFromIT for reporting a number of bugs which have been squashed.
If you use Pepperminty Wiki, tweet me @SBRLabs! I'd love to hear about how you're using it.
Lastly, don't forget to take a backup of your wiki before updating. While I've made every effort to squash bugs, you can never be too careful :P
--Starbeamrainbowlabs
See the instructions here..
prefers-color-scheme
minify_css
module API function by refactoring the page rendererpage_renderer::is_css_url()
to require an argumentfeature-theme-gallery
module is present)
css_theme_autoupdate_url
settingcss_theme_autoupdate_interval
setting)nav_links_extra
setting - the default value for the nav_links_extra
setting has now changed (delete/rename it in your peppermint.json
file to get the new version)
parser_ext_renderers
setting for more information on how to configure it
abcm2ps
(ABC musical notation rendering)peppermint.json
access checkerbuild.sh
build script more robust, especially when generating the documentation.expose_php
setting is respected - if it's disabled, then the PHP version will not be exposed.stream_get_meta_data()
errorimage()
function into core, added automatic image size calculation, and multi-line supporthistory
on your wiki (thanks @SeanFromIT!)tempnam()
instead of tmpfile()
, since some people appeared to be having issues with the other approachPublished by sbrl almost 5 years ago
It's that time again! 4 months, 14 days and 157 commits since v0.19 was released (discounting the 4 hotfix releases made to patch nasty bugs), today I'm releasing the first beta release of v0.20. This is a huge release - check out the feature summary:
prefers-color-scheme
under-the-hoodPersonally, I'm most proud of the optimisations to the search engine. I've successfully tested it on wikis with ~5.9M words - and while search times vary depending on your input (the new -exclude
syntax will actually speed up queries), a single work query for ~5.0M word wikis takes ~50ms O.o
Unfortunately, this does mean that the search index will need to be rebuilt under the new format - and will be slightly larger than before. To get a progress bar for this operation, go to the master settings and click the rebuild button.
Another notable change is the new 'mega-menu' style more menu:
That menu has been bothering me for a while, and thanks to the kind people on Reddit, I've now got a solution.
Note that you'll need to delete nav_links_extra
from your peppermint.json
in order for it to take effect.
Please test the theme gallery in particular. It's quite complicated under-the-hood, so I'd appreciate some extra eyes on that before I do a stable release.
Special thanks to @SeanFromIT for reporting a number of bugs which have been squashed.
If you use Pepperminty Wiki, tweet me @SBRLabs! I'd love to hear about how you're using it.
Lastly, don't forget to take a backup of your wiki before updating. While I've made every effort to squash bugs, you can never be too careful :P
--Starbeamrainbowlabs
See the instructions here.
Note that because this is a beta release, the online downloader hasn't been updated yet (that'll happen on the next stable release). Try the copy attached to this release instead, run the downloader locally, or build your own using the CLI.
prefers-color-scheme
minify_css
module API function by refactoring the page rendererpage_renderer::is_css_url()
to require an argumentfeature-theme-gallery
module is present)
css_theme_autoupdate_url
settingcss_theme_autoupdate_interval
setting)nav_links_extra
setting - the default value for the nav_links_extra
setting has now changed (delete/rename it in your peppermint.json
file to get the new version)
parser_ext_renderers
setting for more information on how to configure it
abcm2ps
(ABC musical notation rendering)peppermint.json
access checkerbuild.sh
build script more robust, especially when generating the documentation.expose_php
setting is respected - if it's disabled, then the PHP version will not be exposed.stream_get_meta_data()
errorimage()
function into core, added automatic image size calculation, and multi-line supporthistory
on your wiki (thanks @SeanFromIT!)tempnam()
instead of tmpfile()
, since some people appeared to be having issues with the other approachPublished by sbrl about 5 years ago
Another hotfix release, brought to you by the excellent @SeanFromIT.
This one fixes a nasty bug in the page revision history that has the potential to cause a number of unfortunate issues.
history
on your wiki (thanks @SeanFromIT!)Published by sbrl about 5 years ago
Another hotfix! This time it's (mainly) due to a nasty typo found by the excellent @SeanFromIT - but there are more improvements to the unpacker too, as some people were still experiencing issues with it.
tempnam()
instead of tmpfile()
, since some people appeared to be having issues with the other approachPublished by sbrl about 5 years ago
Another crazy bug just popped up because of the last hotfix..... so I'm fixing it in a second hotfix.
If your wiki is running fine on v0.19.0, then you don't need to download this hotfix.
Published by sbrl about 5 years ago
Oops! Looks like there was a bug in the downloader. This release is a small hotfix that squashes it.
While additional features and less critical bug fixes have been implemented and made for v0.20 on the master branch, this release does not contain those - instead it's a small hotfix containing just the one bug fix that's backported from master.
Published by sbrl over 5 years ago
The update that changed the world! Turn everything upside-down.
v0.19 is here! Even though it might not feel like it, this update is a big one, and it changes a number of fundamental internals about the way that Pepperminty Wiki is packaged - which should lead to exciting new features down the line!
(No changes have been made since the last beta release.)
email
and emailAddress
fields into the latter in the user table (#167)parser-parsedown
and page-edit
for an example.
index.php
via __halt_compiler();
parser-parsedown
and page-edit
modules for examples on how to use it.delete_recursive()
function.peppermint.json
is blocked correctly (coming soon as a one-time check to pre-existing wikis)firstrun_complete
setting has been added that's automatically set to true if Pepperminty Wiki does a settings upgrademinify_pageindex
setting, which defaults to true
and causes the page index to be minified when saved. Improves performance slightly (especially on larger wikis as the page index grows), but makes debugging and ninja-edits more awkward.save_pageindex()
function which respects the above setting.core.php
into multiple filesall_untrusted
setting to allow treating everything as untrusted (default: false) - turn it on if your wiki allows anonymous editsNot often I have a removed section!