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.
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.
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
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.
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.
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.
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 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.
Two small additions to Sling API:
All bundles have been updated to the latest versions.
New bundles added to Sling Starter:
org.apache.aries.jmx.mbeanserver-platformorg.apache.jackrabbit:oak-auth-externalThe following bundles are removed from the Sling Starter:
org.apache.sling.commons.johnzon 1.xA 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).
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).
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.1org.apache.commons:commons-math3 3.6.1org.apache.felix:org.apache.felix.http.jetty12 1.1.8org.apache.jackrabbit:oak-auth-external 1.90.0org.apache.sling:org.apache.sling.commons.log 6.0.4org.apache.sling:org.apache.sling.event.api 1.0.4org.apache.sling:org.apache.sling.jaxp-configurator 1.0.0Removed:
org.apache.commons:commons-math 2.2org.apache.felix:org.apache.felix.http.jetty 5.1.26org.apache.sling:org.apache.sling.commons.log 5.5.0org.slf4j:slf4j-api 1.7.36Changed:
com.composum.nodes:composum-nodes-commons 4.3.4 -> 4.3.5com.composum.nodes:composum-nodes-console 4.3.4 -> 4.3.5com.composum.nodes:composum-nodes-jslibs 4.3.4 -> 4.3.5com.composum.nodes:composum-nodes-pckgmgr 4.3.4 -> 4.3.5com.composum.nodes:composum-nodes-usermgr 4.3.4 -> 4.3.5com.fasterxml.jackson.core:jackson-annotations 2.18.2 -> 2.21com.fasterxml.jackson.core:jackson-core 2.18.2 -> 2.21.1com.fasterxml.jackson.core:jackson-databind 2.18.2 -> 2.21.1com.fasterxml.jackson.dataformat:jackson-dataformat-xml 2.18.2 -> 2.21.1com.fasterxml.woodstox:woodstox-core 7.1.0 -> 7.1.1commons-codec:commons-codec 1.17.2 -> 1.21.0commons-fileupload:commons-fileupload 1.5 -> 1.6.0commons-io:commons-io 2.18.0 -> 2.21.0org.apache.commons:commons-collections4 4.4 -> 4.5.0org.apache.commons:commons-lang3 3.17.0 -> 3.20.0org.apache.commons:commons-text 1.13.0 -> 1.15.0org.apache.felix:org.apache.felix.healthcheck.core 2.2.0 -> 2.3.0org.apache.felix:org.apache.felix.http.servlet-api 3.0.0 -> 6.1.0org.apache.felix:org.apache.felix.http.webconsoleplugin 1.2.0 -> 1.2.2org.apache.felix:org.apache.felix.scr 2.2.12 -> 2.2.14org.apache.felix:org.apache.felix.webconsole 5.0.8 -> 5.0.18org.apache.jackrabbit:jackrabbit-data 2.22.0 -> 2.22.3org.apache.jackrabbit:jackrabbit-jcr-commons 2.22.0 -> 2.22.3org.apache.jackrabbit:jackrabbit-spi 2.22.0 -> 2.22.3org.apache.jackrabbit:jackrabbit-spi-commons 2.22.0 -> 2.22.3org.apache.jackrabbit:jackrabbit-webdav 2.22.0 -> 2.22.3org.apache.jackrabbit:oak-api 1.72.0 -> 1.90.0org.apache.jackrabbit:oak-authorization-principalbased 1.72.0 -> 1.90.0org.apache.jackrabbit:oak-blob 1.72.0 -> 1.90.0org.apache.jackrabbit:oak-blob-plugins 1.72.0 -> 1.90.0org.apache.jackrabbit:oak-commons 1.72.0 -> 1.90.0org.apache.jackrabbit:oak-core 1.72.0 -> 1.90.0org.apache.jackrabbit:oak-core-spi 1.72.0 -> 1.90.0org.apache.jackrabbit:oak-jackrabbit-api 1.72.0 -> 1.90.0org.apache.jackrabbit:oak-jcr 1.72.0 -> 1.90.0org.apache.jackrabbit:oak-lucene 1.72.0 -> 1.90.0org.apache.jackrabbit:oak-query-spi 1.72.0 -> 1.90.0org.apache.jackrabbit:oak-security-spi 1.72.0 -> 1.90.0org.apache.jackrabbit:oak-segment-tar 1.72.0 -> 1.90.0org.apache.jackrabbit:oak-shaded-guava 1.72.0 -> 1.90.0org.apache.jackrabbit:oak-store-composite 1.72.0 -> 1.90.0org.apache.jackrabbit:oak-store-document 1.72.0 -> 1.90.0org.apache.jackrabbit:oak-store-spi 1.72.0 -> 1.90.0org.apache.jackrabbit.vault:org.apache.jackrabbit.vault 3.8.2 -> 4.2.0org.apache.pdfbox:fontbox 2.0.32 -> 2.0.35org.apache.pdfbox:pdfbox 2.0.32 -> 2.0.35org.apache.servicemix.bundles:org.apache.servicemix.bundles.thymeleaf 3.0.15.RELEASE_1 -> 3.1.2.RELEASE_1org.apache.sling:org.apache.sling.adapter 2.2.0 -> 2.3.0
org.apache.sling:org.apache.sling.api 2.27.6 -> 3.0.2
org.apache.sling:org.apache.sling.auth.core 1.7.0 -> 2.0.2
org.apache.sling:org.apache.sling.auth.form 1.0.24 -> 2.0.0
org.apache.sling:org.apache.sling.bundleresource.impl 2.3.4 -> 2.4.0
org.apache.sling:org.apache.sling.caconfig.impl 1.6.0 -> 1.7.2
org.apache.sling:org.apache.sling.commons.log.webconsole 1.0.2 -> 2.0.0
org.apache.sling:org.apache.sling.discovery.base 2.0.14 -> 2.1.0
org.apache.sling:org.apache.sling.discovery.commons 1.0.28 -> 1.1.0
org.apache.sling:org.apache.sling.discovery.oak 1.2.46 -> 1.2.48org.apache.sling:org.apache.sling.engine 2.16.0 -> 3.0.2
org.apache.sling:org.apache.sling.event 4.3.14 -> 4.4.0
org.apache.sling:org.apache.sling.fsresource 2.2.0 -> 2.3.0
org.apache.sling:org.apache.sling.i18n 2.6.6 -> 3.0.0
org.apache.sling:org.apache.sling.installer.core 3.14.2 -> 3.14.4
org.apache.sling:org.apache.sling.installer.factory.configuration 1.4.8 -> 1.4.10
org.apache.sling:org.apache.sling.jcr.jackrabbit.accessmanager 4.0.2 -> 5.0.0
org.apache.sling:org.apache.sling.jcr.jackrabbit.usermanager 2.2.30 -> 3.0.0
org.apache.sling:org.apache.sling.jcr.oak.server 1.4.2 -> 1.4.4
org.apache.sling:org.apache.sling.jcr.registration 1.0.6 -> 1.0.10
org.apache.sling:org.apache.sling.jcr.repoinit 1.1.52 -> 1.1.54
org.apache.sling:org.apache.sling.jcr.resource 3.3.2 -> 3.3.6
org.apache.sling:org.apache.sling.models.api 1.5.4 -> 2.0.0
org.apache.sling:org.apache.sling.models.impl 1.7.8 -> 2.0.2
org.apache.sling:org.apache.sling.models.jacksonexporter 1.1.4 -> 2.0.0
org.apache.sling:org.apache.sling.repoinit.parser 1.9.0 -> 1.9.2
org.apache.sling:org.apache.sling.resource.filter 1.0.0 -> 1.0.2
org.apache.sling:org.apache.sling.resourceresolver 1.12.2 -> 2.0.2
org.apache.sling:org.apache.sling.scripting.core 2.4.10 -> 3.0.2
org.apache.sling:org.apache.sling.scripting.sightly 1.4.26-1.4.0 -> 2.0.0-1.4.0
org.apache.sling:org.apache.sling.scripting.sightly.js.provider 1.2.10 -> 1.2.14
org.apache.sling:org.apache.sling.scripting.spi 1.0.4 -> 2.0.0
org.apache.sling:org.apache.sling.servlets.get 2.2.0 -> 3.0.0
org.apache.sling:org.apache.sling.servlets.post 2.6.0 -> 3.0.2
org.apache.sling:org.apache.sling.servlets.resolver 2.11.8 -> 3.0.6
org.apache.sling:org.apache.sling.settings 1.4.2 -> 1.5.0
org.apache.sling:org.apache.sling.starter.content 1.0.16 -> 2.0.2
org.apache.sling:org.apache.sling.xss 2.4.2 -> 2.4.8
org.freemarker:freemarker 2.3.32 -> 2.3.34org.ow2.asm:asm 9.7.1 -> 9.9.1org.ow2.asm:asm-analysis 9.7.1 -> 9.9.1org.ow2.asm:asm-commons 9.7.1 -> 9.9.1org.ow2.asm:asm-tree 9.7.1 -> 9.9.1org.ow2.asm:asm-util 9.7.1 -> 9.9.1org.owasp.encoder:encoder 1.3.1 -> 1.4.0org.slf4j:jcl-over-slf4j 1.7.36 -> 2.0.17org.slf4j:log4j-over-slf4j 1.7.36 -> 2.0.17