Mr.PlanB Logo

    Newsletter

    Subscribe our newsletter

    Get new infrastructure guides, comparison reports, and migration notes in your inbox.

    Infrastructure notes, guides, and new tools. Unsubscribe anytime.

    Back to Blog
    TrueNAS
    ZFS
    Storage
    Release Notes

    TrueNAS 25.10.2: The Stability Update That Saves You From Disaster

    February 22, 2026
    7 min read

    Some releases are flashy, with new dashboards, shiny features and big architectural shifts. Then there are releases like this one, which don't look dramatic at first glance but keep your weekend from turning into a recovery nightmare.

    TrueNAS 25.10.2 just dropped, and on paper it reads like a long changelog. In practice, it's a stability patch that fixes some genuinely painful edge cases. If you've ever had a NAS refuse to boot after an upgrade, you already know why this matters.

    Right at the top of the list is a fix for a critical upgrade failure affecting systems moving from 25.04 to 25.10. Some users hit a "Could not prepare Boot variable: No space left on device" error, and the result was worse than an annoying rollback: it left systems unbootable after a failed attempt. An unbootable NAS is a stomach-dropping problem, and nobody would call it cosmetic.

    The fact that 25.10.2 addresses that directly is huge. It's the kind of issue that makes cautious users stick to older releases for months, because when upgrades carry even a small chance of bricking your system, hesitation is rational. This release feels like a response to that hesitation.

    Then there's SMB. Anyone upgrading from older versions with legacy ACL configurations might've run into a situation where SMB simply wouldn't start after upgrading to 25.10.1. Imagine that: your shares are configured and your data is fine, but the service won't come up because the permission format changed under the hood.

    25.10.2 now converts legacy permission formats automatically during initialization. That's cleanup and migration plumbing rather than glamorous work, but it's the kind of plumbing that keeps businesses, and home labs, from panicking.

    The NFS improvements are more subtle but equally important. The update adds support for STATX_CHANGE_COOKIE to properly surface ZFS sequence numbers to NFSv4 clients. That might sound deeply technical, but the impact is simple: better attribute cache invalidation and fewer unnecessary server requests. Previously, change IDs were synthesized based on ctime, which didn't always increment reliably due to kernel timer granularity. In plain language, that means fewer weird inconsistencies, better behavior under load, and cleaner sync between clients and the server. It's the kind of fix you only notice when it's missing.

    ZFS also gets some love here. Pool imports that previously took forever, especially when async destroy operations were chewing up transaction group time, now complete more quickly. If you've ever stared at a long pool import wondering whether something was broken, you know how tense that wait feels. Improving responsiveness in those moments isn't flashy, but it changes the emotional experience of using the system.

    There's also a fix for disk replacement validation incorrectly rejecting identical-capacity drives, and that one stings. You pull a failed drive, buy the exact same model, slot it in, and the system throws a "device is too small" error. That's the kind of bug that makes you question your sanity. This release corrects the validation logic so legitimate replacements proceed as expected, which mostly repairs trust.

    The web interface sees meaningful polish too. Excessive API calls during user and group selection have been reduced by adding a longer debounce period to autocomplete fields. If your logs were filling with failed requests just because you were typing a username, that's now addressed. It's a small detail, but it reduces system noise and improves responsiveness in ways that add up over time.

    Containerized apps also get background CPU usage reductions. YAML processing and Docker stats collection were optimized to reduce asyncio loop CPU consumption caused by repeated container inspection operations holding the GIL. That's deep in the weeds, but if you're running apps on SCALE, lower background overhead means more predictable performance. Your NAS behaves like a storage appliance first and a container host second, which is how many people want it.

    Networking got attention too, with a fix for network configuration lockouts caused by invalid IPv6 routes. That's one of those issues that feels surreal. An unusual IPv6 route entry blocks access to network settings, app management, even bug reporting, and the system becomes unresponsive because of routing weirdness while the hardware is perfectly fine. Now it handles those invalid entries gracefully instead of collapsing.

    Network bridge creation validation errors were also resolved. Anyone who's tried to remove IPs from an interface, create a bridge, and reassign those IPs only to hit Pydantic validation failures knows how frustrating that workflow could be. This update smooths it out.

    SMB gets a practical new feature as well: Hosts Allow and Hosts Deny controls for IP-based access restrictions. It isn't revolutionary, but it's meaningful. IP-level restrictions directly in share configuration give admins another layer of control, and the addition reinforces the idea that this platform still takes traditional NAS responsibilities seriously.

    There are quality-of-life fixes everywhere. SSH access removal now behaves properly in the UI. Session expiry settings now respect configured timeouts instead of logging users out mid-operation. Certificates with extremely large Distinguished Names can now be imported and managed correctly. Even error dialogs now scroll properly instead of forcing users to zoom out to 50% just to find the action buttons. None of these are dramatic, but they make the system more humane to use.

    There's also a structural safeguard: root account group membership is now locked to builtin_administrators and cannot be modified through the UI. On the surface, that might feel restrictive, but it's defensive design. Removing required privileges from root could break scheduled tasks, cloud sync operations, cron jobs, and other system functions, so locking that down prevents accidental self-sabotage. It's a subtle shift toward protecting users from themselves, and from configuration drift that leads to hard-to-diagnose failures months later.

    Of course, no release thread would be complete without tension. Some users noticed that 25.10.2 isn't marked "General" yet; for the General profile, 25.10.1 remains current. That distinction matters. Early adopter profiles exist for a reason: pre-release access to new functionality, with the understanding that patience and bug reports may be required.

    Sure enough, there are reports in the thread of NIC bonds breaking after upgrade, recreation failing, and alert spam related to BondStatus netlink errors. That's the duality of early adoption: you get fixes faster, but you also become part of the proving ground.

    One comment even jokes about users doing quality control on behalf of the vendor. It's sharp, maybe a little unfair, but it reflects a dynamic that's always present in community-driven ecosystems. Releases are living things, and they stabilize over time.

    What 25.10.2 really represents is a tightening of screws. It patches bootloader edge cases that could brick systems and repairs migration pathways from older permission models. It improves NFS correctness, smooths out ZFS behavior under heavy operations, and reduces background overhead and UI friction.

    Nobody installs a release like this out of excitement. You install it because you want fewer surprises, and in the storage world fewer surprises are everything. Your NAS is where backups live, where family photos sit, where projects accumulate, and where uptime matters even when nobody is watching. TrueNAS 25.10.2 won't grab headlines. It builds trust, and sometimes that's exactly the update you need.