- Run
cargo loginif you aren't logged in to crates.io - Make sure that you have push rights both on GitHub repo and crates.io
- Make sure you're on the updated master branch and switch to new branch from it:
git switch master && git pull && git switch -c release
cargo release --package teloxide-core [major|minor|patch](if your git remote isn't namedorigin, you need to specify it with--push-remote <remote_name>)- Analyze the output and if everything is OK, re-run the same command with the
--executeflag (this will publish release on crates.io and push commit+tag to GitHub repo) - Repeat 1 and 2 with the
teloxide-macroscrate if there were any changes - Make sure all dependencies in
crates/teloxide/Cargo.tomlpoint to the released versions from crates.io, including teloxide-core and teloxide-macros. Commit the change if this isn't the case - Add the release version in
MIGRATION_GUIDE.mdif it's a breaking release cargo release --package teloxide [major|minor|patch](use--push-remote <remote_name>if necessary)- If everything is OK, run again with the
--executeflag - Open Pull Request and wait for the merge to complete
- Publish the teloxide release on GitHub Releases with the specified changelog link