diff --git a/Makefile b/Makefile index d5cd8e80..7f784702 100644 --- a/Makefile +++ b/Makefile @@ -238,4 +238,10 @@ release-test: check-release git-merge-main-stable bumpversion-release bumpversio release-candidate: check-main publish bumpversion-candidate git-push .PHONY: release-candidate-test -release-candidate-test: check-clean check-main publish-test \ No newline at end of file +release-candidate-test: check-clean check-main publish-test + +.PHONY: release-minor +release-minor: check-release bumpversion-minor release + +.PHONY: release-major +release-major: check-release bumpversion-major release diff --git a/RELEASE.md b/RELEASE.md index d54be0b3..33942e0a 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -149,9 +149,9 @@ make check-release The `stable` branch needs to be updated with the changes from `main` and the version needs to be bumped. Depending on the type of release, run one of the following: -* `make release`: This will release a patch, which is the most common type of release. Use this when the changes are bugfixes or enhancements that do not modify the existing user API. Changes that modify the user API to add new features but that do not modify the usage of the previous features can also be released as a patch. -* `make release-minor`: This will release the next minor version. Use this if the changes modify the existing user API in any way, even if it is backwards compatible. Minor backwards incompatible changes can also be released as minor versions while the library is still in beta state. After the major version 1 has been released, minor version can only be used to add backwards compatible API changes. -* `make release-major`: This will release the next major version. Use this to if the changes modify the user API in a backwards incompatible way after the major version 1 has been released. +* `make release`: This will release the version that has already been bumped (patch, minor, or major). By default, this is typically a patch release. Use this when the changes are bugfixes or enhancements that do not modify the existing user API. Changes that modify the user API to add new features but that do not modify the usage of the previous features can also be released as a patch. +* `make release-minor`: This will bump and release the next minor version. Use this if the changes modify the existing user API in any way, even if it is backwards compatible. Minor backwards incompatible changes can also be released as minor versions while the library is still in beta state. After the major version v1.0.0 has been released, minor version can only be used to add backwards compatible API changes. +* `make release-major`: This will bump and release the next major version. Use this if the changes modify the user API in a backwards incompatible way after the major version v1.0.0 has been released. Running one of these will **push commits directly** to `main`. At the end, you should see the 3 commits on `main` (from oldest to newest):