Camen Design Forum

NoNonsense Forum Release Announcements


:: What is NoNonsense Forum?

This is NoNonsense Forum! It is the software used to power this discussion board. It is open source and free to use, modify and share.

It is different from most other forums because it uses RSS instead of a database and is overall much simpler to setup, use and modify.

Find out more:



It is important to keep your NoNonsense Forum installation up to date as bugs are fixed and features are added.

News of releases will be published here so you can follow this thread’s RSS, or the GitHub project’s feed directly for all changes:

If you ‘checked out’ the code, you can use the command `git pull origin master` to automagically update NNF in-place.

If you wish to automatically update using git, remember not to modify NNF’s code directly but use ‘config.php’ and ‘theme.config.php’ to customise—see the section on customising in the Read Me: If you need to alter the HTML it’s best not to modify the existing theme directly but instead duplicate it and modify a copy.



#1. Kroc

v6 08.OCT.11
* Thread locking / Unlocking
* Copying a code block inside a quote and posting now correctly indents the code block

#2. Kroc

With thanks to Richard van Velzen, NoNonsense Forum can be run from a sub-folder :)

v7	05.NOV.11
*	NNF can now be run from a folder, with thanks to Richard van Velzen
	(this requires theme changes: URLs must be prepended with `FORUM_PATH`)
*	Sub-folders within sub-folders are not shown (not supported yet)
#3. kroc

I’m proud to pronounce this major update to NNF:

% v8: 06.DEC.11
*	Access control: Major new feature!
	You can lock forums and limit posting / access to certain users:
	(Members can be specified in a 'members.txt' file)
	- 'threads':	Only moderators / members can start threads, but anybody can reply
	- 'posts':	Only moderators / members can start threads or reply
	- 'private':	Only moderators / members can access and participate in the forum
*	Moderators can sign-in to do moderator actions
*	Moderators can now reply to and append / delete in locked threads
*	Moderators can now fully remove previously deleted (blanked-out) comments
*	Config option to disable new user registrations site-wide (`FORUM_NEWBIES`)
*	HTTPS support. Enable `FORUM_HTTPS` in your config to force HTTPS
*	Fix for Windows servers (forward slashes breaking `FORUM_PATH`)

Download from here:

#4. kroc

With thanks to Richard Van Velzen, v9 now has new markup you can explore!

% v9	21.DEC.11
*	More markup syntax supported: (with thanks to Richard Van Velzen)
	`:: title`, `---` (divider), `*bold*` & `_italic_`
*	Please note that 'config.example.php' has been renamed to 'config.default.php'
*	`rel="nofollow"` added to URLs in user text
*	Fixed file-locking issue on Windows servers
*	Fixes to RSS links
*	Lowered server requirement from PHP v5.2.6 to v5.2.4 (theoretically 5.0)

Download from here:

Kroc added on

I forgot to add that `inline code` is also supported now. You can use `single` or ``double`` backticks, and as usual with NNF markup, it's copy-pastable.

#5. Kroc

I’ve made a number of changes geared toward making it easier to customise NNF without having to modify the code.

% v10	24.DEC.11
*	Theme configuration moved to '/themes/*/theme.config.default.php'
*	Forum description / custom HTML via 'about.html'
*	Custom CSS support via 'custom.css' file
*	Custom favicon support
*	Custom logo support in greyscale theme

Download from here:

#6. Kroc

Sorry for such a quick version bump but I thought it important since I just noticed a major oversight! I’ve removed the "private" forum lock type since it just isn't private enough unless the site admin implements htpasswd, and this requires action on their part, it's not something NNF can provide itself.

% v11	24.DEC.11
*	WARNING: Removed "private" forum lock-type due to basic lack of privacy without htpasswd
	(anybody can just access the "index.xml" file to view posts); will leave this feature
	up to admins to implement with htpasswd. If you have any existing private forums,
	please implement htpasswd protection before upgrading!

Download from here:

#7. Kroc

An update to v11 to fix a major bug with block / inline code syntax has been pushed. The version number won't be bumped, but this change will become part of v12 when that comes. It's strongly recommended to update your installations.

Unless something else urgent sneaks in first, v12 should be the 'themes3' update that completely reworks theme handling and design (using DOM templating). I'm sorry if this is sucky for anybody who has already invested the effort of writing a custom skin, however the complete PHP/HTML separation provided by DOM templating will mean that themes will be significantly easier to write and maintain in the long run. Any concerns or questions about the upcoming themes3 release, feel free to ask in a new thread.

#8. kroc

Another bug update to v11 has been pushed. It is strongly recommended to upgrade.

A typo in the markup handling means that dividers are incorrectly rendered as `<p id="hr"/>----</p>`. Unfortunately, this tiny slip up has really messed things up for v12, because of the templating engine being unable to process invalid XML. Admins wishing to upgrade to v12 will need to search and replace the broken HTML in existing feeds or posts containing dividers will display blank. :(

#9. Kroc

I am very glad to bring you the biggest update since the release of NoNonsense Forum over a year ago—practically a complete rewrite. Version 12 separates the PHP and HTML to make it easier for you to create and maintain a custom skin to tie-in with your own website.

When making a new theme, you only need to maintain the IDs and classes prefixed with "nnf_". (except `<a>` and `<time>`, you can change the elements used around all you please!)

This was two weeks of very hard work to create. I had to invent a new template engine to begin with: :) I did all of this not because it was necessary (the old way worked fine), but because I wanted to make it easier for admins to understand, modify, maintain and contribute to NNF.

% v12	08.JAN.12
*	Complete theming overhaul. The PHP logic and HTML are now separated using this methodology: allowing admins to modify the HTML easily.
	- WARNING: a bug since v9 of NNF caused dividers to be inserted with invalid HTML, these
	  posts will appear blank unless you search your threads for `"hr"/` and replace with `"hr"`
*	Fixed major bug with code blocks/spans restoring in the wrong order
*	Changed dividers to use three or more dashes instead of four
*	Fixed bug with dividers "---" using faulty HTML
*	Added `theme_custom` function to 'theme.config.default.php' for your own custom templating
*	Moved templating of HTML titles to `THEME_TITLE*` consts in 'theme.config.default.php'
*	Removed 'action.php' by integrating append/delete actions into 'thread.php'
*	Renamed 'shared.php' to 'start.php' and created 'lib' folder for shared code
*	Reorganised greyscale theme images


#10. Kroc

New release, this time with nested sub-forums! Enjoy :)

% v13	22.JAN.12
*	Nested sub-folders
*	Un/locking a thread will no longer bump it to the top of the index
*	Fixed bug with closing parenthesis being included in a URL at the end of a quote
*	Fixed small bug with user name case-sensitivity
*	Small fix to `DOMTemplate` to reduce PHP requirement to at least 5.2.17, possibly 5.1.0


#11. Kroc

Oh! I got so busy I forgot to tell you that v14 has already been released!

% v14	23.JAN.12
*	Added the thread un/lock button back which had been missing since v12!!!
*	Titles in RSS feeds were incorrect
*	Moved RSS & sitemap to DOM templating (look in lib folder)
*	Added XML namespace support to `DOMTemplate`
*	Modified `DOMTemplateRepeater` to append items after the previous,
	rather than as the last-child of the parent (no need for a superfluous wrapper)


#12. Kroc

v15 is here to clean up the mess I made with v14, sorry. These last few weeks have been hardcore with work, new flat, decorating. I’m frazzled.

% v15	25.JAN.12
*	The greyscale theme's logo was being templated in the wrong file,
	since it's theme-specific, it has been moved to 'theme.config.default.php'
*	Added page next / previous links
	NOTE: if you have already created a 'theme.config.php' file, it is recommended to
	create a fresh copy from 'theme.config.default.php' for the above two changes
*	"User X added on date Y" text won't copy/paste so quotes can be cleaner
*	Fixed bug in v14 that stopped replies from working


#13. Kroc

I have added Opera Speed Dial support!
Now your new-tab page will show you the latest non-sticky thread or reply.

Screenshot here:

I have also integrated the page number into the URL scheme which simplifies the codebase a little more as well as allowing things like the Sign In link to remember the current page number.

*NOTE:* theme `theme_pageList` function was updated with a new parameter, therefore if you have a 'theme.config.php', the site will break unless you take a fresh copy of 'theme.config.php' from 'theme.config.default.php'.

I know this is a nuisance. I would like anybody's input on the functions in 'theme.config.default.php' and if it's a good idea or necessary to put functions there.

% v16	30.JAN.12
*	Integrated the page number into the URL scheme
	(threads now default to the last page if no page number given)
*	Opera Speed Dial support (shows the latest non-sticky thread / reply)
*	CSS fixes for IE6/7/8, iOS and Kindle


#14. Kroc

I've discovered a security hole in a leaky string allowing any user to evaluate PHP expressions. You must update your installations with this fix immediately. The version number has not been increased.


#15. Kroc

Just pushing a small update out to fit in one more feature before I start on translation support as that will likely require working on a branch for a few weeks as was the case with DOM templating.

% v17	05.FEB.12
*	Referring to people with '@name' will link to the latest reply in the thread by that person
*	Fixed issue with replying to a locked thread removing the lock
*	UTF-8 characters in templates are no longer hex encoded in the output, with thanks to Fyra

You should update because since the whole thread is re-templated with each reply, the bug with locked threads also meant that the "deleted" category for blanked-out posts was being removed too. This isn't an actual issue, but it's best to update to avoid further munging of your RSS threads.


#16. Kroc

I have fixed two issues with URL-parsing:

* URLs containing quotes were producing invalid XML, as well as having extra slashes added
* URLs now ignore `">` and `"/>` on the end, for occasions where users might be pasting HTML code without properly wrapping it in a code block

I haven’t bumped the version number, these changes will be a part of the next release, I’m just letting you know ahead of time in case you run into cases of URLs causing blank posts (invalid XML).

#17. Kroc

Many eyes make bugs shallow, and Kroc's eyes specifically miss many bugs. v18 is here to fix up some monumentally stupid bugs overlooked, like entire files missing from the repository.

% v18	05.MAR.12
*	'delete.html' had been missing for some time!
*	The sticky-thread icon had been missing for an equally long time
*	Mods and member's list not showing in the footer
*	Sub-forum lock icon positioning fixed
*	Improved URL parsing involving speech marks
*	IDN (unicode) URLs
*	Error message if inadequate PHP version
*	If a mod / member of a locked forum, the warning message is no longer shown


#18. Kroc

Finally, the next version of NNF is released. This has taken two months of work, during which I got married and moved home, so it’s been a bit intense for me.

This version adds translation support, whilst fixing many miscellaneous bugs. Whilst translations are now supported, none are actually provided (I don’t speak any other languages). You can translate any theme yourself easily (one file) and it won’t interfere with updates in the future. The whole translation system is simple, elegant and easy to maintain.

If you are using a custom theme, it may be best to take a fresh duplicate of the default theme and modify it again due to the very large number of changes to the default theme to support translations, as well as general restructuring incompatible with older themes.

% v19	03.MAY.12
*	Translation support
	-	Themes can provide their own translations and admins can add more themselves easily
		(no translations are provided with NNF, yet, this release just adds support)
	-	Browser language is auto-detected, user can select one, and a default can be set
	-	Markup.txt removed, moved to a themed / translatable page
	-	Privacy policy added (also translatable)
	-	Translations for 'about.html' can be provided with 'about_en.html',
		where 'en' is the language code
	-	Page titles on index / thread / append & delete cannot be translated just yet,
		support for this will be added in a later release
*	Fixed a long-standing bug that caused page boundaries (i.e. posts per page) to be incorrectly
*	Fixed incompaitbility with Windows servers involving page numbers in URLs. '+' is now used
	instead of ':'
*	Fixed bug with stickies not showing if no non-sticky threads exist (with thanks to "Sani")
*	Moved `theme_pageList` from 'theme.config.default.php' and into a new 'theme.php' for storing
	the theme functions; this allows each theme to use different types of lists without
	'theme.config.php' having to be updated all the time
*	Page numbers are now validated / bounded
*	Current page number more visible
*	Added INSTALL.txt
*	If a mod / member, threads in locked forums no longer show warning message
	(similar to the change in v18 that removed the same warning from index pages)


#19. Kroc

I finally managed to get around to something I’ve been putting off for a long time—updating the graphics for retina displays. Instead of doing this manually, I’ve written a bash script to slice and dice all the images for me. This will make adding colour alts extremely simple in the future.

Go forth and enjoy the crisp NNF icons on your iPads and iPhones!

% v20	19.JUN.12
*	HiDPI / Retina display graphics
*	Massively improved error messages
*	Using a blockquote directly within blockquote fixed
*	Forum title truncated "…" if too long for screen size
*	Google search and IE9 metadata was moved out of core and into 'theme.php'
*	Typo in 'lang.example.php' that was causing errors when making translations
*	Custom logo option had been broken for a long time, sorry!

Please note that with this version there were a few theme changes, so if you have a custom theme, please read the git log for details.


#20. Kroc

You asked for it, here it is: NoNonsense Forum can now run without HTAccess! This was a lot of hard work to do! This should hopefully allow more people to make use of NNF.

% v21	08.JUL.12
*	Support for running without HTAccess: NoNonsenseForum will now auto-detect if '.htaccess' is
	missing or disabled and fall back to running without, automatically rewriting URLs to full
	form. Note that to be able to use NNF without HTAccess, you will have to move the "users"
	folder to a private location, using the feature below
*	Added `FORUM_USERS` option to 'config.default.php' to set the location where the passwords are
	saved. you will need to change this option to run NoNonsense Forum without HTAccess. It can
	also be used to share the same users between multiple forums or even other compatible software
*	Added Windows 8 Metro pinned-site tile "metro-tile.default.png",
	you can override it by providing your own "metro-tile.png"
*	`METRO_COLOUR` theme option to set the Metro tile colour on Windows 8 and the pinned-site
	colour on Desktop IE


#21. Kroc

I'm rolling up a lot of small fixes into a release, enjoy!

Theme writers please note that a new class `nnf_error` appears on `#nnf_post` and `.nnf_reply` by default and is removed if there is no error. "theme.config.default.php" has gained a `THEME_HTML_ERROR` constant with which you can define the message shown for posts with invalid HTML.

% v22	13.OCT.12
*	Posts with invalid HTML now display a message, rather than dumping PHP errors
*	RSS URL in the HTML meta was wrong and had been for some time!
*	Massively improved transliteration from thread title to filename / URL; if using PHP5.4 with the 'intl' extension
	enabled, even Greek / Hebrew / Arabic / Japanese / Chinese (and more) will be transliterated into ASCII! 
*	Fixed italics appearing in the middle of URLs
*	Fixed bug with URL parsing with subdomains
*	Improved code markup "`...`" parsing
*	Improved templating speed, with thanks to Sani
*	Improved .htaccess compatibility with Mac OS, with thanks to Zegnat
*	Fixed lock button accidentally showing sometimes, with thanks to Paul M.


#22. Kroc

A special present to make you all feel warm and cosy: v23 is here!
Check out those title line permalinks!

:: Changes

% v23	24.DEC.12
*	Duplicate appends are now ignored
*	Title lines (":: ...") within posts now link to themselves,
	allowing external links directly to title lines
*	Fixed mods not being able to reply to locked threads
*	Improved denying access to NNF's folders and a "cgi-bin" folder no longer shows as a sub-forum
*	`$1` no longer being stripped from code spans / blocks, with thanks to Zegnat
*	`THEME_APPEND` has been removed, `THEME_APPENDED` is a plain-text (but markup allowed) replacement.
	This is necessary to ensure that title links are always unique when appending text to a post.
	This also means that the class `nnf_appended` is gone, old appended dividers won't be styled
*	"@user" names in posts are now classed ("nnf_mod") if the user is a moderator
*	Fixed inconsistencies with 'nnf_mod' and changed class 'sticky' to 'nnf_sticky'
*	Canonical URL `<link>` added to "index.html" / "thread.html" / "markup.html" and "privacy.html"
*	Sign-in is now a button instead of a link, this mostly paves the way for future improvements
*	Page numbers now shown at the top when on portrait mobile display
*	External links now use `rel="nofollow external"`, internal links do not use `nofollow`,
	with thanks to Zegnat
*	Title field is now spellchecked
*	Simplified the `url` function, note that this will affect your 'theme.php',
	just drop the first parameter

:: Download

#23. Kroc

I've pushed two small fixes for a couple of late bugs in v23, extra paragraphs being added around PRE blocks, and pages not working on sub-forums. The version number hasn't been bumped, these fixes will be included officially in v24 when that's done.

Special thanks for users providing feedback so quickly after v23 was released!

#24. Kroc

So as not to hit people with too many theme changes at once, here's v24 that finally fixes up the remaining translation support. You can now translate HTML titles, as well as the date format ('dd/mm/yyyy' > 'mm/dd/yyyy') amongst other useful stuff.

% v24	10.01.13
*	Dynamic HTML titles (index / thread pages), the date format ('dd/mm/yyyy') and other strings that were previously
	not translatable (since v19) are now translatable. This causes a number of changes in theme configuration:
	-	These strings are now stored in `$LANG['']` (the default language) in 'theme.php' instead of, as before,
		as constants in 'theme.config.default.php', therefore it is advised that you make a new 'theme.config.php'
		file by making a copy of the updated 'theme.config.default.php' file
	-	If you've modified the 'theme.php' file at all, you should update to the new version
	-	If you've written any translations, you will need to update those with the new set of strings at the top
		of 'lang.example.php'
*	Fixed duplicate ID `nnf_post`, with thanks to Bruno Héridet
	NOTE: `<article id="nnf_post" class="...` was changed to `<article class="nnf_post ...` in "append.html",
	"delete.html" and "thread.html". No changes required in the CSS.
*	Fixed critical typo in "lang.example.php" with thanks to "gardener"
*	Pages were not working on sub-forums, with thanks to Steve Bir
*	Removed extra space that was being added around code blocks

#25. Kroc

Due to me moving home very soon and many other things taking up time, I'm pushing out v25 now (even though there's no new features) just so that users don't have to wait around on bugs for so long.

% v25	26.02.13
*	Fixed iOS rotation / zooming with the help of TCB
*	Fixed appends double-encoding HTML, with thanks to Stephen Taylor
*	Fixed unable to delete corrupted posts unless signed in
	NOTE: the class `nnf_error` was added to `<article class="nnf_post nnf_op">` in "delete.html"
*	Updated to DOMTemplate v16, much better handling of HTML / XML

Your friendly neighbourhood moderators: Kroc, Impressed, Martijn