FreeBSD 11.0-CURRENT Release Notes

The FreeBSD Project

FreeBSD is a registered trademark of the FreeBSD Foundation.

IBM, AIX, OS/2, PowerPC, PS/2, S/390, and ThinkPad are trademarks of International Business Machines Corporation in the United States, other countries, or both.

IEEE, POSIX, and 802 are registered trademarks of Institute of Electrical and Electronics Engineers, Inc. in the United States.

Intel, Celeron, Centrino, Core, EtherExpress, i386, i486, Itanium, Pentium, and Xeon are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries.

SPARC, SPARC64, and UltraSPARC are trademarks of SPARC International, Inc in the United States and other countries. SPARC International, Inc owns all of the SPARC trademarks and under licensing agreements allows the proper use of these trademarks by its members.

Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this document, and the FreeBSD Project was aware of the trademark claim, the designations have been followed by the or the ® symbol.

Last modified on 2015-02-20 by gjb.
Abstract

The release notes for FreeBSD 11.0-CURRENT contain a summary of the changes made to the FreeBSD base system on the 11-CURRENT development line. This document lists applicable security advisories that were issued since the last release, as well as significant changes to the FreeBSD kernel and userland. Some brief remarks on upgrading are also presented.

[ Split HTML / Single HTML ]

Table of Contents
1. Introduction
2. Upgrading from Previous Releases of FreeBSD
3. Security and Errata
3.1. Security Advisories
3.2. Errata Notices
4. Userland
4.1. Userland Configuration Changes
4.2. Userland Application Changes
4.3. Contributed Software
4.4. Installation and Configuration Tools
4.5. /etc/rc.d Scripts
4.6. /etc/periodic Scripts
4.7. Runtime Libraries and API
4.8. ABI Compatibility
5. Kernel
5.1. Kernel Bug Fixes
5.2. Kernel Configuration
5.3. System Tuning and Controls
6. Devices and Drivers
6.1. Device Drivers
6.2. Storage Drivers
6.3. Network Drivers
7. Hardware Support
7.1. Hardware Support
7.2. Virtualization Support
7.3. ARM Support
8. Storage
8.1. General Storage
8.2. Networked Storage
8.3. ZFS
8.4. geom(4)
9. Boot Loader Changes
9.1. Boot Loader Changes
9.2. Boot Menu Changes
10. Networking
10.1. Network Procols
11. Ports Collection and Package Infrastructure
11.1. Infrastructure Changes
11.2. Packaging Changes
12. Documentation
12.1. Documentation Source Changes
12.2. Documentation Toolchain Changes
13. Release Engineering and Integration
13.1. Integration Changes

1. Introduction

This document contains the release notes for FreeBSD 11.0-CURRENT. It describes recently added, changed, or deleted features of FreeBSD. It also provides some notes on upgrading from previous versions of FreeBSD.

The snapshot distribution to which these release notes apply represents a point along the 11-CURRENT development branch between 10.0-RELEASE and the future 11.0-RELEASE. Information regarding pre-built, binary snapshot distributions along this branch can be found at https://www.FreeBSD.org/snapshots/.

All users are encouraged to consult the release errata before installing FreeBSD. The errata document is updated with late-breaking information discovered late in the release cycle or after the release. Typically, it contains information on known bugs, security advisories, and corrections to documentation. An up-to-date copy of the errata for FreeBSD 11.0-CURRENT can be found on the FreeBSD Web site.

This document 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. Upgrading from Previous Releases of FreeBSD

[amd64,i386] Binary upgrades between RELEASE versions (and snapshots of the various security branches) are supported using the freebsd-update(8) utility. The binary upgrade procedure will update unmodified userland utilities, as well as unmodified GENERIC kernels distributed as a part of an official FreeBSD release. The freebsd-update(8) utility requires that the host being upgraded have Internet connectivity.

Source-based upgrades (those based on recompiling the FreeBSD base system from source code) from previous versions are supported, according to the instructions in /usr/src/UPDATING.

Important:

Upgrading FreeBSD should only be attempted after backing up all data and configuration files.

3. Security and Errata

This section lists the various Security Advisories and Errata Notices since 10.0-RELEASE.

3.1. Security Advisories

AdvisoryDateTopic

No advisories.

 

 

3.2. Errata Notices

ErrataDateTopic

No errata notices.

 

 

4. Userland

This section covers changes and additions to userland applications, contributed software, and system utilities.

4.1. Userland Configuration Changes

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). [r266463]

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

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

4.2. Userland Application Changes

The casperd(8) daemon has been added, which provides access to functionality that is not available in the capability mode sandbox. [r258838] (Sponsored by The FreeBSD Foundation, Google)

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.. [r260594]

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. [r260910]

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. [r260913]

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

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

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. [r265229]

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

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

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

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

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

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. [r272166]

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

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)

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. [r272488]

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

The fstyp(8) utility has been added, which is used to determine the filesystem on a specified device. [r275680] (Sponsored by The FreeBSD Foundation)

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

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

A new device control utility, devctl(8) has been added, which allows making administrative changes to individual devices, such as attaching and detaching drivers, and enabling and disabling devices. The devctl(8) utility uses the new devctl(3) library. [r278320]

4.3. Contributed Software

lldb(1) has been updated to upstream snapshot version r196259. [r258884] (Sponsored by DARPA, AFRL)

Timezone data files have been updated to version 2013i. [r259626]

byacc(1) has been updated to version 20140101. [r260445]

jemalloc(3) has been updated to version 3.5.0. [r261071]

bmake has been updated to version 20140101. [r261212]

libc++ has been updated to version 3.4. [r261283]

OpenSSH has been updated to 6.5p1. [r261320]

mdocml has been updated to version 1.12.3. [r261344]

LLVM and Clang have been updated to version 3.4. [r261991]

Sendmail has been updated from 8.14.7 to 8.14.9. [r266527]

file has been updated to version 5.22. [r276577]

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

The ELF Tool Chain has been updated to upstream revision r3136. [r276398] (Sponsored by The FreeBSD Foundation)

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. [r276551]

The ELF object manipulation tools addr2line, elfcopy (strip), nm, size, and strings were switched to the versions from the ELF Tool Chain project. [r276796] (Sponsored by The FreeBSD Foundation)

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

OpenSSL has been updated to version 1.0.1l. [r277270]

The xz(1) utility has been udpated to version 5.2.0. [r278433]

The xz(1) utility has been updated to support multi-threaded compression. [r278433]

4.4. Installation and Configuration Tools

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

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. [r272274]

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. [r274394]

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

4.5. /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. [r270676]

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

4.6. /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. [r271321]

4.7. Runtime Libraries and API

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. [r268461]

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

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. [r272842,272848] (Sponsored by The FreeBSD Foundation)

A userland library for Chelsio Terminator 5 based iWARP cards has been added, allowing userland RDMA applications to work over compatible NICs. [r273806] (Sponsored by Chelsio Communications)

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

The futimens() and utimensat() system calls have been added. See utimensat(2) for more information. [r277610]

The elf(3) compile-time dependency has been removed from dtri.o, which allows adding DTrace probes to userland applications and libraries without also linking against elf(3). [r278934]

4.8. 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. [r271982]

5. Kernel

This section covers changes to kernel configurations, system tuning, and system control parameters that are not otherwise categorized.

5.1. Kernel Bug Fixes

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. [r265876]

[powerpc] 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. [r271697]

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

5.2. Kernel Configuration

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

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. [r268045]

The config(8) utility has been updated to allow using a non-standard src/ tree, specified as an argument to the -s flag. [r277904]

[powerpc64] The FreeBSD/powerpc64 kernel now builds as a position-independent executable, allowing the kernel to be loaded into and run from any physical or virtual address. [r277990]

Important:

This change requires an update to loader(8). The userland and kernel must be updated before rebooting the system.

5.3. System Tuning and Controls

The hwpmc(4) default and maximum callchain depths have been increased. The default has been increased from 16 to 32, and the maximum increased from 32 to 128. [r275140] (Sponsored by The FreeBSD Foundation)

6. Devices and Drivers

This section covers changes and additions to devices and device drivers since 10.0-RELEASE.

6.1. Device Drivers

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

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. [r265132]

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

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

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

6.2. Storage Drivers

The mpr(4) device has been added, providing support for LSI Fusion-MPT 3 12Gb SCSI/SATA controllers. [r265236] (Sponsored by LSI, Spectra Logic)

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. [r265555] (Sponsored by LSI)

Note:

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

The ctl(4) subsystem has been updated, increasing the ports limit from 128 to 256, and LUN limit from 256 to 1024. [r275461] (Sponsored by iXsystems)

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

6.3. Network Drivers

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

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

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

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. [r261975]

The if_nf10bmac(4) device has been added, providing support for NetFPGA-10G Embedded CPU Ethernet Core. [r264601] (Sponsored by DARPA, AFRL)

Note:

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

The ath_hal(4) driver has been updated to support the Atheros AR1111 chipset. [r265348] (Sponsored by Netgate)

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

Support for the cxgbe(4) Terminator 5 (T5) 10G/40G cards has been added to netmap(4). [r266757] (Sponsored by Chelsio Communications)

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

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. [r273331]

The gre(4) driver has been significantly overhauled, and has been split into two separate modules, gre(4) and me(4). [r274246] (Sponsored by Yandex LLC)

7. Hardware Support

This section covers general hardware support for physical machines, hypervisors, and virtualization environments, as well as hardware changes and updates that do not otherwise fit in other sections of this document.

7.1. Hardware Support

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

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

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. [r274386]

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

[powerpc] The hwpmc(4) driver has been updated to correct performance counter sampling on G4 (MPC74xxx) and G5 class processors. [r275171,275190]

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. [r275732] (Sponsored by The FreeBSD Foundation,Netgate)

7.2. 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. [r260410]

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. [r260532]

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

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

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

FreeBSD/i386 guests can be run under bhyve. [r261504]

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. [r267536] (Sponsored by Citrix Systems R&D)

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

7.3. ARM Support

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

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

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

8. Storage

This section covers changes and additions to file systems and other storage subsystems, both local and networked.

8.1. General Storage

The ctl(4) LUN mapping has been rewritten, replacing iSCSI-specific mapping mechanisms with a new mechanism that works for any port. [r278037] (Sponsored by iXsystems)

The ctld(8) utility has been updated to allow controlling non-iSCSI ctl(4) ports. [r278354] (Sponsored by iXsystems)

8.2. Networked Storage

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. [r270096] (Sponsored by The FreeBSD Foundation)

8.3. 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). [r275748]

8.4. geom(4)

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

9. Boot Loader Changes

This section covers the boot loader, boot menu, and other boot-related changes.

9.1. Boot Loader Changes

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. [r274085]

9.2. Boot Menu Changes

 

10. Networking

This section describes changes that affect networking in FreeBSD.

10.1. Network Procols

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

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

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

11. Ports Collection and Package Infrastructure

This section covers changes to the FreeBSD Ports Collection, package infrastructure, and package maintenance and installation tools.

11.1. Infrastructure Changes

 

11.2. Packaging Changes

 

12. Documentation

This section covers changes to the FreeBSD Documentation Project sources and toolchain.

12.1. Documentation Source Changes

 

12.2. Documentation Toolchain Changes

 

13. Release Engineering and Integration

This section convers changes that are specific to the FreeBSD Release Engineering processes.

13.1. Integration Changes

The Release Engineering build tools have been updated to include support for producing virtual machine disk images for various cloud hosting providers. [r277458] (Sponsored by The FreeBSD Foundation)

The Release Engineering build tools have been updated to use multi-threaded xz(1). By default, the number of xz(1) threads is set to the number of cores available. [r278926]

This file, and other release-related documents, can be downloaded from https://www.FreeBSD.org/snapshots/.

For questions about FreeBSD, read the documentation before contacting <questions@FreeBSD.org>.

All users of FreeBSD 11-CURRENT should subscribe to the <current@FreeBSD.org> mailing list.

For questions about this documentation, e-mail <doc@FreeBSD.org>.