FreeBSD 12.0-RELEASE Release Notes

The FreeBSD Project

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 2019-03-05 02:45:46 by hrs.

Abstract

The release notes for FreeBSD 12.0-RELEASE contain
a summary of the changes made to the FreeBSD base system on the
12-STABLE 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.

1.Â Introduction

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

The release distribution to
which these release notes apply represents the latest point
along the 12-STABLE development branch since
12-STABLE was created. Information regarding pre-built,
binary release distributions along this branch can be
found at https://www.FreeBSD.org/releases/.

The release distribution to
which these release notes apply represents a point along the
12-STABLE development branch between 11.2-RELEASE and
the future 13.0-RELEASE. Information regarding pre-built,
binary release distributions along this branch can be
found at https://www.FreeBSD.org/releases/.

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
12.0-RELEASE can be found on the FreeBSD Web site.

This document describes the most user-visible new or changed
features in FreeBSD since 11.2-RELEASE. In general, changes
described here are unique to the 12-STABLE branch unless
specifically marked as MERGED features.

Typical release note items document recent security
advisories issued after 11.2-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 11.2-RELEASE.

3.1.Â Security Advisories

Advisory

Date

Topic

No advisories.

Â

Â

3.2.Â Errata Notices

Errata

Date

Topic

No errata notices.

Â

Â

4.Â Userland

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

4.1.Â Userland Configuration Changes

Group permissions on
/dev/acpi have been changed to allow
users in the operatorGID to invoke acpiconf(8) to suspend
the system. [r335864]
(Sponsored by
DARPA, AFRL)

4.2.Â Userland Application Changes

The legacy gdb(1) utility included
in the base system is now installed to /usr/libexec for use with
crashinfo(8). The gdbserver
and gdbtui utilities are no longer
installed. For interactive debugging, lldb(1) or
a modern version of gdb(1) from devel/gdb should be used. A new
src.conf(5) knob, WITHOUT_GDB_LIBEXEC
has been added to disable building gdb(1). The
gdb(1) utility is still installed in /usr/bin on
sparc64. [r317416]

The
setfacl(1) utility has been updated to include a new
flag, -R, used to operate recursively on
directories. [r332396]
(Sponsored by
TheÂ FreeBSDÂ Foundation)

The cat(1) utility has been updated
to print output aligned the same regardless of if invoked with
-ne or -be. [r323865]

The
default bootstrap linker has been changed to ld_lld(1)
for amd64. [r334391]
(Sponsored by
TheÂ FreeBSDÂ Foundation)

The dhclient(8) utility has been
updated to add a configuration knob to allow superseding the
interface-mtu option provided by an
incorrectly-configured DHCP server. [r334443]

The
asf(8) utility has been removed, as kgdb(1) now
handles kernel module state internally. [r335222]
(Sponsored by
TheÂ FreeBSDÂ Foundation)

The geli(8) utility has been
updated to provide support for initializing multiple providers
at once when they use the same passphrase and/or key. [r336659]

The
default bootstrap linker has been changed to ld_lld(1)
for i386. [r336901]
(Sponsored by
TheÂ FreeBSDÂ Foundation)

The
default bootstrap linker has been changed to ld_lld(1)
for armv7. [r337057]
(Sponsored by
TheÂ FreeBSDÂ Foundation)

The dd(1) utility has been updated
to add the status=progress option, which
prints the status of its operation on a single line once per
second, similar to GNUdd(1). [r337505]

The date(1) utility has been
updated to include a new flag, -I, which
prints its output in ISO 8601
formatting. [r337332]

The bectl(8) utility has been
added, providing an administrative interface for managing
ZFS boot environments, similar to
sysutils/beadm. [r337663]

The ls(1) utility has been updated
to include a new
--color=when
flag, where when can be one of
always, auto (default),
or never. [r337956]

The
bhyve(8) utility has been updated to add a new subcommand
to the -l and -s flags,
help, which when used, prints a list of
supported LPC and PCI
devices, respectively. [r338210]
(Sponsored by
iXsystems)

The tftp(1) utility has been
updated to change the default transfer mode from
ASCII to binary. [r338258]

The ntpd(8) utility has been
updated to allow being run as a non-root user. [r336525]

Note:

Source-based upgrades from FreeBSDÂ 11.x and earlier
require the ntpdUID
(123) and GID (123) to exist before the
installworld target is run. See the
"rebuild everything and install" section of
UPDATING for the documented procedure
for source-based upgrades for more details.

The amdtemp(4) driver has been
updated to fix temperature reporting for AMDÂ®Â 2990WX
CPUs. [r340447]

5.2.Â Kernel Configuration

The VIMAGE kernel
configuration option has been enabled by default. [r324810]

The dumpon(8) utility has been
updated to add support for compressed kernel crash dumps when
the kernel configuration file includes the
GZIO option. See rc.conf(5) and
dumpon(8) for additional information. [r324965]
(Sponsored by
Dell EMC Isilon)

The ext2fs(5) filesystem has been
updated to support full read/write support for ext4. [r327584]

The pmtimer device
has been removed from the i386
GENERIC kernel configuration. Its
functionality is now part of apm(4). [r327774]

The dumpon(8) utility has been
updated to add support for zstd(1)-compressed kernel
crash dumps when the kernel configuration file includes the
ZSTDIO option. See rc.conf(5) and
dumpon(8) for additional information. [r329240]
(Sponsored by
Dell EMC Isilon)

A new
src.conf(5) knob,
WITH_KERNEL_RETPOLINE, has been added to
enable the retpoline mitigation for kernel builds. [r330110]
(Sponsored by
TheÂ FreeBSDÂ Foundation)

A new kernel configuration option,
KASSERT_PANIC_OPTIONAL, has been added
that allows runtime KASSERT(9) behavior changes without
necessarily invoking panic(9). The option is disabled
by default. [r338214]
(Sponsored by
Dell EMC Isilon)

The NUMA
option has been enabled by default in the amd64
GENERIC and MINIMAL
kernel configurations. [r338602]
(Sponsored by
Dell EMC Isilon, Netflix)

6.Â Devices and Drivers

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

6.1.Â Device Drivers

The random(4) device has been updated
to allow terminating large reads with
^C. [r331070]
(Sponsored by
Dell EMC Isilon)

Support
for the MicrochipÂ® LAN78xx™ USB3-GigE controller has
been added. [r333713]
(Sponsored by
TheÂ FreeBSDÂ Foundation)

The random(4) driver has been
updated to remove the Yarrow algorithm. The Fortuna algorithm
remains the default, and now only, available algorithm. [r338324]

The netdump(4) driver has been added,
providing a facility through which kernel crash dumps can be
transmitted to a remote host after a system panic. See
netdump(4) and dumpon(8) for more information and
configuration details. [r333283]
(Sponsored by
Dell EMC Isilon)

The random(4) driver has been
updated to fix excessive activity during pseudo-random number
generation. [r338292]

The vt(4) driver has been updated
with performance improvements, drawing text at rates ranging
from 2- to 6-times faster. [r338316]

The ichwd(4) driver has been updated
to add TCO watchdog timer support for
IntelÂ® Lewisburg PCH (C620)
chipsets. [r340190]
(Sponsored by
Panzura)

6.2.Â Network Drivers

The ixl(4) driver has been updated
to version 1.9.9-k. [r333149]
(Sponsored by
Intel Corporation)

The cxgbe(4) driver has been updated
to provide hardware support for the
SO_MAX_PACING_RATEsetsockopt(2)
option when the kernel configuration contains the
RATELIMIT option. [r334143]
(Sponsored by
Chelsio Communications)

The ixlv(4) driver has been renamed
to iavf(4) and updated to use iflib(9). The
ixlv(4) kernel module is now a hard link to iavf(4)
for backwards compatibility for upgrading from earlier FreeBSD
releases. [r339338]
(Sponsored by
Intel Corporation)

6.3.Â Deprecated Drivers

The
lmc(4) driver has been removed. [r333144]
(Sponsored by
TheÂ FreeBSDÂ Foundation)

The ixgb(4) driver has been
removed. [r333173]
(Sponsored by
Limelight Networks)

The nxge(4) driver has been
removed. [r333322]
(Sponsored by
Limelight Networks)

The vxge(4) driver has been
removed. [r333717]
(Sponsored by
Limelight Networks)

The DRM driver for
modern graphics chipsets has been marked deprecated and marked
for removal in FreeBSDÂ 13. The DRM
kernel modules are available from graphics/drm-stable-kmod or
graphics/drm-legacy-kmod
in the Ports Collection as well as via pkg(8).
Additionally, the kernel modules have been added to the lua
loader.conf(5)module_blacklist, as
installation from the Ports Collection or pkg(8) is
strongly recommended. [r339218]

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

Support for powernv POWER9
MMU initialization has been added. [r333273]

7.2.Â Graphics Support

FreeBSD has changed the way graphics drivers are handled on
amd64 and i386. Graphics drivers for modern
ATI/AMDÂ® and IntelÂ® graphics cards are now available in the
Ports Collection. The base drivers are still available and
will be installed by default, but they lack support for
current generation laptop and desktop systems.

In most cases it is enough to install graphics/drm-kmod
from ports or packages to install a driver appropriate for the
system, then adding the appropriate driver to
kld_list in rc.conf(5).

The default auto_master(5)
configuration has been updated to add the
noautoroautomount(8) flag to the
/media mount
point (commented by default). [r337749]
(Sponsored by
DARPA, AFRL)

The
UFS/FFS filesystem has
been updated to consolidate
TRIM/BIO_DELETE
commands, reducing read/write requests due to fewer
TRIM messages being sent
simultaneously. [r338056]
(Sponsored by
Netflix)

TRIM consolidation
support has been enabled by default in the
UFS/FFS filesystem.
TRIM consolidation can be disabled by
setting the vfs.ffs.dotrimconssysctl(8) to 0, or adding
vfs.ffs.dotrimcons=0 to
sysctl.conf(5). [r338517]
(Sponsored by
Netflix)

The geom(8) utility has been
updated to add a new flag, -p, which
prints the GEOM class of the specified
provider. [r338640]
(Sponsored by
DARPA, AFRL)

The geom(8) utility has been
updated to add a new flag, -t, which
prints the GEOM hierarchy. [r338684]
(Sponsored by
DARPA, AFRL)

8.2.Â Networked Storage

The NFS version 4.1
server has been updated to include pNFS
server support. [r335012]

8.3.Â ZFS

ZFS has been updated
to include new sysctl(8)s,
vfs.zfs.arc_min_prefetch_ms and
vfs.zfs.arc_min_prescient_prefetch_ms,
which improve performance of the zpool(8)scrub subcommand. [r334844]

9.Â Boot Loader Changes

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

9.1.Â Boot Loader Changes

The lua loader(8) has been updated to
detect a list of installed kernels to boot. [r329501]
(Sponsored by
Dell EMC Isilon)

The loader(8) has been updated to
support geli(8) for all architectures and all disk-like
devices. [r336252]
(Sponsored by
Microchip Technology, Inc.)

The init(8) utility has been
updated to be able to run an executable written in languages
other than sh(1), such as
Python, for example. [r337321]
(Sponsored by
DARPA, AFRL)

The
loader(8) has been updated to add support for loading
IntelÂ® microcode updates early during the boot
process. [r337715]
(Sponsored by
TheÂ FreeBSDÂ Foundation)

The default lua loader.conf(5) has
been updated to include the
kernels_autodetect option, which defaults
to YES, supplementing the loader(8)
support to list available kernels to boot introduced in
revision 329501. [r339308]

10.Â Networking

This section describes changes that affect networking in
FreeBSD.

10.1.Â General Network

The
carp(4) interface has been updated to keep the state as
INIT instead of MASTER
when the net.inet.carp.allowsysctl(8)
is set to 0. [r333322]
(Sponsored by
iXsystems)

The SO_REUSEPORT_LB
option has been added to the network stack, allowing multiple
programs or threads to bind to the same port, and incoming
connections load balanced using a hash function. [r334719]
(Sponsored by
Limelight Networks)

The pf(4) ioctl interface and
pfctl(8) now support altq(4) bandwidth parameters of
2^32 bps or greater. The
HFSC discipline has been upgraded to
operate correctly with bandwidth parameters up to 100 Gbps,
and bandwidth parameters supplied to the non-upgraded
disciplines will now be saturated at the prior 32-bit
limit. [r338253]

10.2.Â Network Protocols

Support for token-ring networks has
been removed. [r331714]
(Sponsored by
DARPA, AFRL)

Support for the Arcnet protocol has
been removed. [r332490]
(Sponsored by
DARPA, AFRL)

12.1.Â Documentation Source Changes

13.Â Release Engineering and Integration

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

13.1.Â Integration Changes

The
FreeBSD/i386 memory stick installation images have been
changed to use the MBR partitioning scheme
instead of GPT to address boot issues with
some BIOSes. [r332446]
(Sponsored by
TheÂ FreeBSDÂ Foundation)

The
FreeBSD/amd64 memory stick installation images have been
changed to use the MBR partitioning scheme
instead of GPT to address boot issues with
some BIOSes. [r334337]
(Sponsored by
TheÂ FreeBSDÂ Foundation)

This file, and other release-related documents,
can be downloaded from .