Active development of JAMWiki has ceased, and bug fixes and support will be limited at best. If you are interested in taking over management of JAMWiki please send an email to the jamwiki-devel mailing list.

JAMWiki 0.9.0

Download JAMWiki 0.9.0:

Release Notes

After seven months of development the pensive and brooding JAMWiki 0.9.0 release (code name "Mythbuster") is now available for download from SourceForge. This release is a major release that contains significant new features as well as bug fixes and enhancements:

  • Performance Improvements. Performance has been optimized across the application, with speedups of anywhere from a few percent up to 100x. Scalability has also been improved, with extensive testing done using datasets that include 70,000 topics and over 1.3 million topic versions.
  • Mediawiki Syntax Compatibility. Syntax compatibility has been vastly improved, particularly for templates. In addition, support has been added for the {{subst:}}, {{#if}}, {{#ifeq}} and {{#expr}} functions, and image support now also includes the ability to specify the frameless, link=, alt= and {width}x{height} attributes.
  • Improved Namespace Support. A new Special:VirtualWiki administration page has been created to allow namespace translations and easier virtual wiki administration.
  • Underlying libraries used by JAMWiki have been upgraded, including upgrades to Spring Framework 3.x, Spring Security 3.x and Lucene Search 3.x.
  • More. An array of translation updates, bug fixes, enhancements, and cleanups.

See below, as well as the CHANGELOG.txt and README.txt files included in the JAMWiki distribution, for further details. Please provide feedback on the Feedback page and report any bugs on the Bug Reports page. Bug reports should include any error messages from the logs and any additional information that can be used to diagnose the problem.

Installation & Upgrade Instructions

New Installs

See Installation#New Installs.


See Installation#Upgrades. When upgrading site administrators should be aware of the following issues that are specific to this release:

  • Backup your database prior to upgrading. This release makes changes to the database schema. The upgrade process will attempt to automatically update existing JAMWiki database setups. While the upgrade process is well-tested, a failure could leave your wiki database in an unusable state so users are STRONGLY encouraged to perform a backup prior to upgrading.
  • This release updates the default StyleSheet topic. Any custom modifications to the stylesheet will need to be restored after upgrading; past versions of the StyleSheet topic can be found by viewing that topic's history.
  • This release updates the search engine and search index formats. Administrators should rebuild the site search index using the tools on the Special:Maintenance page after the upgrade is completed.


New Features

  • Signficant updates to the syntax parser, including support for additional HTML tags and XHTML transitional validation of tag attributes.
  • New Special:VirtualWiki page for administering virtual wikis and namespaces, including the ability to configure translated / alternate namespaces and to change the default virtual wiki from "en".
  • Support the #if: and the #ifeq parser functions. Usage: "{{#if: test | true | false}}" and "{{#ifeq: 1 | 2 | true | false}}".
  • Basic support for the #expr: parser function. Only basic operations are supported (+, -, /, *) and parentheses must be used to ensure that the order of operations is followed.
  • Support added for the {{ns:}} and {{nse:}} parser functions.
  • Support Mediawiki's {{subst:}} syntax. Usage: {{subst:template}}.
  • Support added for the __NOEDITSECTION__ behavior switch.
  • Support added for the {{NUMBEROFARTICLES}}, {{REVISIONUSER}} and {{REVISIONID}} magic words.
  • Add the ability for sysadmins to create user accounts (hanspeterklapf).
  • Topic add/update is now significantly faster due to query refactoring and changes so that the search index is not re-optimized after every add/update.
  • Topic history retrieval speed improved by a factor of up to 100x for large data sets by adding an additional database index.
  • Search engine optimizations. Existing JAMWiki installs should rebuild their search index using the tools on the Special:Maintenance page.
  • "Filter results by namespace" added to Special:Allpages.
  • Update the CSS & HTML used for forms. Requires StyleSheet topic update.
  • Support ehcache.xml configuration. Based on code by Daniel Fisla (dfisla).
  • Automatically populate sample JDBC values based on database type on the setup and admin pages.
  • Remove all dependencies on Spring Security from the jamwiki-core project by converting org.jamwiki.model.Role to an interface and creating a new org.jamwiki.authentication.RoleImpl class.
  • Run the spam filter against edit comments as well as topic content to thwart spam attempts.
  • Update image parsing to match the latest Mediawiki standards, including support for "frameless", "link=", "alt=", "{width}x{height}" and the "Media:" namespace.
  • Allow parameters to be used when topics not in the template namespace are are utilized as templates. Example: "{{myTopic|arg1=test1|arg2=test2}}".
  • Remove ability to automatically upgrade from versions prior to 0.7.0.
  • Move the database code into the jamwiki-core project.
  • All unit tests now use HSQL as a test database, rather than the dummy TestDataHandler.
  • Delete the webtest module, reducing the source code size by 12MB.
  • Remove the "export internal database to CSV" functionality - since it is now possible to export to XML and migrate databases this capability is no longer needed.
  • Highlight the currently selected tab on each page by adding an "active" CSS class. Suggested by cstenkes.
  • Resize large images on Image: pages to a maximum dimension of 800x600.
  • Upgrade to Spring Framework 3.0.1.RELEASE.
  • Upgrade to Spring Security 3.0.2.RELEASE.
  • Upgrade to Lucene Search 3.0.1.
  • Upgrade to ehcache 1.7.0.
  • Upgrade to commons-pool 1.5.4.
  • Upgrade to JUnit 4.7.
  • Upgrade to HSQLDB


  • Leading whitespace should be trimmed from category names such as "Category: Test" or "Category : Test".
  • Special:Import and Special:Export code refactored to avoid OOM errors with topics that have extensive history.
  • Properly parse template parameters that are themselves templates, such as "{{{{{template_name}}}}}" or "{{{1|{{PAGENAME}}}}}".
  • Process interwiki links only if the link does not contain a virtual wiki or namespace. Thus if a wiki has a namespace of "Test" and an interwiki of "Test", the link "Test:Topic" will parse as an internal link rather than an interwiki link.
  • Trim leading and trailing whitespace during parsing when a template is included to fix breakage of wiki table syntax such as "!{{Hl2}}| Word".
  • Named template parameters should also be allowed to be referenced by index, for example "name={{{named}}}, index={{{1}}}".
  • The {{SITENAME}} magic word was not fully implemented, and returned "SITENAME" instead of the actual site name.
  • Links containing templates or magic words of the form "[[{{PAGENAME}}]]" should properly resolve the template/magic word.
  • If a namespace is not case-sensitive (user, template, category) then the associated comments namespace should not be case-sensitive either.
  • Interwiki links should not be rel="nofollow".
  • Links of the form "[[Help : Test]]" should link to the "Help:Test" page but output "Help : Test" as the link text, as per Mediawiki.
  • Fix parsing of nested links such as "[[Topic|caption with link]]".
  • Wiki pre syntax (" pre <span>HTML</span>") should allow HTML, although HTML pre ("<pre>pre <span>HTML</span></pre>") should not.
  • Fix an issue that caused the original image URL (instead of the resized image URL) to be used for syntax such as "[[Image:Example.jpg|200px]]".
  • Use MEDIUMTEXT instead of TEXT for storing topic content on MySQL. This increases the maximum allowed topic size from 64kb to 16MB.
  • Fix issues where image transparency was lost after resizing.
  • The Bliki parser was not included in the distribution and thus could not be selected from the Special:Admin page. Reported by cstenkes.
  • Fix parsing of links followed by quotation marks: "".

Translation Updates

  • Added Sinhala translations (ruchira56).
  • Updated German translations (axelclk).
  • Updated Hungarian translations (cstenkes).
  • Updated Polish translations (dlpa).
  • Updated Russian translations (shar).