/* **************** ATTENTION **************** */ /* Please keep the entries in this page sorted first according to the section, then by reverse date, */ /* so that the latest / newest additions are at the top of their respective sections. */ /* **************** ATTENTION **************** */

These are not Release Notes! This is an informal list of changes which are considered important or interesting to the users of FreeBSD. As such, they may contain incomplete or wrong information. If you are a developer, please keep this page updated!

See also:

The intent is for this page to collect major, user-visible changes to FreeBSD while in the development cycle for FreeBSD 10, no matter if the changes are eventually MFC-ed to earlier versions.

What's new for FreeBSD 10

(architecture as in “the overall design of the system”, not in the sense of “ARM vs x64”)

Status: LDNS and unbound imported into -CURRENT; DNSSEC support enabled in OpenSSH (requires LDNS); LDNS-based host(1) replacement and drill(1) imported; configuration generator and init script committed; default switched from BIND to unbound; BIND removed from base.
Author: Dag-Erling Smørgrav
Web: http://blog.des.no/2013/09/local-caching-resolver-in-freebsd-10/

Unbound and LDNS will be imported into the FreeBSD base system.

Status: Committed to -CURRENT
Author: Many
Web: http://svnweb.freebsd.org/changeset/base/255348

GCC is no longer a part of the default base system on architectures where CLANG is used instead. CLANG is used on i386 and AMD64.

Status: Committed to -CURRENT
Author: Konstantin Belousov
Web: http://svn.freebsd.org/changeset/base/248508

The use of the unmapped buffers eliminate the need to perform TLB shootdown for mapping on the buffer creation and reuse, greatly reducing the amount of IPIs for shootdown on big-SMP machines and eliminating up to 25-30% of the system time on i/o intensive workloads.

Status: Committed to -CURRENT
Author: Oleksandr Tymoshenko
Web: http://kernelnomicon.org/?p=275, http://svn.freebsd.org/changeset/base/239922

With little work, FreeBSD is now able to run on the Raspberry Pi platform!

Status: Committed to -CURRENT
Author: Neel Natu, Peter Grehan and others
Web: bhyve

“bhyve” is the BSD Hypervisor, developed from scratch to offer a light-weight low-level HVM virtualization on FreeBSD. It supports virtio for IO paravirtualization.

Status: Committed to -CURRENT
Author: Microsoft, NetApp, and Citrix
Web: HyperV
Status: Committed to -CURRENT
Author: Zbigniew Bodek
Web: ARMSuperpages

Superpages support provides improved performance and scalability by allowing TLB translations to dynamically cover large physical memory regions. All ARMv6 and ARMv7-based platforms can take advantage from this feature.

Status: Committed to -CURRENT
Author: Oleksandr Tymoshenko, Tim Kientzle, Warner Losh and others
Web: http://lists.freebsd.org/pipermail/freebsd-arm/2012-August/003757.html

FreeBSD/arm has been greatly improved, including support for ARMv6 and ARMv7, SMP and thread-local storage (TLS). Additionally support for some newer SoC like the MV78x60 and OMAP4 was added.

Status: Committed to -CURRENT
Author: Andrew Turner
Web: http://lists.freebsd.org/pipermail/freebsd-arm/2013-July/006053.html

The default ABI on ARM is now the ARM EABI. This brings a number of improvements and allows future support for VFP and Thumb-2.

Status: Committed to -CURRENT, partially MFC-ed
Author: Jilles Tjoelker, Konstantin Belousov, Jukka A. Ukkonen
Web: AtomicCloseOnExec

Add various APIs that set the close-on-exec flag atomically with allocating a file descriptor. These can be used to avoid undesirably passing file descriptors to child processes if threads or signal handlers call fork and exec. Some software starts to depend on these features.

There is no atomic close-on-exec support for various interfaces not specified by POSIX.

Support for AES-NI instruction and intrinsics has been added to gcc. The aesni module has been improved to use pipelining when possible. This results in a significant speed up for AES-XTS and AES-CBC decrypt.

Status: Committed to -CURRENT
Author: Jean-Sébastien Pédron
Web: AMD_GPU

It will allow the use of newer xf86-video-ati drivers and AMD GPUs.

Status: Committed to -CURRENT, MFC-ed to 9-stable
Author: Konstantin Belousov
Web: http://svn.freebsd.org/changeset/base/240135

RDRAND is the new Intel's CPU instruction for accessing its hardware random number generator, also known as the code-name Bull Mountain. It is present in Ivy Bridge and newer CPUs.

Status: Committed to -CURRENT
Author: Bryan Venteicher, Peter Grehan and others
Web: http://svn.freebsd.org/changeset/base/227652

“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 (block and SCSI) IO, network IO, PCI and memory ballooning. Tested with on Qemu/KVM, VirtualBox, and bhyve.

Status: Committed to -CURRENT
Author: Roger Pau Monné, Justin Gibbs, and others
Web: http://svn.freebsd.org/changeset/base/255744

Support for Xen PVHVM virtualization is now part of the GENERIC kernel.

Status: Available
Author: Colin Percival
Web: http://www.daemonology.net/freebsd-on-ec2/

FreeBSD images are now available for EC2 using exclusively “straight-off-the-ISO” binaries, allowing freebsd-update(8) to be used on EC2 images. A mechanism is now available for launch-time autoconfiguration of instances, including package installation, via EC2 user-data.

Add ipfw support for setting/matching DiffServ codepoints (DSCP) in IP header (former TOS field). Setting DSCP support works for both IPv4 and IPv6 packets. DSCP can be specified by name (AFxy, CSx, BE, EF), by value (0..63) or via tablearg. Matching DSCP accepts several classes at once (af11,af22,be).

The pf firewall, originally from OpenBSD, got upgraded to support fine-grain locking and better utilization on multi-cpu machines, which allows it to perform significantly faster.

Status: Committed to -CURRENT
Author: Gleb Smirnoff
Web: http://lists.freebsd.org/pipermail/svn-src-head/2011-December/032303.html
Status: Committed to -CURRENT
Author: Luigi Rizzo
Web: http://info.iet.unipi.it/~luigi/netmap/, http://svn.freebsd.org/changeset/base/227614

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.

Status: Committed to -CURRENT
Author: Julian Elischer
Web: http://svn.freebsd.org/changeset/base/250700

Until now FreeBSD only supported up to 16 different routing tables. With this changes up to 65536 are supported.

This includes both improvements and new features for the wireless stack (net80211) and the individual drivers.

For more information, please visit WiFi . Development/debugging discussions occur in public on the freebsd-wireless@freebsd.org mailing list.

net80211 has had issues on preemptive, multi-core CPUs. A lot of these race conditions have been found and fixed in -HEAD. The important fixes have been backported to 9.x.

The net80211 stack has had numerous 802.11n improvements, including (but not limited to) better handling of 802.11n BAR TX frames and 802.11n options. It also correctly supports 1, 2 and 3 stream 802.11n configurations. 802.11n is now supported in IBSS (adhoc) mode for NICs which support this (notably Atheros.) TDMA support also now includes 802.11n rate awareness but doesn't currently include aggregation - make sure aggregation is disabled when using 802.11n hardware with TDMA.

The 802.11s support is being continuously updated to the release specification rather than earlier draft specifications. Although this doesn't yet support 802.11n, the aim is to be specification compliant and complete by 10.0-RELEASE.

Status: Committed to -HEAD
Author: Adrian Chadd
Web: ath(4)

The Atheros driver, HAL and rate control code has undergone some significant development work to support 802.11n.

This includes:

  • Fixing many SMP/concurrency races;
  • Teaching the HAL about 802.11n rates;
  • Teaching the ath_rate_sample rate control module about 802.11n, as well as the required rate control API changes;
  • Implementing 802.11n TX aggregation, including software retransmissions, BAR handling and other required features;
  • Implementing 802.11 PS-POLL and legacy power save modes, for both 802.11n and pre-802.11n;
  • Support for AR9380 and later NICs, including 3-stream rates.
Status: Committed to -CURRENT
Author: Edward Tomasz Napierała
Web: http://permalink.gmane.org/gmane.os.freebsd.current/152279, Native iSCSI target

The new iSCSI stack is kernel-mode and focused on reliability and interoperability.

Status: Committed to -CURRENT
Author: Martin Matuska, Illumos project
Web: http://svnweb.freebsd.org/base?view=revision&revision=243524, http://comments.gmane.org/gmane.os.illumos.zfs/200

The zio nop-write improvement from Illumos was imported into -CURRENT. To reduce I/O, nop-write skips overwriting data if the checksum (cryptographically secure) of new data matches the checksum of existing data. It also saves space if snapshots are in use.

It currently works only on datasets with enabled compression, disabled deduplication and sha256 checksums.

Status: Committed to -CURRENT
Author: Edward Tomasz Napierala
Web: http://svnweb.freebsd.org/changeset/base/243246

UFS filesystems can now be enlarged with growfs(8) while mounted read-write. This is especially useful for virtual machines, allowing the addition of more harddrive space without interruption of service.

As a world's first, FreeBSD now has TRIM support in ZFS! UFS has already had TRIM support for some time.

Status: Committed to -CURRENT
Author: Xin LI
Web: http://svnweb.freebsd.org/changeset/base/246586

LZ4 is a new, very fast compression algorithm (http://code.google.com/p/lz4/) which improves ZFS compression/decompression performance by up to 50%/80% compared to the default LZJB (http://wiki.illumos.org/display/illumos/LZ4+Compression).

Status: Committed to -CURRENT
Author: Attilio Rao, George Neville-Neil, Csaba Henk, ilya and several others
Web: http://svnweb.freebsd.org/base?view=revision&revision=241519

A state of the art FUSE implementation is now part of the FreeBSD base system. It allows the use of nearly all fusefs file systems under FreeBSD without installing the unstable “fusefs-kmod” kernel module from ports. Most notable is the “ntfs-3g” implementation of Windows NTFS.

http://fuse.sourceforge.net/ FUSE is the userland file system API developed for Linux. The FreeBSD port (including the clean-room BSD-licenced reimplementation of the kernel module) was created during 2 summer of code mandates and being revived by gnn recently. The functionality in this commit matches the content of fusefs-kmod port, which doesn't need to be installed anymore for -CURRENT setups.

Status: Committed to -CURRENT
Author: Hans Petter Selasky
Web: http://svnweb.freebsd.org/base?view=revision&revision=240609

USB Audio support was upgraded to support version 2.0. New devices should support higher bandwidth, increased sampling frequency and wider dynamic range.

Quarterly status reports

  • whatsnew/freebsd10.txt
  • Last modified: 2018/03/12 18:37
  • by MarkLinimon