What google/gvisor shipped
Written by FoxPlug from the repository's own releases; not affiliated with Gvisor. Paste your own repository in the box below and FoxPlug writes the same weekly update for your product. This page is an automatic summary of the releases, pull requests and commits in github.com/google/gvisor; Gvisor did not write it and does not use or endorse FoxPlug. Every line links to the change it describes.
Get a weekly update like this for your product, free
Week of November 2, 2026
What shipped
- GVisor 20261102.0 was released, with binaries also available from the apt repository and the release bucket. Release
- A new runsc/client Go package was introduced so programs can interact with sandboxes and containers through an API instead of spawning runsc subprocesses. Pull request #16628
- Clone and clone3 with CLONE_NEWNS now require CAP_SYS_ADMIN in the caller's user namespace. Pull request #17115
- Half-closed TCP sockets in FIN-WAIT-2 stay readable across restore instead of being closed by the orphan timeout. Pull request #16858
- An ENOSYS reply to a FUSE FLUSH is now treated as success, so close no longer fails on servers such as fuse-overlayfs that leave FLUSH unimplemented. Pull request #16941
- /proc/sys/fs/aio-max-nr and aio-nr were added so programs that read them at startup, such as Seastar, can compute their IOCB budget. Pull request #16653
- TCP_INFO now reports negotiated timestamps and SACK instead of leaving both option bits clear. Pull request #16981
- TCP now reports duplicate data below the cumulative ACK in the first SACK block so a sender can recognize a spurious retransmission. Pull request #16403
- RTM_GETROUTE dumps now follow Linux FIB ordering and honor the requested dump family. Pull request #16090
- Overlay mount options now accept relative pathnames, resolved against the working directory of the mounting process as on Linux. Pull request #14732
Why it matters
This week brings a release plus fixes that affect how real workloads behave inside the sandbox. Programs that depend on proc entries, TCP option reporting, FUSE flush handling, mount namespace permissions and overlay mount syntax should see fewer failures or mismatches with Linux, and the new Go client gives tooling a way to drive sandboxes without shelling out.
Changelog entry
- Release gVisor 20261102.0. Release
- Add the runsc/client Go package for programmatic sandbox and container control. Pull request #16628
- Require CAP_SYS_ADMIN in the user namespace for clone with CLONE_NEWNS. Pull request #17115
- Keep half-closed TCP sockets in FIN-WAIT-2 readable across restore. Pull request #16858
- Treat an ENOSYS reply to FUSE FLUSH as success. Pull request #16941
- Add /proc/sys/fs/aio-max-nr and aio-nr. Pull request #16653
- Report negotiated timestamps and SACK in TCP_INFO. Pull request #16981
- Report duplicate data below the cumulative ACK in the first SACK block. Pull request #16403
- Dump netlink routes in Linux FIB order and honor the dump family. Pull request #16090
- Support relative pathnames in overlay mount options. Pull request #14732
- Remove a Unix socket waiter from the queue when host registration fails. Pull request #16739
- Handle host faults when zeroing disk-backed pages instead of crashing the sentry. Pull request #17086
GVisor 20261102.0 is out. This week: a new runsc/client Go package, CLONE_NEWNS now requires CAP_SYS_ADMIN, FUSE FLUSH ENOSYS treated as success, aio-max-nr and aio-nr in /proc/sys/fs, and TCP_INFO reporting timestamps and SACK.
GVisor 20261102.0 is released, with binaries also available from the apt repository and release bucket. This week's changes include a new runsc/client Go package for driving sandboxes and containers without spawning runsc subprocesses, a CAP_SYS_ADMIN requirement for clone with CLONE_NEWNS, and treating an ENOSYS reply to FUSE FLUSH as success so close no longer fails on such mounts. /proc/sys/fs now exposes aio-max-nr and aio-nr, TCP_INFO reports negotiated timestamps and SACK, and route dumps follow Linux FIB order. Half-closed TCP sockets also stay readable across restore.
Week of October 26, 2026
What shipped
- GVisor 20261026.0 was released, with binaries also available from the apt repository and the release bucket. Release
- CLOCK_MONOTONIC no longer counts time spent checkpointed, so timers and timeouts do not all expire at once when a sandbox is restored. Pull request #16733
- Cgroup2fs now supports memory.oom.group, which container managers such as kubelet set on cgroup v2 to have the OOM killer kill every process in a cgroup. Pull request #16246
- The shim now bounds runtime waits and recovers explicit sandbox teardown, so a wedged Sentry no longer leaves runsc kill blocked while Init.mu is held. Pull request #15631
- Mount and fsmount now check
mount_too_revealingfor new proc and sysfs mounts, matching Linux's refusal of mounts that reveal what locked mounts hide. Pull request #15513 - FUTEX_WAKE_OP now sign-extends its fields, masks the shift to 5 bits and compares signed ints as Linux does, fixing affected Qt 5.15 semaphore behavior. Pull request #15641
- A successful netlink dump no longer gets an NLMSG_ERROR ack, which was breaking libnl caches with NLE_SEQ_MISMATCH. Pull request #15949
- Memory written to a private MemoryFile backing a disk backed overlay or tmpfs mount is no longer left unaccounted, and SaveTo marks evicted pages committed. Pull request #16619
- The Sentry no longer samples heap allocations unless --profile is set, removing a stack unwind and profile cost per sampled allocation. Pull request #16632
- The lisafs client now validates Walk responses against the requested path components before callers index into them. Pull request #16157
Why it matters
This week brings a new release plus fixes that affect everyday workloads: clocks that behave across checkpoint and restore, OOM group support that container managers write, and shim waits that no longer hang behind a stuck Sentry. It also aligns several behaviors with Linux, including proc and sysfs mount checks, FUTEX_WAKE_OP, netlink dump acks, and FUSE device watches.
Changelog entry
- Release gVisor 20261026.0. Release
- Do not count time spent checkpointed in CLOCK_MONOTONIC. Pull request #16733
- Add memory.oom.group to cgroup2fs. Pull request #16246
- Bound runtime waits in the shim and recover explicit sandbox teardown. Pull request #15631
- Check
mount_too_revealingfor new proc and sysfs mounts in mount and fsmount. Pull request #15513 - Fix FUTEX_WAKE_OP to sign-extend fields, mask the shift and compare signed ints. Pull request #15641
- Do not ack a successful netlink dump. Pull request #15949
- Do not account memory of disk backed private MemoryFiles. Pull request #16619
- Do not sample sentry heap allocations unless --profile is set. Pull request #16632
- Validate Walk responses in the lisafs client. Pull request #16157
- Keep FUSE device watches attached after connection abort. Pull request #16697
- Update
rules_pythonto 2.4.5. Pull request #16693
GVisor 20261026.0 is out. This week: CLOCK_MONOTONIC no longer counts checkpointed time, memory.oom.group is supported, shim waits are bounded so runsc kill recovers, and FUTEX_WAKE_OP, netlink dump acks and proc/sysfs mount checks now match Linux.
GVisor 20261026.0 is released, with binaries also available from the apt repository and the release bucket. This week also lands behavior fixes for people running real workloads. CLOCK_MONOTONIC no longer counts time spent checkpointed, so timers no longer all expire at once on restore. cgroup2fs adds memory.oom.group, which kubelet sets on cgroup v2. The shim bounds runtime waits and recovers explicit teardown, so a wedged Sentry no longer leaves runsc kill blocked. Several behaviors now match Linux: mount_too_revealing checks for new proc and sysfs mounts, FUTEX_WAKE_OP sign extension and shift masking, no ack for successful netlink dumps, and FUSE device watches that stay usable after a connection abort.
Week of October 19, 2026
What shipped
- Runsc now reads the OCI spec once into a sealed memfd and passes it through the state file, so it is never re-read after create and edits made there such as CPU limits are kept. Pull request #16351
- TCP tail loss probes now invalidate RTT measurement through the retransmission branch, so an ambiguous ACK no longer changes SRTT and RTO using time since the probe. Pull request #15819
- Procfs descriptor lookups now reject noncanonical names, so fd/03 and fd/+3 return ENOENT and fdinfo follows the same rule. Pull request #16303
- Exec user and group IDs are parsed within their unsigned 32-bit range, so values such as 4294967296 no longer wrap to UID or GID 0. Pull request #15977
- Device paths are now resolved like mount destinations before the gofer creates the mount point, instead of following a symlink in the rootfs. Pull request #16360
- Pending NDP jobs are scheduled again at their deadlines after restore, so learned routes, on-link prefixes and temporary address regeneration no longer outlive them. Pull request #15318
- TUN devices moved to another network namespace keep their kind and are preserved across checkpoint instead of being removed, and the restored close callback uses the destination stack and NIC ID. Pull request #15315
- Sync errors from remote file handles are now propagated by syncRemoteFileLocked, so syncCachedFile can report a remote fsync failure. Pull request #15979
- Nvproxy registers a device for nvidia-uvm-tools, so CUPTI can open it and enable the unified memory activity kind instead of failing with ENXIO. Pull request #15547
- CPUID no longer advertises AMX_TILE, AMX_INT8 and AMX_BF16 in leaf 7 on AMX-capable hosts, matching the state that is actually saved and restored. Pull request #15727
Why it matters
This week mixes fixes to sandbox setup and restore with fixes that make guest behavior match Linux where applications can observe it. runsc keeps a consistent OCI spec across setup and rejects ambiguous exec IDs, while restore now keeps NDP jobs, TUN devices and the CPU budget in order. Procfs descriptor naming, netfilter validation, TCP RTT handling and hidden AMX bits reduce surprises for workloads that probe these interfaces.
Changelog entry
- Runsc reads the OCI spec once into a sealed memfd and keeps it in the state file instead of re-reading it after create. Pull request #16351
- Exec rejects out-of-range user and group IDs that previously wrapped to UID or GID 0. Pull request #15977
- The gofer resolves symlinks in device paths before creating mount points. Pull request #16360
- Restore reschedules pending NDP jobs at their deadlines so learned routes, prefixes and temporary addresses stay correct. Pull request #15318
- Moved TUN devices are preserved across checkpoint and restore with the destination stack and NIC ID. Pull request #15315
- The gofer propagates remote fsync errors from syncRemoteFileLocked. Pull request #15979
- Procfs rejects noncanonical file descriptor names such as fd/03 and fd/+3 in both fd and fdinfo. Pull request #16303
- TCP loss probes invalidate RTT measurement so ambiguous ACKs do not change SRTT and RTO. Pull request #15819
- Nvproxy supports /dev/nvidia-uvm-tools for CUPTI unified memory activity. Pull request #15547
- CPUID stops advertising AMX features that gVisor does not support. Pull request #15727
- CLOEXEC
close_rangetests run their assertions on supported kernels instead of skipping. Pull request #15950 - GVisor release 20261019.0 is available from the apt repository and the release bucket. Release
GVisor this week: runsc reads the OCI spec once into a sealed memfd, exec rejects out-of-range user and group IDs, restore reschedules NDP jobs and keeps moved TUN devices, procfs rejects fd/03, and CPUID stops advertising AMX.
This week in gVisor: runsc reads the OCI spec once into a sealed memfd and never re-reads it after create, so edits such as CPU limits are kept. Exec now rejects out-of-range user and group IDs instead of wrapping them to 0, and device paths are resolved before the gofer creates their mount points. Restore reschedules pending NDP jobs at their deadlines and preserves moved TUN devices, and restore readers share the existing CPU budget. Procfs rejects noncanonical descriptor names such as fd/03, netfilter query sizes and permissions are validated more like Linux, TCP loss probes no longer skew RTT samples, and CPUID no longer advertises AMX. Remote fsync errors from the gofer are now propagated, and nvproxy supports /dev/nvidia-uvm-tools.
Week of October 12, 2026
What shipped
- Released gVisor 20261012.0 with changes since release-20261005.0. Release
- Enabled pinring for restored sandboxes, making runsc delete on a restored sandbox much faster. Pull request #15905
- Added the iptables conntrack match extension with strict validation. Pull request #14603
- Allowed
open_treeandmove_mounton non-directories. Pull request #15805 - Fixed a deadlock in the gofer when HandleDeletion fires inside checkCachingLocked. Pull request #15872
- Cached OCI seccomp programs by profile hash in runsc. Pull request #15680
- Fixed a uint32 overflow in the lisafs PReadHandler response size check. Pull request #15787
- Routed post-DNAT OUTPUT packets by destination instead of pre-DNAT source. Pull request #14626
- Preserved known Go module commit metadata when the fresh lookup has none. Pull request #15416
- Resolved zero-sized interior pointers in save. Pull request #15652
Why it matters
This week brings a new release plus fixes to mounting, seccomp caching, and restored sandbox deletion speed. Several deadlock and overflow bugs were closed, and netfilter gained conntrack match support.
Changelog entry
- Release gVisor 20261012.0. Release
- Enable pinring for restored sandboxes to speed up delete. Pull request #15905
- Netfilter: add iptables conntrack match extension with strict validation. Pull request #14603
- Vfs: allow
open_treeandmove_mounton non-directories. Pull request #15805 - Gofer: defer OnZeroWatches when HandleDeletion fires inside checkCachingLocked. Pull request #15872
- Runsc: cache OCI seccomp programs by profile hash. Pull request #15680
- Lisafs: fix uint32 overflow in PReadHandler response size check. Pull request #15787
- Tcpip/ipv4: route post-DNAT OUTPUT packets by destination. Pull request #14626
- Preserve known Go module commit metadata. Pull request #15416
- State: resolve zero-sized interior pointers. Pull request #15652
- Runsc: isolate XDP flag state. Pull request #15725
- Run save/restore binary after cuda-checkpoint on resume and restore. Pull request #15790
GVisor 20261012.0 is out. This week: faster delete on restored sandboxes, iptables conntrack match, open_tree and move_mount on files, seccomp profile caching, and fixes for a gofer deadlock and a lisafs overflow.
GVisor 20261012.0 is now available. This week the project enabled pinring for restored sandboxes, cutting delete time; added the iptables conntrack match extension with strict validation; allowed open_tree and move_mount on non-directories; and cached OCI seccomp programs by profile hash. Fixes include a gofer deadlock when HandleDeletion fires inside checkCachingLocked, a uint32 overflow in the lisafs PReadHandler response size check, and zero-sized interior pointer resolution in save.
Week of October 5, 2026
What shipped
- Accepted TCP endpoints now inherit the congestion control algorithm explicitly selected on the listening socket, including SYN-cookie handshakes. Pull request #15574
- Reno congestion control now consumes ACK credit before growing the congestion window, so the window grows once per window rather than on every individual ACK. Pull request #15576
- CUBIC now preserves ACK growth credit across individual ACKs, avoiding windows that never grow during fast recovery and single ACKs that inflate the window by many segments. Pull request #15579
- EROFS reads that cross the boundary between full blocks and tail-packed inline data are no longer cut short, so a single read returns the whole requested range. Pull request #15526
- The systrap platform retries the seccomp notify RECV operation on ENOENT, so freezing and thawing a sandbox with the cgroup v2 freezer no longer kills the application when requests are in flight. Pull request #15496
- Procfs now provides /proc/sys/fs/file-nr and file-max reporting the system-wide count of allocated files, instead of returning ENOENT. Pull request #15564
- /proc/[pid]/stat now reports PF_EXITING in its flags field, letting readers distinguish an exiting task or zombie from a live one. Pull request #15516
- Oversized exec arguments and environment now return E2BIG as Linux does, rather than ENAMETOOLONG or ENOMEM. Pull request #14853
- The network=none setup forwards the packet logging setting to its loopback interface, so --log-packets produces packet records on that route. Pull request #15563
- GVisor 20261005.0 is released, with binaries available from the apt repository and the release bucket. Release
Why it matters
This week tightened core networking behavior: accepted connections keep the congestion control chosen on the listener, and both Reno and CUBIC now account for ACK credit correctly, which affects throughput and recovery timing for TCP workloads. The sandbox also became more resilient to cgroup freezer operations on systrap, and procfs gained the system-wide file count that tools read. The 20261005.0 release packages these and earlier changes for users installing from apt or the release bucket.
Changelog entry
- Netstack: inherit explicit TCP congestion control on accept, including SYN-cookie handshakes. Pull request #15574
- Netstack: consume Reno ACK credit before growing cwnd. Pull request #15576
- Netstack: preserve CUBIC ACK growth credit across individual ACKs. Pull request #15579
- Erofs: don't cut reads short at the inline tail. Pull request #15526
- Systrap: retry seccomp notify RECV on ENOENT after cgroup freezer operations. Pull request #15496
- Proc: report allocated files in /proc/sys/fs/file-nr and file-max. Pull request #15564
- Proc: report PF_EXITING in /proc/[pid]/stat flags. Pull request #15516
- Syscall: return E2BIG for oversized exec args and env. Pull request #14853
- Netstack: honor packet logging with network=none. Pull request #15563
- Encode map entries with reflect.MapRange, preserving NaN keys. Pull request #15542
- Systrap: shift the spinning queue by the stub gap. Pull request #15573
- Update Abseil and its C++ dependencies. Pull request #15414
Accepted TCP endpoints now inherit the listener's congestion control. Reno and CUBIC keep ACK credit straight. EROFS reads no longer stop at the inline tail. systrap survives cgroup freezer cycles. /proc/sys/fs/file-nr works. gVisor 20261005.0 is out.
This week's gVisor changes focus on networking correctness and sandbox resilience. Accepted TCP endpoints now inherit the congestion control algorithm selected on the listener, including SYN-cookie handshakes. Reno consumes ACK credit before growing its congestion window, and CUBIC preserves growth credit so windows grow at the right rate after fast recovery. EROFS reads that span full blocks and tail-packed inline data now return the complete requested range, and oversized exec arguments return E2BIG as on Linux. On systrap, the seccomp notify path retries on ENOENT so freezing and thawing with the cgroup v2 freezer no longer kills the application. procfs also gained /proc/sys/fs/file-nr and file-max, and /proc/[pid]/stat reports PF_EXITING. Release 20261005.0 is available.
Week of September 28, 2026
What shipped
- Release gVisor 20260928.0 with netfilter improvements, DMI data handling, and lock contract enforcement. Release
- Added iptables MASQUERADE target for IPv4 and IPv6 with strict hook validation. Pull request #14606
- Fixed handling of SECCOMP_RET_KILL_PROCESS to properly terminate the entire process instead of just the calling thread. Pull request #14231
- Fixed cgroup cleanup after failed container creation to prevent leaving orphaned gofer processes. Pull request #15149
- Corrected message-queue unlink permissions to match Linux by using world-writable sticky directories. Pull request #15159
- Fixed buffer cloning and growing to prevent modifications to cloned buffers from affecting the original. Pull request #15184
- Implemented cgroup v2 systemd subcontainer compatibility directories to report cAdvisor metrics matching runc-managed pods. Pull request #13070
- Enhanced checklocks tool to enforce lock and atomic contracts across package boundaries and nested captures. Pull request #14237
Why it matters
This week addresses correctness in signal handling, container cleanup, and filesystem permissions to better match Linux behavior. Infrastructure improvements for lock checking and cgroup compatibility make gVisor more reliable for production workloads that depend on precise seccomp and resource management semantics.
Changelog entry
- Release 20260928.0 Release
- Netfilter: add iptables MASQUERADE target with strict hook validation and tests Pull request #14606
- Handle SECCOMP_RET_KILL_PROCESS in the sentry Pull request #14231
- Clean up cgroups after failed container creation Pull request #15149
- Match Linux message-queue unlink permissions Pull request #15159
- Preserve cloned buffers when growing with zeros Pull request #15184
- Runsc/cgroup: discover and populate spec files for subcontainer compat dirs on systemd v2 Pull request #13070
- Checklocks: enforce lock and atomic contracts Pull request #14237
- Arm64: disable PAC on systrap Pull request #15230
- Expect short IPV6_CHECKSUM options to fail Pull request #15233
- Checkpoint openat2 races after workers finish Pull request #15125
- Set explicit priorities in ioprio tests Pull request #15071
GVisor 20260928.0 released: MASQUERADE target for netfilter, SECCOMP_RET_KILL_PROCESS fix, improved cgroup cleanup, and enhanced lock contract enforcement.
GVisor 20260928.0 is now available. This release includes the iptables MASQUERADE target with strict validation, a critical fix for SECCOMP_RET_KILL_PROCESS handling, improved container creation cleanup, and enhanced lock contract checking across package boundaries. These changes improve compatibility with Linux behavior and system reliability.
Week of September 21, 2026
What shipped
- Release 20260921.0 shipped with lint enforcement in the Buildkite pipeline. Release
- Added iptables comment match extension to netfilter for packet filtering. Pull request #14602
- Strace events now include thread ID to correctly pair syscall traces from multiple threads. Pull request #15015
- Signal masks now appear in /proc/[pid]/status showing which signals processes block, ignore or handle. Pull request #14499
- Implemented /proc/sys/user/max_user_namespaces with enforcement for user namespace limits. Pull request #13539
- Fixed file capabilities handling under
no_new_privsto match Linux behavior. Pull request #14912 - Made interrupt.Forwarder lock-free, reducing syscall latency by 2-4% on various platforms. Pull request #14952
- Iptables now rejects REDIRECT, DNAT and SNAT targets on unsupported hooks and tables. Pull request #14509
- Implemented TCSETSF ioctl for master/replica tty devices. Pull request #14754
- Added bounds validation for checksum offset in nftables payload set operations. Pull request #13161
Why it matters
This week covers correctness fixes for system call tracing and capability enforcement, new netfilter and nftables features for packet processing, signal mask visibility in process status, and performance improvements on the syscall path. These changes improve container isolation semantics, debugging capabilities, and runtime performance.
Changelog entry
- DMI product data probes now treat missing host data as optional for hosts like Firecracker microVMs. Pull request #15049
- Checklocks inference now honors field-level ignore annotations when suggesting guard annotations. Pull request #15029
- Nogo reuses object-path encoders per package and updates x/tools to v0.45.0 for better performance. Pull request #14829
- Netfilter: added iptables comment match extension (revision 0) for packet filtering and iptables-save round-tripping. Pull request #14602
- Strace events now include thread ID field to prevent mis-pairing of concurrent syscalls. Pull request #15015
- Auth: fixed file capabilities to remain active under
no_new_privsas Linux does. Pull request #14912 - Plugin socket readiness caching now uses atomic compare-and-swap to prevent concurrent update race conditions. Pull request #14370
- Nftables: added bounds validation for checksum offset in payload set operations. Pull request #13161
- Checklocks fixtures now check all diagnostics instead of filtering suppressed text. Pull request #14827
- Checklocks: annotated synchronization in service state, logging, metrics and verification code. Pull request #14350
- Made interrupt.Forwarder lock-free, reducing kvm.getpid latency by 4.5% and systrap.getpidopt by 2.1%. Pull request #14952
- Cgroupfs now properly removes registry entries when filesystem is released. Pull request #13215
- /proc/[pid]/status now shows signal masks: SigPnd, ShdPnd, SigBlk, SigIgn and SigCgt. Pull request #14499
- Go package driver now targets Linux to fix file selection mismatches on non-Linux hosts. Pull request #14987
- Implemented TCSETSF ioctl for master/replica tty devices. Pull request #14754
- Checklocks now reads annotations from all declaration contexts including standalone docs and later names. Pull request #14881
- Auto-assign workflow now pins action commits for checkout v7.0.1 and github-script v9.0.0. Pull request #14740
- /proc/sys/user/max_user_namespaces now enforced to allow bubblewrap's --disable-userns to work. Pull request #13539
- TestSystemdDocker now verifies docker pause actually stops container execution. Pull request #14979
- //:release now ships race-instrumented runsc and Sentry when built with --config=race. Pull request #14962
GVisor 20260921.0 ships with strace thread tracking, iptables comment matches, /proc signal masks, user namespace limits, and 2-4% syscall speedup via lock-free forwarder.
GVisor 20260921.0 improves system call debugging with per-thread strace events, adds netfilter comment match extension and nftables checksum validation, exposes signal masks in /proc/[pid]/status, enforces /proc/sys/user/max_user_namespaces limits, fixes file capabilities under no_new_privs to match Linux, and makes the interrupt forwarder lock-free for 2-4% syscall latency reduction.
Week of September 14, 2026
What shipped
- GVisor 20260914.0 released with improvements to CPU reporting, seccomp performance, and systemd compatibility. Release
- Fixed FUSE file handling to properly support opening files larger than 2GiB by checking O_LARGEFILE flags before masking. Pull request #13957
- Added AT_PLATFORM to the initial auxiliary vector to match Linux behavior and improve application compatibility. Pull request #14816
- Added STATX_ATTR_MOUNT_ROOT reporting from statx to support systemd 60+ requirements. Pull request #14764
- Optimized seccomp initialization by lazily constructing precompiled programs instead of eagerly materializing all bytecode at startup. Pull request #14674
- Increased setsockopt maximum option length from 32KB to 1MB to support larger socket option payloads. Pull request #14600
- Fixed GPU device file restoration to create nvproxy device files on restore regardless of remap metadata availability. Pull request #14525
- Added writable net.ipv4.conf.all.route_localnet sysctl support for enabling martian loopback traffic routing. Pull request #14625
- Fixed tmpfs checkpoint handling to preserve binary and empty xattrs in filesystem checkpoints. Pull request #14793
- Added support for NVIDIA driver version 615.71.09 in nvproxy. Pull request #14751
Why it matters
Release 20260914.0 brings significant compatibility improvements, particularly for systemd integration and GPU support. Performance optimizations in seccomp and fixes to file handling make gVisor more practical for real-world workloads requiring large files and complex socket operations.
Changelog entry
- Release: gVisor 20260914.0 Release
- Fuse: check O_LARGEFILE before masking it out of the open flags Pull request #13957
- Add AT_PLATFORM to the initial auxv Pull request #14816
- Report STATX_ATTR_MOUNT_ROOT from statx Pull request #14764
- Seccomp: Lazily construct precompiled seccomp programs Pull request #14674
- Syscalls/linux: raise setsockopt maxOptLen to 1MB Pull request #14600
- Create nvproxy device files on restore regardless of remap metadata Pull request #14525
- Proc, tcpip: add writable net.ipv4.conf.all.route_localnet Pull request #14625
- Tmpfs: preserve binary and empty xattrs in filesystem checkpoints Pull request #14793
- Nvproxy: Add support for NVIDIA driver version 615.71.09 Pull request #14751
- Fix clock overflow recovery and watchdog timing Pull request #14357
- Synchronize shared key permissions Pull request #14365
- Runsc symbolize: Delegate symbolization to sentry binary Pull request #14718
- Cap host CPU deep idle states for GPU sandboxes on impacted CPUs Pull request #14526
- Reproduce host errno for unreadable RDMA netdev sysfs attributes Pull request #14567
- Fix races in shim version queries and RPC shutdown Pull request #14358
GVisor 20260914.0 is out. Better FUSE file support, systemd compatibility, GPU restoration, and seccomp performance improvements.
GVisor 20260914.0 released with major improvements: FUSE now handles files >2GB, seccomp initialization 8ms faster per sandbox, systemd 60+ compatibility via STATX_ATTR_MOUNT_ROOT, GPU device restoration fixes, and socket options up to 1MB. Check the changelog for full details.