- Why is software versioning important?
- What does a semantic version look like and when are its individual components incremented?
- Which component of a package's semantic version would you increment in the following cases?
- A new API is introduced.
- An existing API is modified and a new, required parameter is added to it.
- A fix for a security bug is committed.
- Name some alternative versioning schemes that we could use besides semantic versioning.
- What are the pros and cons of vendoring?
- Name some of the differences between the dep tool and Go modules.