diff --git a/README.md b/README.md
index b1e616f1b9..3a9f91bae6 100644
--- a/README.md
+++ b/README.md
@@ -23,18 +23,20 @@ It streamlines development, training, and inference, and is compatible with any
`dstack` supports `NVIDIA`, `AMD`, `Google TPU`, and `Tenstorrent` accelerators out of the box.
## Latest news ✨
-- [2026/04] [dstack 0.20.17: PD disaggregation, Kubernetes volumes](https://github.com/dstackai/dstack/releases/tag/0.20.17)
-- [2026/04] [dstack 0.20.16: Performance, SSH proxy](https://github.com/dstackai/dstack/releases/tag/0.20.16)
-- [2026/03] [dstack 0.20.13: Exports, Templates](https://github.com/dstackai/dstack/releases/tag/0.20.13)
-- [2026/02] [dstack 0.20.12: Crusoe](https://github.com/dstackai/dstack/releases/tag/0.20.12)
-- [2026/02] [dstack 0.20.8: Skills](https://github.com/dstackai/dstack/releases/tag/0.20.8)
-- [2025/12] [dstack 0.20.0: Fleet-first UX, Events, and more](https://github.com/dstackai/dstack/releases/tag/0.20.0)
+- [2026/08] [dstack 0.21.0: Pydantic v2, Gateway replicas](https://github.com/dstackai/dstack/releases/tag/0.21.0)
+- [2026/07] [dstack 0.20.29: Presets — agent-driven inference optimization (experimental)](https://dstack.ai/docs/concepts/presets/)
+- [2026/07] [dstack 0.20.27: Slurm backend](https://github.com/dstackai/dstack/releases/tag/0.20.27)
+- [2026/05] [dstack 0.20.21: Kubernetes multiple clusters](https://github.com/dstackai/dstack/releases/tag/0.20.21)
+- [2026/05] [dstack 0.20.20: NVIDIA Dynamo integration](https://github.com/dstackai/dstack/releases/tag/0.20.20)
+- [2026/04] [dstack 0.20.17: Kubernetes volumes](https://github.com/dstackai/dstack/releases/tag/0.20.17)
+- [2026/02] [dstack 0.20.10: PD disaggregation support](https://github.com/dstackai/dstack/releases/tag/0.20.10)
+- [2026/01] [dstack 0.20.7: Replica groups](https://github.com/dstackai/dstack/releases/tag/0.20.7)
## How does it work?
-
-
+
+
### Launch the server
@@ -101,11 +103,12 @@ AI agents like Claude, Codex, and Cursor can now create and manage fleets and su
`dstack` supports the following configurations:
-* [Fleets](https://dstack.ai/docs/concepts/fleets) — for managing cloud and on-prem clusters
-* [Dev environments](https://dstack.ai/docs/concepts/dev-environments) — for interactive development using a desktop IDE
-* [Tasks](https://dstack.ai/docs/concepts/tasks) — for scheduling jobs (incl. distributed jobs) or running web apps
-* [Services](https://dstack.ai/docs/concepts/services) — for deployment of models and web apps (with auto-scaling and authorization)
-* [Volumes](https://dstack.ai/docs/concepts/volumes) — for managing persisted volumes
+* [Fleets](https://dstack.ai/docs/concepts/fleets) — Provision and manage clusters across clouds, Kubernetes, and on-prem
+* [Dev environments](https://dstack.ai/docs/concepts/dev-environments) — Launch dev environments to be accessed by agents or from your IDE
+* [Tasks](https://dstack.ai/docs/concepts/tasks) — Run training, batch or other jobs across a single node or clusters
+* [Services](https://dstack.ai/docs/concepts/services) — Deploy model inference as secure and scalable endpoints
+* [Presets](https://dstack.ai/docs/concepts/presets) — Agent-driven inference optimization (experimental)
+* [Volumes](https://dstack.ai/docs/concepts/volumes) — Managing instance and network volumes for persisting data
Configuration can be defined as YAML files within your repo.
diff --git a/mkdocs.yml b/mkdocs.yml
index efde929f51..89cd591efc 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -297,9 +297,9 @@ nav:
- Dev environments: docs/concepts/dev-environments.md
- Tasks: docs/concepts/tasks.md
- Services: docs/concepts/services.md
- - Volumes: docs/concepts/volumes.md
+ - Presets: docs/concepts/presets.md
- More:
- - Presets: docs/concepts/presets.md
+ - Volumes: docs/concepts/volumes.md
- Gateways: docs/concepts/gateways.md
- Secrets: docs/concepts/secrets.md
- Projects: docs/concepts/projects.md
diff --git a/mkdocs/assets/images/arch-logos/amd.webp b/mkdocs/assets/images/arch-logos/amd.webp
deleted file mode 100644
index a53f88bfc5..0000000000
Binary files a/mkdocs/assets/images/arch-logos/amd.webp and /dev/null differ
diff --git a/mkdocs/assets/images/arch-logos/aws.svg b/mkdocs/assets/images/arch-logos/aws.svg
deleted file mode 100644
index 80192a12d8..0000000000
--- a/mkdocs/assets/images/arch-logos/aws.svg
+++ /dev/null
@@ -1,38 +0,0 @@
-
-
-
diff --git a/mkdocs/assets/images/arch-logos/deepseek.svg b/mkdocs/assets/images/arch-logos/deepseek.svg
deleted file mode 100644
index 3c9d00e9b0..0000000000
--- a/mkdocs/assets/images/arch-logos/deepseek.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/mkdocs/assets/images/arch-logos/docker.svg b/mkdocs/assets/images/arch-logos/docker.svg
deleted file mode 100644
index dfbafd12bb..0000000000
--- a/mkdocs/assets/images/arch-logos/docker.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/mkdocs/assets/images/arch-logos/gcp.svg b/mkdocs/assets/images/arch-logos/gcp.svg
deleted file mode 100644
index b8478f1f93..0000000000
--- a/mkdocs/assets/images/arch-logos/gcp.svg
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
diff --git a/mkdocs/assets/images/arch-logos/glm.svg b/mkdocs/assets/images/arch-logos/glm.svg
deleted file mode 100644
index 0638057dbb..0000000000
--- a/mkdocs/assets/images/arch-logos/glm.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
diff --git a/mkdocs/assets/images/arch-logos/huggingface.svg b/mkdocs/assets/images/arch-logos/huggingface.svg
deleted file mode 100644
index cab717b750..0000000000
--- a/mkdocs/assets/images/arch-logos/huggingface.svg
+++ /dev/null
@@ -1,7 +0,0 @@
-
diff --git a/mkdocs/assets/images/arch-logos/kimi.svg b/mkdocs/assets/images/arch-logos/kimi.svg
deleted file mode 100644
index 8f95bd7fc8..0000000000
--- a/mkdocs/assets/images/arch-logos/kimi.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/mkdocs/assets/images/arch-logos/kubernetes.svg b/mkdocs/assets/images/arch-logos/kubernetes.svg
deleted file mode 100644
index 140c74aab4..0000000000
--- a/mkdocs/assets/images/arch-logos/kubernetes.svg
+++ /dev/null
@@ -1,16 +0,0 @@
-
diff --git a/mkdocs/assets/images/arch-logos/lambda.svg b/mkdocs/assets/images/arch-logos/lambda.svg
deleted file mode 100644
index 6143f02db0..0000000000
--- a/mkdocs/assets/images/arch-logos/lambda.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/mkdocs/assets/images/arch-logos/meta.svg b/mkdocs/assets/images/arch-logos/meta.svg
deleted file mode 100644
index ac4cdd3f5a..0000000000
--- a/mkdocs/assets/images/arch-logos/meta.svg
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
diff --git a/mkdocs/assets/images/arch-logos/nebius.svg b/mkdocs/assets/images/arch-logos/nebius.svg
deleted file mode 100644
index 55a25a6b2c..0000000000
--- a/mkdocs/assets/images/arch-logos/nebius.svg
+++ /dev/null
@@ -1,14 +0,0 @@
-
diff --git a/mkdocs/assets/images/arch-logos/nvidia.svg b/mkdocs/assets/images/arch-logos/nvidia.svg
deleted file mode 100644
index 7514d0ed39..0000000000
--- a/mkdocs/assets/images/arch-logos/nvidia.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/mkdocs/assets/images/arch-logos/pytorch.svg b/mkdocs/assets/images/arch-logos/pytorch.svg
deleted file mode 100644
index 9dcafc39af..0000000000
--- a/mkdocs/assets/images/arch-logos/pytorch.svg
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
diff --git a/mkdocs/assets/images/arch-logos/qwen.svg b/mkdocs/assets/images/arch-logos/qwen.svg
deleted file mode 100644
index 3b4f0ee9d9..0000000000
--- a/mkdocs/assets/images/arch-logos/qwen.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/mkdocs/assets/images/arch-logos/runpod.svg b/mkdocs/assets/images/arch-logos/runpod.svg
deleted file mode 100644
index f6fab58239..0000000000
--- a/mkdocs/assets/images/arch-logos/runpod.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/mkdocs/assets/images/arch-logos/sglang.svg b/mkdocs/assets/images/arch-logos/sglang.svg
deleted file mode 100644
index a82fa0aeb1..0000000000
--- a/mkdocs/assets/images/arch-logos/sglang.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/mkdocs/assets/images/arch-logos/tenstorrent.svg b/mkdocs/assets/images/arch-logos/tenstorrent.svg
deleted file mode 100644
index 570923ae35..0000000000
--- a/mkdocs/assets/images/arch-logos/tenstorrent.svg
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
diff --git a/mkdocs/assets/images/arch-logos/vllm.svg b/mkdocs/assets/images/arch-logos/vllm.svg
deleted file mode 100644
index 07eaef09ca..0000000000
--- a/mkdocs/assets/images/arch-logos/vllm.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/mkdocs/assets/stylesheets/cloudscape-docs.css b/mkdocs/assets/stylesheets/cloudscape-docs.css
index d7b0fb39f5..298a0f0ee7 100644
--- a/mkdocs/assets/stylesheets/cloudscape-docs.css
+++ b/mkdocs/assets/stylesheets/cloudscape-docs.css
@@ -2058,163 +2058,23 @@
}
/* ===== Architecture diagram (docs index) =====================================
- Ported 1:1 from the new landing's (website/src/components/
- ArchitectureDiagram.tsx + .arch-* in website/src/styles.css). Keep the two in sync — if the
- landing diagram changes, update this block AND the HTML in mkdocs/docs/index.md.
- Everything is in cqw (resolved against .arch-diagram-wrap) so it scales like the old SVG.
- Logos are source SVG/webp used as a currentColor mask → monochrome + theme-adaptive. */
-.arch-diagram-wrap {
- container-type: inline-size;
+ Prebuilt light/dark SVG pair served from the dstackai/static-assets repo
+ (static-assets/images/dstack-architecture-diagram*.svg), shared with the landing
+ and the README. The pair swaps with the docs theme. */
+/* `.md-typeset img` (0,1,1) beats a bare `.arch-svg` (0,1,0), so qualify the selectors
+ to out-specify Material's `img { height: auto; max-width: 100% }`. */
+.md-typeset img.arch-svg {
+ display: block;
width: 100%;
max-width: 700px;
margin: 1em 0;
}
-/* The cells' dotted outline is an