1. Major API Release
Due to JIRA 6 changes, we have to bump the major version of the Structure API in the version of Structure for JIRA 6. Although no considerable changes have been introduced, strictly speaking, the new Structure API for JIRA 6 is backwards-incompatible.
If you're using Structure API, please check these change notes and see if you need to make changes to your code. Most likely you don't.
If you limit the OSGi package import version to the 7.x range, you'll need to either expand the range to include 8.x, or build separate plugins for JIRA 5 and JIRA 6.
JIRA Version |
New API Version |
---|---|
5.x |
7.4.0 |
6.x |
8.0.0 |
See Structure API Versions for full version information and downloads.
2. Incompatible Changes in Structure for JIRA 6
2.1. PermissionRule
and PermissionSubject
semantics change
Due to migration in JIRA 6 from using user login names to using user keys (to support changing login names), all objects that represent permission rules are using user keys now, while preserving serialization format and class methods.
This means that if you happen to serialize PermissionRule
and PermissionSubject
or use their toEncodedString
or fromEncodedString
, you'll need to migrate your persisted data (convert login names to lowercase). Structure plugin does that on its own for the data stored in the database and when restoring from backup.
3. Compatible Changes
3.1. Additional Executor in StructureJobManager
StructureJobManager
can now execute tasks in multiple independent queues (executors). See javadocs for the details.
3.2. StructureUtil
Methods for Migration
StructureUtil
has a few new facade methods to help with migrating users – see migrateUserNameToUserKey()
, getUserByName()
, getUserByKey()
.