How Versioning Works
Anvil2 uses semantic versioning, following the standard three-part version string:MAJOR.MINOR.PATCH
Major releases
Indicate breaking changes that may require design or engineering updates. Examples:- large UI changes affecting multiple components
- significant updates to foundational tokens
- removing previously deprecated components or features
- major changes to API or behavior
Minor releases
Adds new features while maintaining backwards compatibility. Examples:- new components or variants
- updated interactions
- enhancements to patterns
- additions to documentation
- minor accessibility improvements
Patch releases
Contain small, safe, incremental updates. Examples:- bug fixes
- visual polish
- icon additions
- documentation corrections
- minor accessibility fixes
- internal code improvements
Communications
For every release type, the Anvil2 team publishes a release note that includes:- Categorization (major, minor, patch)
- Package affected and latest version number
- Author and PR number
- Affected system elements
- Migration guidance (when applicable)
- Link to changelog
- A support link
Major Changes
For major breaking changes, Anvil follows the foundational change guidance for applicable updates, and coordinates all breaking changes with both the Release Manager and Platform teams. The goal is to ensure consuming teams have sufficient time to test and minimize impact on users.Adopting Updates
To stay aligned with the system, teams should: -review release notes- Integrate minor and patch updates immediately
- Plan for major release migrations
- Remove deprecated usage as part of ongoing maintenance
- Test UI behavior after upgrading the code package
- Report issues or ask questions in #ask-designsystem