docs: Add Release 11 (Metis) release notes#215
Conversation
|
|
||
| Release 11 is a major step forward for the platform, and it comes jam-packed. Headlining it are advanced snapshotting capabilities — branching and checkpointing — alongside custom filesystems for persistent storage, and a plugin API that transparently extends a microVM with your own code. A sandbox plugin built on it is already available to enterprise customers. | ||
|
|
||
| Also on the sandbox track — but useful for all use cases — is our new network shield. It sits between any microVM and the public Internet, filtering traffic and injecting tokens, credentials or secrets so they never have to live inside the microVM (read: agent) itself. The shield is implemented as a minimalist, scale-to-zero microVM of its own, so it is as strongly isolated as everything else you run — and, being a microVM, extremely flexible in what it can do (iptables, eBPF, and so on). |
There was a problem hiding this comment.
📝 [vale] reported by reviewdog 🐶
[Microsoft.SentenceLength] Try to keep sentences short (< 30 words).
|
|
||
| **Why it matters:** Branching is the foundation for stateful instance workflows on the platform. | ||
| It enables fast, low-downtime cloning of live workloads for testing, scaling, and recovery. | ||
| It applies to many use cases, including launching sub-agents or branching large production databases to safely develop on them. |
There was a problem hiding this comment.
[Microsoft.Adverbs] Remove 'safely' if it's not important to the meaning of the statement.
|
|
||
| **Requirements and limitations:** Requires a valid license. | ||
| Checkpointing only works with block-based volumes (for example, `ext4`). | ||
| You load checkpoints by creating a new instance from them; in-place rewind of an instance to a previous checkpoint isn't part of this release. |
There was a problem hiding this comment.
📝 [vale] reported by reviewdog 🐶
[Microsoft.Semicolon] Try to simplify this sentence.
|
|
||
| ### Custom network configuration | ||
|
|
||
| You can now create microVMs with several network interfaces and fully custom network configuration via `POST /v1/instances`: |
There was a problem hiding this comment.
[write-good.Weasel] 'several' is a weasel word!
| ``` | ||
|
|
||
| The first interface is the **primary interface**: the `private_ip` that the instance returns always comes from it, and the proxy forwards traffic to the primary interface's IP. | ||
| If you omit `ip` and `tap_name`, the platform chooses a TAP device from its pool; you must specify both fields or neither. |
There was a problem hiding this comment.
📝 [vale] reported by reviewdog 🐶
[Microsoft.Semicolon] Try to simplify this sentence.
|
|
||
| #### Image pruning | ||
|
|
||
| The agent now automatically prunes unused images from disk. |
There was a problem hiding this comment.
[Microsoft.Terms] Prefer 'personal digital assistant' over 'agent'.
| #### Image pruning | ||
|
|
||
| The agent now automatically prunes unused images from disk. | ||
| When no running or stopped instance references an image any longer, the agent garbage-collects it to reclaim space; if you need the image again later, the agent pulls it on demand from the registry. |
There was a problem hiding this comment.
📝 [vale] reported by reviewdog 🐶
[Microsoft.SentenceLength] Try to keep sentences short (< 30 words).
| #### Image pruning | ||
|
|
||
| The agent now automatically prunes unused images from disk. | ||
| When no running or stopped instance references an image any longer, the agent garbage-collects it to reclaim space; if you need the image again later, the agent pulls it on demand from the registry. |
There was a problem hiding this comment.
[Microsoft.Terms] Prefer 'personal digital assistant' over 'agent'.
| #### Image pruning | ||
|
|
||
| The agent now automatically prunes unused images from disk. | ||
| When no running or stopped instance references an image any longer, the agent garbage-collects it to reclaim space; if you need the image again later, the agent pulls it on demand from the registry. |
There was a problem hiding this comment.
📝 [vale] reported by reviewdog 🐶
[Microsoft.Semicolon] Try to simplify this sentence.
| You can now check real-time metrics for all your resources and inspect instance logs. | ||
| You can start and stop instances directly from the UI and manage your organization, including user management. | ||
|
|
||
| Coming soon, you'll also be able to SSH directly into a particular instance, create and delete instances, and inspect the lifetime of an instance as you checkpoint or fork it. |
There was a problem hiding this comment.
📝 [vale] reported by reviewdog 🐶
[Microsoft.SentenceLength] Try to keep sentences short (< 30 words).
unikraft-bot
left a comment
There was a problem hiding this comment.
Remaining comments which cannot be posted as a review comment to avoid GitHub Rate Limit
vale
pages/releases/r10-themisto.mdx|90 col 62| [write-good.Passive] 'been replaced' may be passive voice. Use active voice if you can.
pages/releases/r10-themisto.mdx|95 col 53| [write-good.Passive] 'be stalled' may be passive voice. Use active voice if you can.
pages/releases/r10-themisto.mdx|97 col 52| [write-good.Passive] 'been resolved' may be passive voice. Use active voice if you can.
pages/releases/r10-themisto.mdx|98 col 58| [Microsoft.Acronyms] 'VMDB' has no definition.
pages/releases/r10-themisto.mdx|100 col 60| [write-good.Passive] 'been fixed' may be passive voice. Use active voice if you can.
pages/releases/r10-themisto.mdx|101 col 66| [write-good.Passive] 'been eliminated' may be passive voice. Use active voice if you can.
pages/releases/r10-themisto.mdx|102 col 16| [write-good.TooWordy] 'previously' is too wordy.
pages/releases/r10-themisto.mdx|103 col 34| [write-good.Passive] 'been fixed' may be passive voice. Use active voice if you can.
pages/releases/r10-themisto.mdx|108 col 7| [Microsoft.Acronyms] 'VMM' has no definition.
pages/releases/r10-themisto.mdx|110 col 35| [write-good.Passive] 'be reached' may be passive voice. Use active voice if you can.
pages/releases/r10-themisto.mdx|111 col 15| [write-good.Passive] 'been upgraded' may be passive voice. Use active voice if you can.
pages/releases/r10-themisto.mdx|123 col 1| [Microsoft.Contractions] Use 'it's' instead of 'It is'.
pages/releases/r10-themisto.mdx|123 col 1| [write-good.TooWordy] 'It is' is too wordy.
pages/releases/r10-themisto.mdx|123 col 4| [write-good.Passive] 'is intended' may be passive voice. Use active voice if you can.
pages/releases/r10-themisto.mdx|123 col 35| [Microsoft.Contractions] Use 'don't' instead of 'do not'.
pages/releases/r10-themisto.mdx|146 col 74| [write-good.TooWordy] 'previously' is too wordy.
pages/releases/r10-themisto.mdx|148 col 15| [write-good.Passive] 'is driven' may be passive voice. Use active voice if you can.
pages/releases/r10-themisto.mdx|148 col 122| [write-good.Passive] 'is used' may be passive voice. Use active voice if you can.
pages/releases/r10-themisto.mdx|148 col 129| [Microsoft.Semicolon] Try to simplify this sentence.
pages/releases/r10-themisto.mdx|156 col 1| [write-good.TooWordy] 'Previously' is too wordy.
pages/releases/r10-themisto.mdx|168 col 58| [Microsoft.Adverbs] Remove 'separately' if it's not important to the meaning of the statement.
pages/releases/r10-themisto.mdx|181 col 6| [write-good.Passive] 'are read' may be passive voice. Use active voice if you can.
pages/releases/r10-themisto.mdx|181 col 43| [write-good.Passive] 'be shared' may be passive voice. Use active voice if you can.
pages/releases/r10-themisto.mdx|181 col 79| [write-good.Weasel] 'very' is a weasel word!
pages/releases/r10-themisto.mdx|181 col 79| [Microsoft.Adverbs] Remove 'very' if it's not important to the meaning of the statement.
pages/releases/r10-themisto.mdx|205 col 16| [Microsoft.Headings] 'instance state' should use sentence-style capitalization.
pages/releases/r10-themisto.mdx|207 col 120| [write-good.Passive] 'being retained' may be passive voice. Use active voice if you can.
pages/releases/r10-themisto.mdx|208 col 49| [write-good.Passive] 'be filtered' may be passive voice. Use active voice if you can.
pages/releases/r10-themisto.mdx|216 col 97| [write-good.Passive] 'be attached' may be passive voice. Use active voice if you can.
pages/releases/r10-themisto.mdx|216 col 112| [write-good.TooWordy] 'multiple' is too wordy.
pages/releases/r10-themisto.mdx|229 col 13| [Microsoft.Headings] 'flag on' should use sentence-style capitalization.
pages/releases/r10-themisto.mdx|231 col 49| [write-good.Passive] 'be deleted' may be passive voice. Use active voice if you can.
pages/releases/r10-themisto.mdx|232 col 28| [write-good.TooWordy] 'equivalent' is too wordy.
pages/releases/r10-themisto.mdx|242 col 13| [Microsoft.Headings] 'scale-to-zero policy' should use sentence-style capitalization.
pages/releases/r10-themisto.mdx|245 col 16| [write-good.Passive] 'are scaled' may be passive voice. Use active voice if you can.
pages/releases/r10-themisto.mdx|279 col 82| [write-good.TooWordy] 'in addition' is too wordy.
pages/releases/r10-themisto.mdx|279 col 82| [Microsoft.Wordiness] Consider using 'also' instead of 'in addition'.
pages/releases/r10-themisto.mdx|289 col 86| [write-good.Passive] 'is honored' may be passive voice. Use active voice if you can.
pages/releases/r10-themisto.mdx|290 col 129| [write-good.Passive] 'be used' may be passive voice. Use active voice if you can.
pages/releases/r10-themisto.mdx|296 col 45| [Microsoft.Acronyms] 'CSI' has no definition.
pages/releases/r10-themisto.mdx|297 col 52| [Microsoft.Acronyms] 'CSI' has no definition.
pages/releases/r10-themisto.mdx|299 col 32| [Microsoft.Acronyms] 'CSI' has no definition.
pages/releases/r10-themisto.mdx|316 col 1| [Microsoft.SentenceLength] Try to keep sentences short (< 30 words).
pages/releases/r10-themisto.mdx|316 col 50| [write-good.Passive] 'are tagged' may be passive voice. Use active voice if you can.
pages/releases/r10-themisto.mdx|316 col 170| [Microsoft.Acronyms] 'CSI' has no definition.
pages/releases/r10-themisto.mdx|322 col 20| [Microsoft.Acronyms] 'CSI' has no definition.
| | Release | Date | Summary | | ||
| |---|---|---| | ||
| | [Release 11 — Metis](/releases/r11-metis) | 2026-07-03 | Branching and checkpointing, custom filesystems and persistent volumes, custom networking with network shield and relay, and a plugin API. | | ||
| | [Release 10 — Themisto](/releases/r10-themisto) | 2026-06-05 | Instance lifecycle management, annotations, hotplug volumes, indefinite retention, TAP wake-up, new `unikraft api` CLI, EROFS rootfs, ROM support, and Kraftlet CSI integration. | |
There was a problem hiding this comment.
📝 [vale] reported by reviewdog 🐶
[Microsoft.Acronyms] 'CSI' has no definition.
|
|
||
| {/* vale off */} | ||
|
|
||
| Release 10 focuses on instance lifecycle management and observability. New capabilities include runtime user management, instance annotations, hotpluggable volumes for scale-to-zero instances, indefinite instance retention with post-mortem metrics, and the ability to wake VMs from TAP device traffic. On the tooling side, the CLI gains a new `unikraft api` passthrough and EROFS rootfs by default, while Kraftlet picks up full CSI integration and ROM-based ephemeral volumes. |
There was a problem hiding this comment.
📝 [vale] reported by reviewdog 🐶
[Microsoft.Acronyms] 'CSI' has no definition.
| ### Image tag response format change | ||
|
|
||
| The `GET /v1/images` and `GET /v1/images/list` endpoints now return only the actual OCI tag. | ||
| For an image such as `oci://unikraft.io/user/image:latest`, the response previously contained `user/image:latest` and now contains just `latest`. |
There was a problem hiding this comment.
🚫 [vale] reported by reviewdog 🐶
[write-good.TooWordy] 'previously' is too wordy.
| ### Image tag response format change | ||
|
|
||
| The `GET /v1/images` and `GET /v1/images/list` endpoints now return only the actual OCI tag. | ||
| For an image such as `oci://unikraft.io/user/image:latest`, the response previously contained `user/image:latest` and now contains just `latest`. |
There was a problem hiding this comment.
🚫 [vale] reported by reviewdog 🐶
[Unikraft.NeutralTone] Use a neutral tone; avoid 'just'. Prefer precise, factual wording.
|
|
||
| The `GET /v1/images` and `GET /v1/images/list` endpoints now return only the actual OCI tag. | ||
| For an image such as `oci://unikraft.io/user/image:latest`, the response previously contained `user/image:latest` and now contains just `latest`. | ||
| Clients that parse the `tag` field should be updated accordingly. |
There was a problem hiding this comment.
🚫 [vale] reported by reviewdog 🐶
[write-good.Passive] 'be updated' may be passive voice. Use active voice if you can.
| ### Image fetch errors propagated to the proxy | ||
|
|
||
| Image fetch failures are now propagated to the proxy layer. | ||
| Clients triggering an instance via the proxy receive a more meaningful response when the underlying image cannot be pulled, instead of a generic failure. |
There was a problem hiding this comment.
🚫 [vale] reported by reviewdog 🐶
[Microsoft.Contractions] Use 'can't' instead of 'cannot'.
| ### Image fetch errors propagated to the proxy | ||
|
|
||
| Image fetch failures are now propagated to the proxy layer. | ||
| Clients triggering an instance via the proxy receive a more meaningful response when the underlying image cannot be pulled, instead of a generic failure. |
There was a problem hiding this comment.
🚫 [vale] reported by reviewdog 🐶
[write-good.Passive] 'be pulled' may be passive voice. Use active voice if you can.
|
|
||
| ### Wake VMs from TAP device traffic | ||
|
|
||
| Instances can now be woken up by incoming traffic on their TAP device, broadening the set of wake-up sources beyond the existing trigger mechanisms. |
There was a problem hiding this comment.
🚫 [vale] reported by reviewdog 🐶
[write-good.Passive] 'be woken' may be passive voice. Use active voice if you can.
|
|
||
| - A race in the snapshot abort path could trigger a false assertion and leave an instance stuck in the `STOPPING` state. | ||
| - Snapshot retries after abort now proceed correctly. | ||
| - Race conditions during snapshot teardown when the VMM process died have been fixed. |
There was a problem hiding this comment.
📝 [vale] reported by reviewdog 🐶
[Microsoft.Acronyms] 'VMM' has no definition.
|
|
||
| - A race in the snapshot abort path could trigger a false assertion and leave an instance stuck in the `STOPPING` state. | ||
| - Snapshot retries after abort now proceed correctly. | ||
| - Race conditions during snapshot teardown when the VMM process died have been fixed. |
There was a problem hiding this comment.
🚫 [vale] reported by reviewdog 🐶
[write-good.Passive] 'been fixed' may be passive voice. Use active voice if you can.
unikraft-bot
left a comment
There was a problem hiding this comment.
Remaining comments which cannot be posted as a review comment to avoid GitHub Rate Limit
vale
pages/releases/r10-themisto.mdx|148 col 122| [write-good.Passive] 'is used' may be passive voice. Use active voice if you can.
pages/releases/r10-themisto.mdx|148 col 129| [Microsoft.Semicolon] Try to simplify this sentence.
pages/releases/r10-themisto.mdx|156 col 1| [write-good.TooWordy] 'Previously' is too wordy.
pages/releases/r10-themisto.mdx|168 col 58| [Microsoft.Adverbs] Remove 'separately' if it's not important to the meaning of the statement.
pages/releases/r10-themisto.mdx|181 col 6| [write-good.Passive] 'are read' may be passive voice. Use active voice if you can.
pages/releases/r10-themisto.mdx|181 col 43| [write-good.Passive] 'be shared' may be passive voice. Use active voice if you can.
pages/releases/r10-themisto.mdx|181 col 79| [Microsoft.Adverbs] Remove 'very' if it's not important to the meaning of the statement.
pages/releases/r10-themisto.mdx|181 col 79| [write-good.Weasel] 'very' is a weasel word!
pages/releases/r10-themisto.mdx|205 col 16| [Microsoft.Headings] 'instance state' should use sentence-style capitalization.
pages/releases/r10-themisto.mdx|207 col 120| [write-good.Passive] 'being retained' may be passive voice. Use active voice if you can.
pages/releases/r10-themisto.mdx|208 col 49| [write-good.Passive] 'be filtered' may be passive voice. Use active voice if you can.
pages/releases/r10-themisto.mdx|216 col 97| [write-good.Passive] 'be attached' may be passive voice. Use active voice if you can.
pages/releases/r10-themisto.mdx|216 col 112| [write-good.TooWordy] 'multiple' is too wordy.
pages/releases/r10-themisto.mdx|229 col 13| [Microsoft.Headings] 'flag on' should use sentence-style capitalization.
pages/releases/r10-themisto.mdx|231 col 49| [write-good.Passive] 'be deleted' may be passive voice. Use active voice if you can.
pages/releases/r10-themisto.mdx|232 col 28| [write-good.TooWordy] 'equivalent' is too wordy.
pages/releases/r10-themisto.mdx|242 col 13| [Microsoft.Headings] 'scale-to-zero policy' should use sentence-style capitalization.
pages/releases/r10-themisto.mdx|245 col 16| [write-good.Passive] 'are scaled' may be passive voice. Use active voice if you can.
pages/releases/r10-themisto.mdx|279 col 82| [Microsoft.Wordiness] Consider using 'also' instead of 'in addition'.
pages/releases/r10-themisto.mdx|279 col 82| [write-good.TooWordy] 'in addition' is too wordy.
pages/releases/r10-themisto.mdx|289 col 86| [write-good.Passive] 'is honored' may be passive voice. Use active voice if you can.
pages/releases/r10-themisto.mdx|290 col 129| [write-good.Passive] 'be used' may be passive voice. Use active voice if you can.
pages/releases/r10-themisto.mdx|296 col 45| [Microsoft.Acronyms] 'CSI' has no definition.
pages/releases/r10-themisto.mdx|297 col 52| [Microsoft.Acronyms] 'CSI' has no definition.
pages/releases/r10-themisto.mdx|299 col 32| [Microsoft.Acronyms] 'CSI' has no definition.
pages/releases/r10-themisto.mdx|316 col 1| [Microsoft.SentenceLength] Try to keep sentences short (< 30 words).
pages/releases/r10-themisto.mdx|316 col 50| [write-good.Passive] 'are tagged' may be passive voice. Use active voice if you can.
pages/releases/r10-themisto.mdx|316 col 170| [Microsoft.Acronyms] 'CSI' has no definition.
pages/releases/r10-themisto.mdx|322 col 20| [Microsoft.Acronyms] 'CSI' has no definition.
| |---|---|---| | ||
| | [Release 11 — Metis](/releases/r11-metis) | 2026-07-03 | Branching and checkpointing, custom filesystems and persistent volumes, custom networking with network shield and relay, and a plugin API. | | ||
| | [Release 10 — Themisto](/releases/r10-themisto) | 2026-06-05 | Instance lifecycle management, annotations, hotplug volumes, indefinite retention, TAP wake-up, new `unikraft api` CLI, EROFS rootfs, ROM support, and Kraftlet CSI integration. | | ||
| | Release 9 — Leda | | — | |
There was a problem hiding this comment.
🚫 [vale] reported by reviewdog 🐶
[Microsoft.Dashes] Remove the spaces around ' — '.
| | [Release 11 — Metis](/releases/r11-metis) | 2026-07-03 | Branching and checkpointing, custom filesystems and persistent volumes, custom networking with network shield and relay, and a plugin API. | | ||
| | [Release 10 — Themisto](/releases/r10-themisto) | 2026-06-05 | Instance lifecycle management, annotations, hotplug volumes, indefinite retention, TAP wake-up, new `unikraft api` CLI, EROFS rootfs, ROM support, and Kraftlet CSI integration. | | ||
| | Release 9 — Leda | | — | | ||
| | Release 8 — Ananke | | — | |
There was a problem hiding this comment.
🚫 [vale] reported by reviewdog 🐶
[Microsoft.Dashes] Remove the spaces around ' — '.
| | [Release 10 — Themisto](/releases/r10-themisto) | 2026-06-05 | Instance lifecycle management, annotations, hotplug volumes, indefinite retention, TAP wake-up, new `unikraft api` CLI, EROFS rootfs, ROM support, and Kraftlet CSI integration. | | ||
| | Release 9 — Leda | | — | | ||
| | Release 8 — Ananke | | — | | ||
| | Release 7 — Carme | | — | |
There was a problem hiding this comment.
🚫 [vale] reported by reviewdog 🐶
[Microsoft.Dashes] Remove the spaces around ' — '.
| | Release 9 — Leda | | — | | ||
| | Release 8 — Ananke | | — | | ||
| | Release 7 — Carme | | — | | ||
| | Release 6 — Lysithea | | — | |
There was a problem hiding this comment.
🚫 [vale] reported by reviewdog 🐶
[Microsoft.Dashes] Remove the spaces around ' — '.
| | Release 8 — Ananke | | — | | ||
| | Release 7 — Carme | | — | | ||
| | Release 6 — Lysithea | | — | | ||
| | Release 5 — Amalthea | | — | |
There was a problem hiding this comment.
🚫 [vale] reported by reviewdog 🐶
[Microsoft.Dashes] Remove the spaces around ' — '.
| #### New `unikraft api` subcommand | ||
|
|
||
| `unikraft api <endpoint>` issues an authenticated HTTP request to the Unikraft Cloud API, reusing the current profile, default metro, and credentials. | ||
| It is intended for endpoints that do not yet have a dedicated subcommand, and for exploration and scripting. |
There was a problem hiding this comment.
🚫 [vale] reported by reviewdog 🐶
[Microsoft.Contractions] Use 'it's' instead of 'It is'.
| #### New `unikraft api` subcommand | ||
|
|
||
| `unikraft api <endpoint>` issues an authenticated HTTP request to the Unikraft Cloud API, reusing the current profile, default metro, and credentials. | ||
| It is intended for endpoints that do not yet have a dedicated subcommand, and for exploration and scripting. |
There was a problem hiding this comment.
🚫 [vale] reported by reviewdog 🐶
[write-good.Passive] 'is intended' may be passive voice. Use active voice if you can.
| #### New `unikraft api` subcommand | ||
|
|
||
| `unikraft api <endpoint>` issues an authenticated HTTP request to the Unikraft Cloud API, reusing the current profile, default metro, and credentials. | ||
| It is intended for endpoints that do not yet have a dedicated subcommand, and for exploration and scripting. |
There was a problem hiding this comment.
🚫 [vale] reported by reviewdog 🐶
[Microsoft.Contractions] Use 'don't' instead of 'do not'.
| #### EROFS rootfs by default | ||
|
|
||
| `unikraft build` now produces EROFS root filesystems by default. | ||
| EROFS images are smaller and faster to mount than the CPIO archives used previously, which translates to lower cold-start latency and reduced per-image storage cost. |
There was a problem hiding this comment.
🚫 [vale] reported by reviewdog 🐶
[write-good.TooWordy] 'previously' is too wordy.
| `unikraft build` now produces EROFS root filesystems by default. | ||
| EROFS images are smaller and faster to mount than the CPIO archives used previously, which translates to lower cold-start latency and reduced per-image storage cost. | ||
|
|
||
| The selection is driven by the runtime's advertised feature flags: if every target platform reports EROFS support, EROFS is used; otherwise the builder transparently falls back to CPIO. |
There was a problem hiding this comment.
🚫 [vale] reported by reviewdog 🐶
[write-good.Passive] 'is driven' may be passive voice. Use active voice if you can.
unikraft-bot
left a comment
There was a problem hiding this comment.
Remaining comments which cannot be posted as a review comment to avoid GitHub Rate Limit
vale
pages/releases/r10-themisto.mdx|316 col 50| [write-good.Passive] 'are tagged' may be passive voice. Use active voice if you can.
pages/releases/r10-themisto.mdx|316 col 170| [Microsoft.Acronyms] 'CSI' has no definition.
pages/releases/r10-themisto.mdx|322 col 20| [Microsoft.Acronyms] 'CSI' has no definition.
| --- | ||
|
|
||
| This section tracks all releases of Unikraft Cloud, including new features, improvements, and bug fixes. | ||
| Release notes for versions prior to Release 10 were distributed to customers directly. Public release notes begin with Release 10. |
There was a problem hiding this comment.
🚫 [vale] reported by reviewdog 🐶
[write-good.TooWordy] 'prior to' is too wordy.
| --- | ||
|
|
||
| This section tracks all releases of Unikraft Cloud, including new features, improvements, and bug fixes. | ||
| Release notes for versions prior to Release 10 were distributed to customers directly. Public release notes begin with Release 10. |
There was a problem hiding this comment.
🚫 [vale] reported by reviewdog 🐶
[Microsoft.Wordiness] Consider using 'before' instead of 'prior to'.
| --- | ||
|
|
||
| This section tracks all releases of Unikraft Cloud, including new features, improvements, and bug fixes. | ||
| Release notes for versions prior to Release 10 were distributed to customers directly. Public release notes begin with Release 10. |
There was a problem hiding this comment.
🚫 [vale] reported by reviewdog 🐶
[write-good.Passive] 'were distributed' may be passive voice. Use active voice if you can.
| --- | ||
|
|
||
| This section tracks all releases of Unikraft Cloud, including new features, improvements, and bug fixes. | ||
| Release notes for versions prior to Release 10 were distributed to customers directly. Public release notes begin with Release 10. |
There was a problem hiding this comment.
🚫 [vale] reported by reviewdog 🐶
[Unikraft.NoSentenceBreaks] Only use one sentence per line.
| `unikraft build` now produces EROFS root filesystems by default. | ||
| EROFS images are smaller and faster to mount than the CPIO archives used previously, which translates to lower cold-start latency and reduced per-image storage cost. | ||
|
|
||
| The selection is driven by the runtime's advertised feature flags: if every target platform reports EROFS support, EROFS is used; otherwise the builder transparently falls back to CPIO. |
There was a problem hiding this comment.
🚫 [vale] reported by reviewdog 🐶
[write-good.Passive] 'is used' may be passive voice. Use active voice if you can.
| #### Bug fixes | ||
|
|
||
| - Rollout image names are now sanitized before submission, and the `--insecure` flag is honored during the intermediate copy step of a rollout. | ||
| - KraftKit no longer requires KraftKit-specific annotations on the images it consumes, so any standards-compliant OCI image can be used as a source. |
There was a problem hiding this comment.
🚫 [vale] reported by reviewdog 🐶
[write-good.Passive] 'be used' may be passive voice. Use active voice if you can.
|
|
||
| #### CSI integration | ||
|
|
||
| Kraftlet now integrates with the Kubernetes CSI to provision and attach volumes from arbitrary storage backends to Unikraft Cloud instances. |
There was a problem hiding this comment.
📝 [vale] reported by reviewdog 🐶
[Microsoft.Acronyms] 'CSI' has no definition.
| #### CSI integration | ||
|
|
||
| Kraftlet now integrates with the Kubernetes CSI to provision and attach volumes from arbitrary storage backends to Unikraft Cloud instances. | ||
| Kraftlet stages volumes by calling the appropriate CSI plugin based on the PVC's storage class, then publishes them to the VM via Unikraft Cloud managed volumes. |
There was a problem hiding this comment.
📝 [vale] reported by reviewdog 🐶
[Microsoft.Acronyms] 'CSI' has no definition.
| Kraftlet now integrates with the Kubernetes CSI to provision and attach volumes from arbitrary storage backends to Unikraft Cloud instances. | ||
| Kraftlet stages volumes by calling the appropriate CSI plugin based on the PVC's storage class, then publishes them to the VM via Unikraft Cloud managed volumes. | ||
|
|
||
| The Helm chart now exposes the CSI endpoint and supports setting the required node annotations. |
There was a problem hiding this comment.
📝 [vale] reported by reviewdog 🐶
[Microsoft.Acronyms] 'CSI' has no definition.
|
|
||
| #### Resource tagging | ||
|
|
||
| All Unikraft Cloud resources created by Kraftlet are tagged with their origin, including the Kraftlet node name, originating Kubernetes namespace and resource name, and CSI plugin and storage class where applicable. |
There was a problem hiding this comment.
📝 [vale] reported by reviewdog 🐶
[Microsoft.SentenceLength] Try to keep sentences short (< 30 words).
|
|
||
| #### Resource tagging | ||
|
|
||
| All Unikraft Cloud resources created by Kraftlet are tagged with their origin, including the Kraftlet node name, originating Kubernetes namespace and resource name, and CSI plugin and storage class where applicable. |
There was a problem hiding this comment.
🚫 [vale] reported by reviewdog 🐶
[write-good.Passive] 'are tagged' may be passive voice. Use active voice if you can.
|
|
||
| #### Resource tagging | ||
|
|
||
| All Unikraft Cloud resources created by Kraftlet are tagged with their origin, including the Kraftlet node name, originating Kubernetes namespace and resource name, and CSI plugin and storage class where applicable. |
There was a problem hiding this comment.
📝 [vale] reported by reviewdog 🐶
[Microsoft.Acronyms] 'CSI' has no definition.
| #### Custom node annotations | ||
|
|
||
| Kraftlet can advertise arbitrary annotations on its Kubernetes node object, configured through the Helm chart. | ||
| This underpins the CSI controller-managed-attach annotation and allows operators to attach cluster-side metadata to the Kraftlet node. |
There was a problem hiding this comment.
📝 [vale] reported by reviewdog 🐶
[Microsoft.Acronyms] 'CSI' has no definition.
| ### Image pull policy forwarding | ||
|
|
||
| The image pull policy configured in the API is now forwarded to the host agent. | ||
| This allows eliminating image pull latency when you use the `if_not_present` policy together with background image updates configured in the host agent. |
There was a problem hiding this comment.
[Microsoft.Terms] Prefer 'personal digital assistant' over 'agent'.
|
|
||
| #### Resource tagging | ||
|
|
||
| Kraftlet tags all Unikraft Cloud resources it creates with their origin, including the Kraftlet node name, originating Kubernetes namespace and resource name, and CSI plugin and storage class where applicable. |
There was a problem hiding this comment.
📝 [vale] reported by reviewdog 🐶
[Microsoft.Acronyms] 'CSI' has no definition.
Add a Releases section with a landing index and the Release 11 (Metis) release notes, covering the platform features (branching, checkpointing, custom filesystems and persistent volumes, custom network configuration, network shield and relay, and the plugin API) and the supporting tooling. Wire the Releases category and the /releases redirect into the Zudoku navigation. Signed-off-by: Jerome Jaggi <jerome@unikraft.io>
Add the Release 10 (Themisto) release notes covering the platform (instance lifecycle management, annotations, hotplug volumes, indefinite retention, TAP wake-up) and the supporting tooling (CLI v0.3, KraftKit v0.12.13, Kraftlet v0.5.0). Wire the release into the index table and the Zudoku navigation. Signed-off-by: Jerome Jaggi <jerome@unikraft.io>
Add releases 1 (Ganymede) through 9 (Leda) as unlinked table rows with a note that public release notes begin with Release 10. Signed-off-by: Jerome Jaggi <jerome@unikraft.io>
Signed-off-by: Jerome Jaggi <jerome@unikraft.io>
Signed-off-by: Jerome Jaggi <jerome@unikraft.io>
Rewrite passive voice, reduce wordiness, use contractions, fix heading capitalization, and remove spaced em dashes to pass vale with zero errors. Signed-off-by: Jerome Jaggi <jerome@unikraft.io>
Fix heading capitalization, contractions, passive voice, em dash false positives, and sentence breaks in annotations, custom network configuration, on-demand templates, instances, and volumes pages. Vale now reports zero errors across all 139 files. Signed-off-by: Jerome Jaggi <jerome@unikraft.io>
Add CSI and VPC to the vale vocabulary. Rewrite sentences exceeding 30 words, remove adverbs, replace weasel words, use vale-off blocks for the 'agent' term, and replace 'URL' with 'address'. Vale now reports zero findings across all three release files. Signed-off-by: Jerome Jaggi <jerome@unikraft.io>
- Show 'Private release notes' instead of em dashes for releases 1-9 - Replace 'agent' with 'platform' in tooling sections - Remove the standalone 'Agent' heading - Add Kraftlet one-liner explaining it is the Kubernetes integration Signed-off-by: Jerome Jaggi <jerome@unikraft.io>
1ee6f16 to
ba68a1f
Compare
jesi-rgb
left a comment
There was a problem hiding this comment.
amazing work!
Reviewed-by: Jesús Rascón jesus@unikraft.io
Approved-by: Jesús Rascón jesus@unikraft.io
Summary
Adds a Releases section to the docs, with a landing index and the first public release notes: Release 11 (Metis).
New pages
pages/releases/index.mdx— releases landing page with a summary table.pages/releases/r11-metis.mdx— Release 11 (Metis) notes, organized into a Platform / Tooling split:--followon start/restart), Dashboard (revamped dashboard, online enterprise documentation).Navigation
Releasescategory tozudoku.config.tsxand a/releases→/releases/indexredirect.Notes
{/* vale off */}block; the rest of the body is written to pass Vale (make lintis clean, 0 errors).Learn morelinks for the enterprise/CLI tooling items point tohttps://unikraft.com/docs/introduction.