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 1.0

Download JAMWiki 1.0:

Release Notes

After seven months of development the always excitable JAMWiki 1.0 release (code name "JAMWiki") 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:

  • Mediawiki syntax compatibility improvements. JAMWiki 1.0 has been tested against test data that includes thousands of topics from multiple language versions of existing Mediawiki sites to ensure that syntax parsing is as close to Mediawiki as possible. In particular, many template processing issues have been resolved and new syntax support has been added for HTML heading tags (<h1>, <h2>, etc) and the <onlyinclude> tag. New parser function support includes {{#switch}} and {{#ifexist}}.
  • Shared image repositories. Sites that make use of virtual wikis will now be able to specify one virtual wiki as a shared repository for images. Other virtual wikis can then reference those images as if they were on the same virtual wiki, eliminating the need to upload to two different places.
  • UI updates. The diff and history pages now more-closely match Mediawiki with links to the previous diff, author information, and other useful information displayed. Additionally, the UI of the admin screens now uses tabs for better organization, making it easier to manage an installation.
  • Virtual wiki enhancements. Several long-awaited capabilities are now in place for virtual wikis, including the ability to specify logos, titles, and meta descriptions that are specific to a virtual wiki.
  • Image processing enhancements. A new image resizing algorithm produces images of much higher quality while offering slightly better performance and less memory usage.
  • Interwiki enhancements. A new option allows interwiki links of the form [[wikipedia:Main Page]] to render in a toolbox in the left nav, matching the behavior found on Mediawiki sites. The old JAMWiki behavior can be re-enabled through a configuration option in the Special:Admin tool.
  • Performance improvements. Ongoing performance work is aimed at making this the fastest and most scalable JAMWiki release yet.
  • Build improvements. For developers, Michael Osipov has significantly improved the Maven build scripts.
  • 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 in the JIRA bug tracker. 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.
  • Log configuration has changed. Logging is now configured with /WEB-INF/classes/logback.xml. The /WEB-INF/classes/ file is no longer used and can be deleted.
  • The file is no longer used. Interwiki links can now be configured from the "Interwiki Links" tab of the Special:VirtualWiki page.
  • Interwiki and virtual wiki links will display in a box in the left nav. Links of the form [[interwiki:Topic]] will by default appear in a box on the left side of the screen. The legacy behavior can be restored using the "Display interwiki links inline" and "Display virtual wiki links inline" options on the Special:Admin page.


New Features

  • Add an option to specify a "shared file repository" from the Special:Admin page. If set, then any virtual wiki will be able to access images from the "shared" virtual wiki as if they were on the same virtual wiki.
  • Use a new algorithm for image resizing to greatly improve image quality.
  • Update the Special:Diff UI to display additional information, including revision dates, edit comments, and links to previous/next diff.
  • Display author, revision information, and links to previous/next revision when viewing an old version of a topic.
  • Virtual wiki enhancements including the ability to configure a different site name, meta description and logo for each virtual wiki.
  • Support the #switch parser functions. Usage: "{{#switch: value | case1 = result | case2 = result | default}}".
  • Support the #ifexist parser function. Usage: "{{#ifexist: topic | exists | does not exist}}".
  • Support the Mediawiki <onlyinclude> tag for template content.
  • Allow use of HTML heading tags (<h1>, <h2>, etc).
  • Use SLF4J for logging instead of java.util.logging to allow consolidated logging from core code and dependencies such as Spring and ehcache. Site admins will need to configure the /WEB-INF/classes/logback.xml file.
  • Update the admin page UI to improve usability - content is now organized using tabs, and some options have been re-worked.
  • Store interwiki patterns in the database and add a management interface for interwiki links to the Special:VirtualWiki page. Not all of the patterns from the old file have been migrated, so sites using patterns that were not migrated will need to manually add them.
  • Display interwiki and virtual wiki links in boxes in the left nav by default. Sites needing the old behavior (inline links) can re-enable it from the parser tab of the Special:Admin page.
  • Use the database rather than the search engine to generate results for the Special:LinkTo page and add pagination and sorting to Special:LinkTo.
  • Refactor Special:OrphanedPages to vastly improve speed & scalability.
  • SEO optimizations: return HTTP 404 when requesting a page for a topic that does not exist, return HTTP 500 for error pages, and specify the "canonical" meta tag for redirected topics.
  • Wiki date patterns can now be configured from the Special:Admin page. Suggested by Michael Osipov.
  • Add support for the Caché database (dprekker).
  • Add an option to treat capitalized and lowercase topic names as a single record. For example, "Topic" and "topic" would refer to the same topic.
  • Display pagination options when viewing topic categories.
  • Reduce the amount of parsing the must be done when importing topics in order to improve performance.
  • Use a separate "resized" folder to cache resized images in order to more clearly separate original uploads from thumbnail and resized images.
  • Organize new file uploads by virtual wiki on the file system.
  • A new "Regenerate Topic Metadata Records" tool has been added to the Special:Maintenance page to allow regeneration of all topic metadata including categories and "link to" records.
  • Remove ability to automatically upgrade from versions prior to 0.8.0.
  • Remove unused/obsolete Javascript and namespace the remaining code.
  • Add several indexes to the database to improve query performance.
  • Persist configuration information to a new jam_configuration table in addition to the file. This table will be used in future releases.
  • Removed Java Diff from JAMWiki source and moved to Maven Central repository.
  • Reworked internal POM structure and made build process easier than ever before.
  • Upgrade to Spring Framework 3.0.5.RELEASE.
  • Upgrade to Spring Security 3.0.5.RELEASE.
  • Upgrade to Ehcache 2.1.0.
  • Upgrade to Lucene Search 3.0.3.
  • Upgrade to commons-fileupload-1.2.2.
  • Upgrade to commons-io-2.0.
  • Upgrade to bliki-core 3.0.16.


  • Fix template parsing when <includeonly>|</includeonly> is used.
  • Fix template parsing for syntax like "{{{template}}".
  • Interwiki links and virtual wiki links with no topic name of the form "[[interwiki:]]" or "[[:virtualwiki:]]" should link to the root page of the link target.
  • Images with multiple captions ([[Image:Example.gif|caption1|caption2]]) should only render the last caption value specified.
  • Fix a design flaw in processing of nested metadata, such as categories included via templates or "link to" in records in image captions, that could cause nested information to not be processed for the parsed topic.
  • A corrupt image should not halt page parsing; instead just display the image name as text.
  • Refactor image processing code to use less memory and avoid OOM errors.
  • For SVG images and other images that cannot be resized by the JVM, return a link to the image file rather than an upload link or error message.
  • When importing topics with Special:Import convert from Mediawiki to JAMWiki namespace for additional patterns including "[[:", "{{", and "{{:".
  • Fix parsing of category when the category name is a template parameter such as "[[Category: {{{1}}}]]".
  • Templates and signatures should be expanded when using wiki preformatted sytnax (" ~~~~") but not when using HTML preformatted syntax ("<pre>~~~~</pre>).
  • Convert all Special: pages to use proper camel case, and create redirects for the non-camel case versions. Reported by Michael Osipov.
  • Clicking the "diff" button on the Special:History page for topics with only one revision should not generate a system error. Reported by shar.
  • Make the parser's infinite loop detection more robust.
  • Fix an issue that caused non-link signatures ("my sig") to display tildes instead of the signature text.
  • When importing Mediawiki XML the Special:Import tool should trim author names longer than 100 characters to conform to JAMWiki database limits.
  • Do not throw a "topic already exists" error if importing a topic when the existing topic name differs from the new topic in a case-sensitive way.

Translation Updates

  • Updated German translations (axelclk).
  • Updated Russian translations (shar).