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.
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.
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.