How to make your AEM application compatible with AEM 6.2

Overview

AEM 6.2 is released since April 2016.

This page lists information what to do to make your wcm.io-based Applications compatible to AEM 6.2.

Required wcm.io bundle versions

You should use the latest released bundles of all wcm.io Modules.

Especially you have to update the following bundles for compatibility with AEM 6.2:

  • io.wcm.wcm.commons 0.6.2
  • io.wcm.config.api 0.5.6
  • io.wcm.config.editor 0.6.4
  • io.wcm.handler.url 0.8.0
  • io.wcm.handler.media 0.10.2

The main reason for this is that a lot of packages for the AEM API have changed their major version number (although not changed much technically, e.g. only because some deprecated features where removed).

AEM Mocks for AEM 6.2

There is a branch with a snapshot version of io.wcm.testing.aem-mock 2.0.0-SNAPSHOT compatible to AEM 6.2 and the latest Sling API changes and latest Oak version:
https://github.com/wcm-io/wcm-io-testing/tree/feature/aem62-api

The 2.0.0-SNAPSHOT version is also deployed to Sonatype OSS Snapshot Repository.

Make your application compatible with AEM 6.2 API

Because some major package version of the AEM 6.2 API changed you have to recompile your code against the latest AEM 6.2 API.

Alternatively you can compile against AEM 6.0 or 6.1 API (if you do not need any of the new features in the API) and relax the import package version ranges in your application bundle's POM files.

Example:

  • Your application uses a class from the package com.day.cq.commons which was present as version 5.x in AEM 6.0 and 6.1, but has version 6.0 in AEM 6.2
  • Update the maven-bundle-plugin in your pom with a section like this:

    <plugin>
      <groupId>org.apache.felix</groupId>
      <artifactId>maven-bundle-plugin</artifactId>
      <configuration>
        <instructions>
          <Import-Package>
            com.day.cq.commons;version="[5.7,7)",
            *
          </Import-Package>
        </instructions>
      <configuration>
    </plugin>