27 KiB
Version 0.18.0 (2026-06-04)
The headline of this release is a major step toward running Asterinas as the guest OS for VM-based Kata Containers and Confidential Containers (CoCo). Getting there requires a host of new building blocks, and this release delivers many of them: namespaces (the IPC and cgroup namespaces, plus nsfs at /proc/[pid]/ns), cgroups (the PID sub-controller and a partial CPU sub-controller), virtio-fs for sharing a filesystem with the host, virtio-rng (/dev/hwrng) for hardware entropy, and a fully reimplemented vsock for host–guest communication.
Userspace debugging comes to Asterinas in this release. We implement the ptrace syscall along with its core operations—PTRACE_SETOPTIONS, PTRACE_SYSCALL, and PTRACE_PEEK/POKE—which together enable popular debugging tools such as GDB and strace to run on Asterinas, complete with verified-usage documentation and CI coverage.
This release also substantially modernizes the storage stack. The ext2 filesystem has been reimplemented, a new NVMe driver joins the block layer, and the VFS gains a new Dentry revalidate mechanism alongside a refactored page cache. The result is a more reliable and capable storage stack.
Finally, Asterinas NixOS dramatically expands its coverage of real-world software, with over 100 popular packages now verified—including Codex, QEMU, and Firefox. To keep this growing catalog working, we have integrated a range of new test suites, including kselftest, xfstests, and the standard unit-test suites of Go, Python, and JDK.
Asterinas NixOS
We have made the following key changes to Asterinas NixOS:
- Add a framework for Asterinas NixOS test suites
- Add documentation for more verified applications
- Add tests for popular applications
- Add Go std test on Asterinas NixOS
- Add JDK test on Asterinas NixOS
- Add Python regression tests on Asterinas NixOS
- Add QEMU test for virtualization applications
- Support
ARCH_GET_GS/ARCH_SET_GSto enable Firefox
Asterinas Kernel
We have made the following key changes to the Asterinas kernel:
- Process management
- Ptrace
- Add the
ptracesyscall - Support debugging with
ptrace - Add
PTRACE_SETOPTIONS,PTRACE_SYSCALL, andPTRACE_PEEK/POKE_TEXT/DATA - Add (kernel-side) patches, verified-usage docs, and CI for GDB and strace
- Support force-write via
/proc/[pid]/mem - Add the Yama ptrace scope
- Add the
- Signals and IPC
- Memory management
- File systems
- VFS
- Add the pseudo
Path - Introduce the
Dentryrevalidate mechanism - Refactor the page cache implementation and fix a page cache bug that leaks uninitialized memory to userspace
- Implement the
pivot_rootsyscall - Implement
O_TMPFILEsupport foropen/openat - Refactor
Metadata's fields and fix pseudo-filesystems' Device ID
- Add the pseudo
- virtio-fs
- Ext2
- Procfs
- VFS
- Sockets and networking
- Namespaces and cgroups
- Support nsfs (
/proc/[pid]/ns) - Support the IPC namespace
- Support the cgroup namespace
- Implement the cgroup PID sub-controller
- Add a partial cgroup CPU sub-controller, providing
cpu.statstatistics and dummycpu.weight/cpu.maxlimit files - Bind mount namespace files
- Support nsfs (
- Security
- Devices
- Block and NVMe
- PCI
- TTY and console
- VirtIO
- TDX
- Tests
- Misc
Asterinas OSTD & OSDK
We have made the following key changes to OSTD and/or OSDK:
- OSTD
- Misc
Asterinas Book
We have made the following key changes to the Book:
- Add coding guidelines
- Add OSTD soundness analysis
- Add Kata Containers documentation
- Add Confidential Containers (CoCo) documentation
Version 0.17.0 (2025-12-17)
This release marks a significant milestone in the evolution of Asterinas as we transition from "just a kernel" to a more complete, usable system. The headline of this release is the introduction of Asterinas NixOS, our first distribution that integrates the Asterinas kernel with the NixOS userspace, and enables real applications and services out of the box—including XFCE, Podman, and systemd. To support this growth, we are also strengthening our governance by establishing the formal RFC (Request for Comments) process, ensuring that major architectural decisions—starting with Asterinas NixOS itself—are designed transparently and collaboratively.
On the architecture front, RISC-V support has improved dramatically, with support for SMP (Symmetric Multiprocessing), FPU (Floating-Point Unit), VirtIO, and the SiFive HiFive Unleashed QEMU machine type. The kernel has also expanded with a new input subsystem (supporting keyboards and mice) and initial support for namespaces and cgroups. For filesystem developers, the big news is the addition of an FS event notification mechanism (inotify), a new ioctl infrastructure, and a new filesystem type, ConfigFS. Finally, we are introducing sctrace—a dedicated tool for tracing and debugging syscall compatibility—now published on crates.io.
Asterinas NixOS
We have made the following key changes to Asterinas NixOS:
- Add NixOS as a distribution for Asterinas
- Add the XFCE Nix module
- Add the Podman Nix module
- Enable systemd
- Add Asterinas NixOS ISO installer
- Add Cachix as a source for pre-built binaries
- Add GitHub workflows to publish ISO images
Asterinas Kernel
We have made the following key changes to the Asterinas kernel:
- CPU architectures:
- Memory management
- Process management
- IPC
- File systems
- VFS
- Devtmpfs
- Procfs
- Add
/proc/cmdline,/proc/stat,/proc/uptime,/proc/version,/proc/[pid]/environ,/proc/[pid]/oom_score_adj,/proc/[pid]/cmdline,/proc/[pid]/mem,/proc/[pid]/mountinfo,/proc/[pid]/fdinfo, and/proc/[pid]/maps - Support the sleeping and stopping states in
/proc/[pid]/stat - Introduce
VmPrinterand refactor procfs withVmPrinter - Fix a lot of bugs in procfs
- Add
- Ext2
- Configfs
- Sockets and networking
- Namespace and cgroups
- Devices
- Input devices
- TTY and PTY
- System management
- Misc
Asterinas OSTD & OSDK
We have made the following key changes to OSTD and/or OSDK:
- CPU architectures
- Common
- x86
- RISC-V
- CPU
- Memory management
- Interrupt handling
- Misc
Asterinas Book
We have made the following key changes to the Book:
- Add the first RFC: "Establish the RFC process"
- Add the second RFC: "Asterinas NixOS"
- Add a new "Limitations on System Calls" section to the book
- Add the Asterinas NixOS volume
Version 0.16.0 (2025-08-04)
This release introduces initial support for the LoongArch CPU architecture, a major milestone for the project. Version 0.16.0 also significantly expands our Linux ABI compatibility with the addition of nine new system calls such as memfd_create and pidfd_open.
Key enhancements include expanded functionality for UNIX sockets (file descriptor passing and the SOCK_SEQPACKET socket type), partial support for netlink sockets of the NETLINK_KOBJECT_UEVENT type, the initial implementation of CgroupFS, and a major testing improvement with the integration of system call tests from the Linux Test Project (LTP). We've also adopted Nix for building the initramfs, streamlining our cross-compilation and testing workflow.
Asterinas Kernel
We have made the following key changes to the Asterinas kernel:
- New system calls or features:
- Memory:
- Processes and IPC:
- File systems and I/O in general:
- Enhanced system calls or features:
- Processes:
- File systems and I/O in general:
- Sockets and network:
- Enable UNIX sockets to send and receive file descriptors
- Support
SO_PASSCRED&SCM_CREDENTIALS&SOCK_SEQPACKETfor UNIX sockets - Add
NETLINK_KOBJECT_UEVENTsupport for netlink sockets (a partial implementation) - Support some missing socket options for UNIX stream sockets
- Truncate netlink messages when the user-space buffer is full
- Fix the networking address reusing behavior (
SO_REUSEADDR)
- Security:
- New device support:
- Enhanced device support:
- Test infrastructure:
Asterinas OSTD & OSDK
We have made the following key changes to OSTD:
- CPU architectures:
- x86-64:
- RISC-V:
- LoongArch:
- CPU:
- Memory management:
- Trap handling:
- Task and scheduling:
- Test infrastructure:
We have made the following key changes to OSDK:
Before 0.16.0
Release notes were not kept for versions prior to 0.16.0.