Deprecated and Removed Features and APIs deprecated-and-removed-features-apis

Adobe constantly evaluates product capabilities to, over time, reinvent or replace older features with more modern alternatives to improve overall customer value, always under careful consideration of backward compatibility. As Adobe Experience Manager as a Cloud Service uses a cloud-native deployment model, it replaces certain capabilities and features with cloud-native counterparts.

To communicate the impending removal/replacement of Experience Manager capabilities, the following rules apply:

  1. Announcement of deprecation comes first. Deprecated capabilities remain available but are not enhanced further.
  2. Capabilities announced to be deprecated are removed in the subsequent major release, at the earliest. The actual target date for removal is announced.

This process gives customers at least one release cycle to adapt their implementation to a new version or successor of a deprecated capability, before actual removal.

Deprecated Features deprecated-features

This section lists features and capabilities that have been marked as deprecated in Experience Manager as a Cloud Service. Typically, features to be removed in a future release are set for deprecation first, with an alternative provided.

Customers are advised to review if they use the feature/capability in their current deployment, and make plans to change their implementation to use the alternative provided.

Capabilities
Deprecated feature
Replacement
Sites
JavaScript Use API
Java Use API
Sites
Experience Fragments properties for Social Media Status.
The feature is planned for removal soon.
Sites
Template-based simple content fragments.
Model-based structured content fragments now.
Assets
DAM Asset Update workflow to process ingested images.
Asset ingestion uses asset microservices now.
Assets
Upload assets directly to Experience Manager. See deprecated asset upload APIs.
Use Direct binary upload. For technical details, see direct upload APIs.
Assets
Certain workflow steps in DAM Asset Update workflow are not supported, including calling command-line tools like ImageMagick.
Asset microservices provide a replacement for many workflows. For custom processing, use post-processing workflows.
Assets
FFmpeg transcoding of videos.
For FFmpeg thumbnail generation, use Asset microservices. For FFmpeg transcoding, use Dynamic Media.
Foundation
Tree replication UI under the replication agents “Distribute” tab (removal after September 30, 2021)
Manage publication or Tree Activation Workflow Step approaches.
Foundation
The replication agent admin screen’s Distribute tab and the Replication API cannot replicate content packages larger than 10MB.
Manage publication or Tree Activation Workflow Step
Foundation
Integrations using credentials generated from Adobe Developer Console projects are gradually losing support for Service Account (JWT) credentials. As of May 1, 2024, new Service Account (JWT) credentials cannot be created in Adobe Developer Console. Existing Service Account (JWT) credentials remain usable for configured integrations until January 1, 2025, after which they stop working, requiring customers to migrate to OAuth Server-to-Server credentials. Learn more.
Migrate to OAuth Server-to-Server credentials.
Foundation
Publish Content Tree Workflow and the related Publish Content Tree Workflow Step, which was used for replications of hierarchies of content.
Use Tree Activation Workflow Step, which is more performant.

Removed Features removed-features

This section lists features and capabilities that have been removed from Experience Manager with Experience Manager as a Cloud Service.

Area
Feature
Replacement
Target Removal Date
User Interface
Classic UI is removed from the product user interface. A few Classic UI dialogs are available for a few select capabilities, such as Link Checker, Version Purge, and some Cloud Service configurations. Upcoming product updates may further remove Classic UI availability.
Standard UI
Removed
Dynamic Media
Previous integrations with Dynamic Media Classic and Dynamic Media Hybrid mode are not available in Experience Manager as a Cloud Service.
Use Dynamic Media provided with Experience Manager as a Cloud Service.
Removed
Sites
Portal Director and Portlet Component
These capabilities were deprecated in Experience Manager 6.4 and have now been removed from Experience Manager.
Removed
Sites
Design Importer
This capability has been removed as immutable sections of the Experience Manager repository are not accessible at runtime.
Removed
Assets
Assets sharing with Assets Core Service and Creative Cloud services is not available.
For integration with Adobe Creative Cloud, use Adobe Asset Link.
Removed
Foundation
Support for Apache Sling datasources (OSGi bundle org.apache.sling.datasource)
N/A
Removed
Foundation
Support for JST scripting templates (OSGi bundle org.apache.sling.scripting.jst)
N/A
Removed
Foundation
Support for the Apache Felix Http Whiteboard
OSGi Http Whiteboard
March 2022
Foundation
Support for com.adobe.granite.oauth.server
Adobe IMS Integration
March 2023
Foundation
Support for org.apache.sling.serviceusermapping feature to get the service user id
N/A
8/30/24

AEM APIs aem-apis

Below is an extensive list of deprecated AEM APIs and their expected removal date. Customers are expected to remove the APIs by the target removal date from their code. Any usage of the API past the removal date can generate errors in the local SDK/Development Environment and the Cloud Manager build process.

Expand to see the list of deprecated APIs.
table 0-row-4 1-row-4 2-row-4 3-row-4 4-row-4 5-row-4 6-row-4 7-row-4 8-row-4 9-row-4 10-row-4 11-row-4 12-row-4 13-row-4 14-row-4 15-row-4 16-row-4 17-row-4 18-row-4 19-row-4 20-row-4 21-row-4 22-row-4 23-row-4 24-row-4 25-row-4 26-row-4 27-row-4 28-row-4 29-row-4 30-row-4 31-row-4 32-row-4 33-row-4 34-row-4 35-row-4 36-row-4 37-row-4 38-row-4 39-row-4 layout-auto html-authored
Package/Class Comments Deprecation Date Target Removal Date
org.apache.sling.commons.auth
org.apache.sling.commons.auth.spi
Use Sling's Auth Core/Auth Core SPI interfaces as an alternative. See removal notes below. 2015 7/30/21
org.apache.sling.runmode 2015 7/30/21
com.day.cq.jcrclustersupport Use Sling's Discovery API as an alternative 2015 removed
org.apache.fop.apps 3/1/21 removed
org.apache.jackrabbit.vault.util.xml.xerces.dom
org.apache.jackrabbit.vault.util.xml.xerces.util
org.apache.jackrabbit.vault.util.xml.xerces.xni
org.apache.jackrabbit.vault.util.xml.xerces.xni.parser
3/5/21 removed
org.json The Apache Johnzon implementation of javax.json is recommended and should be used. 4/30/21 12/31/21
org.apache.felix.cm
org.apache.felix.cm.file
Custom persistence managers are not supported in AEM as a Cloud Service. 4/30/21 removed
org.apache.commons.lang
org.apache.commons.lang.enums
org.apache.commons.lang.builder
org.apache.commons.lang.exception
org.apache.commons.lang.math
org.apache.commons.lang.mutable
org.apache.commons.lang.reflect
org.apache.commons.lang.text
org.apache.commons.lang.time
Commons Lang 2 is in maintenance mode. Commons Lang 3 should be used instead. 4/30/21 12/31/21
org.apache.commons.collections
org.apache.commons.collections.bag
org.apache.commons.collections.bidimap
org.apache.commons.collections.buffer
org.apache.commons.collections.collection
org.apache.commons.collections.comparators
org.apache.commons.collections.functors
org.apache.commons.collections.iterators
org.apache.commons.collections.keyvalue
org.apache.commons.collections.list
org.apache.commons.collections.map
org.apache.commons.collections.set
Commons Collections 3 is in maintenance mode. Commons Collections 4 should be used instead. 4/30/21 12/31/21
org.apache.felix.systemready It is recommended you use the Apache Felix HealthCheck API instead 4/30/21 removed
org.apache.felix.webconsole
org.apache.felix.webconsole.bundleinfo
org.apache.felix.webconsole.i18n
The Felix web console is not supported in Cloud environments 4/30/21 7/30/21
org.apache.felix.http.jetty
org.eclipse.jetty.client.jmx
org.eclipse.jetty.jmx
org.eclipse.jetty.server.handler.jmx
org.eclipse.jetty.server.nio
org.eclipse.jetty.server.jmx
org.eclipse.jetty.servlet.jmx
org.eclipse.jetty.util.preventers
org.eclipse.jetty.util.thread.strategy
org.eclipse.jetty.webapp
org.eclipse.jetty.websocket.api
org.eclipse.jetty.websocket.api.annotations
org.eclipse.jetty.websocket.api.extensions
org.eclipse.jetty.websocket.api.util
org.eclipse.jetty.websocket.client
org.eclipse.jetty.websocket.client.io
org.eclipse.jetty.websocket.client.masks
org.eclipse.jetty.websocket.common
org.eclipse.jetty.websocket.common.events
org.eclipse.jetty.websocket.common.events.annotated
org.eclipse.jetty.websocket.common.extensions
org.eclipse.jetty.websocket.common.extensions.compress
org.eclipse.jetty.websocket.common.extensions.fragment
org.eclipse.jetty.websocket.common.extensions.identity
org.eclipse.jetty.websocket.common.frames
org.eclipse.jetty.websocket.common.io
org.eclipse.jetty.websocket.common.io.http
org.eclipse.jetty.websocket.common.io.payload
org.eclipse.jetty.websocket.common.message
org.eclipse.jetty.websocket.common.scopes
org.eclipse.jetty.websocket.common.util
org.eclipse.jetty.websocket.server
org.eclipse.jetty.websocket.server.pathmap
org.eclipse.jetty.websocket.servlet
org.eclipse.jetty.xml
The Eclipse Jetty and Felix Http Jetty packages are no longer supported. See removal notes below. 5/27/21 8/26/21
org.eclipse.jetty.client
org.eclipse.jetty.client.api
org.eclipse.jetty.client.http
org.eclipse.jetty.client.util
org.eclipse.jetty.http
org.eclipse.jetty.http.pathmap
org.eclipse.jetty.io
org.eclipse.jetty.io.ssl
org.eclipse.jetty.security
org.eclipse.jetty.server
org.eclipse.jetty.server.handler
org.eclipse.jetty.server.handler.gzip
org.eclipse.jetty.server.session
org.eclipse.jetty.servlet
org.eclipse.jetty.servlet.listener
org.eclipse.jetty.util
org.eclipse.jetty.util.annotation
org.eclipse.jetty.util.component
org.eclipse.jetty.util.log
org.eclipse.jetty.util.resource
org.eclipse.jetty.util.security
org.eclipse.jetty.util.ssl
org.eclipse.jetty.util.statistic
org.eclipse.jetty.util.thread
The Eclipse Jetty and Felix Http Jetty packages are no longer supported. 5/27/21 8/26/21
com.mongodb
com.mongodb.annotations
com.mongodb.assertions
com.mongodb.async
com.mongodb.binding
com.mongodb.bulk
com.mongodb.client
com.mongodb.client.gridfs
com.mongodb.client.gridfs.codecs
com.mongodb.client.gridfs.model
com.mongodb.client.jndi
com.mongodb.client.model
com.mongodb.client.model.changestream
com.mongodb.client.model.geojson
com.mongodb.client.model.geojson.codecs
com.mongodb.client.result
com.mongodb.connection
com.mongodb.connection.netty
com.mongodb.diagnostics.logging
com.mongodb.event
com.mongodb.gridfs
com.mongodb.internal
com.mongodb.internal.async
com.mongodb.internal.authentication
com.mongodb.internal.connection
com.mongodb.internal.dns
com.mongodb.internal.event
com.mongodb.internal.management.jmx
com.mongodb.internal.session
com.mongodb.internal.thread
com.mongodb.internal.validator
com.mongodb.management
com.mongodb.operation
com.mongodb.selector
com.mongodb.session
com.mongodb.util
Usage of this API is not supported in AEM as a Cloud Service. See removal notes below. 5/27/21 7/30/21
org.apache.felix.metatype
org.apache.felix.scr
org.apache.felix.scr.info
org.apache.felix.scr.component
The Apache Felix metatype and SCR APIs are deprecated. Use the OSGi metatype and Declarative Service APIs instead. 5/27/21 removed
org.slf4j.impl Log implementation classes are not compatible with AEM as a Cloud Service. 7/4/21 removed
org.apache.abdera
org.apache.abdera.model
org.apache.abdera.factory
org.apache.abdera.ext.media
org.apache.abdera.util
org.apache.abdera.i18n.iri
org.apache.abdera.writer
org.apache.abdera.i18n.rfc4646
org.apache.abdera.i18n.rfc4646.enums
org.apache.abdera.i18n.text
org.apache.abdera.filter
org.apache.abdera.xpath
org.apache.abdera.i18n.text.io
org.apache.abdera.i18n.text.data
org.apache.abdera.parser
This API is deprecated as Apache Abdera is a retired project since 2017. See removal notes below. 7/29/21 09/29/21
org.apache.abdera.ext.opensearch
org.apache.abdera.ext.opensearch.model
org.apache.abdera.ext.opensearch.server
org.apache.abdera.ext.opensearch.server.impl
org.apache.abdera.ext.opensearch.server.processors
org.apache.abdera.i18n.iri.data
org.apache.abdera.i18n.lang
org.apache.abdera.i18n.templates
org.apache.abdera.i18n.unicode.data
org.apache.abdera.parser.stax
org.apache.abdera.parser.stax.util
org.apache.abdera.protocol
org.apache.abdera.protocol.client
org.apache.abdera.protocol.client.cache
org.apache.abdera.protocol.client.util
org.apache.abdera.protocol.error
org.apache.abdera.protocol.server
org.apache.abdera.protocol.server.context
org.apache.abdera.protocol.server.filters
org.apache.abdera.protocol.server.impl
org.apache.abdera.protocol.server.multipart
org.apache.abdera.protocol.server.processors
org.apache.abdera.protocol.server.provider.basic
org.apache.abdera.protocol.server.provider.managed
org.apache.abdera.protocol.server.servlet
org.apache.abdera.protocol.util
org.apache.abdera.util.filter
This API is deprecated as Apache Abdera is a retired project since 2017. 4/8/19 09/29/21
org.apache.sling.startupfilter
com.adobe.granite.crypto.spi
com.adobe.granite.crpyto.spi.base
com.adobe.agl.impl.data.icudt40b
com.adobe.agl.impl.data.icudt40b.brkitr
com.adobe.agl.impl.data.icudt40b.coll
com.adobe.agl.impl.data.icudt40b.rbnf
com.
adobe.agl.impl.data.icudt40b.translit
com.adobe.internal.pdf.tika
com.adobe.internal.pdftoolkit.color
com.adobe.internal.pdftoolkit.core.encryption
com.adobe.internal.pdftoolkit.core.encryption.impl
com.adobe.internal.pdftoolkit.core.traverser
com.adobe.internal.pdftoolkit.graphicsDOM
com.adobe.internal.pdftoolkit.graphicsDOM.shading
com.adobe.internal.pdftoolkit.graphicsDOM.utils
com.adobe.internal.pdftoolkit.image
com.adobe.internal.pdftoolkit.pdf.content
com.adobe.internal.pdftoolkit.pdf.content.processor
com.adobe.internal.pdftoolkit.pdf.content.processor.base14fontwidths
com.adobe.internal.pdftoolkit.pdf.contentmodify
com.adobe.internal.pdftoolkit.pdf.contentmodify.impl
com.adobe.internal.pdftoolkit.pdf.digsig
com.adobe.internal.pdftoolkit.pdf.document
com.adobe.internal.pdftoolkit.pdf.document.listener
com.adobe.internal.pdftoolkit.pdf.document.permissionhandlers
com.adobe.internal.pdftoolkit.pdf.filters
com.adobe.internal.pdftoolkit.pdf.graphics
com.adobe.internal.pdftoolkit.pdf.graphics.colorspaces
com.adobe.internal.pdftoolkit.pdf.graphics.colorspaces.cmykresources
com.adobe.internal.pdftoolkit.pdf.graphics.font
com.adobe.internal.pdftoolkit.pdf.graphics.font.encodings
com.adobe.internal.pdftoolkit.pdf.graphics.font.impl
com.adobe.internal.pdftoolkit.pdf.graphics.impl
com.adobe.internal.pdftoolkit.pdf.graphics.optionalcontent
com.adobe.internal.pdftoolkit.pdf.graphics.patterns
com.adobe.internal.pdftoolkit.pdf.graphics.shading
com.adobe.internal.pdftoolkit.pdf.graphics.xobject
com.adobe.internal.pdftoolkit.pdf.impl
com.adobe.internal.pdftoolkit.pdf.inlineimage
com.adobe.internal.pdftoolkit.pdf.interactive
com.adobe.internal.pdftoolkit.pdf.interactive.action
com.adobe.internal.pdftoolkit.pdf.interactive.annotation
com.adobe.internal.pdftoolkit.pdf.interactive.forms
com.adobe.internal.pdftoolkit.pdf.interactive.forms.impl
com.adobe.internal.pdftoolkit.pdf.interactive.geospatial
com.adobe.internal.pdftoolkit.pdf.interactive.markedcontent
com.adobe.internal.pdftoolkit.pdf.interactive.navigation
com.adobe.internal.pdftoolkit.pdf.interactive.navigation.collection
com.adobe.internal.pdftoolkit.pdf.interactive.readerrequirements
com.adobe.internal.pdftoolkit.pdf.interactive.requirement
com.adobe.internal.pdftoolkit.pdf.interchange
com.adobe.internal.pdftoolkit.pdf.interchange.documentparts
com.adobe.internal.pdftoolkit.pdf.interchange.metadata
com.adobe.internal.pdftoolkit.pdf.interchange.prepress
com.adobe.internal.pdftoolkit.pdf.interchange.structure
com.adobe.internal.pdftoolkit.pdf.multimedia
com.adobe.internal.pdftoolkit.pdf.page
com.adobe.internal.pdftoolkit.pdf.rendering
com.adobe.internal.pdftoolkit.pdf.transparency
com.adobe.internal.pdftoolkit.pdf.utils
com.adobe.internal.pdftoolkit.services.Jpeg2000
com.adobe.internal.pdftoolkit.services.fontresources
com.adobe.internal.pdftoolkit.services.fontresources.subsetting
com.adobe.internal.pdftoolkit.services.interchange.structure
com.adobe.internal.pdftoolkit.services.optionalcontent
com.adobe.internal.pdftoolkit.services.optionalcontent.impl
com.adobe.internal.pdftoolkit.services.pdfParser
com.adobe.internal.pdftoolkit.services.permissions
com.adobe.internal.pdftoolkit.services.rasterizer
com.adobe.internal.pdftoolkit.services.readingorder
com.adobe.internal.pdftoolkit.services.security
com.adobe.internal.pdftoolkit.services.swf
com.adobe.internal.pdftoolkit.services.textextraction
com.adobe.internal.pdftoolkit.services.textextraction.impl
com.adobe.internal.pdftoolkit.services.xmp
com.adobe.internal.util.base64
com.adobe.internal.xmp.utils
com.day.crx.core.cluster
com.day.crx.packaging
com.day.crx.packaging.gfx
com.day.crx.query
com.day.crx.sling.server.jmx
com.day.durbo
com.day.durbo.io
com.day.imageio.plugins
org.apache.aries.jmx.codec
org.h2.mvstore
org.h2.mvstore.rtree
org.h2.mvstore.type
org.openxmlformats.schemas.drawingml.x2006.chart.impl
org.openxmlformats.schemas.drawingml.x2006.main.impl
org.openxmlformats.schemas.drawingml.x2006.picture.impl
org.openxmlformats.schemas.drawingml.x2006.spreadsheetDrawing.impl
org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.impl
org.openxmlformats.schemas.officeDocument.x2006.customProperties.impl
org.openxmlformats.schemas.officeDocument.x2006.docPropsVTypes.impl
org.openxmlformats.schemas.officeDocument.x2006.extendedProperties.impl
org.openxmlformats.schemas.officeDocument.x2006.relationships.impl
org.openxmlformats.schemas.presentationml.x2006.main.impl
org.openxmlformats.schemas.spreadsheetml.x2006.main.impl
org.openxmlformats.schemas.wordprocessingml.x2006.main.impl
org.openxmlformats.schemas.xpackage.x2006.contentTypes
org.openxmlformats.schemas.xpackage.x2006.contentTypes.impl
org.openxmlformats.schemas.xpackage.x2006.digitalSignature
org.openxmlformats.schemas.xpackage.x2006.digitalSignature.impl
org.openxmlformats.schemas.xpackage.x2006.metadata.coreProperties
org.openxmlformats.schemas.xpackage.x2006.metadata.coreProperties.impl
org.openxmlformats.schemas.xpackage.x2006.relationships
org.openxmlformats.schemas.xpackage.x2006.relationships.impl
com.adobe.internal.afml
com.adobe.internal.agm
com.adobe.internal.pdftoolkit.legacy.services.ap.es2
com.adobe.internal.pdftoolkit.legacy.services.ap.es3
com.adobe.internal.pdftoolkit.pdf.pieceinfo.compoundtype
com.adobe.internal.pdftoolkit.pdf.pieceinfo.editablepdf
com.adobe.internal.pdftoolkit.services.ap
com.adobe.internal.pdftoolkit.services.ap.annot
com.adobe.internal.pdftoolkit.services.ap.extension
com.adobe.internal.pdftoolkit.services.ap.impl
com.adobe.internal.pdftoolkit.services.ap.spi
com.adobe.internal.pdftoolkit.services.digsig
com.adobe.internal.pdftoolkit.services.digsig.cryptoprovider
com.adobe.internal.pdftoolkit.services.digsig.docmodanalysis
com.adobe.internal.pdftoolkit.services.digsig.spi
com.adobe.internal.pdftoolkit.services.fdf
com.adobe.internal.pdftoolkit.services.formflattener
com.adobe.internal.pdftoolkit.services.forms
com.adobe.internal.pdftoolkit.services.imageconversion
com.adobe.internal.pdftoolkit.services.javascript
com.adobe.internal.pdftoolkit.services.javascript.extension
com.adobe.internal.pdftoolkit.services.manipulations
com.adobe.internal.pdftoolkit.services.manipulations.impl
com.adobe.internal.pdftoolkit.services.optimizer
com.adobe.internal.pdftoolkit.services.pdfa
com.adobe.internal.pdftoolkit.services.pdfa.error
com.adobe.internal.pdftoolkit.services.pdfa2
com.adobe.internal.pdftoolkit.services.pdfa2.error
com.adobe.internal.pdftoolkit.services.pdfa2.error.codes
com.adobe.internal.pdftoolkit.services.pdfa3
com.adobe.internal.pdftoolkit.services.pdfport
com.adobe.internal.pdftoolkit.services.portfolio
com.adobe.internal.pdftoolkit.services.rcg
com.adobe.internal.pdftoolkit.services.rcg.impl
com.adobe.internal.pdftoolkit.services.redaction
com.adobe.internal.pdftoolkit.services.redaction.handler
com.adobe.internal.pdftoolkit.services.sanitization
com.adobe.internal.pdftoolkit.services.xbm
com.adobe.internal.pdftoolkit.services.xdp
com.adobe.internal.pdftoolkit.services.xfa
com.adobe.internal.pdftoolkit.services.xfa.form
com.adobe.internal.pdftoolkit.services.xfatext
com.adobe.internal.pdftoolkit.services.xfdf
com.adobe.internal.pdftoolkit.services.xobjhandler
com.adobe.internal.pdftoolkit.xml
com.adobe.octopus.extract
opennlp.tools.doccat
opennlp.tools.entitylinker
opennlp.tools.formats
opennlp.tools.formats.ad
opennlp.tools.formats.brat
opennlp.tools.formats.convert
opennlp.tools.formats.frenchtreebank
opennlp.tools.formats.muc
opennlp.tools.formats.ontonotes
opennlp.tools.lemmatizer
opennlp.tools.parser
opennlp.tools.parser.chunking
opennlp.tools.parser.lang.en
opennlp.tools.parser.lang.es
opennlp.tools.parser.treeinsert
opennlp.tools.sentdetect
opennlp.tools.sentdetect.lang
opennlp.tools.sentdetect.lang.th
opennlp.tools.stemmer
opennlp.tools.stemmer.snowball
opennlp.tools.tokenize.lang.en
org.apache.commons.imaging.color
org.apache.commons.imaging.common
org.apache.commons.imaging.common.itu_t4
org.apache.commons.imaging.common.mylzw
org.apache.commons.imaging.formats.bmp
org.apache.commons.imaging.formats.dcx
org.apache.commons.imaging.formats.gif
org.apache.commons.imaging.formats.icns
org.apache.commons.imaging.formats.ico
org.apache.commons.imaging.formats.jpeg
org.apache.commons.imaging.formats.jpeg.decoder
org.apache.commons.imaging.formats.jpeg.exif
org.apache.commons.imaging.formats.jpeg.iptc
org.apache.commons.imaging.formats.jpeg.segments
org.apache.commons.imaging.formats.jpeg.xmp
org.apache.commons.imaging.formats.pcx
org.apache.commons.imaging.formats.png
org.apache.commons.imaging.formats.png.chunks
org.apache.commons.imaging.formats.png.scanlinefilters
org.apache.commons.imaging.formats.png.transparencyfilters
org.apache.commons.imaging.formats.pnm
org.apache.commons.imaging.formats.psd
org.apache.commons.imaging.formats.psd.dataparsers
org.apache.commons.imaging.formats.psd.datareaders
org.apache.commons.imaging.formats.rgbe
org.apache.commons.imaging.formats.tiff
org.apache.commons.imaging.formats.tiff.constants
org.apache.commons.imaging.formats.tiff.datareaders
org.apache.commons.imaging.formats.tiff.fieldtypes
org.apache.commons.imaging.formats.tiff.photometricinterpreters
org.apache.commons.imaging.formats.tiff.taginfos
org.apache.commons.imaging.formats.tiff.write
org.apache.commons.imaging.formats.wbmp
org.apache.commons.imaging.formats.xbm
org.apache.commons.imaging.formats.xpm
org.apache.commons.imaging.icc
org.apache.commons.imaging.palette
org.apache.commons.imaging.util
com.adobe.dam.print.ids.utils
com.day.cq.dam.api.reporting
com.day.cq.dam.entitlement.api
com.day.cq.dam.handler.standard.epub
com.day.cq.dam.handler.standard.keynote
com.day.cq.dam.handler.standard.mp3
com.day.cq.dam.handler.standard.msoffice
com.day.cq.dam.handler.standard.msoffice.wmf
com.day.cq.dam.handler.standard.ooxml
com.day.cq.dam.handler.standard.pdf
com.day.cq.dam.handler.standard.pict
com.day.cq.dam.handler.standard.ps
com.day.cq.dam.handler.standard.psd
com.day.cq.dam.handler.standard.zip
com.day.cq.dam.word.extraction
com.day.cq.dam.word.process
com.adobe.xmp.worker.files
com.adobe.cq.address.api
com.adobe.cq.address.api.location
com.day.cq.mcm.emailprovider.impl.types
com.day.io
com.day.io.disk
com.day.io.file
org.apache.commons.exec.environment
org.apache.commons.exec.launcher
org.apache.commons.exec.util
com.google.zxing
com.google.zxing.common
com.google.zxing.common.reedsolomon
com.google.zxing.qrcode.decoder
com.google.zxing.qrcode.encoder
com.adobe.cq.dam.dm.internalapi.image_server
com.day.cq.dam.api.s7dam.jobs
com.day.cq.dam.api.s7dam.omnisearch
com.day.cq.dam.api.s7dam.scene7
com.day.cq.dam.scene7
com.day.cq.dam.scene7.api.net
com.day.cq.analytics.sitecatalyst.rsmerger
com.day.cq.searchpromote
com.day.cq.searchpromote.xml
com.day.cq.searchpromote.xml.form
com.day.cq.searchpromote.xml.result>
Legacy AEM 6.x API. 4/8/19 removed
org.apache.sling.discovery.commons
org.apache.sling.discovery.commons.providers
org.apache.sling.discovery.commons.providers.base
org.apache.sling.discovery.commons.providers.spi
org.apache.sling.discovery.commons.providers.spi.base
org.apache.sling.discovery.commons.providers.util
This API is not supported in Cloud Service. 9/30/21 removed
org.apache.jackrabbit.vault.util.xml
org.apache.jackrabbit.vault.util.xml.serialize
Util Classes related to Apache Xerces are removed in subsequent releases causing a major version change. Because these utils are for internal use in File vault, the API is getting deprecated from the public API surface. 9/1/21 removed
org.apache.sling.atom.taglib
org.apache.sling.atom.taglib.media
Legacy AEM 6.x API. See removal notes below. 4/8/19 9/29/21
org.apache.felix.http.whiteboard The Apache Felix Http Whiteboard is not supported anymore. Migrate your code to the OSGi Http Whiteboard. See removal notes below. 1/27/2022 3/24/2022
org.apache.cocoon.xml.dom
org.apache.cocoon.xml.sax
This API is deprecated. Migrate your code to the XML APIs provided by the JDK. 1/27/2022 3/24/2022
ch.qos.logback.classic
ch.qos.logback.classic.boolex
ch.qos.logback.classic.db.names
ch.qos.logback.classic.db.script
ch.qos.logback.classic.encoder
ch.qos.logback.classic.filter
ch.qos.logback.classic.helpers
ch.qos.logback.classic.html
ch.qos.logback.classic.jmx
ch.qos.logback.classic.joran
ch.qos.logback.classic.joran.action
ch.qos.logback.classic.jul
ch.qos.logback.classic.layout
ch.qos.logback.classic.log4j
ch.qos.logback.classic.net
ch.qos.logback.classic.net.server
ch.qos.logback.classic.pattern
ch.qos.logback.classic.pattern.color
ch.qos.logback.classic.selector
ch.qos.logback.classic.selector.servlet
ch.qos.logback.classic.servlet
ch.qos.logback.classic.sift
ch.qos.logback.classic.spi
ch.qos.logback.classic.turbo
ch.qos.logback.classic.util
ch.qos.logback.core
ch.qos.logback.core.boolex
ch.qos.logback.core.encoder
ch.qos.logback.core.filter
ch.qos.logback.core.helpers
ch.qos.logback.core.hook
ch.qos.logback.core.html
ch.qos.logback.core.joran
ch.qos.logback.core.joran.action
ch.qos.logback.core.joran.conditional
ch.qos.logback.core.joran.event
ch.qos.logback.core.joran.event.stax
ch.qos.logback.core.joran.node
ch.qos.logback.core.joran.spi
ch.qos.logback.core.joran.util
ch.qos.logback.core.joran.util.beans
ch.qos.logback.core.layout
ch.qos.logback.core.net
ch.qos.logback.core.net.server
ch.qos.logback.core.net.ssl
ch.qos.logback.core.pattern
ch.qos.logback.core.pattern.color
ch.qos.logback.core.pattern.parser
ch.qos.logback.core.pattern.util
ch.qos.logback.core.property
ch.qos.logback.core.read
ch.qos.logback.core.recovery
ch.qos.logback.core.rolling
ch.qos.logback.core.rolling.helper
ch.qos.logback.core.sift
ch.qos.logback.core.spi
ch.qos.logback.core.status
ch.qos.logback.core.subst
ch.qos.logback.core.util
AEM as a Cloud Service does not support this internal log back API. 1/27/2022 3/24/2022
org.slf4j.spi AEM as a Cloud Service does not support this internal log4j API. 1/27/2022 3/24/2022
org.apache.log4j
org.apache.log4j.helpers
org.apache.log4j.spi
org.apache.log4j.xml
Apache Log4j 1 has reached its end of life in 2015 and is no longer supported. 1/27/2022 3/24/2022
org.apache.sling.commons.log.logback
org.apache.sling.commons.log.logback.webconsole
AEM as a Cloud Service does not support this internal log back API. 1/27/2022 removed
com.github.jknack.handlebars.js Handlebars upgrade required from 4.0.5 to 4.3.0 due to a security vulnerability. This package is no longer present in the upgraded handlebars. 5/5/2022 8/5/2022
com.adobe.granite.resourceresolverhelper This API is not supported anymore. Use org.apache.sling.api.resource.ResourceResolverFactory instead. 9/29/2022 11/24/2022
com.day.cq.contentsync.handler.util This API is deprecated. Use Apache Sling's Builders instead. 10/31/2022 1/01/2023
org.apache.sling.commons.json
org.apache.sling.commons.json.http
org.apache.sling.commons.json.io
org.apache.sling.commons.json.jcr
org.apache.sling.commons.json.sling
org.apache.sling.commons.json.util
org.apache.sling.commons.json.xml
AEM as a Cloud Service does not support this API. 5/15/2023 6/15/2023
com.google.common.annotations
com.google.common.base
com.google.common.cache
com.google.common.collect
com.google.common.escape
com.google.common.eventbus
com.google.common.hash
com.google.common.html
com.google.common.io
com.google.common.math
com.google.common.net
com.google.common.primitives
com.google.common.reflect
com.google.common.util.concurrent
com.google.common.xml
The Google Guava Core Libraries are deprecated. 5/15/2023 6/15/2023
org.slf4j.event AEM as a Cloud Service does not support this internal slf4j API. 4/11/2022 8/30/2024
org.apache.sling.repoinit.jcr
org.apache.sling.repoinit.parser.operations
Usage of this API is not supported in AEM as a Cloud Service. 5/17/2024 6/30/2024
com.day.cq.xss
com.day.cq.xss.taglib
com.day.cq.xss.impl
Use org.apache.sling.xss instead. 12/12/2023 6/30/2024
com.adobe.granite.xss
com.adobe.granite.xss.impl
Use org.apache.sling.xss instead. 12/12/2023 6/30/2024
com.drew.* Extracting metadata from images and videos should be done via Asset Compute in Cloud Service, or via Apache POI or Apache Tika. 9/17/2024 12/17/2024
org.apache.jackrabbit.oak.plugins.blob.* 9/23/2024 12/23/2024

Removal of org.apache.sling.commons.auth* org.apache.sling.commons.auth

If you are using org.apache.sling.commons.auth, or org.apache.sling.commons.auth.spi, or both, the usage can be replaced by migrating the code to org.apache.sling.auth resp. org.apache.sling.auth.spi. If you are using an old version of ACS AEM Commons, make sure to update to the latest version.

Action list:

  • Update ACS AEM Commons to latest version
  • Migrate from org.apache.sling.commons.auth and/or org.apache.sling.commons.auth.spi to org.apache.sling.auth resp. org.apache.sling.auth.spi.

Removal of org.eclipse.jetty* org.eclipse.jetty

If you use anything from the package org.eclipse.jetty or one of its sub packages, you might want to migrate to other third-party libraries with a similar functionality. If migration is not feasible, add the required bundles from the below list to your project.

Action list:

  • Replace usage of org.eclipse.jetty packages with other third-party libraries/own code or

  • Select the required bundles from this list and add them to your project:

    • org.eclipse.jetty:jetty-client:9.4.54.v20240208
    • org.eclipse.jetty:jetty-http:9.4.54.v20240208
    • org.eclipse.jetty:jetty-io:9.4.54.v20240208
    • org.eclipse.jetty:jetty-security:9.4.54.v20240208
    • org.eclipse.jetty:jetty-servlet:9.4.54.v20240208
    • org.eclipse.jetty:jetty-server:9.4.54.v20240208
    • org.eclipse.jetty:jetty-util:9.4.54.v20240208
    • org.eclipse.jetty:jetty-util-ajax:9.4.54.v20240208

Removal of com.mongodb com.mongodb

Add the Mongo client API to your project.

Action list:

  • Add this bundle to your project
    • org.mongodb:mongo-java-driver:3.12.7

Usage of org.apache.abdera* and org.apache.sling.atom.taglib org.apache.abdera_or_org.apache.sling.atom.taglib

Replace the usage of any package from org.apache.abdera and org.apache.sling.atom.taglib with a third-party library providing similar functionality or your own code.

Action list:

  • Replace usage of packages from org.apache.abdera and org.apache.sling.atom.taglib with other third-party libraries/own code.

Usage of org.apache.felix.http.whiteboard org.apache.felix.http.whiteboard

Replace the usage of org.apache.felix.http.whiteboard with the OSGi Http Whiteboard. The official OSGi API has similar capabilities and replacing most often only requires to change the service registration properties.

Action list:

OSGI Configuration osgi-configuration

The two lists below reflect the AEM as a Cloud Service OSGi configuration surface, describing what customers can configure.

  1. Customer code must not configure the listed OSGi configurations.
  2. A list of OSGi configurations whose properties may be configured, but must abide by the indicated validation rules. These rules include whether declaration of the property is required, its type, and in some cases, its allowed range of values.

Customer code may configure any OSGi configuration not listed.

These rules are validated during the Cloud Manager build process. Additional rules may be added over time and the expected enforcement date is noted in the table. Customers are expected to abide by these rules by the target enforcement date. Not abiding by the rules after the removal date generates errors in the Cloud Manager build process. Maven projects should include the AEM as a Cloud Service SDK Build Analyzer Maven Plugin to flag OSGI configuration errors during local SDK development.

Additional information about OSGI configuration can be found at this location.

OSGi configurations that cannot be modified.
  • org.apache.felix.webconsole.internal.servlet.OsgiManager (Announcement Date: 4/30/2021, Enforcement Date: 7/31/2021)
  • com.day.cq.auth.impl.cug.CugSupportImpl (Announcement Date: 4/30/2021, Enforcement Date: 7/31/2021)
  • com.day.cq.jcrclustersupport.ClusterStartLevelController (Announcement Date: 4/30/2021, Enforcement Date: 7/31/2021)
  • org.apache.felix.http (Factory) (Announcement Date: 4/30/2021, Enforcement Date: 7/31/2021)
  • org.apache.sling.jcr.davex.impl.servlets.SlingDavExServlet (Announcement Date: 8/25/2021, Enforcement Date: 11/26/2021)
OSGi configurations subject to build validation rules.
  • org.apache.felix.eventadmin.impl.EventAdmin (Announcement Date: 4/30/2021, Enforcement Date: 7/31/2021)

  • org.apache.felix.eventadmin.ThreadPoolSize

    • Type: integer
    • Required Range: 2-100
  • org.apache.felix.eventadmin.AsyncToSyncThreadRatio

    • Type: double
  • org.apache.felix.eventadmin.Timeout

    • Type: integer
  • org.apache.felix.eventadmin.RequireTopic

    • Type: boolean
  • org.apache.felix.eventadmin.IgnoreTimeout

    • Required
    • Type: array of strings
    • Required Range: Must include at least all of org.apache.felix*, org.apache.sling*, come.day*, com.adobe*
  • org.apache.felix.eventadmin.IgnoreTopic

    • Type: array of strings
  • org.apache.felix.http (Announcement Date: 4/30/2021, Enforcement Date: 7/31/2021)

    • org.apache.felix.http.timeout
      • Type: integer
    • org.apache.felix.http.session.timeout
      • Type: integer
    • org.apache.felix.http.jetty.threadpool.max
      • Type: integer
    • org.apache.felix.http.jetty.headerBufferSize
      • Type: integer
    • org.apache.felix.http.jetty.requestBufferSize
      • Type: integer
    • org.apache.felix.http.jetty.responseBufferSize
      • Type: integer
    • org.apache.felix.http.jetty.maxFormSize
      • Type: integer
    • org.apache.felix.https.jetty.session.cookie.httpOnly
      • Type: boolean
    • org.apache.felix.https.jetty.session.cookie.secure
      • Type: boolean
    • org.eclipse.jetty.servlet.SessionIdPathParameterName
      • Type: string
    • org.eclipse.jetty.servlet.CheckingRemoteSessionIdEncoding
      • Type: boolean
    • org.eclipse.jetty.servlet.SessionCookie
      • Type: string
    • org.eclipse.jetty.servlet.SessionDomain
      • Type: string
    • org.eclipse.jetty.servlet.SessionPath
      • Type: string
    • org.eclipse.jetty.servlet.MaxAge
      • Type: integer
    • org.eclipse.jetty.servlet.SessionScavengingInterval
      • Type: integer
    • org.apache.felix.jetty.gziphandler.enable
      • Type: boolean
    • org.apache.felix.jetty.gzip.minGzipSize
      • Type: integer
    • org.apache.felix.jetty.gzip.compressionLevel
      • Type: integer
    • org.apache.felix.jetty.gzip.inflateBufferSize
      • Type: integer
    • org.apache.felix.jetty.gzip.syncFlush
      • Type: boolean
    • org.apache.felix.jetty.gzip.excludedUserAgents
      • Type: string
    • org.apache.felix.jetty.gzip.includedMethods
      • Type: array of strings
    • org.apache.felix.jetty.gzip.excludedMethods
      • Type: array of strings
    • org.apache.felix.jetty.gzip.includedPaths
      • Type: array of strings
    • org.apache.felix.jetty.gzip.excludedPaths
      • Type: array of strings
    • org.apache.felix.jetty.gzip.includedMimeTypes
      • Type: array of strings
    • org.apache.felix.jetty.gzip.excludedMimeTypes
      • Type: array of strings
    • org.apache.felix.http.session.invalidate
      • Type: boolean
    • org.apache.felix.http.session.container.attribute
      • Type: array of strings
    • org.apache.felix.http.session.uniqueid
      • Type: boolean
  • org.apache.sling.scripting.cache (Announcement Date: 4/30/2021, Enforcement Date: 7/31/2021)

    • org.apache.sling.scripting.cache.size

      • Type: integer
      • Required Range: >= 2048
    • org.apache.sling.scripting.cache.additional_extensions

      • Required
      • Type: array of strings
      • Required Range: must include js
  • com.day.cq.mailer.DefaultMailService (Announcement Date: 4/30/2021, Enforcement Date: 7/31/2021)

    • smtp.host

      • Type: string
    • smtp.port

      • Type: integer
      • Required Range: 465, 587, or 25
    • smtp.user

      • Type: string
    • smtp.password

      • Type: string
    • from.address

      • Type: string
    • smtp.ssl

      • Type: string
    • smtp.starttls

      • Type: boolean
    • smtp.requiretls

      • Type: boolean
    • debug.email

      • Type: boolean
    • oauth.flow

      • Type: boolean
  • org.apache.sling.commons.log.LogManager.factory.config (Announcement Date: 11/16/21, Enforcement Date: 2/16/21)

    • org.apache.sling.commons.log.level

      • Type: enumeration
      • Required Range: INFO, DEBUG, or TRACE
    • org.apache.sling.commons.log.names

      • Type: string
    • org.apache.sling.commons.log.file

      • Type: string
    • org.apache.sling.commons.log.additiv

      • Type: boolean

Java runtime update to version 21 java-runtime-update-21

AEM as a Cloud Service will be moving to Java 21 runtime. In order to ensure compatibility, it is essential to make the following adjustments:

Runtime Requirements

These adjustments are required to ensure compatibility with the Java 21 runtime. The libraries can be updated at any time as they are compatible with older versions of Java.

Minimum version of org.objectweb.asm org.objectweb.asm

Update the usage of org.objectweb.asm to version 9.5 or higher to ensure support for newer JVM runtimes.

Minimum version of org.apache.groovy org.apache.groovy

Update the usage of org.apache.groovy to version 4.0.22 or higher to ensure support for newer JVM runtimes.

This bundle can be indirectly included by adding third party dependencies such as the AEM Groovy Console.

Build-time Requirements

These adjustments are required to allow building the project with newer versions of Java but not required for runtime compatibility. The Maven plug-ins can be updated at any time as they are compatible with older versions of Java.

Minimum version of bnd-maven-plugin bnd-maven-plugin

Update the usage of bnd-maven-plugin to version 6.4.0 to ensure support for newer JVM runtimes. Versions 7 or higher are not compatible with Java 11 or lower so an upgrade to that version is not recommended at this time.

Minimum version of aemanalyser-maven-plugin aemanalyser-maven-plugin

Update the usage of aemanalyser-maven-plugin to version 1.6.6 or higher to ensure support for newer JVM runtimes.

Minimum version of maven-bundle-plugin maven-bundle-plugin

Update the usage of maven-bundle-plugin to version 5.1.5 or higher to ensure support for newer JVM runtimes.

Update dependencies in maven-scr-plugin maven-scr-plugin

The maven-scr-plugin is not directly compatible with Java 17 and 21. However, it is possible to generate the descriptor files by updating the ASM dependency version within the plugin configuration, similar to the snippet below:

[source,xml]
 <project>
   ...
   <build>
     ...
     <plugins>
       ...
       <plugin>
         <groupId>org.apache.felix</groupId>
         <artifactId>maven-scr-plugin</artifactId>
         <version>1.26.4</version>
         <executions>
           <execution>
             <id>generate-scr-scrdescriptor</id>
             <goals>
               <goal>scr</goal>
             </goals>
           </execution>
         </executions>
         <dependencies>
           <dependency>
             <groupId>org.ow2.asm</groupId>
             <artifactId>asm-analysis</artifactId>
             <version>9.7.1</version>
             <scope>compile</scope>
           </dependency>
         </dependencies>
       </plugin>
       ...
     </plugins>
     ...
   </build>
   ...
 </project>
recommendation-more-help
fbcff2a9-b6fe-4574-b04a-21e75df764ab