| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| 0.22.0 source code.tar.gz | 2026-09-10 | 20.9 MB | |
| 0.22.0 source code.zip | 2026-09-10 | 22.0 MB | |
| README.md | 2026-09-10 | 5.9 kB | |
| Totals: 3 Items | 42.9 MB | 0 | |
Backends
GCP
Subnet configuration
You can now specify which subnets to use when provisioning instances, gateways, and TPUs in GCP. Add an optional subnetworks field to your GCP backend config — a mapping from regions to subnet names in the VPC specified by vpc_name:
:::yaml
projects:
- name: main
backends:
- type: gcp
project_id: my-project
regions: [europe-west4]
vpc_name: my-vpc
subnetworks:
europe-west4: my-subnet
creds:
type: default
ALB gateways
dstack can now create and manage an Application Load Balancer (ALB) for GCP gateways. This allows you to run multiple GCP gateway replicas with automatic load balancing.
:::shell
$ dstack gateway list
NAME BACKEND HOSTNAME DOMAIN DEFAULT STATUS
gcp-gateway 10.200.0.53 example.com ✓ running
replica=0 gcp (europe-west9) 10.200.0.54 running
replica=1 gcp (europe-west9) 10.200.0.55 running
Refer to the docs for configuration examples and requirements.
Jarvislabs
Multi-node workloads
The Jarvislabs backend now supports placement: cluster fleets, multi-node tasks, and connectivity between VMs via VPC internal IPs.
Presets
Codex support
Presets can now be created with Codex in addition to Claude. Configure the agent provider, model, and effort in the preset configuration:
:::yaml
agent:
provider: codex
model: gpt-6-astra
effort: high
Claude CLI default model
The preset agent now uses the claude CLI's default model instead of pinning a specific version.
Runner
This release includes a number of reliability fixes for job execution: runs are reliably stopped by max_duration even if the runner becomes unreachable; job cancellation is more reliable at actually stopping the underlying process; and several edge cases that could cause a run to hang or report a stale status have been fixed.
Breaking changes
Feature removals
- Exports are being phased out of the open-source version of
dstack. No new exports can be created, and existing exports can no longer be extended. A futuredstackrelease will automatically remove any remaining exports. - The open-source version no longer displays the global Events page in the UI. The Events tabs on resource pages are still available.
Both the Events page and Exports will remain supported in dstack Factory (formerly dstack Enterprise) and in dstack Sky.
API
These API methods now return a JSON object instead of a list:
Deprecations
The Python API deprecates two methods:
APIClient.exports.list()is deprecated in favor ofAPIClient.exports.list_exports()APIClient.imports.list()is deprecated in favor ofAPIClient.imports.list_imports()
What's changed
- UI build flags and landing updates by @peterschmidt85 in https://github.com/dstackai/dstack/pull/4250
- Separate shim and runner API errors from connection errors by @un-def in https://github.com/dstackai/dstack/pull/4251
- Split shim and runner response errors into status and body by @un-def in https://github.com/dstackai/dstack/pull/4261
- [Docs] Minor update to the landing page by @peterschmidt85 in https://github.com/dstackai/dstack/pull/4264
- Let the preset agent use the claude CLI's default model by @peterschmidt85 in https://github.com/dstackai/dstack/pull/4265
- Raise instead of returning False from runner_ssh_tunnel by @un-def in https://github.com/dstackai/dstack/pull/4262
- Support internal IP and cluster placement for jarvislabs by @r4victor in https://github.com/dstackai/dstack/pull/4247
- [Docs] Minor update to the landing page by @peterschmidt85 in https://github.com/dstackai/dstack/pull/4268
- [Docs] Fix Dynamo etcd/NATS wait loop under by @Bihan in https://github.com/dstackai/dstack/pull/4258
- Enforce
max_durationon the server by @un-def in https://github.com/dstackai/dstack/pull/4273 - Close the logs-done channels only once by @un-def in https://github.com/dstackai/dstack/pull/4275
- [runner] Stop reading job output once the command has exited by @un-def in https://github.com/dstackai/dstack/pull/4276
- [runner] Mark logs finished only once the executor has finished by @un-def in https://github.com/dstackai/dstack/pull/4280
- Allow configuring
subnetworksin GCP settings by @jagretti in https://github.com/dstackai/dstack/pull/4274 - [runner] Interrupt the job through the terminal, not the shell by @un-def in https://github.com/dstackai/dstack/pull/4281
- [Docs] Amplify the main use-cases for tasks and services by @peterschmidt85 in https://github.com/dstackai/dstack/pull/4260
- Phase out Exports in self-hosted OSS
dstackby @jvstme in https://github.com/dstackai/dstack/pull/4282 - [Presets] Support Codex as an agent provider for creating presets by @peterschmidt85 in https://github.com/dstackai/dstack/pull/4266
- Support ALB for GCP gateways by @jvstme in https://github.com/dstackai/dstack/pull/4279
New Contributors
- @jagretti made their first contribution in https://github.com/dstackai/dstack/pull/4274
Full Changelog: https://github.com/dstackai/dstack/compare/0.21.5...0.22.0