Railway
All Updates
CHANGELOG

Changelog #0121

Follow us on X

Welcome to this week’s Changelog. Time to pipe some announcements into your head.

New CLI

There’s a new CLI in town and it’s coming soon to Railway.

Presenting: CLI v3

It’s the same CLI you know and love, just improved in nearly every way possible.

It’s written in Rust (for buzzword compliance) and is 10x faster than the existing CLI. As a result, developing with the new CLI is better than ever. We’re talking strongly typed gQL responses, semantic auto-complete … okay, you wanna know what it’s like to actually use it, don’t you?

Project creation in CLI v3
Project creation in CLI v3

For starters, railway run now remembers what service you’re developing in without re-prompting you all the time in a multi-service project.

Next, we made railway up much faster with support for ever larger repos. (Thanks for the feedback, ML engineers!)

Additionally, we added flags such as railway <command> --json that allow you to pipe your output into json for extensible scripting.

Finally, we’ve refreshed UI elements in a big way. I hope you like furniture, because we added … tables! audience groans

Tables in CLI v3
Tables in CLI v3

So you must be wondering when you can use this fantastic crab-filled beauty?

Today! We have a public repo and Cargo download for everyone who wants to use the new CLI for testing.

With that said, We plan to cutover to the Rust based CLI next Friday. No intervention on your part is necessary. Testing shows us that the new version will slot into your existing workloads just fine.

On the cutover date, we will bump the version to v3.0.0 and merge it into the railwayapp/cli repo.

We have big plans for the CLI for the rest of the year, so you should expect much more to come in our effort to make you feel right at home using Railway in the terminal.

New Public API Queries

New queries! Get your new queries here!

We’ve added some new treats to the Public API for you to consume at your leisure:

  • logs
  • usage
  • estimatedUsage

To try out the new queries, head over to the GraphQL Playground and try a sample command:

{
  usage(
    projectId: "3cd99487-93ee-4013-92ec-1fdfb3e5948c"
    measurements: [CPU_USAGE, MEMORY_USAGE_GB]
  ) {
    measurement
    value
  }
  estimatedUsage(
    projectId: "3cd99487-93ee-4013-92ec-1fdfb3e5948c"
    measurements: [CPU_USAGE, MEMORY_USAGE_GB]
  ) {
    measurement
    estimatedValue
  }
}

Network Metrics Improvements

Network metrics are now displayed over a window of time rather than cumulatively
Network metrics are now displayed over a window of time rather than cumulatively

We’ve improved the view of network metrics within a Project for Priority Boarding users. Whereas before we displayed cumulative network use, we now display network use over a time window.

If you haven’t signed up for Priority Boarding yet, here’s your chance! We hope you enjoy the increased fidelity.

Improvements and Fixes

  • Nixpacks upgraded to v.1.4.0
  • Added support for language population in templates
  • Fixed a bug that prevented using shared variables for RAILWAY_DOCKERFILE_PATH
  • Fixed a bug that sometimes deleted metadata when updating templates
  • Fixed a pagination issue with logs