Skip to content

Ignite UI for Angular versioning

Konstantin Dinev edited this page Jun 13, 2018 · 7 revisions

Versioning Explained

Ignite UI for Angular is a UI component library on top of the Angular framework. Our versioning is semi-sem-ver. What does this mean? Versioning doesn't follow the <major>.<minor>.<patch>, but instead consists of the major version of Angular the code supports, and then the version of the library against the major version of Angular it supports. So our versioning follows this pattern:

<Angular Major>.<Major>.<Minor>

Beta versions:

<Angular Major>.<Major>.<Minor>-beta.<Patch>

NOTE: What this means is that breaking changes can be introduced between versions 5.2.x and 5.3.x, because 2 and 3 respectively are feature updates of Ignite UI for Angular against Angular 5.

Examples

UI Components built and tested against Angular 5.x would be versioned 5.x. Initial support for Angular 5 would be versioned 5.0.0. Minor updates and patches would increment like this

  • 5.0.1
  • 5.0.2
  • ...

Feature updates would then be versioned like this:

  • 5.1.0
  • 5.2.0
  • ...

NOTE: Between 5.1.0 and 5.2.0 breaking changes may be introduced. As this is a major features update of the UI component library.

What happens when Angular 6 is released? Then versioning of the first update of Ignite UI for Angular that is compatible with Angular 6 becomes 6.0.0.

Starting with 5.2.x we would introduce branch per Ignite UI for Angular major version, which means 5.2.x, 5.3.x, 6.0.x, etc.

Maintenance and Support

Ignite UI for Angular repo is structures in such a way that development is performed in the latest dev branch (master) and maintenance applies to the latest stable version. What this means is that if the current official release version is 6.0.0, then maintenance is applied to the 6.0.x branch, while new feature development is applied in master, which will eventually branch off to become 6.1.x. The only exception would be if there's a critical issue in a branch out of maintenance, which has been resolved in a currently maintained branch. In this case, if there's significant usage of the version out of maintenance, the issue would be resolved there as well, and released with a patch version.

Support is applicable to two versions back - latest stable, and the previous major version. If the current LTS is 6.0.0, then support is also applicable to 5.3.x.

Clone this wiki locally