Skip to content

0.40.0

Compare
Choose a tag to compare
@oddgrd oddgrd released this 04 Mar 15:44
· 5 commits to 8727376f00a60d7a7df3bf03b7f50d2fdc54e6d2 since this release
22c3695

Shuttle: v0.40.0 update

We're excited to release Shuttle v0.40.0! 馃殌

[BREAKING] Resource/plugin API updated

We have updated the interface for how a service requests resources, to make it easier to configure our resources, and allowing custom plugins to do more things.

After upgrading (restarting) your project to 0.40.0, your next deployment will need

  • shuttle-runtime 0.40.0+
  • cargo-shuttle 0.40.0+
  • An up-to-date Secrets.toml (previous secrets will be invalidated)

Local runs will also need matching versions of CLI and runtime.

If you have a custom plugin, it will need to be refactored to the new ResourceInputBuilder trait, an updated API for plugins. Check out the implementations of our plugins or an example.

CHANGED: The Metadata struct in shuttle-metadata no longer has a service_name field. Use project_name instead.

Other updates

  • Reduced the dependency weight of shuttle-runtime 馃コ. The axum hello-world example went from 291 to 222 dependencies.
  • Added a --secrets arg to the run and deploy commands that allows you to use a different secrets file than the default
  • Added load phase caching, which should improve the speed and reliability of starting the service after wakeups from idle and project restarts
  • AWS RDS resources can now configure their database name in the macro: #[shuttle_aws_rds::Postgres(database_name = "thing")]. The project name is now used as the default name.
  • Newly generated database passwords will now have length 32 instead of 12
  • Fixed a bug where the --working-directory/--wd arg would create directories that didn鈥檛 exist
  • The init command will now suggest using a directory with the same name as the project, instead of the current directory
  • Bumped deployer鈥檚 trunk version to 0.18.8
  • Projects no longer restart when adding a custom domain
  • Fixed the URL formatting of services with a custom domain
  • (hotfixed during 0.39.0) Fixed an issue where project ownership was not checked in some backends

Deprecating shuttle-next

We are deprecating the current iteration of our WASM framework shuttle-next in this release to keep our priorities focused. Next release, we will drop support for shuttle-next.

Contributions

Upgrading

Refer to the upgrading docs for how to upgrade your projects.

What's Changed

Full Changelog: v0.39.0...v0.40.0