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.2

Download JAMWiki 1.2:

Release Notes

Seven months after the last major JAMWiki release, the brand-spanking-new JAMWiki 1.2 release (code name "Nevernude") 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 including:

  • UI and usability changes. A new JAMWiki:Header topic allows administrators to add shared text to the top of all pages, the edit summary now allows limited wiki text including wiki links and interwiki links, the table of contents now has a "show/hide" option, and "link to" records now also include links via redirect.
  • Spam handling. Optional integration with Project Honeypot is now available, and other minor updates should help reduce spam contributions.
  • Support for custom tags and templates. JAMWiki 1.2 provides the ability for developers to create custom tags, and for the HTML of elements like the table of contents to be changed via message format files. See Help:Tag extensions for additional details.
  • Upgrade simplifications. Work is ongoing to simplify the upgrade process by moving configuration and other files to the JAMWiki system directory, with the eventual goal of making upgrades as simple as initial setup.
  • Image/File storage. Images can now be stored in the JAMWiki system directory or directly in the database instead of only in the web server or app server docroots.
  • Updated caching. JAMWiki now uses finer-grained configuration of caches, including the ability to set cache limits as a percentage of heap memory to improve performance while eliminating out of memory situations reported by some users.
  • More. An array of translation updates, bug fixes, performance 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 for upgrade instructions. When upgrading site administrators should be aware of the issues that are specific to this release. If upgrading from a JAMWiki 1.0.x release please also see the JAMWiki 1.1 upgrade notes.

  • 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.
  • System topics have been renamed. "LeftMenu" is now JAMWiki:Sidebar, "BottomArea" is now JAMWiki:Footer, and StyleSheet is now two topics: JAMWiki:System.css and JAMWiki:Custom.css (site-specific customizations should be made to JAMWiki:Custom.css). In addition, a new JAMWiki:Header system topic has been added.
  • This release updates the default JAMWiki:System.css topic. Starting with JAMWiki 1.2 all custom CSS modifications should now be made in the new JAMWiki:Custom.css topic, which will not be overwritten during upgrades. To restore contents from the old StyleSheet topic view the topic history of the new JAMWiki:System.css topic.
  • JAMWiki now requires Servlet 2.5 and JSP 2.1. Java 5 has been required since JAMWiki 0.8, so this change should be transparent to most users.
  • Some configuration files have moved. The /WEB-INF/spam-blacklist.txt file and the /WEB-INF/classes/jamwiki-configuration.xml have been moved to the "resources" sub-directory within the JAMWiki system folder. If these files have been customized then they will need to be manually copied to the new folder, otherwise JAMWiki will create fresh versions automatically.
  • File uploads can now be stored in the system folder.
  • Cache configuration has changed. Cache settings are no longer customizable from the Special:Admin tool. Advanced users who need to change cache settings can do so by creating a custom ehcache-jamwiki.xml configuration.

Known Issues

  • Installations of JAMWiki 1.2.x on app servers with limited heap may see out of memory errors. See JAMWIKI-79 for details.


New Features

  • Upgrade dependencies to Servlet 2.5 and JSP 2.1. Java 5 has been required since JAMWiki 0.8, so this change should be transparent to most users.
  • Add support for limited wiki text in edit summaries (wiki links, interwiki links) to match Mediawiki behavior.
  • Add a new JAMWiki:Header system topic that allows adding a custom message to the top of all pages, just below the tab bar.
  • Add a new JAMWiki:Custom.css stylesheet. Starting with JAMWiki 1.2 System.css will be used for base CSS styles, while Custom.css should be used for site-specific customizations.
  • Move the system topics (BottomArea, LeftMenu, StyleSheet) to the JAMWiki: namespace (JAMWiki:Footer, JAMWiki:Sidebar, JAMWiki:System.css).
  • Add an option to block malicious IP addresses that are on the Project Honeypot blacklist from creating accounts, editing and uploading files.
  • Support storing images directly in the database rather than on the filesystem (avhohlov2).
  • Store images by default in the JAMWiki file system directory, rather than the webapp root, to allow simpler setup and upgrades.
  • Support extensions to the JFlex parser for iframes, Facebook and Twitter. See Help:Tag extensions for details.
  • Refactor caching. The cache is now configured to use a percentage of heap rather than a fixed size to avoid possible OOM situations, configuration is now managed via the ehcache-jamwiki.xml file, and individual caches have been fine-tuned to optimize performance.
  • If setup finds an existing JAMWiki installation it will now prompt the user to restore the old configuration, and will then begin the automatic upgrade process if necessary.
  • Allow the table of contents to be hidden via a "show/hide" link.
  • Add support for the Mediawiki {{padleft:}} and {{padright:}} parser functions. Usage: "{{padleft:string|amt|padString}}".
  • Enhance the #expr parser function to better match Mediawiki by supporting the order of operations and functions such as "round" and "trunc".
  • {{REVISIONMONTH}} is no longer padded ("4" instead of "04") while {{REVISIONMONTH1}} has been added in order to match Mediawiki behavior.
  • Allow page name and namespace magic words to specify the page to be operated on, instead of just the current page, to match Mediawiki behavior. Example: "{{PAGENAME:Template:Main Page}}".
  • Add a new ROLE_REGISTER to allow enabling/disabling self-registration for anonymous users. By default anonymous users are allowed to self-register.
  • Display the last IP address used by a user on the Special:Block page when blocking user accounts.
  • Move hard-coded HTML to template files to allow simpler customization of images, table of contents, and other elements.
  • Include links via redirects on the Special:LinkTo page.
  • Move several system configuration files (jamwiki-configuration.xml, spam blacklist) out of the webapp root and into the JAMWiki system directory to make upgrading simpler.
  • Add a honeypot input during registration to deter spambots.
  • Be more strict with HTML-like tags: tags of the form "< tag>" or "< / tag>" are no longer supported and must be of the form "<tag>" or "</tag>". This matches Mediawiki.
  • Use the JSP trimDirectiveWhitespaces directive to reduce whitespace in the generated HTML.
  • Deprecate TiddlyWiki import support.
  • Remove ability to automatically upgrade from versions prior to 1.0.
  • Upgrade to Spring Framework 3.1.0.RELEASE.
  • Upgrade to Spring Security 3.1.0.RELEASE.
  • Upgrade to Lucene Search 3.5.
  • Upgrade to Ehcache 2.5.
  • Upgrade to commons-lang 3.1.
  • Upgrade to commons-io-2.1.
  • Upgrade to commons-codec 1.6.
  • Upgrade to commons-pool 1.6.


  • Topic exports containing UTF-8 should not escape unicode characters. Reported by cstenkes.
  • Overhaul paragraph parsing to fix several edge cases and improve Mediawiki compatibility. For example, paragraphs can now start with "<".
  • Fix wiki line break ("----") to match Mediawiki by allowing four or more dashes as well as text on the same line as the dashes.
  • Newlines in table cells will now start a paragraph, matching Mediawiki behavior.
  • Allow whitespace in front of wiki table syntax (" {|") to match Mediawiki.
  • Parser directives such as "__TOC__" that are on their own lines should not cause paragraph insertion when parsed.
  • Allow thumbnail images to be specified using "thumnbail" in addition to "thumb" to match Mediawiki.
  • When a topic contains only whitespace it should be parsed to empty text and not display empty paragraph tags.
  • A warning should be displayed during the setup flow if an existing JAMWiki install is found, but was not executing properly.

Translation Updates

  • Updated Chinese translations (hfl).
  • Updated German translations (axelclk).
  • Updated Japanese translations (nattolover).
  • Updated Russian translations (shar).