# OpenZFS zfs-2.4.0 - Product: OpenZFS (https://whatsnew.fyi/product/openzfs) - Vendor: OpenZFS - Date: 2025-12-18 - Version: zfs-2.4.0 - Original notes: https://github.com/openzfs/zfs/releases/tag/zfs-2.4.0 - Permalink: https://whatsnew.fyi/product/openzfs/releases/zfs-2.4.0 - Labels: Platforms: Linux What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. --- - **added** — Allow setting default user/group/project quotas - **added** — Direct IO fallback to a light-weight uncached IO when unaligned - **added** — Better encryption performance using AVX2 for AES-GCM - **added** — Allow ZIL on special vdevs when available - **added** — Extend special_small_blocks to land ZVOL writes on special vdevs and allow non-power of two values - **added** — Add zfs rewrite -P which preserves logical birth time when possible to minimize incremental stream size - **added** — Add -a|--all option which scrubs, trims, or initializes all imported pools - **added** — Add zpool scrub -S -E to scrub specific time ranges - **added** — Add zpool prefetch -t brt to prefetch BRT (block cloning table) - **added** — Add send:encrypted permission - **added** — Relax topology restrictions on special/dedup vdevs - **changed** — Unified allocation throttling algorithm designed to reduce vdev fragmentation - **changed** — Rename arc_summary and arcstat to zarcsummary and zarcstat - **changed** — Temporarily sit out child vdevs that are being abnormally slow - **changed** — Improvements to ashift handling - **fixed** — Multiple gang blocks improvements and fixes - **fixed** — New dedup optimizations and fixes - **fixed** — New block cloning optimizations and fixes We are excited to announce OpenZFS 2.4.0! ###### Supported Platforms - **Linux**: compatible with 4.18 - 6.18 kernels - **FreeBSD**: compatible with versions 14, 15 & 16 ###### Key Features in OpenZFS 2.4.0: - Quotas: Allow setting default user/group/project quotas (#17130) - Uncached IO: Direct IO fallback to a light-weight uncached IO when unaligned (#17218, #17407, #17872, #17875) - Unified allocation throttling: A new algorithm designed to reduce vdev fragmentation (#17020) - Better encryption performance using AVX2 for AES-GCM (#17058) - Allow ZIL on special vdevs when available (#17505) - Extend `special_small_blocks` to land ZVOL writes on special vdevs (#14876), and allow non-power of two values (#17497) - Add `zfs rewrite -P` which preserves logical birth time when possible to minimize incremental stream size (#17565) - Add `-a|--all` option which scrubs, trims, or initializes all imported pools (#17524) - Add `zpool scrub -S -E` to scrub specific time ranges (#16853) - Add `zpool prefetch -t brt` to prefetch BRT (block cloning table) (#17890) - Add `send:encrypted` permission (#17543) - Rename `arc_summary` and `arcstat` to `zarcsummary` and `zarcstat` (#17712) - Temporarily "sit out" child vdevs that are being abnormally slow (#17227) - Relax topology restrictions on special/dedup vdevs (#17496) - Improvements to ashift handling (#17826, #17830) - Multiple gang blocks improvements and fixes (#17111, #17004, #17587, #17484, #17123, #17073, #17824) - New dedup optimizations and fixes (#17038, #17123, #17435, #17391, #17960, #17961, #17980, #17983) - New block cloning optimizations and fixes (#17572, #17875, #17903, #17915, #17916, #17921) **zfs-2.4.0 changelog**: `git cherry -v remotes/origin/zfs-2.3-release zfs-2.4.0 | sed '/^-/d; s/+ //g'` ###### Additional Information: - **Documentation** - [OpenZFS documentation](https://openzfs.github.io/openzfs-docs/) for Linux and FreeBSD.
Thank you to all 121 contributors who participated in this release cycle
  $ git shortlog -s zfs-2.3.0..zfs-2.4.0
     1	Achill Gilgenast
     3	Adi-Goll
     4	Ahelenia Ziemiańska
     1	Akash B
    13	Alan Somers
     1	Alek Pinchuk
     1	Aleksandr Liber
     1	Alex
   119	Alexander Motin
     3	Alexander Ziaee
     1	Alexx Saver
     2	Allan Jude
    26	Ameer Hamza
     1	Andres
     3	Andrew Walker
     1	Andriy Tkachuk
     1	Artem
     1	Artem-OSSRevival
     9	Attila Fülöp
     7	Brian Atkinson
    51	Brian Behlendorf
     2	Cameron Harr
     1	Carl George
     8	Chunwei Chen
     1	Coleman Kane
     1	Colin Percival
     1	Cong Zhang
     2	Dag-Erling Smørgrav
     2	Dimitry Andric
     1	Diwakar Kristappagari
     3	Don Brady
     1	Dr. Christian Kohlschütter
     1	Eric A. Borisch
     1	Fabian-Gruenbichler
     9	Fedor Uporov
     1	Felix Schmidt
     1	Friedrich Weber
     3	George Amanakis
     1	Germano Massullo
     5	Gionatan Danti
     5	Igor Ostapenko
     7	Ivan Shapovalov
     2	Ivan Volosyuk
     1	JKDingwall
     1	JT Pennington
     1	James Reilly
     1	Jaydeep Kshirsagar
     1	Jean-Sébastien Pédron
     1	Jerzy Kołosowski
     1	Jitendra Patidar
     2	Jo Zzsi
     1	Joel Low
     1	Joseph Anthony Pasquale Holsten
     2	José Luis Salvador Rufo
     1	Konstantin Belousov
     1	Kyle Evans
     1	Maksym Shkolnyi
     6	Mariusz Zaborski
    10	Mark Johnston
     5	Martin Matuška
     2	Martin Rüegg
     1	Mateusz Guzik
     1	Mateusz Piotrowski
     1	Matthew Heller
     1	Meriel Luna Mittelbach
     2	Olivier Certner
     1	Patrick Fasano
     1	Patrick Xia
    33	Paul Dagnelie
     5	Pavel Snajdr
     1	Peng Liu
     1	Phil Sutter
     1	Piotr Kubaj
     1	Piotr P. Stefaniak
     1	Quartz
     1	Quentin Thébault
     1	René Wirnata
     1	Rich Ercolani
     2	Richard Kojedzinszky
     4	Richard Yao
     5	Rick Macklem
   229	Rob Norris
     5	Robert

_[Truncated at 4000 characters — full notes: https://github.com/openzfs/zfs/releases/tag/zfs-2.4.0]_