Strato versioning and releases
- Concept
- 5 minutes
Keep your apps running smoothly by staying up-to-date with the latest Strato versions. Regular updates help you get the most value from the Strato Design System and avoid potential problems.
This page explains Strato versioning, release cadence, release notes, and how to update Strato packages.
Versioning
Strato uses semantic versioning, which follows these rules:
- Version numbers have the format MAJOR.MINOR.PATCH.
- All changes to the code are aggregated, versioned, and released according to these types:
- MAJOR release for breaking changes.
- MINOR release for feature updates and other non-breaking changes.
- PATCH release for bug fixes for earlier releases.
Release cadence
| Release version | Cadence | Includes (see Definitions) |
|---|---|---|
| MAJOR | Twice per year | Breaking changes, peer dependency updates, removal of deprecated components |
| MINOR | Every two weeks | Feature updates and improvements that are fully compatible with earlier versions. |
| PATCH | As needed | Bug fixes |
Lifecycle states
Strato components and tokens may exist in these states:
New
- Was recently released.
- May be a new version of a deprecated component.
- May have breaking changes up to twice per year.
Stable
- Is neither new nor deprecated.
- May have breaking changes up to twice per year.
Deprecated
- Is no longer needed.
- May have been replaced by a new component.
- Will be removed from Strato in the next MAJOR release.
Deprecations are described in Upcoming changes (pre-release) and Release notes (post-release).
Update Strato packages
We strongly recommend updating Strato packages in your environment every two weeks to ensure you have all the new features and fixes.
dt-app update
Use the dt-app update command in your terminal to update all Strato packages at once:
npx dt-app update
This command will update all Strato packages and run any necessary migrations in your environment. All details are provided in the terminal when you run the command.
See the App Toolkit Command reference for more commands.
npm
You can also update Strato packages individually through NPM:
- npm: @dynatrace/strato-components
- npm: @dynatrace/strato-design-tokens
- npm: @dynatrace/strato-geo
- npm: @dynatrace/strato-icons
Strato support
We support two MAJOR versions at once: the latest version and the one before it.
Supported issues
- Bugs that matter
- Security vulnerabilities
- Issues that could break features or apps
- Dependencies
Unsupported issues
- Minor bugs with minimal impact on users
- Minor visual improvements
- Issues created by customizing Strato in ways that weren't intended
Need troubleshooting help? See Get help for links.
Release notes
All changes are documented in Strato release notes.
Breaking changes planned for future MAJOR releases are announced in Upcoming changes at least one month ahead of the release to give you time to plan and react.
Definitions
Breaking change
Any change that could break apps or significantly change how users interact with the component. Release type: MAJOR
The following don't qualify as breaking changes:
- Spreading undocumented props onto elements to access native elements for testing.
- Relying on internal DOM structures. (Internal DOM structures can change at any time.)
- Overriding a component's display CSS.
- Not using the
@dynatrace/dt-appproject structure for the IDE, including build setup and package manager. - API changes that break builds.
Bug fix
A change that corrects an error or malfunction in an earlier release. Release type: PATCH
Changelog
A chronological record of code changes. For Strato, the changelog is the source for release notes. It's written to be accessible and relevant to most Strato users. The words "changelog" and "release notes" are sometimes used as synonyms.
Update
A feature update or improvement that's compatible with previous releases. It won't cause issues. Also called a "non-breaking change." Release type: MINOR
Peer dependency update
A change to code that other packages depend on to run properly. If you're not familiar with how they work, please take a few minutes to learn about Node.js peer dependencies (external site). Release type: MAJOR
Release note
Information that helps a product's users understand what's new in a specific software version and how it benefits the product. Strato release notes include breaking changes (MAJOR), updates (MINOR), bug fixes (PATCH), and dependency updates (MAJOR). Future breaking changes are published in Upcoming changes.
Upcoming change
Advance notice of a breaking change in a future release. Release type: MAJOR, planned
Figma kits
Strato Figma kits are available to Dynatrace employees. Sign in with your employee credentials for information.
Get help
Go to the Developer Forum in Dynatrace Community for answers to your questions about Strato.