Skip to content

Release notes:OpenCms 20

Date:
October 14, 2025
OpenCms 20 introduces “online-only” folders, where content is automatically published immediately after any change. The new “Link Finisher” option standardizes links that point to the same page but use different endings. The total disk space used by all resources within a folder is now automatically calculated and displayed. A new upload whitelist allows configuration of which file types are permitted in the upload dialog. Additionally, external links in WYSIWYG fields can now automatically receive a designated CSS class.
OpenCms 20

OpenCms 20 is now available as a free download.

OpenCms is one of the most popular Open Source Content Management solutions. This new version has been developed by Alkacon Software GmbH with the support of the international OpenCms developer community.

We have also updated the OpenCms Docker image as well as the OpenCms documentation, the Mercury Template documentation and the OpenCms demo site for this release.

The team at Alkacon Software would like to thank everyone who contributed to this release.

Have fun using OpenCms :-)

Important new features

Further improvements in OpenCms 20

  • Page editor: Hide "detail only" containers with a layer when editing a detail page.
  • Page / Form editor: Display of "Page editor" and "Form editor" when editing pages or resources.
  • Workplace: Added filter option to the resource dialog in the explorer.
  • Workplace: Access the list of users in a group directly from the permission dialog.
  • Workplace: Property dialog keeps "Resource Box" visible when scrolling.
  • Workplace: Support for folder-based content creation rules.
  • Workplace: Allow "local content elements" creation in a configured folder.
  • Image scaler: Improved handling of scaling multiple images simultaneously.
  • Core API: Using java.nio.* classes for some core operations.
  • Core API: Minimum supported Servlet version is now 4.0.
  • Core API: Remove old entries from the CMS_STATICEXPORT_LINKS database table.
  • Core API: Improved job for deleting historic resource versions.
  • Core API: Improved support for accessing a website using the IPv6 address without DNS.
  • Core API: Migrate Maven publish process to use Central Portal.
  • Core API: Spread z-index for toolbar and dialogs.
  • Pull request #817 sets the 'Title' property when creating a file after synchronizing it from the RFS. (github pull request #817).

Issues fixed in OpenCms 20

  • Fixed issue with setting the "Content-Type" header in JSPs in Jetty.
  • Fixed issue with setting HTTP headers in JSPs and instances of CmsJspActionElement in Jetty.
  • Fixed issue with core shell and setup scripts not working in Jetty.
  • Fixed issue with "Compare locales" where the icon would appear "grayed out" for hidden entries.
  • Fixed issue with form editor not using the localized title property when inserting an image.
  • Fixed issue with permission check for role ROOT_ADMIN not seeing all explorer types.
  • Fixed issue with orphaned relations leading to errors when deleting files.
  • Fixed issue with FileTable column display for other apps that use the table (not the explorer).
  • Fixed issue with I_CmsWorkplaceStylesheetProvider loading CSS files twice.
  • Fixed issue with text area width in WYSIWYG editor not correctly initialized in case of tabs.
  • Fixed issue #811 with frequent exceptions from CmsFileTable in the log (github issue #811).
  • Fixed issue #815 with 'Element Author' role missing the 'Undo' context menu option (github issue #815).
  • Fixed issue #815 with 'Element Author' role with edit buttons in info dialog not working (github issue #815).
  • Fixed issue #816 with OpenCms not working on CentOS (github issue #816).

Backward compatibility of OpenCms 20

OpenCms 20 is backwards compatible with all OpenCms versions from 10 to 19. Templates and other OpenCms developed code from these versions should mostly work “out of the box” with version 20.

Note for Alkacon OCEE users: Alkacon OCEE users will need a new OCEE version for OpenCms 20. The update is free for Alkacon customers with a current OCEE subscription. Please contact Alkacon to obtain the new version.

Compatibility with Java versions, servlet containers and databases

OpenCms 20 is compatible with Java 21, 17 and 11.

OpenCms 20 requires a Java Servlet 4.0 compliant web container. We have tested this release with Jetty and Tomcat. It works “out of the box” with Jetty 12 or Tomcat 9. Others have reported successful deployments of OpenCms on other web servlet containers like WildFly, GlassFish, WebLogic, WebSphere and Resin.

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

Git branches and build tags for this release

The main OpenCms Git repository is available on Github at github.com/alkacon/opencms-core.

This release is tagged build_20_0_0. In case you want to get the most recent OpenCms sources from Github, please check out the branch master

About OpenCms

OpenCms is a leading Open Source Content Management System. The software has been in continuous development since 2000 and has an active community of open source developers.

OpenCms is a Java and XML based enterprise website content management solution built entirely from open source components. The user interface is completely browser based. OpenCms offers powerful and easy-to-use features that are particularly suitable for Internet or Intranet applications of large companies and organizations. OpenCms is open source software released under the LGPL license.

Alkacon Software GmbH & Co. KG from Cologne, Germany is the company responsible for the development of OpenCms. Alkacon Software provides training, support and add-on products for OpenCms. This provides our customers with additional security and convenience when using OpenCms in mission critical installations. For more information, please see the Alkacon product overview.

Main Features of OpenCms

  • 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 creating new pages and rearranging the navigation tree by drag & drop.
  • Responsive "Mercury" default template based on Bootstrap 5 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 content 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 a single installation.
  • Content can be served dynamically or exported to static HTML files.
  • File access to the OpenCms content repository over WebDAV and CMIS.
  • Integrates Apache SOLR for powerful content searching and noSQL like queries.
  • Full text search for web pages as well as in office documents such as 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 much more

How you can help

If you find a security vulnerability, please report it to us by using our security vulnerability report form.

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

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