Skip to content

OpenCms 16 release notes

OpenCms 16
The OpenCms 16 release notes contain detailed information about the new features and fixes in this version.
October 2, 2023

OpenCms 16 brings the new app "Unused contents" that allows to find and delete content that is not actively used on any container page. It is now possible to select between several individual detail pages in the same website based on categories of the detail content. The gallery dialog in the editor has been improved with additional filter and grouping options, so that content managers can find relevant content faster. It can now be enforced that all content managers must set a new password after the next login. The default Mercury template brings several new features, for example the "Image tile display" formatter for the "Tabs / accordion" element.

Major new features of OpenCms 16

  • New app to find "Unused contents"
  • Category based detail pages
  • Grouping of galleries in the "Galleries" tab of the gallery dialog
  • Search for sites in the site selector on the "Folders" tab of the gallery dialog
  • Search for types in the "Create new resource" dialog in the explorer
  • Option to force all users to set a new password after login

Further improvements in OpenCms 16

  • Page editor: The element settings dialog layout has been improved
  • Page editor: The gallery dialog layout has been slightly improved
  • Workplace: The "Projects" app now allows filtering by OU
  • Workplace: Temporary instead of permanent redirects are used in the offline project for "HTML redirect" resources
  • Lists: "cms:display" for "binary" resources now supports adding new files with [+] on the list
  • JSP API: Extension of the "cms:link" tag to support "var" and "type" attributes
  • JSP API: OpenCms link object for the EL
  • JSP API: Added "replaceInvalid" option to "cms:secureparams" to replace invalid parameters with a default text
  • JSP API: Several shortcut methods have been added to the "CmsJspStandardContextBean"
  • Configuration: The element setting configuration now allows alternatives for values and property names
  • A possible update to Tomcat 10 has been evaluated
  • Pull request #769 implemented support for putting detail contents of different types in the same folder (github issue 769)
  • Pull request #773 added updated Spanish localization provided by rgaviras (github pull request 773)
  • Pull request #767 added support for Apple Wallet .pkpass files (github pull request 767)

Issues fixed in OpenCms 16

  • Security: Fixed issues in several dependencies by bumping the affected dependencies to the latest version
  • Security: Fixed issue with the Solr Handler related to the qt parameter
  • Workplace: After "Undo changes" on a detail page element, the wait screen did sometimes not close
  • Workplace: The "About" dialog did not correctly display for users without role "Workplace User"
  • Workplace: The "Rename" option for images was shown in the gallery dialog even if user has no permissions for this action
  • XML: Content correction did not correct empty nested contents
  • Configuration: ResourceType configuration for "modelgroup" did ignore the order
  • Configuration: Content storage location for detail containers in storage mode "with page" did not work as expected
  • Search: Offline indexing results on module update during setup were sometimes incorrect
  • Caching: Incorrect caching for "Password reset" state was used for user lists
  • Caching: Container page caching did not take user permissions on container elements into account
  • Fixed issue with multiple OpenCms instances in one Tomcat all writing to the same log file
  • Fixed XSS issue with HTML-valued properties in the explorer
  • Fixed XSS issue with HTML in the gallery search field
  • Fixed issue #763 with XSS in module info dialog (github issue 763)
  • Fixed issue #764 where a filter query "search_exclude:false" would be set multiple times in CmsSolrQuery objects (github issue 764)
  • Fixed issue #772 in the "Show online" function for detail pages (github issue 772)
  • Fixed issue #779 with broken calendar widget in Czech locale (github issue 779)

General OpenCms features

  • The page editor allows WYSIWYG inline editing of web pages and arrangement of content by drag & drop.
  • The form based editor allows editing of structured content in a well defined form mask.
  • The sitemap editor allows to create new pages and re-arrange the navigation tree by drag & drop.
  • Responsive "Mercury" default template based on Bootstrap 4 with many features.
  • Headless API for accessing content as JSON from external applications.
  • Content creation for mobile devices with preview and device specific content control.
  • Structured contents can be defined using a simple XML schema.
  • Easy to use "Online / Offline" workflow, changes must be approved before they become visible.
  • Link management for all internal resources with broken link detection.
  • Integrated image scaling and cropping.
  • SEO features with automatic sitemap.xml generation and page alias support.
  • Full featured user management that supports the concept of "Organizational Units" (OUs).
  • Allows management of multiple websites within one installation.
  • Contents can be served dynamically or exported to static HTML files.
  • File access to the OpenCms content repository over a shared network / SMB drive.
  • CMIS and WebDAV access to the OpenCms content repository.
  • Integrates Apache SOLR for powerful content searching and noSQL like queries.
  • Full text search for web pages as well as in office documents like PDF, MS Office and Open Office.
  • Extensions can be added through a flexible module system.
  • The "time warp" feature allows to view resources which are expired or not yet released.
  • JSP integration for dynamic functionality in templates, dynamic forms etc.
  • ... and many more

Backward compatibility

OpenCms 16.0 is backward compatible with all 15, 14, 13, 12, 11, 10.5 and 10 versions. Templates and other OpenCms developed code from these versions should work mostly "out of the box" with version 16.

Notice for users of Alkacon OCEE Users of Alkacon OCEE require a new OCEE version for OpenCms 16. The update is free for Alkacon customers with a valid OCEE subscription. Please contact Alkacon to receive the new version.

Compatibility with Java versions, servlet containers and databases

OpenCms 15 has been written and tested for Java 11 and Java 8. We have tested with ORACLEs JDK as well as OpenJDK. OpenCms should run with all compliant JVMs.

We have tested this release on the Tomcat servlet engine, which we recommend. OpenCms works "out of the box" with Tomcat 9 and 8.5. Others have reported deploying OpenCms successfully on other servlet containers like JBoss, WildFly, WebLogic, WebSphere, GlassFish and Resin.

On the database side, we provide support for MySQL, MariaDB, Oracle, PostgreSQL, MS SQL Server, DB2 and HSQLDB.

Regarding version numbers and build tags

The main OpenCms Git repository is available on Github at

In case you want to get the most current OpenCms 15 sources from Git, please check out branch master. This release is tagged build_16_0_0.

How you can help

Contributions to the OpenCms core development are most welcome. Please send us your pull requests directly on GitHub.

Please report issues found in OpenCms using our GitHub issue tracker.

Thank you for using OpenCms and have fun with OpenCms :-)