Skip to content

Latest commit

 

History

History
85 lines (65 loc) · 3.63 KB

VERSIONING.md

File metadata and controls

85 lines (65 loc) · 3.63 KB
author
Mark Chandler

Versioning Strategy

Since @chakra-ui/react acts as a combined gateway to (nearly) all Chakra UI functionality, its version should reflect that by having all minor version bumps to its internal dependencies applied to itself as well. This allows the @chakra-ui/react package to reflect all backwards-compatible functionality changes for the system as a whole.

We've currently configured https://github.com/atlassian/changesets to bump internal dependency changes using patch which is probably the more correct thing to do in that situation since the technically correct thing would result in constant major version bumps, but in the case of @chakra-ui/react, we want to instead receive any minor version bumps.

Examples

In my mind, here's how versioning should look (assume all packages starting at 1.0.0):

  1. Internal dependency adds backwards-compatible functionality
  1. Multiple internal dependencies add backwards-compatible functionality
  1. Internal dependency adds bug fix
  1. Multiple internal dependencies add bug fixes
  1. Internal dependencies add backwards-compatible functionality and bug fixes
  1. New package is published

How?

I think we have two possible solutions:

  • Include @chakra-ui/react in all changeset files matching the version bump of the dependent package. This requires manual effort, but allows us to fully control the process.
  • Build our own customized release plan. I'm not sure changesets supports this yet and need to investigate, but it would allow us to automate this so we don't have to always include @chakra-ui/react bumps in our changeset files.