- Rusoto has a CHANGELOG to track what's in releases.
- Releases are tracked in GitHub.
Before hitting 1.0, the public API has no backwards compatibility guaranteed.
After 1.0, the public API will be stable for the 1.0 releases. If we need to break the public API, Rusoto 2.0 will be started. Patches will be back ported to the 1.x branch.
For pre-1.0.0:
- Targeting one release a month for minor versions.
- Regression bug fixes will be released ASAP on best effort for maintainers. For example, a regression in 0.9.0 means 0.9.1 is released ASAP instead of waiting for the next release train.
Rusoto uses semantic versioning 2.0.0.
- Make a pull request that bumps version numbers for
rusoto_core,rusoto_credentialandrusoto_mockif needed and each service that changed since previous release. Service versions are in theservices.jsonfile in the codegen project. Otherwise they are in theCargo.tomlfiles for each project. Make sure the root Rusoto README example gets updated with the new version. Theskepticalpackage will also need to be set to use the new version of Rusoto - do this in a PR after the release and publish has been completed. - Merge release PR.
- Publish new version of
rusoto_credentialif changes have been made to it. - Publish new version of
rusoto_coreif changes have been made to it. - Publish new version of
rusoto_mockif it changes have been made to it. - Run
publish-services.shin therusoto/servicesdir. Warning: takes >2 hours on a low end Macbook. The script can be run again if an issue comes up without problems - crates.io prevents republishing. - Tag master branch with the new version. Example:
git tag -a rusoto-v0.21.0 -m "Rusoto 0.21.0 release."thengit push --tags origin.
Due to multiple crates being in the repo, releases for each crate will be in the format crate-vmajor.minor.patch.
Examples:
rusoto-v0.21.0credentials-v0.3.0mock-v0.27.0
Add a list of user-facing changes to a new release for the tagged version on GitHub: https://github.com/rusoto/rusoto/releases
API docs are on Github Pages at https://rusoto.github.io/rusoto.
TravisCI builds and publishes the gh-pages branch automatically when changes are merged into master.