How are you currently releasing new versions of a design system?


Currently we are designing a design system on Figma and using multiple branches to work on individual components and then merging them after review.

My question is: How do we release newer versions of the design system lets say v1.0 and v2.0 etc making sure that the components map to each other between old and new components.

My plan was to create a duplicate of v1.0, make major updates to it and call it v2.0.
hen we unpublish and archive v1.0 and publish v2.0. But I am sure that the older components wont map to the newer ones in UI’s that we used v1.0 for.

Here’s an approach I’m wondering about:

You publish v2.0 components as soon as they are ready (and from the same library file as v1.0). Once all components are in their v2.0 state maybe you can make an announcement to designers so they know there is 100% support for v2.0. As you’re releasing those v2.0 components they can continue working with v1.0 components in the files they’re in today (avoiding accepting changes if they wish). Then the next time they start a new working file they’ll automatically have 2.0 components.

This assumes working files don’t last very long. That might not be the case. It also could be the case that new files are started while you’re in between v1.0 and v2.0… so more and more I’m understanding why you’d want to make a copy of the library :sweat_smile:. But (to me) that feels like a risky move. It sort of cheapens your source of truth, and could create confusion.

How long is the “lifespan” of a working file for designers on your team?