tfagerlind / verso

Verso is an application aimed to simplify and standardize automatic versioning in a continuous delivery context.
MIT License
0 stars 0 forks source link

Add support for automatic major and minor versioning #5

Open tfagerlind opened 1 year ago

tfagerlind commented 1 year ago

As a product owner I want the versioning of my product to inform the user about API changes so that they can make good decisions when upgrading my product.

One way to achive this is to allow users to provide a CHANGELOG file in the root of their projects. Verso would then be able to know if the major or minor should be increased instead of the default patch version. If no new item in the changelog the behavior of Verso would still be to just increase the patch version. However, if the user (in this case an author of a change), adds a change log item, verso would increase the major or minor, depending of the character of change log item, of course also resetting the patch version.

This is an excellent introdution to good change logs: https://keepachangelog.com/en/0.3.0/

Term: Base version Term: Closed

Check changelog in order to help user to avoid mistakes All base versions must be in order All base versions must be unique If the latest base version is closed then that particular git tag must not exist. Parse change log before logic. Intermediate format is an ordered list of base versions. Create base version type that is ordered. Select all git tags that match the latest base version and increment the biggest one if the base version is open otherwise use it.