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:
- Announcement of deprecation comes first. Deprecated capabilities remain available but are not enhanced further.
- 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.
DAM Asset Update
workflow to process ingested images.DAM Asset Update
workflow are not supported, including calling command-line tools like ImageMagick.Removed Features removed-features
This section lists features and capabilities that have been removed from Experience Manager with Experience Manager as a Cloud Service.
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.
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/ororg.apache.sling.commons.auth.spi
toorg.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
andorg.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:
- Replace the usage of
org.apache.felix.http.whiteboard
with OSGi Http Whiteboard
OSGI Configuration osgi-configuration
The two lists below reflect the AEM as a Cloud Service OSGi configuration surface, describing what customers can configure.
- Customer code must not configure the listed OSGi configurations.
- 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.
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)
-
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>