shuttle: v0.11.0 update
We're excited to release shuttle v0.11.0! 🚀
Security Refactor
The core of this release is a major security overhaul, introducing the new auth
crate to the repository. You should not notice any difference in functionality, but this will ensure complete isolation between users projects, and guarantee that a resource can only be accessed by it’s owner.
This refactor also lays the foundation for the recently announced dashboard to be able to securely interface with the Shuttle API. This means that soon the CLI will not be the only way to manage your projects, though it will take some time for the dashboard to reach feature parity with the CLI.
Due to the nature of these changes all projects will have to manually update, as we will not be able to keep running older versions that don’t support the new authentication system. To upgrade your project, you need to take the following steps:
- To upgrade your shuttle CLI, run:
cargo install cargo-shuttle
, or if you’re using [cargo-binstall](https://github.com/cargo-bins/cargo-binstall),cargo binstall cargo-shuttle
. - Update your shuttle dependency(s) to
0.11.0
:
shuttle-service = { version = "0.11.0", features = ["web-axum"] }
shuttle-static-folder = "0.11.0"
# ...
- Optionally, test locally using:
cargo shuttle run
- Upgrade your remote project using the
rm
andnew
project commands. This will not delete any databases, and you will keep your project name:
cargo shuttle project rm
cargo shuttle project new
- Deploy your project again:
cargo shuttle deploy
New Contributors
- @MrCoolTheCucumber made their first contribution in #622, laying down a solid foundation for our upcoming resource deletion feature.
- @angelorendina made their first contribution in #637, fixing a bug with our upcoming custom domain feature.
- @sentinel1909 made their first contribution in #636, filling a hole in our contribution docs. They have also made several contributions to our docs repo, thanks!
All contributions for this release
- bug: revive by @chesedo in #631
- feat: create an auth project + clap by @chesedo in #630
- [auth] feat: axum with routes by @chesedo in #632
- [auth] feat: add an auth module to shuttle common by @chesedo in #635
- Feat: optimize sqlite db in deployer and gateway by @oddgrd in #623
- feat: add a users layer by @oddgrd in #633
- feat: session manager by @chesedo in #638
- feat: convert api key to jwt by @oddgrd in #640
- [auth] feat: public key endpoint by @chesedo in #639
- Fix for install docker buildx issue #29 by @sentinel1909 in #636
- feat: implement rpc method in provisioner that allows for the deletion of resources by @MrCoolTheCucumber in #622
- feat: Allow filtering projects by project status by @joshua-mo-143 in #613
- (#634) restore custom domain when recreating project by @angelorendina in #637
- docs: clean up the contributing doc by @oddgrd in #644
- [auth] refactor: update gateway deployer and provisioner by @chesedo in #642
- refactor: get project name from label by @oddgrd in #646
- Fix: remove target from bin build name by @oddgrd in #650
- feat: OpenTelemetry collector by @chesedo in #649
- feat: allow admin scoped user to recreate any project by @oddgrd in #651
- feat: auth cache by @oddgrd in #643
- Feat: unbox the ClaimService and Scoped futures by @oddgrd in #653
- Feat: cache public key by @oddgrd in #655
- refactor: update opentelemetry in all our crates by @chesedo in #652
- chore: update examples submodule by @oddgrd in #656
- chore: v0.11.0 by @oddgrd in #654
Full Changelog: v0.10.0...v0.11.0