This page will document changes that will be included in FreeBSD 10, including those that might end up being committed to sub-releases (9.x). In other words, it describes differences between 9.0 and 10.0, no matter what happens to the versions in between.
For information on the currently released 9-STABLE branch see What's cooking for FreeBSD 9 page.
Some of the more important low-level changes can be seen in the future release's UPDATING file.
Also useful are the quarterly Status Reports:
Everyone is encouraged to download a snapshot CD image and try all the new features (as well as the old ones). Developers are very interested in bug reports. Note that FreeBSD 10.0 is not released yet and both the snapshots and the default source trees have debugging enabled by default (which results in dramatic slowdowns so don't benchmark them without removing the debugging options).
If you're interested in how FreeBSD gets developed, you're encouraged to read the mailing lists and developer blogs.
Overall system / architectural changes
Kernel & low level improvements
BHyVe
Status: Under development
Author: Neel Natu, Peter Grehan and others
Web: wiki page
"BHyVe" is the BSD Hypervistor, developed from scratch to offer a light-weight low-level HVM virtualization on FreeBSD. It supports virtio for IO paravirtualization.
Virtio
Status: Committed to -CURRENT
Author: Bryan Venteicher, Peter Grehan and others
Web: commit message
"virtio" is the name for the paravirtualization interface developed for the Linux KVM, but since adopted to other virtual machine hypervisors (with the notable exception of Xen). This work brings in a BSD-licensed clean-room implementation of the virtio kernel drivers for disk IO, network IO, PCI and memory balooning. Tested with on Qemu/KVM, VirtualBox, and BHyVe.
Variable symlinks
Status: Under development
Author: Brooks Davis, Matt Dillon
Web: man page,
commit message
The support for variable symbolic links (varsym) has been ported from DragonflyBSD, supporting automatic expansion of per-process, per-jail or system-wide variables in symbolic file links.
Networking improvements
NetMap
Status: Committed to -CURRENT
Author: Luigi Rizzo
Web: project web site,
commit message
NetMap is a framework for high-performance direct-to-hardware packet IO, offering low latency and high PPS rates to userland applications while bypassing any kernel-side packet processing. With NetMap, it is trivially possible to fully saturate a 10 Gbps network interface with minimal packet sizes.
Storage subsystems' improvements
Security
Other changes
The following is a list of smaller and / or more obscure changes that nevertheless deserve a special mention since they will be of interest to certain users:
- LLVM 3.0.. It is not yet definitely decided but LLVM could become the default compiler for the 10.0 base system (ports will use gcc)
- New timecounter infrastructure: RADclock
- ZFS fault monitoring and management daemon
As always, all features described here are, or will be, a part of the FreeBSD "base" system, available in every FreeBSD installation without patching or out-of-the-ordinary configuration.
For more information about development of FreeBSD (among other topics), see my blog with daily and miscellaneous information.