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.
Please watch the Development Releases page for pre-release versions of Confluence 5.8 that you can use for testing purposes. This page will be updated as further EAP development releases are available.
What's changing 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
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-idprovides a simple and reliable way to identify a particular macro on a page. Confluence will generate a
macro-idif 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-versionwhich 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.