github shuttle-hq/shuttle v0.18.0

latest releases: v0.52.0, v0.51.0, v0.50.0...
21 months ago

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:

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 to cargo-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

Don't miss a new shuttle release

NewReleases is sending notifications on new releases.