• When you start or restart a project, a Shuttle deployer Docker container is started with the latest released version of Shuttle.
  • When you deploy something to that project, the version of your shuttle-runtime and other shuttle-... cargo dependencies are recommended to be of the same version of deployer, as there might be breaking changes between releases.
  • It is also recommended to keep cargo-shuttle up to date with the current version of the Shuttle API (see latest release).

Upgrading Shuttle version

Combining all of the above, these are the recommended steps for upgrading a Shuttle app.

Note: Please check the release page for any considerations regarding breaking changes in the new release.
  1. Upgrade your cargo-shuttle CLI with one of the options below:

    • cargo shuttle upgrade (available in v0.48.0+) (runs the install script below for you)
    • curl -sSfL https://www.shuttle.rs/install | bash (Linux and macOS)
    • iwr https://www.shuttle.rs/install-win | iex (Windows)
    • cargo binstall cargo-shuttle
    • cargo install cargo-shuttle
  2. Update your project’s shuttle-... dependencies in Cargo.toml:

    Cargo.toml
    shuttle-runtime = "0.48.0"
    # do the same for other shuttle dependencies
    
  3. Test that your project works with cargo check / cargo build / cargo shuttle run.

  4. Upgrade your project container with cargo shuttle project restart (remember to use --idle-minutes if relevant). This will not delete any databases, and you will keep your project name.

  5. Finally, redeploy your Shuttle app: cargo shuttle deploy. (if you want to, commit your changes first)