Skip to content

0.22.0

Latest

Choose a tag to compare

@jvstme jvstme released this 10 Sep 18:10
· 3 commits to master since this release
1f7b736

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:

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.

$ 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:

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 future dstack release 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 of APIClient.exports.list_exports()
  • APIClient.imports.list() is deprecated in favor of APIClient.imports.list_imports()

What's changed

New Contributors

Full Changelog: 0.21.5...0.22.0