Skip to content

Ignite UI For React versioning

Stamen Stoychev edited this page Oct 19, 2023 · 1 revision

Versioning Explained

Ignite UI for React is a UI component library on top of the React 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 React the code supports, and then the version of the library against the major version of React it supports. So our versioning follows this pattern:

<React Major>.<Major>.<Minor>

Beta versions:

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

NOTE: What this means is that breaking changes can be introduced between versions 18.2.x and 18.3.x, because 2 and 3 respectively are feature updates of Ignite UI for React against React 18.

Examples

UI Components built and tested against React 18.x would be versioned 18.x. Initial support for React 18 would be versioned 18.0.0. Minor updates and patches would increment like this

  • 18.0.1
  • 18.0.2
  • ...

Feature updates would then be versioned like this:

  • 18.1.0
  • 18.2.0
  • ...

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

What happens when React 19 is released? Then versioning of the first update of Ignite UI for React that is compatible with React 19 becomes 19.0.0.

Maintenance and Support

Ignite UI for React repo is structures in such a way that development is performed in the latest dev branch and maintenance applies to the latest stable version. What this means is that if the current official release version is 18.0.0, then maintenance is applied to the 18.0.x branch, while new feature development is applied in master, which will eventually branch off to become 18.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.

We release an update of our package for each React major version and will support and actively maintain our package against the React major for 12 months. After the 12 months of support for our package major version are over, the version goes into long-term support (LTS*) for additional 12 months. This means that if a React major is released in March of this year, then support for the corresponding version of our product will last until April of next year. Long-term support for that version will be until April of the year after. Only the latest feature version of igniteui-react-* per major version of React is maintained. E.g. For React 18, we have feature versions 18.0.x, 18.1.x, 18.2.x and 18.3.x. After 18.3.0 is released, only 18.3.x would be the maintained branch for Angular 18.

*LTS fixes

As a general rule, a fix is considered for an LTS version if it resolves one of:

  • A newly identified security vulnerability,
  • A regression, since the start of LTS, caused by a 3rd party change, such as a new browser version.
Clone this wiki locally