Name | Modified | Size | Downloads / Week |
---|---|---|---|
Parent folder | |||
0.19.27 source code.tar.gz | 2025-09-04 | 31.5 MB | |
0.19.27 source code.zip | 2025-09-04 | 32.3 MB | |
README.md | 2025-09-04 | 6.1 kB | |
Totals: 3 Items | 63.8 MB | 0 |
Run configurations
Repo directory
It's now possible to specify the directory in the container where the repo is mounted:
:::yaml
type: dev-environment
ide: vscode
repos:
- local_path: .
path: my_repo
# or using short syntax:
# - .:my_repo
The path
property can be an absolute path or a relative path (with respect to working_dir
). It's available inside run as the $DSTACK_REPO_DIR
environment variable. If path
is not set, the /workflow
path is used.
Working directory
Previously, the working_dir
property had complicated semantics: it defaulted to the repo path (/workflow
), but for tasks and services without commands
, the image working directory was used. You could also specify custom working_dir
relative to the repo directory. This is now reversed: you specify working_dir
as absolute path, and the repo path can be specified relative to it.
[!NOTE] During transitioning period, the legacy behavior of using
/workflow
is preserved ifworking_dir
is not set. In future releases, this will be simplified, andworking_dir
will always default to the image working directory.
Fleet configuration
Nodes, retry, and target
dstack
now indefinitely maintains nodes.min
specified for cloud fleets. If instances get terminated for any reason and there are fewer instances than nodes.min
, dstack
will provision new fleet instances in the background.
There is also a new nodes.target
property that specifies the number of instances to provision on fleet apply. Since now nodes.min
is always maintained, you may specify nodes.target
different from nodes.min
to provision more instances than needs to be maintained.
Example:
:::yaml
type: fleet
name: default-fleet
nodes:
min: 1 # Maintain one instance
target: 2 # Provision two instances initially
max: 3
dstack
will provision two instances. After deleting one instance, there will be one instances left. Deleting the last instance will trigger dstack
to re-create the instance.
Offers
The UI now has a dedicated page showing GPU offers available across all configured backends.
Digital Ocean and AMD Developer Cloud
The release adds native integration with DigitalOcean and AMD Developer Cloud.
A backend configuration example:
:::yaml
projects:
- name: main
backends:
- type: amddevcloud
project_name: TestProject
creds:
type: api_key
api_key: ...
For DigitalOcean, set type
to digitalocean
.
The digitalocean
and amddevcloud
backends support NVIDIA and AMD GPU VMs, respectively, and allow you to run
dev environments (interactive development), tasks
(training, fine-tuning, or other batch jobs), and services (inference).
Security
[!IMPORTANT] This update fixes a vulnerability in the
cloudrift
,cudo
, anddatacrunch
backends. Instances created with earlierdstack
versions lack proper firewall rules, potentially exposing internal APIs and allowing unauthorized access.Users of these backends are advised to update to the latest version and re-create any running instances.
What's changed
- Minor Hot Aisle Cleanup by @Bihan in https://github.com/dstackai/dstack/pull/2978
- UI for offers [#3004] by @olgenn in https://github.com/dstackai/dstack/pull/3042
- Add
repos[].path
property by @un-def in https://github.com/dstackai/dstack/pull/3041 - style(frontend): Add missing final newline by @un-def in https://github.com/dstackai/dstack/pull/3044
- Implement fleet state-spec consolidation to maintain
nodes.min
by @r4victor in https://github.com/dstackai/dstack/pull/3047 - Add digital ocean and amd dev backend by @Bihan in https://github.com/dstackai/dstack/pull/3030
- test: include amddevcloud and digitalocean in backend types by @Bihan in https://github.com/dstackai/dstack/pull/3053
- Fix missing digitaloceanbase configurator methods by @Bihan in https://github.com/dstackai/dstack/pull/3055
- Expose job working dir via environment variable by @un-def in https://github.com/dstackai/dstack/pull/3049
- [runner] Ensure
working_dir
exists by @un-def in https://github.com/dstackai/dstack/pull/3052 - Fix server compatibility with pre-0.19.27 runners by @un-def in https://github.com/dstackai/dstack/pull/3054
- Bind shim and exposed container ports to localhost by @jvstme in https://github.com/dstackai/dstack/pull/3057
- Fix client compatibility with pre-0.19.27 servers by @un-def in https://github.com/dstackai/dstack/pull/3063
- [Docs] Reflect the repo and working directory changes (#3041) by @peterschmidt85 in https://github.com/dstackai/dstack/pull/3064
- Show a CLI warning when using autocreated fleets by @r4victor in https://github.com/dstackai/dstack/pull/3060
- Improve UX with private repos by @un-def in https://github.com/dstackai/dstack/pull/3065
- Set up instance-level firewall on all backends by @jvstme in https://github.com/dstackai/dstack/pull/3058
- Exclude target when equal to min for responses by @r4victor in https://github.com/dstackai/dstack/pull/3070
- [Docs] Shorten the default
working_dir
warning by @peterschmidt85 in https://github.com/dstackai/dstack/pull/3072 - Do not issue empty update for deleted_fleets_placement_groups by @r4victor in https://github.com/dstackai/dstack/pull/3071
- Exclude target when equal to min for responses (attempt 2) by @r4victor in https://github.com/dstackai/dstack/pull/3074
Full changelog: https://github.com/dstackai/dstack/compare/0.19.26...0.19.27