github shuttle-hq/shuttle v0.28.0

latest releases: v0.51.0, v0.50.0, v0.49.0...
16 months ago

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 and mold 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

Full Changelog: v0.27.0...v0.28.0

Don't miss a new shuttle release

NewReleases is sending notifications on new releases.