Apache Sling 14 released

The Sling 14 release contains numerous improvements, such as official Java 25 Support and supporting the Jakarta Servlet API, and various performance improvements and updates.

Read on to see more details about the individual improvements. To find out more about running Sling, see our getting started page.

Official support for Java 25

The Sling Starter and included modules are validated to work on Java 17, 21 and 25.

Note that the org.apache.sling.commons.threads will not clean up leftover ThreadLocal instances unless the --add-opens java.base/java.lang=ALL-UNNAMED is passed to the JVM. This fix is already applied to the official Sling Starter Docker image and we anticipate further fixes in this area.

Support Jakarta Servlet API 6.1 and switch to Jetty 12

Sling Starter 14 runs on Jetty 12 and fully supports Jakarta Servlet API 6.1. However, OSGi bundles implemented against the old Servlet API 4 are still supported as well. You don't have to update your application code. New projects should start using the latest Servlet API right away.

See this talk for more details: adaptTo() 2025 - Seamless Transition: Apache Sling's Adoption of Jakarta Servlet API

Drop support for Java 11

All Sling modules that have been migrated to Jakarta Servlet API 6.1 have Java 17 as minimum version, so Java 11 is no longer supported for the Sling Starter.

Switch to jakarta.json completed

All modules have been migrated from org.json to jakarta.json and the Sling Starter 14 only comes with Apache Johnzon 2.x. If you still have modules using org.json, you can continue to use them, but you have to deploy a 1.x version of org.apache.sling.commons.json in addition to the 2.x version.

Switch to SLF4J 2

The Sling starter and a couple of core modules have switched to SLF4J 2. Apache Sling Commons Log 6 is included in Sling Starter 14 and comes with an updated logback implementation and full support for SLF4J 2. Bundles using SLF4J 1 are still supported.

Separate Bundle for Sling Event API

The Sling Event API, which was exported by the implementation bundle before, is now deployed as separate bundle org.apache.sling.event.api - ensuring a proper separation of API and implementation.

Sling Starter

Sling Starter now registers by default an JMX MBean platform powered by Apache Aries JMX.

By including a new JAXP Configurator bundle in the Sling Starter, CVE-2025-66516 is fixed. See Apache Sling advisory regarding CVE-2025-66516 for details.

Sling API

Two small additions to Sling API:

  • SLING-12815 Expose methods to escape/unescape characters which are invalid in Sling Resource names
  • SLING-12441 Support InputStream based request parameters in Builders

Version updates

All bundles have been updated to the latest versions.

New bundles added to Sling Starter:

  • org.apache.aries.jmx.mbeanserver-platform
  • org.apache.jackrabbit:oak-auth-external

The following bundles are removed from the Sling Starter:

  • org.apache.sling.commons.johnzon 1.x

A couple of bundles changed their artifact ID and are thus replaced with the latest version using the latest artifact ID (e.g. Commons Math, Jetty).

OSGi Core R8 compliance

Sling Starter ships with Apache Felix 7 which implements OSGi Core R8 fully. In addition it comes with Felix SCR 2.2 which implements Declarative Services 1.5 (part of OSGi Compendium R8).

Aggregated list of changes

Generated by starter-comparator: Lists all bundle changes since the last Starter release, including links to issues found in the commit messages of the affected Sling bundles.

Added:

  • org.apache.aries.jmx:org.apache.aries.jmx.mbeanserver-platform 0.0.1
  • org.apache.commons:commons-math3 3.6.1
  • org.apache.felix:org.apache.felix.http.jetty12 1.1.8
  • org.apache.jackrabbit:oak-auth-external 1.90.0
  • org.apache.sling:org.apache.sling.commons.log 6.0.4
  • org.apache.sling:org.apache.sling.event.api 1.0.4
  • org.apache.sling:org.apache.sling.jaxp-configurator 1.0.0

Removed:

  • org.apache.commons:commons-math 2.2
  • org.apache.felix:org.apache.felix.http.jetty 5.1.26
  • org.apache.sling:org.apache.sling.commons.log 5.5.0
  • org.slf4j:slf4j-api 1.7.36

Changed:

- ( Apache Sling 14 released )