"I had alredy seen cargo-..." <- it works out of the box. to automate the changelog updating you also need to add a config file like this (you can basically copy-paste this): https://github.com/rust-embedded-community/tb6612fng-rs/blob/master/release.toml and add these corresponding markers for it to identify the URL to update (as per the config above): https://github.com/rust-embedded-community/tb6612fng-rs/blob/master/CHANGELOG.md?plain=1#L7-L8 https://github.com/rust-embedded-community/tb6612fng-rs/blob/master/CHANGELOG.md?plain=1#L56 you can use the same feature to e.g. update the version number in the README (in case you list an example in the README which references the version number) what i haven't done is automate the release using a GHA, so on these repos i run it manually locally and then have to create a PR to merge the commit with the changelog after the fact (the tag has been created for that commit, so this should happen ASAP). using a GHA might make this nicer (as it could probably be configured in a way to bypass the PR requirement). and it'd make 100% sure that the current HEAD of whichever branch gets released is the one being built (and not e.g. some dirty clone)