Releases: sbrl/Pepperminty-Wiki
v0.10-beta1
This release marks the first ever beta release of Pepperminty Wiki. From now on I'll be making beta releases just before a new major verion comes out to catch any issues that may arise.
Also new for this release is an (almost) comprehensive changelog built up over time, detailing all the things that have been added, changed, or removed.
Added
- This changelog. It's long overdue I think!
- Added the all tags page to the "More..." menu by default.
- Added recent changes page under the action
recent-changes
. A link can be found in the "More..." menu by default. - Changed the cursor when hovering over a time to indicate that the tooltip contains more information.
- Added icons to the "More..." menu
- Added help section to parsedown parser.
- Added more information to the dev help page.
- Added templating! It works the way you'd expect it to in Mediawiki.
- Help section ids now show to the right of the help section headers by default.
Changed
- Improved appearance of the all pages list.
- Improved apparence of the tag list page.
- Added a link back to the list of tags on the list of pages with a particular tag.
- Upgraded help page. Modules can now register their own sections on a wiki's help page.
- Optimised search queries a bit.
- Save preprocessors now get passed an extra parameter, which contains the old page source.
- Changed the default parser to parsedown.
- Removed parsedown from the
parser-parsedown
module and replaced it with code that automatically downloads parsedown and parsedown extra on the first run. - Removed Slimdown add from the parsedown parser and replaced it with a custom extension of parsedown extra.
- Moved printable button to bottom bar and changed display text to "Printable version".
- Redirect pages now show in italics in page lists.
- Made other minor improvements to the page lists.
Fixed
- Removed debug statement from the redirect page module.
- Improved the "There isn't a page called..." message you sometimes see when searching.
- Corrected a few minor spelling issues on the help page.
- The
recent-changes
module now has a proper help section.
v0.9.1 - Small bugfix update
This is a really quick update to v0.9 that fixes a single bug.
Changed
- Fixed the links in the
list-tags
action - they no longer point to a non-existent action.
v0.9 - Search!
I've had this release almost ready to go for a while now, but I've been so busy with University that I haven't had the time to finish it up! Fear not though, as I have managed to find some time to finish this release off properly.
This release is by far the largest release to date. It contains many bugfixes and sevral huge new features that have taken a lot of my time to implement as much of the codebase had to be updated and rewritten.
Added
- You can now upload files to Pepperminty Wiki! Go to
?action=upload
to check it out. - The directory in which Pepperminty Wiki stores stuff can now be changed through the
$settings->data_storage_dir
setting. - You are now redirected to the last page you were viewing after you login.
- Pages can now be tagged. You can view a list of all tags at
?action=list-tags
. - There's now a new optional module that adds a parsedown parser to Pepperminty WIki. It's quite heavy though - only include it if you are actually going to use it
Changed
- The pageindex recreator now checks for associated files (you use this if the pageindex gets deleted).
- Fixed page protection - you can now disable it correctly.
- The sidebar is now hidden temporarily hidden on the login page - this is because it leaked information (see #25 access control)
- The parser backend was rewritten to enable support for multiple parsers
- The versioning system now uses a separate file. You can now query this url to ask the repository what the latest dev version of Pepperminty Wiki is: https://raw.githubusercontent.com/sbrl/Pepperminty-Wiki/master/version
If you need a more complete migration / upgrade guide (there have been several settings added since the last release), please feel free to contact me or leave a comment on my blog and I will be happy to assist you. In the future I'm going to build the above changelog as I go, instead of at the end.
Spring cleaning
Welcome to a new release! This one has by far the most commits of any release so far at 58, which is about a quarter of all the commits pushed to this repository so far...!
Anyway, this release contains a few big new features (such as page protection and redirect pages). The rest of this release fixes bugs and lays ever more groundwork in preparation for things later on. I've also adopted a different way of committing bug fixes, where I try to bundle each bugfix into it's own commit and prefix the commit message with Bugfix:
. This comes from another (for now secret) project that I've been working on.
You can download the latest release below, or use the online downloader to pick the modules you want to include if you're picky.
Additions
- 28234dc - Added a new Linux build script called
build.sh
- 55fa08e..f694c9c - New Travis CI automated testing setup
- b27dd83 - Document the module API
- 03c908b - Added support for optional modules
- cab6f9f - Added new raw action, which outputs the source for the given page
- 1ead4c9..7a2da1d - Tidied up all the random global variables floating around into one nice neat
$env
variable - 881418d - Added
$settings->footer_message
setting to display a message at the bottom of every page, which can contain arbitrary HTML. - f5b0b85 - Added
$settings->editing_message
setting to display a message just before the save edit button, which can contain arbitrary HTML. - 6ad8342 - Added page protection. This also updates your settings by adding
$settings->protectedpagechar
, which is the string to prepend to a page's title if it's protected (defaults to🔒
, which is a lock symbol), and adds[ $settings->admindisplaychar . "Toggle Protection", "index.php?action=protect&page={page}" ]
to$settings->nav_links_extra
in order to make the protect option accessible. - #14 (bb21686..e2d6a7f) - Added redirect page support. Create a redirect page in the same way as you would in Mediawiki (e.g.
# REDIRECT [[Page Name]]
. Note that the redirect page support has been added to the view module and that whether a page is a redirect is stored in the page index. This means that if you remove the redirect module after making a page a redirect, it will still function as one until you update it.
Changes
- #17 (87b3bd7) - The sidebar is now sorted alphabetically
- a5be970 - Updated the CSS on the download page to match the new theme
- 8b90b2b - Stored the build in a separate folder
- f915df2 - Added the related issue number next to the items on the todo list in the readme
Bug Fixes
The big theme!
Welcome to a new release! It has been quite some time, but I can assure you that it was worth the wait :) (If you want it to come quicker, submit a pull request!) In this release, we have:
Additions
- #6 Sub pages! These are created by entering an existing page name and then adding a forward slash (
/
), and then typing the new page's name. They nest, too, so you could haveFruits/Apples/Braeburn
if you wanted! - Enhanced credits page: It now shows you your Pepperminty Wiki version and the number of pages and modules you have. I've also tidied up the main credits - they are now in bullet points.
- #7 Optional sidebar! To enable it, add
$settings->sidebar_show = true;
to your configuration, or append&sidebar=yes
to the url. Adding to the url sets a cookie to remember your choice for 30 days. - Export as zip: Allows you to export all the pages on your wiki via the credits page. Direct access can be gained through the
action=export
url parameter. Also adds$settings->export_allow_only_admins
, which should be fairly self explanatory.
Changes
- Rearranged internal utility functions
- More internal comments have been tidied up
- The page renderer has been rewritten again, adding
page_renderer::register_part_preprocessor(func)
, which gets passed an array of page parts which can then be tweaked before the page is sent to the user. Make sure that functions you register take a reference to an array as their first parameter.
Bug Fixes
- #15 Sort the list of pages alphabetically
Fix for search box hints
This is a very small release that fixes the following issue:
- #8 datalist tag
This prevented the list of pages from appearing when you typed in the search box.
Code Cleanup
Hello again!
This release doesn't contain too many big new features because I have been busy cleaning up the codebase to make it easier to understand. As always, please report any bugs you find. A link to the online downloader that lets you choose the modules you install can be found in this repository's README.
Changes
- Corrected lots of spelling mistakes
- Rewritten the page renderer as a class
- The new page renderer now uses templates
- Added image support!
- Updated the help page to show new syntax
- Modernised and updated the comments in the settings
- Moved the default markdown parser to a module
- Lightened the default background colour
- Deleted the old build system (it is totally broken & out of date now)
Module System!
This huge release marks the beginning of a new era. We have modules! Each module performs one function. At the moment, each module provides a different page. You can find a list of all the module here: https://starbeamrainbowlabs.com/labs/peppermint/download.php
This also means that the build system has changed. The index.php
attached to this release contains all the latest modules. If you want to choose, follow the link above to the downloader.
The scale of this rewrite means that there will probably be some bugs hiding in this release. If you find any, please open on issue, or even better, submit a pull request.
v0.4 - Updating the updater
I have prepared another release for your enjoyment :)
This release contains an initial implementation of a semi-automatic update system that pulls the latest version of the code from this repository by default.. You can access the new update page either the help
or credits
pages. Note that you must be an administrator to update the site. If you wish to disable this feature, you can simply set your $sitesecret
to a number, since the update mechanism is the first action to require your site's secret, and it performs type checking when working out whether the site secret is correct.
Other things include a few bugfixes and a quick <meta />
tag to make mobile devices behave.
This release comes with a new theme: I wrote another quick one called Microsoft-esque, which, as you can imagine, is based on the Microsoft website.
Changelog
I worked out how to generate a changelog based on the commit history, so here it is:
- bugfixed edit action
- copied change from index.php to the correct place
- added link to wiki for installing
- updated build
- wrote another quick theme
- readme formatting correction
- Added meta tag to make mobile devices behave
- Added semiautomtic update and other things
- Updated build
- Merge branch 'master' of https://github.com/sbrl/Pepperminty-Wiki
- Added update link & version number to help / credits pages
- Changed version ready for release
This command came in handy generating the above:
git log v0.3..master --pretty=format:'[%s](//github.com/sbrl/Pepperminty-Wiki/commit/%H)' --reverse >changes.md
Login system security fixes
This is a relatively minor release, but with one critical bug fix.
It was pointed out on reddit that the login system was insecure:
/u/lordastley said:
If I'm reading that code correctly, you're storing user auth completely in the cookie instead of using sessions (for instance), which is rather insecure.
If I can get a copy of someone's cookie, snoop their network traffic, etc, I can authenticate as them.
This release switches from using cookies to store login details to using PHP sessions. This does mean that your server must have session support, but hopefully that won't be a big problem.
Installation / updating instructions can be found in the README.