Skip to content

Releases: sbrl/Pepperminty-Wiki

v0.10-beta1

21 Mar 17:35
Compare
Choose a tag to compare
v0.10-beta1 Pre-release
Pre-release

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

06 Dec 13:04
Compare
Choose a tag to compare

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!

06 Dec 12:57
Compare
Choose a tag to compare

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

03 Oct 13:33
Compare
Choose a tag to compare

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

  • 9cc042e - Corrected screenshot URL in the readme
  • #16 (eb58c79) - The sidebar is no longer shown in the printable view
  • f5af74e - Correct redirection to default page

The big theme!

04 Aug 19:32
Compare
Choose a tag to compare

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 have Fruits/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

15 Jun 15:08
Compare
Choose a tag to compare

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

27 May 10:04
Compare
Choose a tag to compare

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!

09 May 09:20
Compare
Choose a tag to compare

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

14 Mar 19:11
Compare
Choose a tag to compare

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:

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

10 Jan 11:08
Compare
Choose a tag to compare

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.