shuttle: v0.18.0 update
We're excited to release shuttle v0.18.0! 🚀
Removal of protoc
requirement
With the last of our upstream crates upgraded to no longer need protoc
available at compile-time, installingprotoc
will no longer be required to install or use Shuttle! 🥳
Pagination of list commands
Two of our list commands can now be paginated, namely project list
and deployment list
. These commands will now by default fetch the 10 latest deployments, a --page 2
flag can then be passed to fetch the next 10 deployments, and so on. The limit of how many to fetch per page can also be configured with the --limit
flag.
Thanks to @AlphaKeks and @Kazy from the Shuttle batch for this feature! PR: #862
Sanitizing paths in our proxy layer
@chesedo developed and published a new crate, [tower-sanitize-path](https://crates.io/crates/tower-sanitize-path), for sanitizing paths with tower, and implemented it in our proxy layer to protect users against path traversals in #946
The fourth and fifth weeks of Shuttle Batch 2023
The Shuttle batch continues with a lot of great contributions! We’ve also seen tremendous progress on larger tickets, so keep your eyes peeled for some larger new features in the next releases! Here are the batch contributions for the last two weeks:
- @morlinbrot added support for axum state #924, as well as an example for using it in shuttle-hq/shuttle-examples#52 (review)
- @jonaro00 updated some docs in the main repo in https://github.com/shuttle-hq/shuttle/pull/948/files.
- @jonaro00 updated and improved our github issue and PR templates in #945
- @AlphaKeks and @Kazy implemented pagination for the project/deployment list endpoints, also flags for this to our CLI in #862
- @jonaro00 added some common C build tools to our deployers, allowing Shuttle projects to use crates that depend on them in #960
- @jonaro00 fixed an issue where we were recording too much log output by default, since this was causing issues for certain projects, particularly serenity bots, in #958
- @paulotten updated our
CONTRIBUTING.md
document to no longer call for usingcargo-sort
, since it doesn’t work with workspace inheritance in #966
Other contributions
- @orhun updated our lockfile in #942
- @beyarkay improved the panic message in the event where the shuttle-runtime port is already taken in #950
- @imor fixed an issue where cargo-shuttle commands that were passed
--name
could not be ran outside a cargo project in #929 - @imor added a
tracing::debug!
call tocargo-shuttle
to output which files are archived for deployment in #931
Upgrading
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
.
If you’d like to upgrade your project container, run the restart
project command. This will not delete any databases, and you will keep your project name:
cargo shuttle project restart
Finally, redeploy your shuttle service:
cargo shuttle deploy
Commits for this release
- feat(shuttle-axum) Make AxumService generic to be able to use state by @morlinbrot in #924
- docs: Update links and commands by @jonaro00 in #948
- misc: Update GitHub templates by @jonaro00 in #945
- Update Cargo.lock by @orhun in #942
- Add helpful error if port cannot be used by @beyarkay in #950
- fix: --name was ignored when not running from cargo folder by @imor in #929
- chore: bump otel crates and remove protoc dep by @oddgrd in #956
- fix: log files packed in archive by @imor in #931
- refactor: sanitize all path on the user's proxy by @chesedo in #946
- feat(gateway, cargo-shuttle): implement pagination for project list by @AlphaKeks in #862
- fix: crossterm/comfytable conflict by @oddgrd in #959
- feat: pre-installed build environment in deployer by @jonaro00 in #960
- refactor: un-tangle crossterm/comfytable by @oddgrd in #961
- fix: Ignore span logs below WARN by @jonaro00 in #958
- fix: remove cargo-sort from CONTRIBUTING.md by @paulotten in #966
- fix/release(prod): unstable AWS creds clashed with prod by @iulianbarbu in #970
- chore: v0.18.0 by @oddgrd in #972
New Contributors
Full Changelog: v0.17.0...v0.18.0