- 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_credential
andrusoto_mock
if needed and each service that changed since previous release. Service versions are in theservices.json
file in the codegen project. Otherwise they are in theCargo.toml
files for each project. Make sure the root Rusoto README example gets updated with the new version. Theskeptical
package 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_credential
if changes have been made to it. - Publish new version of
rusoto_core
if changes have been made to it. - Publish new version of
rusoto_mock
if it changes have been made to it. - Run
publish-services.sh
in therusoto/services
dir. 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.0
credentials-v0.3.0
mock-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.