Versioning

Versioning of releases made for core Switch services

This document provides guidelines regarding the versioning strategy used for the releases of Mojaloop Open Source repositories corresponding to the Switch services.

Versioning Strategy

Standard for PI-11 and beyond

  1. Starting PI-11 (27th July, 2020) the Versioning guidance is to move to a versioning system that is closely aligned with Semantic versioning by removing the PI/Sprint dependency. So starting 11.x.x, the proposal is to move to pure SemVer.

  2. At a high-level, we will still follow the vX.Y.Z format, but X represents ‘Major’ version, Y represents ‘Minor’ version and Z represents ‘patch’ version. Minor fixes, patches affect increments to ‘Z’, whereas non-breaking functionality changes affect changes to ‘Y; breaking changes affect the ‘X’ version.

  3. Along with these, suffixes such as “-snapshot”, “-patch”, “-hotfix” are used as relevant and on need basis (supported by CI config).

  4. So starting with 11.0.0 (primarily for Helm, but for individual services as well) for PI-11, the proposal is to move to pure SemVer.

  5. This implies that for any new release of a package/service below X=11 (for existing repositories and not new ones) will first be baselined to v11.0.0 and from then on follow standard SemVer guidelines as discussed above. For new projects or repositories, versioning can start from v1.0.0 (after they reach release status)

Versioning Strategy used until PI-10

  1. The Mojaloop (up to PI-10) versioning system is inspired by the Semantic Versioning numbering system for releases.

  2. However, this is customized to depict the timelines of the Mojaloop project, based on the Program Increment (PI) and Sprint numbers

  3. For example, the release number v5.1.0 implies that this release was the first one made during a Sprint 5.1, where Sprint5.1 is the first Sprint in PI-5. So for a version vX.Y.Z, X.Y is the Sprint number where X is the PI number and Z represents the number of release for this specific repository. Example v4.4.4 implies that the current release is the fourth of four releases made in Sprint 4.4 (of PI-4)

Current Version

The currrent version information for Mojaloop can be found here.

Sprint schedule for PI-13

Below is the Sprint schedule for Program Increment 13 which ends with the PI-14 Community event in April 2021.

Phase/MilestoneStartEndWeeksNotes

Phase-5 Kick-off On-site

1/25/2021

1/29/2021

5 days

Virtual Zoom Webinars

Sprint 13.1

02/01/2021

02/14/2021

2 weeks

Sprint 13.2

02/15/2021

02/28/2021

2 weeks

Sprint 13.3

03/01/2021

03/14/2021

2 weeks

Sprint 13.4

03/15/2021

03/28/2021

2 weeks

Sprint 13.5

03/29/2021

04/11/2021

2 weeks

Sprint 13.6

04/12/2021

04/25/2021

2 weeks

Phase-5 PI-14

04/26/2021

04/30/2021

5 days

Virtual meetings

Sprint schedule for PI-12

Below is the Sprint schedule for Program Increment 12 which ends with the PI-13 Community event in January 2021.

Phase/MilestoneStartEndWeeksNotes

Phase-4 Kick-off On-site

1/28/2020

1/30/2020

3 days

Johannesburg

Phase-4 PI-10 Virtual

4/21/2020

4/24/2020

4 days

Virtual Zoom Webinars

Phase-4 PI-11 Virtual

7/21/2020

7/24/2020

4 days

Virtual Zoom Webinars

Phase-4 PI-12 Virtual

10/19/2020

10/23/2020

5 days

Virtual Zoom Webinars

Sprint 12.1

10/26/2020

11/15/2020

3 weeks

Sprint 12.2

11/16/2020

11/29/2020

2 weeks

Sprint 12.3

11/30/2020

12/13/2020

2 weeks

Sprint 12.4

12/14/2020

12/27/2020

2 weeks

Sprint 12.5

12/28/2020

01/10/2021

2 weeks

Sprint 12.6

01/11/2020

01/24/2020

2 weeks

Phase-5 Kick-off / PI-13

01/25/2021

01/29/2021

5 days

TBD

Previous Sprint Schedules:

Sprint schedule for PI-11

Below is the Sprint schedule for Program Increment 11 which ends with the PI 12 Event.

Phase/MilestoneStartEndWeeksNotes

Phase-4 Kick-off On-site

1/28/2020

1/30/2020

3 days

Johannesburg

Phase-4 PI-10 Virtual

4/21/2020

4/24/2020

4 days

Virtual Zoom Webinars

Phase-4 PI-11 Virtual

7/21/2020

7/24/2020

4 days

Virtual Zoom Webinars

Sprint 11.1

7/27/2020

8/9/2020

2 weeks

Sprint 11.2

8/10/2020

8/23/2020

2 weeks

Sprint 11.3

8/24/2020

9/6/2020

2 weeks

Sprint 11.4

9/7/2020

9/20/2020

2 weeks

Sprint 11.5

9/21/2020

10/4/2020

2 weeks

Sprint 11.6

10/5/2020

10/18/2020

2 weeks

Phase-4 PI-12

10/20/2020

10/23/2020

4 days

TBD

Sprint schedule for PI-10

Below is the Sprint schedule for Program Increment 10 which ends with the PI 11 Event. Please use this as guidance during the versioning and release processes.

Phase/MilestoneStartEndWeeksNotes

Phase-3 PI6 On-site

4/16/2019

4/18/2019

3 days

Johannesburg

Phase-3 PI7 On-site

6/25/2019

6/27/2019

3 days

Arusha

Phase-3 PI8 On-site

9/10/2019

9/12/2019

3 days

Abidjan

Phase-4 Kick-off On-site

1/28/2020

1/30/2020

3 days

Johannesburg

Phase-4 PI 10 Virtual

4/21/2020

4/24/2020

5 days

Virtual Zoom Webinars

Sprint 10.1

4/27/2020

5/10/2020

2 weeks

Sprint 10.2

5/11/2020

5/24/2020

2 weeks

Sprint 10.3

5/25/2020

6/7/2020

2 weeks

Sprint 10.4

6/8/2020

6/21/2020

2 weeks

Sprint 10.5

6/22/2020

7/5/2020

2 weeks

Sprint 10.6

7/6/2020

7/19/2020

2 weeks

Phase-4 PI 11 On-Site

7/21/2020

7/23/2020

3 days

Kenya (Tentative)

PI-9

Phase/MilestoneStartEndWeeksNotes

Sprint 9.1

2/3/2020

2/16/2020

2 weeks

Sprint 9.2

2/17/2020

3/1/2020

2 weeks

Sprint 9.3

3/2/2020

3/15/2020

2 weeks

Sprint 9.4

3/16/2020

3/29/2020

2 weeks

Sprint 9.5

3/30/2020

4/12/2020

2 weeks

Sprint 9.6

3/13/2020

4/19/2020

1 week

Phase-4 PI 10 Virtual

4/21/2020

4/23/2020

5 days

Virtual Zoom Webinars

PI-8

Phase/MilestoneStartEndWeeksNotes

Sprint 8.1

9/16/2019

9/29/2019

2 weeks

Sprint 8.2

9/30/2019

10/13/2019

2 weeks

Sprint 8.3

10/14/2019

10/27/2019

2 weeks

Sprint 8.4

10/28/2019

11/10/2019

2 weeks

Sprint 8.5

11/11/2019

11/24/2019

2 weeks

Sprint 8.6

11/25/2019

12/8/2019

2 weeks

Sprint 8.7

12/9/2019

1/5/2020

4 weeks

Christmas Break

Sprint 8.8

1/6/2020

1/26/2020

3 weeks

1 week prep

Phase-4 Kick-off On-site

1/28/2020

1/30/2020

3 days

Johannesburg

Notes

  1. A new release for helm repo is made based on the feature and configuration changes made to core services and requirements from thhe Community.

Last updated