v0.20.0
shuttle: v0.20.0 update
We're excited to release shuttle v0.20.0! 🚀
Turso integration
Turso is a new sqlite-based edge database and we’re excited to announce a Shuttle resource integration for it. This is the first iteration of this integration, so it comes with some caveats. The first one is that it is not yet possible for us to provision a Turso database for you, so you need to refer to their docs and do that yourself for now. It should also be noted that you can host a Turso database anywhere, but currently your Shuttle service can only be hosted in London.
Thanks to @Kazy from the Shuttle batch for this integration!
Deployment archive size limits
We have added a 50MB size limit to deployments, meaning the archive of your source code (which includes static folder) can not be larger than 50MB or deploy will fail with a 413 error. This measure is intended to defend against large request body DoS attacks, so if you have a normal project and encounter the 413 error please let us know and we will consider increasing the limit.
Git metadata for deployments
The cargo shuttle deployment --list
command will now include git metadata like the commit message of the current commit at the time of deploy, as well as branch name etc. Thanks to @Fuzzicles for a great first contribution to Shuttle!
Bug fixes
- Fixed a bug where many users were hitting the request body limit in deploy due to
.git
repositories being included in archive in #1036 - Fixed a bug where users with a global target directory got a “file not found” error - #1039
- Fixed a bug where windows users got a “file not found” error - #1039
- Fixed a bug where timezones were incorrectly displayed in logs output - #1032
The eighth and final week of Shuttle Batch 2023
The Shuttle batch has reached its conclusion. We had a lot of great contributions in this last week, and we also have several larger pull requests from the batch in the pipeline. We’d like to express our appreciation to all the participants of this event, thank you all for being a part of this!
- @jonaro00 fixed two bugs in #1039, one affecting users with a global target directory, and one affecting windows users.
- @jonaro00 excluded the .git repository of projects from the deployment archive to avoid sending these large files that aren’t used, and that caused users with normal projects to encounter the 413 error in deployer in #1036
- @jonaro00 made some improvements to the shuttle runtime in #1012
- @jonaro00 cleaned up the shuttle-service dependencies and did some general clean up of code in #1013
- @jonaro00 cleaned up our CI config and dockerfile in #989
- @Kazy fixed some sporadically failing tests in the deployer in #980
- @jonaro00 fixed some issues with windows local runs in #1054
Other contributions
- @timonv made their first contribution to Shuttle by fixing a bug with the timezones in the Shuttle logs output in #1032, and they also added a missing piece to our .nix file in #1040
- @Fuzzicles made their first contribution to Shuttle by bringing deployment git metadata to the client in #987
- @robertohuertasm updated our docs with some work-arounds for common issues when working with static folders or workspaces in shuttle-hq/shuttle-docs#135
- @sentinel1909 made some improvements to the shuttle-persist docs in shuttle-hq/shuttle-docs#136
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
- fix: remove vendored-openssl from CI and broken axum test by @oddgrd in #1021
- fix: cargo-generate needs openssl by @oddgrd in #1023
- fix: increase body size limit for deploy by @oddgrd in #1031
- fix: Don't deploy .git folder to save space by @jonaro00 in #1036
- chore: cargo-shuttle v0.19.1 by @oddgrd in #1037
- Fix(common): format logs in correct local timezone by @timonv in #1032
- fix: Target directory from config, Windows .exe suffix by @jonaro00 in #1039
- feat: add new deployment metadata to table by @Fuzzicles in #987
- build(shell.nix): add openssl package to the build dependencies by @timonv in #1040
- fix(runtime): Remove 2s startup sleep by @jonaro00 in #1012
- chore: move codegen::main from service to runtime by @jonaro00 in #1013
- fix: dockerfile and ci improvements by @jonaro00 in #989
- fix: windows local run + log clarifications by @jonaro00 in #1054
- Attempt at fixing sporadic failures of
shuttle-deployer
by @Kazy in #980 - gateway: status check includes info about auth & provisioner by @iulianbarbu in #1056
- feat(resources): add support for turso client w/o provisioning by @Kazy in #996
- Chore/v0.20.0 by @oddgrd in #1057
Full Changelog: v0.19.0...v0.20.0