Node version support, MAJOR releases and the AuroKit concept #565
Closed
blackfalcon
started this conversation in
General Auro discussions
Replies: 2 comments 1 reply
-
Beta Was this translation helpful? Give feedback.
1 reply
-
There are threads of thought with this Discussion shared with this https://github.com/orgs/AlaskaAirlines/discussions/564 Discussion. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Updating the required Node version in the
package.json
, for example, from supportingv18
andv20
tov20
andv22
can be considered a breaking change if the consumers of the repository rely on the specified Node version for their local development and build processes. Here’s the reasoning:Problem
When updating the Node version required by a repository from
v18
andv20
tov20
andv22
, is this considered a breaking change according to Semantic Versioning (SemVer)?Recommendation
It is recommended to treat this update as a breaking change. While the web component itself is not dependent on Node, the
package.json
specifies the Node version needed for local development and the build pipeline. Updating the Node version requirement can affect developers who use the repository, as they may need to upgrade their local Node environment to meet the new requirements.Expected Outcomes
Conclusion
Since changing the required Node version from
v18
andv20
tov20
andv22
can break the existing local development setup for developers using Nodev18
, it should be treated as a breaking change. Incrementing the major version number will signal to developers that they need to review and possibly update their local Node environment to continue working with the repository.Additional context: AuroKit
When AuroKit, a bundled package of individual npm packages, is updated with a BREAKING CHANGE, even though the individual packages are only patch incremented, how should this be managed and communicated?
Considerations
Ensure that the breaking change in AuroKit is not due to the individual packages but rather due to changes in how these packages are bundled or interact together. Review if any new dependencies or major changes in the build or configuration process have been introduced.
Even if individual packages only have patch updates, AuroKit's version should reflect a breaking change if the integration or usage of these packages within AuroKit has breaking changes. This ensures that consumers of AuroKit are aware that they need to review their integration with the updated AuroKit version.
Clearly document the nature of the breaking change in AuroKit. Explain that while individual packages have minor updates, the way they are integrated or utilized within AuroKit has changed significantly. Provide a migration guide or detailed release notes to help consumers understand and adapt to the breaking changes.
Conduct thorough testing to ensure that the integration of the individual packages within AuroKit works as expected and that the breaking changes are well-defined. Validate that the breaking changes do not introduce unforeseen issues in the consumer’s environment.
Communicate the breaking change effectively through release notes, changelogs, and announcements. Ensure consumers are aware of the update and the steps they may need to take. Highlight the benefits or improvements brought by the breaking change to justify the major version increment.
Consider providing backward compatibility layers or deprecation warnings for a few versions if feasible. This can help consumers transition smoothly to the new version without immediate disruptions.
Beta Was this translation helpful? Give feedback.
All reactions