Handle versioning in Figma with branches

We want to start using versioning in our projects and we are trying to figure out the best way to do it.

The approach that makes more sense to us is to create a new branch on each file for the new version.

Our issue is that we have team members working on each version (1 and 2) but we can’t create a new feature branch for the version 2 branch (we don’t have this issue for version 1 because that is the main branch).

Our question is if does exist an official way to work with different versions in the same file in order to handle versioning or if there is a better way to do this.

Example of what we need

  • Button v1 branch (main)
  • a new feature for Button v1 (a new branch from the main branch)
  • Button v2 branch (version 2 branch)
    • a new feature for Button v2 (a new branch from version 2 branch)

The second question is how to handle major, minor, and patch updates into Figma (following semantic versioning definition)

Our idea is to handle major changes with branches, and minor/patches with version history. What do you think?

There is a recommended way to handle versioning?