Shuttle: v0.28.0 update
We're excited to release shuttle v0.28.0! π
New project container image
When restarting your project, your project container will now run a Debian 12 image (previously Debian 10). We donβt expect this upgrade to cause problems for users, but let us know if you experience any deployment issues after this bump, and we will do our best to fix it quickly.
Installer script
Linux and Mac users can now install and update cargo-shuttle
using this handy script. We also aim to make this compatible for Windows users in the future.
curl -sSfL https://www.shuttle.rs/install | bash
Removed cargo-generate
dependency π
We now use a homegrown method for cloning templates with the cargo shuttle init
command. This means cargo-shuttle
is now more oxidized (free from openssl dependencies), and will compile a bit faster. Thanks @d4ckard for the contribution, and congrats on claiming the $100 bounty on this issue! π₯³
More version warnings and project name checks
A common source of errors is mismatching versions between the CLI, the Shuttle runtime, and the Shuttle deployer. We added more warnings to cargo-shuttle
when it detects any mismatching versions. You can read more about Shuttle versions in the docs.
Furthermore, when running the init
command interactively, the chosen project name will be checked against the API, and re-prompt you if it is already taken. Using the --name
argument does not perform this check.
Please let us know about difficulties you encounter when using Shuttle. We are always trying to smooth out rough edges that users commonly face.
Other updates
- Better handling of project state drift.
- Project are compressed slightly more before deploying, so that you can squeeze in a couple more bytes in large projects.
- Updated handling of config files after cloning a template.
- The spinner when stopping or starting a project updates with a larger interval to not spam the API.
- [Experimental] Deployer image now has the linkers
lld
at/usr/bin/ld.lld
andmold
at/usr/bin/mold
.
Contributions
- Local run will ask you about using a different port if the chosen port is already occupied. Thanks @BadgerBloke!
- Removed
cargo-generate
dependency. @d4ckard - Fix the Shuttle stack starting locally on Mac M1. @AlexCzar
Upgrading
Refer to the upgrading docs for how to upgrade your projects.
Commits in this release
- fix(deployer): handle gracefully builder connection failure by @iulianbarbu in #1264
- ci: reduce shortest path in publish flow by @jonaro00 in #1265
- feat(ci): separation of tests that need docker by @jonaro00 in #1249
- feat(builder): improve the nix build capturing of stdout/stderr by @orhun in #1268
- bug: projects' states drifting by @chesedo in #1262
- feat(orchestrator): initialize shuttle-orchestrator as a library by @orhun in #1271
- feat(cargo-shuttle): better compression & handling of config files after init by @jonaro00 in #1257
- chore(docker): set up a local shared postgres for development by @orhun in #1272
- fix(docker-compose.dev): adjust auth dev dependency by @iulianbarbu in #1274
- feat: version checks between cli, gateway, deployer, runtime by @jonaro00 in #1275
- fix(cargo-shuttle): prompt for new port if port is taken by @BadgerBloke in #1270
- fix(cargo-shuttle): spam less requests when waiting for project ready by @jonaro00 in #1287
- refactor(cargo-shuttle): remove
cargo-generate
dependency by @d4ckard in #1281 - fix: gateway container startup on apple m1 by @AlexCzar in #1284
- ci: separate ci and unstable jobs, better caching by @jonaro00 in #1273
- feat(cargo-shuttle): check project name available by @jonaro00 in #1279
- feat: use smaller+newer images, script for patches, unique binary names by @jonaro00 in #1247
- feat: add lld and mold linkers by @jonaro00 in #1286
- fix(deployer): added runtime error handling by @iulianbarbu in #1231
- feat(installer): add installer script by @orhun in #1280
- docs: add installer script option by @jonaro00 in #1290
- fix: cleanup for 0.28.0 by @jonaro00 in #1278
- fix(gateway): install curl for health checks by @oddgrd in #1291
- chore: v0.28.0 by @oddgrd in #1293
New Contributors
- @BadgerBloke made their first contribution in #1270
- @AlexCzar made their first contribution in #1284
Full Changelog: v0.27.0...v0.28.0