You need to increment the version number according to SemVer. The rules for incrementing are as follows:
- Major: Backwards-incompatible / breaking changes, or headline new features.
- Minor: Changes that do not require DAG changes and adds new features like adding new Operators/Sensors/Hooks to the package.
- Patch: Anything else, mainly bug-fixes and security fixes.
Minor and Patch versions should not contain any breaking changes.
You will need to update it in:
setup.cfg
- inversion
key of[metadata]
sectiondocs/conf.py
-release
variable
Add the new release to CHANGELOG.rst
, along with as many release notes
as you can (more information is always better than less, though try to group
it with larger changes at the top).
Bundle up these changes into a single commit with the message in the format "Releasing 1.2.1". Submit a pull request for this commit and wait for approval unless you are releasing an urgent security fix.
Tag that commit with a tag that matches the version number (git tag 1.2.1
),
and then push the tag (git push origin 1.2.1
).
CircleCI will handle the rest - building, testing, and pushing the resulting artifacts to PyPI. Keep an eye out for test failures, though.
Create a new release on GitHub by clicking on this link. Choose the tag you just created, and fill in the release notes or click on Auto-generate release notes.
Use 1.1.0 release notes as an example.
Verify that new docs are published on ReadTheDocs site.
The stable
version of the docs should be the same as the version number of the release.
You can verify this checking the changelog entries.
Close the milestone on GitHub for that particular version. Example: https://github.com/astronomer/astronomer-providers/milestone/2
If you are releasing a new major release, then you should make a new branch
called x-0-stable
for the previous release from the last commit on
main
for that release.