Platform Update
Overview & Changelog
In Q4 2024, Shuttle launched a new and improved platform
Introducing the new Shuttle platform! We’ve supercharged what developers love about Shuttle, combining our powerful developer experience with enterprise-grade infrastructure. For developers, we’ve kept it simple and intuitive - no complex configs, just focus on your Rust code. On the production side, we’ve implemented VM-level isolation, increased reliability and scalability to meet real-world demands. From solo developers to enterprise teams, Shuttle now offers the perfect blend of ease and production-ready robustness.
Read the full announcement here!
Important Dates
- January 2nd, 2025: Deployment freeze on legacy platform
- January 14th, 2025: Legacy platform shutdown begins (gradual shutdown and removal of all projects)
- January 31st, 2025: Complete decommissioning of legacy platform infrastructure
Migrate to the new platform for continued deployment capabilities. Check out our migration docs.
Domain and CLI changes
Access the NEW platform
- New Console: console.shuttle.dev
- New Docs: docs.shuttle.dev
- Command Line: new
shuttle
command (installed alongsidecargo shuttle
)
Access the OLD platform (no longer available)
Old Console: console.shuttle.rsOld Docs: docs.shuttle.rsCommand Line:cargo shuttle
Changelog
Changed
- ⚠️ The Shuttle Console is located at console.shuttle.dev instead of console.shuttle.rs.
- ⚠️ Project subdomains are under
*.shuttle.app
instead of*.shuttleapp.rs
- ⚠️ A new binary
shuttle
is now provided for using the new platform (read more). - Project names are no longer globally unique, only unique per account. Project URLs now have some random characters at the end of its default subdomain, e.g.
myproject-3h5n.shuttle.app
. - Builds and deployments are now fully separated. This allows for more specialised build workflows, and more efficient deployment hosting.
- Builds run on AWS CodeBuild, and now produce a Docker image instead of just a binary. This implies we can support more languages than Rust in the future. ✨
- Deployments run on AWS ECS with Fargate.
- CLI commands:
deploy
: no longer runs tests, so--no-test
has no effect.deploy
: no longer denies dirty deployments by default (read more).status
: usedeployment status
instead.stop
: usedeployment stop
instead.project status
: projects no longer have a state, so--follow
has no effect.login
: automatically gets the API key from the API after an approval in Shuttle Console. No more copy + pasting!
- Max archive size for deployments is now 100 MB (up from 50MB).
- Secrets.toml must now be in the root of the cargo workspace (
--secrets <file>
can still be used for a custom location). - Shuttle.toml:
- Shared Postgres resource:
- Postgres 16
- Now based on AWS RDS
- Now has common Postgres Extensions
Added
- The Shuttle proxy, that proxies HTTP requests to user projects, now sets the X-Forwarded-For header on all requests, with the IP of the original caller.
- CLI commands:
- Commands that target a project: You will now be prompted to link your project directory to a Shuttle project.
- In addition to
--name <name>
, you can also use--id <id>
to target specific projects. This overrides project linking. project link
: explicitly re-link the project directory to a Shuttle project.certificate
command for adding and managing SSL certificates for custom domains.deploy --no-follow
to not poll the deployment status until it reaches a running or failed state.account
to show information about your account.project update name
to rename a project.
- You can now create accounts with Google sign-in and email + password. Accounts on new providers with matching emails are not linked and are treated as separate accounts.
- The ability to increase the allocated CPU and RAM limits (contact us).
Removed
- Shuttle Persist resource and the persistent file volume. (We plan to implement an S3-based replacement.)
- MongoDB Shared Database resource. (Removed due to having very few users.)
- AWS RDS Database resource. (We plan to bring it back.)
- CLI commands:
project stop
project restart
clean
- The Teams feature has been temporarily disabled. We plan to enable it after improvements have been made.
Was this page helpful?