atlassian-labs/atlassian-slack-integration-server

Update branching model to support breaking product API changes

mvlasovatl opened this issue · 1 comments

Currently all stable plugin versions reside in master. It means that the code in master must be compatible with 3 products and a range of supported product versions for each product. #328 most likely will bring some breaking API changes, that will make impossible to build a plugin JAR that will be compatible with old and new product versions. In order to keep maintaining all supported product versions separate release branches may need to be created.

For example, a new branch release/jira-plugin/3.0.x created from current master may be used to release bug fix plugin releases for Jira 9.13 and older, while master will be compatible with Jira 10.x and newer versions.

This task may be cancelled though if the code is possible to refactor in a way to keep it compatible with old and new REST implementations in the same branch - master.

New branching model:

  • master/dev branch

    • Jira: 10+ (not released yet) and Plugin version - 4+ on JDK 17.
    • Confluence: 9+ (not released yet) and Plugin version - 4+ on JDK 17.
    • Bitbucket: 9+ (not released yet) and Plugin version - 5+ on JDK 17.
  • release-1.x branch

    • Jira: 8.15.0 (EOL date: 2 Feb 2023) JDK 8, 11 - 9.5.0 (EOL date: 6 Dec 2024) on JDK 8, 11, 17. (Plugin version - 3.x.x)
    • Confluence: 7.10 (EOL date: Dec 15, 2022) JDK 8, 11 - 8.0.0-m90 (EOL date: TBD - end of 2024) JDK 8, 11. (Plugin version - 3.x.x)
    • Bitbucket: 7.6.0 (EOL date: Q1 calendar year 2023) on JDK 8, 11 - 8.8.0 (EOL date: 7 Feb 2025) on JDK 8, 11, 17. (Plugin version - 4.x.x)