Skip to content

Releases: shuttle-hq/shuttle

v0.4.2

15 Aug 14:29
587a5c9
Compare
Choose a tag to compare

Features 🚀

Bugs 🐞

  • [#296][@coszio] Documentation updates for url-shortener
  • [#304] Removed extra braces in cargo shuttle init --axum

Thanks to all the contributors for the new features and bug fixes 🤛

v0.4.1

27 Jul 16:59
a616e72
Compare
Choose a tag to compare

Features

Improvements

v0.4.0

11 Jul 09:22
c7f5d22
Compare
Choose a tag to compare

Features

  • Services can opt into an AWS RDS Postgres, MySql or MariaDB instance rather than the previously shared Postgres instance (#180)

Improvements

  • No longer need to put cdylib in Cargo.toml (#212)
  • cargo shuttle command can now be run in child directories of a project (#203 Thanks @ivancernja)
  • Invalid API keys for cargo shuttle now have a better message for fixing the problem (#217 Thanks @Xavientois)
  • Improved error when failing to parse shuttle_service version (#219 Thanks @jmwill86)
  • Improved local dev experience and building (#226 #234 #244)
  • A rewrite of shuttle_service::Service to make it easier for users to implement custom services (#225)
  • cargo shuttle now fails with exit code 1 to improve its use in scripting (#166)
  • Improved docs (#243 #245 Thanks @lilianmoraru and @Xavientois)
  • Started switching to CircleCI

Breaking changes

Any service that used the (shared Postgres) PgPool would have had the following main function:

async fn rocket(pool: PgPool) -> shuttle_service::ShuttleRocket {
    // Create service here
}

And a sqlx-postgres feature for shuttle-service. With the support of more databases, this PgPool now needs to explicitly define what kind of database instance it will connect to using argument attributes. This can be done by adding #[shared::Postgres] to the attribute:

async fn rocket(#[shared::Postgres] pool: PgPool) -> shuttle_service::ShuttleRocket {
    // Create service here
}

v0.3.3

10 Jun 14:53
a21c456
Compare
Choose a tag to compare

Forgot to bump codegen 🤦‍♂️

v0.3.2

10 Jun 14:52
Compare
Choose a tag to compare

Some features of this release:

  • Running shuttle locally using cargo shuttle run
  • Websocket support
  • Testing projects locally before deploying them
  • Stability improvements

v0.3.1

30 May 05:28
2d725e3
Compare
Choose a tag to compare

Patch to update documentation 📝

v0.3.0

26 May 18:55
e0a664d
Compare
Choose a tag to compare

Exciting times for shuttle - v0.3.0 is out! 🚀

Here's what to look out for in this update.

How to update

  • 👨‍💻 Just run cargo install cargo-shuttle to install the latest version of the CLI.

  • ⚠️ This release comes with an update to the shuttle-service crate. This means you'' have to update your shuttle-service dependency to 0.3 and run cargo shuttle deploy.

What's New

Major Changes

  • 📖 The much requested cargo shuttle logs so you can now get your deployment logs!
  • 🔒 A brand new secrets store (docs coming soon 😅)
  • 🌊 Support for Tide (example)
  • 🏰 Support for Tower (example)

Minor Improvements

  • A --name and --working-directory argument for cargo shuttle so that you don't need to be cd'd into your project's directory to use it!
  • Type aliases to make our lives a little easier:
-async fn rocket() -> Result<Rocket<Build>, shuttle_service::Error> {
+async fn rocket() -> shuttle_service::ShuttleRocket {

Thanks

Thanks to the contributors @alsuren, @bmoxb, @chesedo, @marioidival for making this release possible!

v0.2.5

31 Mar 13:30
6f0763e
Compare
Choose a tag to compare

Hello beautiful people! We've just released v0.2.5 🥳

Here's a quick note to tell you what changed and what matters to you.

How to update

  • 👨‍💻 Just run cargo install cargo-shuttle to install the latest version of the CLI.

  • 🔑 You may also have to run cargo shuttle login and obtain an API key again by clicking on "Log In" on shuttle.rs.

  • ⚠️ This release comes with an update to the shuttle-service crate. This means you may need to run cargo shuttle deploy on some of your v0.2.4 projects.

What's new

Major things

Two major new PRs have been merged:

  • 🦀 Support for the axum web framework (example)
  • 👌 A new and more clever way to declare your services - based on a proc-macro in the style of tokio::main (example)

Minor improvements

  • We now set the Server: shuttle.rs http header server-side on app responses
  • Optimized the deployment job queue with async goodness
  • Fixed a bug which prevented certain users from retrieving their existing API key
  • The DB uri is now showing in the output of cargo shuttle deploy when the service requests a database
  • Code health, first pass
  • More examples

Thanks

Many thanks to @finnbear for the awesome suggestion that led to #[shuttle_service::main]! And thanks to @thecotne, @chesedo, @WiredSound, @christoshadjiaslanis, @alsuren, @mikeando for great commits and ideas!

v0.2.4

18 Mar 16:32
6113176
Compare
Choose a tag to compare
docs: update service docs login