Skip to content

Releases: shuttle-hq/shuttle

cargo-shuttle v0.57.3

30 Sep 21:46
8b84c4a

Choose a tag to compare

Updates

  • Added create_project tool to the MCP server

What's Changed

Full Changelog: v0.57.1...v0.57.3

cargo-shuttle v0.57.1

11 Sep 14:46
fa04c67

Choose a tag to compare

Fixes

  • Ensure Windows binary is built with source files in LF mode

What's Changed

Full Changelog: v0.57.0...v0.57.1

v0.57.0

11 Sep 12:12
eccf1e9

Choose a tag to compare

Updates

  • Deprecated shuttle-tide and shuttle-thruster and removed their hello-world templates. To continue using the frameworks in newer runtime versions, copy their Service implementation into your own code.
  • Updates to service and resource dependencies:
    • Bump salvo to 0.83
    • Bump warp to 0.4
    • Bump async-openai to 0.29
    • Bump opendal to 0.54
    • Bump diesel-async to 0.6
    • Bump libsql to 0.9
  • Added new command aliases: shuttle i for init, shuttle r for run, shuttle d for deploy (depl is the alias for deployment subcommands)
  • CLI now shows the native output from the cargo subprocess when building, and better printouts for other CLI operations
  • Added experimental build command and --docker flag for simulating the platform’s Docker builds. Feedback appreciated.
  • Unified how the run (build) and deploy commands gather flags for the cargo build command
  • Improved how cargo metadata is gathered, speeding up project-related commands
  • Various improvements to the Shuttle MCP server
  • Fixed a bug in runtime where the runtime would exit if an invalid HTTP request arrived on the health check port. Now logs an error instead.
  • Bump MSRV to 1.86

Upgrading

Refer to the upgrading docs for how to upgrade your projects.

What's Changed

Full Changelog: v0.56.6...v0.57.0

cargo-shuttle v0.56.6

28 Jul 10:50
b3d68a5

Choose a tag to compare

Fixes

  • Fixed bug where project create --name <name> failed to create projects. The command now requires providing --name <name>.

What's Changed

Full Changelog: v0.56.5...v0.56.6

cargo-shuttle v0.56.5

24 Jul 15:45
933cbe9

Choose a tag to compare

Fixes

  • Fixed argument naming conflict in the project update name command

What's Changed

  • fix(cargo-shuttle): name arg conflict, v0.56.5 by @jonaro00 in #2095

Full Changelog: v0.56.4...v0.56.5

cargo-shuttle v0.56.4

23 Jul 09:58
b3ba0c0

Choose a tag to compare

Fixes

  • Fixed dependency error when installing via cargo

What's Changed

Full Changelog: v0.56.3...v0.56.4

cargo-shuttle v0.56.3

21 Jul 13:13
714ab53

Choose a tag to compare

Added

  • Enabled the resource dump command, available for database::shared::postgres resource type. Docs for how to use it.

Fixes

  • Fixed deployment id arg conflict with --id in logs and deployment commands

What's Changed

Full Changelog: v0.56.2...v0.56.3

cargo-shuttle v0.56.2

07 Jul 17:21
247e9c6

Choose a tag to compare

Fixes

  • --name is now correctly prioritized over a linked project id

What's Changed

Full Changelog: v0.56.1...v0.56.2

cargo-shuttle v0.56.1

04 Jul 12:32
4fce3d6

Choose a tag to compare

Fixes

  • Fixed incorrect warning about lowercase ‘shuttle.toml’
  • Installer: Now respects CARGO_HOME and CARGO_INSTALL_ROOT

What's Changed

Full Changelog: v0.56.0...v0.56.1

v0.56.0

02 Jul 16:16
33b9e55

Choose a tag to compare

Shuttle: v0.56.0 update

Configure instance size via macro

On the Pro tier and above, you can now configure the compute instance size with the runtime macro. Read more on the docs!

#[shuttle_runtime::main(instance_size = "m")] // 1 vCPU, 2 GB RAM
async fn main() -> ShuttleAxum {
    ...
}

Shuttle MCP server

The CLI now packs a built-in MCP server with tools for searching docs and executing basic shuttle commands. For example, use it in Cursor by configuring its settings:

{
  "mcpServers": {
    "shuttle": {
      "command": "shuttle",
      "args": ["mcp", "start"]
    }
  }
}

Other updates

  • In workspaces, the CLI now looks for the first binary entrypoint file with a fully qualified #[shuttle_runtime::main] macro inside. This drops the requirement that binaries for Shuttle must match the crate name!
    • ⚠️ This is a breaking change if you use #[main] with use shuttle_runtime::main;.
  • Added global option --output json to print the main command output as raw JSON responses straight from the API client. Useful for writing scripts.
    • ⚠️ This includes breaking changes in the shuttle-api-client crate
    • ⚠️ The generate command’s --output argument was renamed to --output-file
  • --name and --id are now separate arguments (instead of aliases) for specifying the project name and id respectively
  • The init command can now take the --id [project_id] arg to link to an existing project right after generating the files
  • Deployment archive no longer packs Secrets.toml or any override via --secrets as they are not used when building
  • Improved the API client’s handling of 4xx and 5xx responses
  • CLI will now warn if it detects a lowercase ‘shuttle.toml’ file

Upgrading

Refer to the upgrading docs for how to upgrade your projects.

What's Changed

  • feat(api-client): always catch 4xx and 5xx errors regardless of body type by @jonaro00 in #2052
  • feat: make billing cycle optional in usage response by @oddgrd in #2054
  • feat(admin): log retention policies by @jonaro00 in #2053
  • fix: rename usage response vcpu reserved field to reserved_hours by @oddgrd in #2056
  • feat: added updated user usage structs by @nathanjclark in #2057
  • feat(cargo-shuttle): warn about lowercase shuttle.toml by @jonaro00 in #2060
  • feat(admin): fail error in looped jobs, notify gc'ed community projects by @jonaro00 in #2063
  • feat(api-client, cargo-shuttle): json output mode by @jonaro00 in #2064
  • refa(cargo-shuttle): find binary target based on macro in source by @jonaro00 in #2059
  • fix(admin): new config uris by @jonaro00 in #2065
  • Add build_manifest to main macro output by @fussybeaver in #2062
  • feat(cargo-shuttle): separate --id and --name. support 'init --id' with immediate linking by @jonaro00 in #2069
  • fix(cargo-shuttle): full json output coverage by @jonaro00 in #2071
  • fix: don't care about Secrets*.toml or --secrets when building or deploying by @jonaro00 in #2070
  • feat(admin): explicit notify on gc endpoint by @jonaro00 in #2067
  • fix: make explicit --name error when no matching project found by @jonaro00 in #2075
  • chore: clean up legacy constants & related code by @jonaro00 in #2073
  • feat(ifc, cargo-shuttle): extract infra macro annotation parser to separate crate by @jonaro00 in #2072
  • The Shuttle MCP Server by @dcodesdev in #2074
  • chore: v0.56.0 by @jonaro00 in #2076

New Contributors

Full Changelog: v0.55.0...v0.56.0