Support policy - iTwin/iTwinUI GitHub Wiki

iTwinUI employs support policies to facilitate the following objectives:

  • Provide a broad set of stable, well-supported UI components.
  • Continuously deliver new features, bug fixes, and security updates.
  • Evolve APIs over time in response to user feedback.
  • Encourage users to keep up to date with the most recent package versions.

Sometimes, APIs evolve in a way that requires making backwards-incompatible changes to them, or removing them altogether. The support policies below detail under what circumstances such breaking changes can occur and how iTwinUI endeavors to minimize their impact on consumers of the library.

Breaking changes

We aim to minimize breaking changes by designing our APIs for future flexibility. However, evolving needs sometimes necessitate such changes. Here's how we handle them in different iTwinUI packages:

@itwin/itwinui-variables breaking changes
Changes to variable names or significant alterations in values.
@itwin/itwinui-css breaking changes
Adjustments to the DOM structure, class names, or significant visual updates. The CSS package may adopt a new major version of the Variables package without requiring a new major version of the CSS package.
@itwin/itwinui-react breaking changes
Modifications that cause compilation errors or undesirable runtime behavior in existing code. The React package may adopt a new major version of the CSS package without requiring a new major version of the React package.

Package versioning policy

We adhere to semantic versioning, signaling API changes through our version numbers:

Patch release
Patch releases address bugs or security issues without affecting the API.
Minor release
Minor releases introduce new features but maintain compatibility.
Major release
Major releases are made for significant changes, possibly including breaking changes.

Rare exceptions may be made to this policy when a breaking API change is required to fix a bug and the severity of the bug significantly outweighs the impact of the API change on existing code.

Package support policy

Each major release of an iTwinUI package undergoes a support lifecycle consisting of the following consecutive phases:

✅ Current
The most recent major release. It receives regular updates containing new features, bug fixes, and security patches.
🔧 Maintenance
Immediately after a new major release, the "current" version becomes a "maintenance" version. It receives updates containing bug fixes and security patches.
💀 End-of-life
After six months a "maintenance" version transitions to "end of life", after which it receives no further updates.

Version support status

@itwin/itwinui-variables

Major version Status Release Maintenance End-of-life
1.x 💀 End of life 2022-11-14 2023-02-27 2023-08-27
2.x 💀 End of life 2023-02-27 2023-10-23 2024-04-23
3.x Current 2023-10-23 TBD TBD

@itwin/itwinui-css

Major version Status Release Maintenance End-of-life
1.x 💀 End of life 2022-11-14 2023-10-23 2024-04-23
2.x Current 2023-10-23 TBD TBD

@itwin/itwinui-react

Major version Status Release Maintenance End-of-life
1.x 💀 End of life 2021-04-15 2022-11-15 2023-05-15
2.x 💀 End of life 2022-11-15 2023-10-23 2024-04-23
3.x Current 2023-10-23 TBD TBD
⚠️ **GitHub.com Fallback** ⚠️