2. What's New

This section describes the most user-visible new or changed features in FreeBSD since 10.0-RELEASE. In general, changes described here are unique to the 11-CURRENT branch unless specifically marked as MERGED features.

Typical release note items document recent security advisories issued after 10.0-RELEASE, new drivers or hardware support, new commands or options, major bug fixes, or contributed software upgrades. They may also list changes to major ports/packages or release engineering practices. Clearly the release notes cannot list every single change made to FreeBSD between releases; this document focuses primarily on security advisories, user-visible changes, and major architectural improvements.

2.1. Security Advisories

No advisories.

2.2. Kernel Changes

Support for GPS ports has been added to uhso(4).

The if_nf10bmac(4) device has been added, providing support for NetFPGA-10G Embedded CPU Ethernet Core.

Note:

The if_nf10bmac(4) driver operates on the FPGA, and is not suited for the PCI host interface.

The full(4) device has been added, and the lindev(4) device has been removed. Prior to this change, lindev(4) provided only the /dev/full character device, returning ENOSPC on write attempts. As this device is not specific to Linux®, a native FreeBSD version has been added.

The mpr(4) device has been added, providing support for LSI Fusion-MPT 3 12Gb SCSI/SATA controllers.

The mrsas(4) driver has been added, providing support for LSI MegaRAID SAS controllers. The mfi(4) driver will attach to the controller, by default. To enable mrsas(4) add hw.mfi.mrsas_enable=1 to /boot/loader.conf, which turns off mfi(4) device probing.

Note:

At this time, the mfiutil(8) utility and the FreeBSD version of MegaCLI and StorCli do not work with mrsas(4).

A kernel bug that inhibited proper functionality of the dev.cpu.0.freq sysctl(8) on Intel® processors with Turbo Boost ™ enabled has been fixed.

The IMAGACT_BINMISC kernel configuration option has been enabled by default, which enables application execution through emulators, such as Qemu.

Support for the cxgbe(4) Terminator 5 (T5) 10G/40G cards has been added to netmap(4).

The VT kernel configuration file has been removed, and the vt(4) driver is included in the GENERIC kernel. To enable vt(4), enter set kern.vty=vt at the loader(8) prompt during boot, or add kern.vty=vt to loader.conf(5) and reboot the system.

Support for dtrace(1) stack tracing has been fixed for FreeBSD/powerpc, using the trapexit() and asttrapexit() functions instead of checking within addressed kernel space.

Hardware context support has been added to the drm/i915 driver, adding support for Mesa 9.2 and later.

The vt(4) driver has been updated, replacing the bitmapped kern.vt.spclkeys sysctl(8) with individual kern.vt.kbd_* variants.

The hpet(4) driver has been updated to create a /dev/hpetN device, providing access to HPET from userspace.

The vt(4) driver has been made the default system console driver. The syscons(4) driver is still available, and can be enabled by adding kern.vty=sc in loader.conf(5). Alternatively, syscons(4) can be enabled at boot time by entering set kern.vty=sc at the loader(8) prompt.

An issue that could cause a system to hang when entering ACPI S3 state (suspend to RAM) has been corrected in the acpi(4) and pci(4) drivers.

The power management unit subsystem has been updated to support power button events on certain powerpc hardware, such as aluminum PowerBook ®.

The hwpmc(4) driver has been updated to correct performance counter sampling on G4 (MPC74xxx) and G5 class processors.

The OpenCrypto framework has been updated to include AES-ICM and AES-GCM modes, both of which have also been added to the aesni(4) driver.

2.2.1. Virtualization Support

Support for the Virtual Interrupt Delivery feature of Intel® VT-x is enabled if supported by the CPU. This feature can be disabled by running sysctl hw.vmm.vmx.use_apic_vid=0. Additionally, to persist this setting across reboots, add hw.vmm.vmx.use_apic_vid=0 to /etc/sysctl.conf.

Support for Posted Interrupt Processing is enabled if supported by the CPU. This feature can be disabled by running sysctl hw.vmm.vmx.use_apic_pir=0. Additionally, to persist this setting across reboots, add hw.vmm.vmx.use_apic_pir=0 to /etc/sysctl.conf.

Unmapped IO support has been added to virtio_blk(4).

Unmapped IO support has been added to virtio_scsi(4).

The virtio_random(4) driver has been added to harvest entropy from the host system.

Support for running a FreeBSD/amd64 Xen guest instance as PVH guest has been added. PVH mode, short for Para-Virtualized Hardware, uses para-virtualized drivers for boot and I/O, and uses hardware virtualization extensions for all other tasks, without the need for emulation.

The virtio_console(4) driver has been added, which provides an interface to VirtIO console devices through a tty(4) device.

2.2.2. ARM Support

The nand(4) device is enabled for ARM devices by default.

An issue that could cause instability when detecting SD cards on the Raspberry Pi SOC has been fixed.

The bcm2835_cpufreq driver has been added, which supports CPU frequency and voltage control on the Raspberry Pi SOC.

2.2.3. Boot Loader Changes

 

2.2.4. Hardware Support

The asmc(4) driver has been updated to support the Apple® MacMini 3,1.

Support for FreeBSD/ia64 has been dropped as of FreeBSD 11.

2.2.4.1. Multimedia Support

 

2.2.4.2. Network Interface Support

Support for Broadcom chipsets BCM57764, BCM57767, BCM57782, BCM57786 and BCM57787 has been added to bge(4).

Support for the Intel® Centrino™ Wireless-N 135 chipset has been added.

Firmware for Intel® Centrino™ Wireless-N 105 devices has been added to the base system.

The deprecated nve(4) driver has been removed. Users of NVIDIA nForce MCP network adapters are advised to use the nfe(4) driver instead, which has been the default driver for this hardware since FreeBSD 7.0.

The ath_hal(4) driver has been updated to support the Atheros AR1111 chipset.

Support for the Intel® Centrino™ Wireless-N 105 chipset has been added.

A bug in ipfw(4) that could potentially lead to a kernel panic when using dummynet(4) at layer 2 has been fixed.

The alc(4) driver has been updated to support AR816x and AR817x ethernet controllers.

The vxlan(4) driver has been added, which creates a virtual Layer 2 (Ethernet) network overlaid in a Layer 3 (IP/UDP) network. The vxlan(4) driver is analogous to vlan(4), but is designed to be better suited for large, multiple-tenant datacenter environments.

The gre(4) driver has been significantly overhauled, and has been split into two separate modules, gre(4) and me(4).

2.2.5. Network Protocols

Support for the IPX network transport protocol has been removed, and will not be supported in FreeBSD 11 and later releases.

Support for PLPMTUD blackhole detection (RFC 4821) has been added to the tcp(4) stack, disabled by default. New control tunables have been added:

TunableDescription
net.inet.tcp.pmtud_blackhole_detectionEnables or disables PLPMTUD blackhole detection
net.inet.tcp.pmtud_blackhole_mssMSS to try for IPv4
net.inet.tcp.v6pmtud_blackhole_mssMSS to try for IPv6

New monitoring sysctl(8)s haven been added:

TunableDescription
net.inet.tcp.pmtud_blackhole_activatedNumber of times the code was activated to attempt downshifting the MSS
net.inet.tcp.pmtud_blackhole_min_activatedNumber of times the blackhole MSS was used in an attempt to downshift
net.inet.tcp.pmtud_blackhole_failedNumber of times that the blackhole failed to connect after downshifting the MSS

2.2.6. Disks and Storage

Support for the disklabel64 partitioning scheme has been added to gpart(8).

The asr(4) driver has been removed, and is no longer supported.

The ctl(4) subsystem has been updated, increasing the ports limit from 128 to 256, and LUN limit from 256 to 1024.

2.2.7. File Systems

The new filesystem automount facility, autofs(5), has been added. The new autofs(5) facility is similar to that found in other UNIX®-like operating systems, such as OS X™ and Solaris™. The autofs(5) facility uses a Sun™-compatible auto_master(5) configuration file, and is administered with the automount(8) userland utility, and the automountd(8) and autounmountd(8) daemons.

2.2.7.1. ZFS

The arc_meta_limit statistics are now visible through the kstat sysctl(8). As a result of this change, the vfs.zfs.arc_meta_used sysctl(8) has been removed, and replaced with the kstat.zfs.misc.arcstats.arc_meta_used sysctl(8).

2.3. Userland Changes

The casperd(8) daemon has been added, which provides access to functionality that is not available in the capability mode sandbox.

When unable to load a kernel module with kldload(8), a message informing to view output of dmesg(8) is now printed, opposed to the previous output Exec format error..

Allow pciconf(8) to identify PCI devices that are attached to a driver to be identified by their device name instead of just the selector. Additionally, an optional device argument to the -l flag to restrict the output to only listing details about a single device.

A new flag, onifconsole has been added to /etc/ttys. This allows the system to provide a login prompt via serial console if the device is an active kernel console, otherwise it is equivalent to off.

Support for displaying VPD for PCI devices via pciconf(8) has been added.

ping(8) protects against malicious network packets using the Capsicum framework to drop privileges.

FreeBSD/i386 guests can be run under bhyve.

The ps(1) utility has been updated to include the -J flag, used to filter output by matching jail(8) IDs and names. Additionally, argument 0 can be used to -J to only list processes running on the host system.

The top(1) utility has been updated to filter by jail(8) ID or name, in followup to the ps(1) change in r265229.

The Blowfish crypt(3) default format has been changed to $2b$.

The pmcstat(8) utility has been updated to include a new flag, -l, which ends event collection after the specified number of seconds.

The default newsyslog.conf(5) now includes files in the /etc/newsyslog.conf.d/ and /usr/local/etc/newsyslog.conf.d/ directories by default for newsyslog(8).

The readline(3) library is now statically linked in software within the base system, and the shared library is no longer installed, allowing the Ports Collection to use a modern version of the library.

The mailwrapper(8) utility has been updated to use mailer.conf(5) from the LOCALBASE environment variable, which defaults to /usr/local if unset.

The ps(1) utility has been updated to include a new keyword, tracer, which displays the PID of the tracing process.

Support for adding empty partitions has been added to the mkimg(1) utility.

The bsdinstall(8) partition editor and sade(8) utility have been updated to include native ZFS support.

The primes(6) utility has been updated to correctly enumerate prime numbers between 4295098369 and 3825123056546413050, which prior to this change, it would be possible for returned values to be incorrectly identified as prime numbers.

The mkimg(1) utility has been updated to include three options used to print information about mkimg(1) itself:

OptionOutput
--versionThe current version of the mkimg(1) utility
--formatsThe disk image file formats supported by mkimg(1)
--schemesThe partition schemes supported by mkimg(1)

The strptime(3) library has been updated to add support for POSIX-2001 features %U and %W.

The FreeBSD installation utility, bsdinstall(8), has been updated to set the canmount zfs(8) property to off for the /var dataset, preventing the contents of directories within /var from conflicting when using multiple boot environments, such as that provided by sysutils/beadm.

The MK_ARM_EABI src.conf(5) option has been removed.

Userland ctf(5) support in dtrace(1) has been added. With this change, dtrace(1) is able to resolve type info for function and USDT probe arguments, and function return values.

The dl_iterate_phdr(3) library has been changed to always return the path name of the ELF object in the dlpi_name structure member.

A userland library for Chelsio Terminator 5 based iWARP cards has been added, allowing userland RDMA applications to work over compatible NICs.

The bsdconfig(8) utility has been updated to skip the initial tzsetup(8) UTC versus wall-clock time prompt when run in a virtual machine, determined when the kern.vm_guest sysctl(8) is set to 1.

The elfdump(1) utility has been updated to support capability mode provided by capsicum(4).

The gpio(3) library has been added, providing a wrapper around the gpio(4) kernel interface.

The fstyp(8) utility has been added, which is used to determine the filesystem on a specified device.

The bsdinstall(8) utility has been updated to use the new dpv(3) library to display progress when extracting the FreeBSD distributions.

The libedit library has been updated to support UTF-8, which additionally provides unicode support to sh(1).

The ptrace(2) system call has been updated include support for Altivec registers on FreeBSD/powerpc.

2.3.1. ABI Compatibility

The Linux® compatibility version has been updated to 2.6.18. The compat.linux.osrelease sysctl(8) is evaluated when building the emulators/linux-c6 and related ports.

2.3.2. /etc/rc.d Scripts

The rc(8) subsystem has been updated to allow configuring services in ${LOCALBASE}/etc/rc.conf.d/. If LOCALBASE is unset, it defaults to /usr/local.

The mrouted rc(8) script has been removed from the base system. An equivalent script is available from the net/mrouted port.

2.3.3. /etc/periodic Scripts

The daily periodic(8) script 110.clean-tmps has been updated to avoid crossing filesystem mount boundaries when cleaning files in /tmp.

2.4. Contributed Software

lldb(1) has been updated to upstream snapshot version r196259.

Timezone data files have been updated to version 2013i.

byacc(1) has been updated to version 20140101.

jemalloc(3) has been updated to version 3.5.0.

bmake has been updated to version 20140101.

libc++ has been updated to version 3.4.

OpenSSH has been updated to 6.5p1.

mdocml has been updated to version 1.12.3.

LLVM and Clang have been updated to version 3.4.

Sendmail has been updated from 8.14.7 to 8.14.9.

file has been updated to version 5.22.

The binutils suite of utilities has been updated to include upstream patches that add new relocations for powerpc support.

The ELF Tool Chain has been updated to upstream revision r3136.

The texinfo utility and info pages were removed from the base system. The print/texinfo port should be installed on systems where info pages are needed.

The ELF object manipulation tools addr2line, elfcopy (strip), nm, size, and strings were switched to the versions from the ELF Tool Chain project.

The libedit library has been updated to include UTF-8 support, adding UTF-8 support to the sh(1) shell.

OpenSSL has been updated to version 1.0.1l.

2.5. Ports/Packages Collection Infrastructure

 

2.6. Release Engineering and Integration

The Release Engineering build tools have been updated to include support for producing virtual machine disk images for various cloud hosting providers.

2.7. Documentation

 

All FreeBSD documents are available for download at http://ftp.FreeBSD.org/pub/FreeBSD/doc/

Questions that are not answered by the documentation may be sent to <freebsd-questions@FreeBSD.org>.
Send questions about this document to <freebsd-doc@FreeBSD.org>.