Hi all,
Thanks for the quick feedback.
We’ve identified the issue with UPM which is preventing plugin installs from the web UI and REST API. This will be rectified in the next EAP.
Most dependencies need to be explicitly specified. However, you should inherit the version management by importing com.atlassian.confluence:confluence-plugins-platform-pom
. See my dependencyManagement
snippet further down.
In general, yes.
There is no new dedicated API for migration, you should use the existing BandanaManager
API, which will have its mutative APIs blocked.
This will be rectified in the next EAP.
The JAX-RS and Jersey dependencies are currently pinned to the incorrect versions in confluence-plugins-platform-pom
due to some technical hurdles. This will be fixed in a later EAP but you may work around this issue by adding the following additional dependencyManagement
entries for now.
2025-03-10 update: The temporary workaround entries below are no longer required!
<dependencyManagement>
<dependencies>
<dependency>
<!-- Temporary workaround -->
<groupId>org.glassfish.jersey</groupId>
<artifactId>jersey-bom</artifactId>
<version>3.1.9</version>
<scope>import</scope>
<type>pom</type>
</dependency>
<dependency>
<!-- Temporary workaround -->
<groupId>jakarta.ws.rs</groupId>
<artifactId>jakarta.ws.rs-api</artifactId>
<version>3.1.0</version>
</dependency>
<dependency>
<!-- Temporary workaround -->
<groupId>jakarta.inject</groupId>
<artifactId>jakarta.inject-api</artifactId>
<version>2.0.1</version>
</dependency>
<dependency>
<groupId>com.atlassian.confluence</groupId>
<artifactId>confluence-plugins-platform-pom</artifactId>
<version>${confluence.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
We are aware of a handful of OSGi services which still leak the old javax.servlet.*
APIs. Whilst not ideal, you may workaround this by depending upon both the old and new Servlet APIs. You may also need to specify an optional OSGi import. Please ensure you remove this workaround once these services are corrected in later EAPs.
<dependencies>
<dependency>
<groupId>jakarta.servlet</groupId>
<artifactId>jakarta.servlet-api</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<!-- Temporary workaround -->
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>