Skip to content

Commit 7aaae67

Browse files
authored
Add 0.21 section to the upgrade guide (#4106)
1 parent e9c3f04 commit 7aaae67

1 file changed

Lines changed: 53 additions & 0 deletions

File tree

‎mkdocs/docs/guides/upgrade.md‎

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,59 @@ description: Upgrading to newer versions of dstack
77

88
<!-- TODO: Add general sections on how to migrate to newer releases and how major and minor versions compatibility and deprecation policy is handled -->
99

10+
## 0.21.* { #0_21 }
11+
12+
### CLI compatibility
13+
14+
- CLI versions `0.20.*` and later remain backward compatible with the `0.21.*` `dstack` server.
15+
- CLI versions `0.21.*` are not compatible with server versions prior to `0.21.*`.
16+
17+
> Upgrade the server before upgrading the CLI, or upgrade both at the same time. CLI versions prior to `0.20.0` must be upgraded along with the server.
18+
19+
### Pydantic v2
20+
21+
`dstack` has migrated from Pydantic v1 to Pydantic v2. The `dstack` Python API and `dstack` plugins now work with Pydantic v2 models.
22+
23+
> If you use the Python API or have plugins installed, ensure the code works with Pydantic v2 models before upgrading.
24+
25+
If you call the `dstack` HTTP API directly, note that UTC datetimes are now serialized with a `Z` suffix instead of `+00:00`.
26+
27+
### Gateway routers
28+
29+
The top-level `router` property of gateway and run configurations, deprecated in `0.20.17` in favor of [replica-based routers](../concepts/services.md#pd-disaggregation), has been removed. Configurations that use it are no longer accepted, and the behavior of gateways and services created with it before the upgrade is undefined.
30+
31+
> Terminate services and gateways that use the top-level `router` property before upgrading, then recreate them using replica-based routers.
32+
33+
### Presets
34+
35+
[Preset](../concepts/presets.md) configuration properties have changed: `max_trials` is now `trials`, and `context_length` is now `min_context_length`. The `max_ttft`, `min_context_length`, and `concurrency` properties no longer have defaults and must be specified. Presets are an experimental feature, so no aliases were kept - existing configurations fail with `extra fields not permitted`.
36+
37+
> Update preset configurations to the new property names before upgrading.
38+
39+
### Deprecated feature removal
40+
41+
The following deprecated API endpoints have been removed in **0.21**:
42+
43+
- `/api/project/{project_name}/runs/submit`
44+
- `/api/project/{project_name}/fleets/create`
45+
46+
Use the corresponding replacements:
47+
48+
- `/api/project/{project_name}/runs/apply`
49+
- `/api/project/{project_name}/fleets/apply`
50+
51+
### Deprecations
52+
53+
The following API response fields are no longer populated by the server and will be removed in **0.22**:
54+
55+
- `Resources.description`
56+
- `Gateway.backend`
57+
- `Gateway.region`
58+
59+
> For gateways, use `Gateway.configuration.backend` and `Gateway.configuration.region` instead.
60+
61+
> For more details on the changes, see the [release notes](https://github.com/dstackai/dstack/releases).
62+
1063
## 0.20.* { #0_20 }
1164

1265
### CLI compatibility

0 commit comments

Comments
 (0)