The purpose of this gist is to explain some recommendations for managing versions for gems and applications. Specifically, the concepts will be the following:
- How do we version? What are the conventions for branches and releases?
- When do we tag? Can I tag if it is not a release?
- When do we branch, and how long should that branch live?
- What is upstream and what is downstream?
By the time we reach the conclusion hopefully you've discovered the answers to all of these questions!