Confluence 8.9 release beta available now

This week we released a beta for Confluence. There are changes in this release that may directly affect third-party apps.

New in 8.9

To find out what’s in this release, check out the Confluence 8.9 beta release notes.

Get started

Download the beta from our site to start testing your app for compatibility with the changes. Be sure to take a look at our Preparing for Confluence 8.9 guide to find out what you need to do to make your app compatible. We’ll update that page regularly, so keep an eye on it to see any changes.

The Atlassian Confluence team

I am still having issues with using com.atlassian.confluence.event.events.admin.ImportFinishedEvent which depends on com.atlassian.confluence.importexport.ImportContext which seems to be part of the confluence-jar in DEV mode (which i thought we should use in preparation for Confluence 9). This is the error message I receive:

[INFO] [talledLocalContainer] Caused by: org.osgi.framework.BundleException: Unable to resolve xxx [305](R 305.0): missing requirement [xxx [305](R 305.0)] osgi.wiring.package; (osgi.wiring.package=com.atlassian.confluence.importexport) Unresolved requirements: [[xxx [305](R 305.0)] osgi.wiring.package; (osgi.wiring.package=com.atlassian.confluence.importexport)]

These are my dependencies:

      <properties>
        <confluence.version>8.9.0-beta2</confluence.version>
        <platform.version>6.5.8</platform.version>
        <jdk.version>11</jdk.version>
      </properties>
      <dependencyManagement>
        <dependencies>
          <dependency>
            <groupId>com.atlassian.confluence</groupId>
            <artifactId>confluence-plugins-platform-pom</artifactId>
            <version>${confluence.version}</version>
            <type>pom</type>
            <scope>import</scope>
          </dependency>
          <dependency>
            <groupId>com.atlassian.platform.dependencies</groupId>
            <artifactId>platform-public-api</artifactId>
            <version>${platform.version}</version>
            <type>pom</type>
            <scope>import</scope>
          </dependency>
          <dependency>
            <groupId>com.atlassian.platform.dependencies</groupId>
            <artifactId>platform-deprecated-public-api</artifactId>
            <version>${platform.version}</version>
            <type>pom</type>
            <scope>import</scope>
          </dependency>
        </dependencies>
      </dependencyManagement>

This is part of my configuration, using AMPS 8.14.1:

<atlassian.dev.mode>true</atlassian.dev.mode>
<upm.plugin.upload.enabled>true</upm.plugin.upload.enabled>            <confluence.osgi.treatDeprecatedPackagesAsPublic>true</confluence.osgi.treatDeprecatedPackagesAsPublic>

Typically I would resolve this by setting the dependency with scope ‘compile’ and add banningExcludes. What is the solution here? I assume it is something obvious, but I cannot figure out how to resolve this.

Just for reference: I posted a similar question here a couple of days ago: Preparing for Confluence 9.0 - EAP coming soon - #82 by rr1

Hey,

when running 8.9.0-beta2 in prod mode (= NOT dev mode) it complains about commons-lang3 being removed in a later release:

2024-03-20 12:17:23,631 WARN [UpmAsynchronousTaskManager:thread-3] [osgi.hook.dmz.DmzResolverHook] filterMatches Package org.apache.commons.lang3 is deprecated and will be made unavailable for export to plugin … in a future release

Please remove this warning as it is incorrect and especially misleading because a lot of plugins will use this package. According to the platform 7 doc hub (see footnote), commons-lang3 will remain available for OSGi importing in Confluence 9.0.

2 Likes

When looking at the UPM in Confluence 8.9-beta2, there is a problem which is flagging DC-compatible apps as not DC-compatible.

If you have an installed but non-current version of any app, it shows up in the version list as “DATA CENTER UPDATE AVAILABLE”, also with the detailed message: “The currently installed version of this app is not approved for Data Center versions of Confluence. Please update to v. X.Y, which is Data Center approved.”

For example, if I go and manually install Scroll Viewport (picked at random) v2.22.5, it displays this message. If I update to v2.22.6, the message goes away, even though both versions of the app are DC-compatible.

This is using the bundled UPM 6.5.3.

We are looking into it.
Its due to the way we have configured the deprecation list. Need to tweak it thanks!

1 Like

As requested by @SujayCHegde, I’m continuing our conversation about OSGI fragments not working for our app on Confluence 8.9.

  1. is it possible to get a dev version of the plugin for local debugging.

I know that would be really helpful, but unfortunately I don’t think there’s a way for me to get you set up to build dev version of the plugin. (If I were to just give you jar to try to reproduce this issue with, you wouldn’t be able to since this doesn’t happen on any production builds, since the test plugin doesn’t get installed on a production build)

  1. Possible to get the plugin descriptor and the pom file?

We use gradle instead of maven, if you mainly want to see the Import-Package and Export-Package you’ll find what you’re looking for in this gradle task that we have called GenerateBndInstructions.

Apparently new users aren’t allowed to add attachments here, so I’ll just add them in our slack thread. I’ve attached GenerateBndInstructions.groovy, and have also attached the build.gradle for our Confluence module, and our build.gradle for the top level of the project (We have a monorepo for ScriptRunner, so it contains ScriptRunner for Jira and ScriptRunner for Bitbucket as well)

Ok.
Sorry for the late response.

Could I confirm that its milestone m03 of 8.9.0 from where the problem initiates?
Thanks