Last updated Apr 2, 2024

Preparing for Confluence 5.8

This documentation is intended for Confluence developers who want to ensure that their existing plugins and add-ons are compatible with Confluence 5.8, and to learn about the new features for developing add-ons in Confluence 5.8.

ActiveObjects will no longer support @StringLength greater than 450

Previously, plugins using Active Objects could specify a value of @StringLength, on their String-typed entity columns, of up to 767.

From Confluence 5.8, the maximum supported will be 450 due to a limitation of SQL Server. This means that plugins with @StringLength greater than 450 won't work, and will be unable to access their data unless modified.

You need to change them to @StringLength(StringLength.UNLIMITED). This will automatically change the column to use the appropriate CLOB or TEXT type, and will automatically migrate the existing data.

Support for Java 8

In this release we have dropped support for Java Runtime Environment (JRE) 7, in line with Oracle's decision to stop providing public updates for JRE 7 in April 2015, and added support for the Java 8 bytecode. We'll continue to have binary compatibility - so you won't need to recompile your plugins using JDK 8. If your plugin targets Java 8 (and uses Java 8 language features), you can not use Spring class path scanning. In this case, you can either remove class path scanning, or target Java 7 bytecode.

Index recovery for Confluence Data Center

In this release we've added the ability for a node to recover the index from an existing node when joining the cluster. A new Index Recoverer module allows plugins to specify a Lucene index for index recovery in a cluster if the index is found to be out of date or invalid. Read more about the Index Recoverer module.

Embedded database change

Confluence now includes an embedded H2 database for evaluation purposes. All new trial installations will use H2 instead of HSQL. 

Storage format changes for macros

In this release we've made two changes to the storage format for macros:

  • **Macro identification
    **A new macro-id provides a simple and reliable way to identify a particular macro on a page. Confluence will generate a macro-id if you do not supply one, or if the page contains duplicate IDs. The IDs are only unique to the current version of the current page.

  • Schema version and dynamic migration
    Macros now have a schema-version which can be used to dynamically migrate macro parameters.  If your macro has new storage requirements (for example changes to existing parameters), you will be able to define a migrator. Confluence will run your migrator and use the schema version to automatically track the version on the macro. See Dynamically migrate macro parameters for more info.

Confluence space to HipChat room notifications are now pluggable

Your plugin can now send notifications from a Confluence space to a HipChat room. See Adding new Confluence to HipChat notifications for more information.

Rate this page: