Releases: shuttle-hq/shuttle
Releases · shuttle-hq/shuttle
cargo-shuttle v0.57.3
Updates
- Added
create_projecttool to the MCP server
What's Changed
- fix(cargo-shuttle): lock rmcp dep, cargo-shuttle 0.57.2 by @jonaro00 in #2119
- fix(mcp): lock rmcp dep by @jonaro00 in #2120
- fix(mcp): lock rmcp-macros dep by @jonaro00 in #2121
- feat(mcp): add project create tool by @dcodesdev in #2123
- chore(cargo-shuttle): v0.57.3 by @jonaro00 in #2124
Full Changelog: v0.57.1...v0.57.3
cargo-shuttle v0.57.1
Fixes
- Ensure Windows binary is built with source files in LF mode
What's Changed
- ci: release builder crate by @jonaro00 in #2117
- ci: fix windows CRLF on binary builds, cargo-shuttle 0.57.1 by @jonaro00 in #2118
Full Changelog: v0.57.0...v0.57.1
v0.57.0
Updates
- Deprecated
shuttle-tideandshuttle-thrusterand removed their hello-world templates. To continue using the frameworks in newer runtime versions, copy theirServiceimplementation into your own code. - Updates to service and resource dependencies:
- Bump
salvoto 0.83 - Bump
warpto 0.4 - Bump
async-openaito 0.29 - Bump
opendalto 0.54 - Bump
diesel-asyncto 0.6 - Bump
libsqlto 0.9
- Bump
- Added new command aliases:
shuttle ifor init,shuttle rfor run,shuttle dfor deploy (deplis 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
buildcommand and--dockerflag for simulating the platform’s Docker builds. Feedback appreciated. - Unified how the
run(build) anddeploycommands gather flags for thecargo buildcommand - 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
- feat(common): set env vars model by @jonaro00 in #2097
- feat(common): limits models by @jonaro00 in #2100
- chore: bump dependencies, clippy 1.89, cargo update, MSRV 1.86 by @jonaro00 in #2103
- chore: bump zip, cargo update by @jonaro00 in #2108
- fix(runtime): emit error and don't exit on bad health request by @jonaro00 in #2088
- fix(runtime): drop service before sys exit by @jonaro00 in #2109
- feat(builder, cargo-shuttle): build and run with docker locally by @jonaro00 in #2044
- chore(mcp): update rmcp crate by @jonaro00 in #2106
- feat(cargo-shuttle): speed up metadata call by @jonaro00 in #2112
- chore: deprecate & bump services, resources by @jonaro00 in #2113
- feat(mcp): logs on stderr, improve args by @jonaro00 in #2083
- Limit max tokens for docs search and logs by @dcodesdev in #2114
- chore: v0.57.0 by @jonaro00 in #2115
- fix(cargo-shuttle): windows build by @jonaro00 in #2116
Full Changelog: v0.56.6...v0.57.0
cargo-shuttle v0.56.6
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
Fixes
- Fixed argument naming conflict in the
project update namecommand
What's Changed
Full Changelog: v0.56.4...v0.56.5
cargo-shuttle v0.56.4
Fixes
- Fixed dependency error when installing via cargo
What's Changed
Full Changelog: v0.56.3...v0.56.4
cargo-shuttle v0.56.3
Added
- Enabled the
resource dumpcommand, available fordatabase::shared::postgresresource type. Docs for how to use it.
Fixes
- Fixed deployment id arg conflict with
--idin logs and deployment commands
What's Changed
- feat(common): generic otel config by @jonaro00 in #2086
- feat(common): more otel fields by @jonaro00 in #2087
- fix(cargo-shuttle): clashing id arg name in logs, deployment status, redeploy by @jonaro00 in #2089
- feat: add support for additional (common) CLI env vars by @the-wondersmith in #2091
- feat(cargo-shuttle): re-enable resource dump command by @jonaro00 in #2090
- chore: 0.56.3 by @jonaro00 in #2093
- feat(cargo-shuttle): add macos aarch64 binary, upgrade macos builder by @jonaro00 in #2085
Full Changelog: v0.56.2...v0.56.3
cargo-shuttle v0.56.2
Fixes
--nameis now correctly prioritized over a linked project id
What's Changed
- fix(cargo-shuttle): fix --name priority over config id by @jonaro00 in #2082
- chore: cargo-shuttle 0.56.2 by @jonaro00 in #2084
Full Changelog: v0.56.1...v0.56.2
cargo-shuttle v0.56.1
Fixes
- Fixed incorrect warning about lowercase ‘shuttle.toml’
- Installer: Now respects
CARGO_HOMEandCARGO_INSTALL_ROOT
What's Changed
- fix: mcp release flow by @jonaro00 in #2077
- fix(installer): respect $CARGO_HOME and $CARGO_INSTALL_ROOT by @jonaro00 in #2078
- fix(cargo-shuttle): warn when only lowercase shuttle.toml file exists by @jonaro00 in #2079
- chore: cargo-shuttle 0.56.1 by @jonaro00 in #2081
Full Changelog: v0.56.0...v0.56.1
v0.56.0
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]withuse shuttle_runtime::main;.
- Added global option
--output jsonto print the main command output as raw JSON responses straight from the API client. Useful for writing scripts.⚠️ This includes breaking changes in theshuttle-api-clientcrate⚠️ Thegeneratecommand’s--outputargument was renamed to--output-file
--nameand--idare now separate arguments (instead of aliases) for specifying the project name and id respectively- The
initcommand 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
--secretsas 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
- @nathanjclark made their first contribution in #2057
- @dcodesdev made their first contribution in #2074
Full Changelog: v0.55.0...v0.56.0