Download Latest Version 0.20.19 source code.tar.gz (32.2 MB)
Email in envelope

Get an email when there's a new version of dstack

Home / 0.20.16
Name Modified Size InfoDownloads / Week
Parent folder
0.20.16 source code.tar.gz 2026-04-06 32.2 MB
0.20.16 source code.zip 2026-04-06 33.2 MB
README.md 2026-04-06 6.4 kB
Totals: 3 Items   65.4 MB 0

Server

Performance

This release introduces a major overhaul of dstack server background processing. A single server replica can now handle ~10x more resources, supporting at least 1000 active instances and runs. In benchmarks, we observed 2x-10x faster processing (see #3551).

  • Provisioning 200 instances: 12 minutes -> 4 minutes.
  • Running a 200-node task: >25 minutes -> 4 minutes.
  • Terminating 50 instances: 60 seconds -> 10 seconds.

The performance gains come from a new, more efficient background processing architecture. Server hardware requirements and memory consumption remain the same.

If you need to temporarily revert this behavior, set DSTACK_FF_PIPELINE_PROCESSING_DISABLED=1 before starting the server.

Upgrade notes

[!WARNING] This release includes significant internal changes to the dstack server. Test in a staging environment before upgrading production whenever possible.

[!WARNING] Rolling upgrades from 0.20.13 or older directly to 0.20.16 are not supported. Do not run replicas on 0.20.13 (or older) and 0.20.16 at the same time. Upgrade to 0.20.15 first, or scale server replicas down to 1 before upgrading.

SSH proxy

Servers can enforce proxy-only SSH access by combining SSH proxy with the new DSTACK_SERVER_SSHPROXY_ENFORCED flag. When enabled, runs omit user-provided keys from authorized lists and expect clients to connect via the proxy endpoint that run details expose. For more details, see the server deployment guide.

[!NOTE] SSH proxy is experimental, and behavior may change in future releases.

UI

SSH keys

User settings now include an SSH keys tab where you can upload OpenSSH public keys, see their fingerprints, and remove keys that no longer belong to you. Uploaded keys let you open SSH sessions without relying on the client key that dstack attach manages automatically, and duplicate keys are rejected with a clear error.

CLI

dstack attach

When SSH proxy is enabled on the server, dstack attach now routes through the proxy automatically and receives the proxy host, port, and upstream ID from run connection info. Servers can opt into proxy-only access by setting DSTACK_SERVER_SSHPROXY_ENFORCED, which stops embedding direct SSH keys in runs.

:::bash
export DSTACK_SERVER_SSHPROXY_ENFORCED=1

Backends

RunPod

RunPod backends can now provision on-demand CPU offerings in secure cloud regions, so jobs that request gpu: 0 schedule successfully without tricking the scheduler. Disk size checks respect the per-offer limits RunPod publishes.

:::yaml
resources:
  gpu: 0
  cpu: 8
  memory: 32GB

Verda

Verda startup scripts and SSH keys are now generated per instance and removed reliably on teardown, preventing stale credentials and improving cleanup when a rollout provisions multiple machines.

Major bug-fixes

  • Improved Git-related CLI repo errors with actionable messages for missing credentials, detached HEAD state, and non-repository directories (#3730).

What's changed

Full changelog: https://github.com/dstackai/dstack/compare/0.20.15...0.20.16

Source: README.md, updated 2026-04-06