1 <?xml version="1.0" encoding="iso-8859-1"?>
2 <!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V5.0-Based Extension//EN"
3 "../../../share/xml/freebsd50.dtd" [
4 <!ENTITY % release PUBLIC "-//FreeBSD//ENTITIES Release Specification//EN" "release.ent">
6 <!ENTITY % sponsor PUBLIC "-//FreeBSD//ENTITIES Sponsor Specification//EN" "sponsor.ent">
8 <!ENTITY % vendor PUBLIC "-//FreeBSD//ENTITIES Vendor Specification//EN" "vendor.ent">
10 <!ENTITY security SYSTEM "../../share/xml/security.xml">
11 <!ENTITY errata SYSTEM "../../share/xml/errata.xml">
13 <article xmlns="http://docbook.org/ns/docbook"
14 xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0">
17 <title>&os; &release.current; Release Notes</title>
20 <orgname>The &os; Project</orgname>
23 <pubdate>$FreeBSD$</pubdate>
25 <!-- Last rev: 288943 -->
29 <holder role="mailto:doc@FreeBSD.org">The &os; Documentation
33 <legalnotice xml:id="trademarks" role="trademarks">
43 <para>The release notes for &os; &release.current; contain
44 a summary of the changes made to the &os; base system on the
45 &release.branch; development line. This document lists
46 applicable security advisories that were issued since the last
47 release, as well as significant changes to the &os; kernel and
48 userland. Some brief remarks on upgrading are also
53 <sect1 xml:id="intro">
54 <title>Introduction</title>
56 <para>This document contains the release notes for &os;
57 &release.current;. It describes recently added, changed, or
58 deleted features of &os;. It also provides some notes on
59 upgrading from previous versions of &os;.</para>
61 <para releasetype="current">The &release.type; distribution to
62 which these release notes apply represents the latest point
63 along the &release.branch; development branch since
64 &release.branch; was created. Information regarding pre-built,
65 binary &release.type; distributions along this branch can be
67 xlink:href="&release.url;">&release.url;</uri>.</para>
69 <para releasetype="snapshot">The &release.type; distribution to
70 which these release notes apply represents a point along the
71 &release.branch; development branch between &release.prev; and
72 the future &release.next;. Information regarding pre-built,
73 binary &release.type; distributions along this branch can be
75 xlink:href="&release.url;">&release.url;</uri>.</para>
77 <para releasetype="release">This distribution of &os;
78 &release.current; is a &release.type; distribution. It can be
79 found at <uri xlink:href="&release.url;">&release.url;</uri> or
80 any of its mirrors. More information on obtaining this (or
81 other) &release.type; distributions of &os; can be found in the
83 xlink:href="&url.books.handbook;/mirrors.html"><quote>Obtaining
84 &os;</quote> appendix</link> to the <link
85 xlink:href="&url.books.handbook;/">&os;
86 Handbook</link>.</para>
88 <para>All users are encouraged to consult the release errata
89 before installing &os;. The errata document is updated with
90 <quote>late-breaking</quote> information discovered late in the
91 release cycle or after the release. Typically, it contains
92 information on known bugs, security advisories, and corrections
93 to documentation. An up-to-date copy of the errata for &os;
94 &release.current; can be found on the &os; Web site.</para>
96 <para>This document describes the most user-visible new or changed
97 features in &os; since &release.prev;. In general, changes
98 described here are unique to the &release.branch; branch unless
99 specifically marked as &merged; features.</para>
101 <para>Typical release note items document recent security
102 advisories issued after &release.prev;, new drivers or hardware
103 support, new commands or options, major bug fixes, or
104 contributed software upgrades. They may also list changes to
105 major ports/packages or release engineering practices. Clearly
106 the release notes cannot list every single change made to &os;
107 between releases; this document focuses primarily on security
108 advisories, user-visible changes, and major architectural
112 <sect1 xml:id="upgrade">
113 <title>Upgrading from Previous Releases of &os;</title>
115 <para arch="amd64,i386">Binary upgrades between RELEASE versions
116 (and snapshots of the various security branches) are supported
117 using the &man.freebsd-update.8; utility. The binary upgrade
118 procedure will update unmodified userland utilities, as well as
119 unmodified GENERIC kernels distributed as a part of an official
120 &os; release. The &man.freebsd-update.8; utility requires that
121 the host being upgraded have Internet connectivity.</para>
123 <para>Source-based upgrades (those based on recompiling the &os;
124 base system from source code) from previous versions are
125 supported, according to the instructions in
126 <filename>/usr/src/UPDATING</filename>.</para>
129 <para>Upgrading &os; should only be attempted after backing up
130 <emphasis>all</emphasis> data and configuration files.</para>
134 <sect1 xml:id="security-errata">
135 <title>Security and Errata</title>
137 <para>This section lists the various Security Advisories and
138 Errata Notices since &release.prev;.</para>
140 <sect2 xml:id="security">
141 <title>Security Advisories</title>
146 <sect2 xml:id="errata">
147 <title>Errata Notices</title>
153 <sect1 xml:id="userland">
154 <title>Userland</title>
156 <para>This section covers changes and additions to userland
157 applications, contributed software, and system utilities.</para>
159 <sect2 xml:id="userland-config">
160 <title>Userland Configuration Changes</title>
162 <para revision="313203">The &man.inetd.8; utility can now be
163 built without <literal>libwrap</literal> support when
164 <literal>WITHOUT_TCP_WRAPPERS</literal> is set in
165 &man.src.conf.5;.</para>
167 <para revision="316045">The &man.libthr.3; library and related
168 files are now evaluated and removed by the
169 <literal>delete-old-libs</literal> target when upgrading the
170 system if <literal>WITHOUT_LIBTHR</literal> is
171 set in &man.src.conf.5;.</para>
173 <para revision="316423" contrib="sponsor" sponsor="&ff;">The
174 <literal>WITH_LLD_AS_LD</literal> build knob has been added,
175 which installs <application>LLD</application> as
176 <filename>/usr/bin/ld</filename> if set.</para>
179 <sect2 xml:id="userland-programs">
180 <title>Userland Application Changes</title>
182 <para revision="308720" contrib="sponsor" sponsor="&gandi;">The
183 &man.cron.8; utility has been updated to add support for
184 including files within <filename
185 class="directory">/etc/cron.d</filename> and <filename
186 class="directory">/usr/local/etc/cron.d</filename> by
189 <para revision="308721" contrib="sponsor" sponsor="&gandi;">The
190 &man.syslogd.8; utility has been updated to add the
191 <literal>include</literal> keyword which allows specifying
192 a directory containing configuration files to be included in
193 addition to &man.syslogd.8;. The default &man.syslogd.8; has
194 been updated to include <filename
195 class="directory">/etc/syslog.d</filename> and <filename
196 class="directory">/usr/local/etc/syslog.d</filename> by
199 <para revision="315514" contrib="sponsor" sponsor="&yandex;">The
200 &man.setkey.8; utility has been modified to show the runtime
201 <acronym>NAT-T</acronym> configuration. The
202 <literal>-g</literal> and <literal>-t</literal> flags have
203 been added, which list only global and virtual policies,
204 respectively when used with the <literal>-D</literal> and
205 <literal>-P</literal> flags.</para>
207 <para revision="316098" contrib="sponsor"
208 sponsor="&dellemc;">The &man.getaddrinfo.1; utility has been
209 added, ported from NetBSD.</para>
211 <para revision="316944" contrib="sponsor"
212 sponsor="&multiplay;">The &man.jail.8; utility has been
213 updated to allow explicitly-assigned <acronym>IPv4</acronym>
214 and <acronym>IPv6</acronym> addresses to be used within
217 <para revision="317855">The &man.daemon.8; utility has been
218 updated to allow redirecting &man.stdout.4; and &man.stderr.4;
219 output to &man.syslog.3; and to a file.</para>
222 <sect2 xml:id="userland-contrib">
223 <title>Contributed Software</title>
225 <para revision="307729">&man.unbound.8; has been updated to
226 version 1.5.10.</para>
228 <para revision="309511"><application>Subversion</application>
229 has been updated to version 1.9.5.</para>
231 <para revision="309847">&man.file.1; has been updated to version
234 <para revision="310490">The &man.amd.8; utility has been updated
235 to version 6.2.</para>
237 <para revision="312336">The <acronym>CLDR</acronym> locales have
238 been updated to version 30.0.3. The unicode locales have been
239 updated to version 9.0.0.</para>
241 <para revision="312517">&man.xz.1; has been updated to version
244 <para revision="313537">&man.tcpdump.1; has been updated to
245 version 4.9.0.</para>
247 <para revision="313795">&man.zlib.3; has been updated to version
250 <para revision="313980"><application>openresolv</application>
251 has been updated to version 3.9.0.</para>
253 <para revision="313680">The NetBSD test suite has been updated
254 to the 01.11.2017_23.20 snapshot.</para>
256 <para revision="314278"><literal>libucl</literal> has been
257 updated to version 20170219.</para>
259 <para revision="315432">&man.libarchive.3; has been updated to
260 version 3.3.1.</para>
262 <para revision="315995">&man.dma.8; has been updated to the
263 2017-02-10 snapshot.</para>
265 <para revision="316068">&man.ntpd.8; has been updated to version
268 <para revision="316303"><application>ACPICA</application> has
269 been updated to version 20170303.</para>
271 <para revision="316349">Timezone data files have been updated to
272 version 2017b.</para>
274 <para revision="316420">&man.mandoc.1; has been updated to
277 <para revision="316423"><application>Clang</application> has
278 been updated to version 4.0.0.</para>
280 <para revision="316423"><application>LLVM</application> has
281 been updated to version 4.0.0.</para>
283 <para revision="316423"><application>LLD</application> has
284 been updated to version 4.0.0.</para>
286 <para revision="316423"><application>LLDB</application> has
287 been updated to version 4.0.0.</para>
289 <para revision="316423"><application>compiler-rt</application>
290 has been updated to version 4.0.0.</para>
292 <para revision="316423"><application>libc++</application> has
293 been updated to version 4.0.0.</para>
295 <para revision="316957">&man.tcsh.1; has been updated to version
299 <sect2 xml:id="userland-installer">
300 <title>Installation and Configuration Tools</title>
305 <sect2 xml:id="userland-rc">
306 <title><filename class="directory">/etc/rc.d</filename>
312 <sect2 xml:id="userland-periodic">
313 <title><filename class="directory">/etc/periodic</filename>
316 <para revision="317857">The <filename>410.status-mfi</filename>
317 &man.periodic.8; script has been added to monitor the status
318 of &man.mfi.4; volumes.</para>
321 <sect2 xml:id="userland-libraries">
322 <title>Runtime Libraries and API</title>
324 <para revision="317618" contrib="sponsor"
325 sponsor="&dellemc;">The <function>clock_nanosleep()</function>
326 system call has been added. The
327 <function>nanosleep()</function> system call is now a wrapper
328 around <function>clock_nanosleep()</function>.</para>
331 <sect2 xml:id="userland-abi">
332 <title>ABI Compatibility</title>
334 <para revision="315274" contrib="sponsor"
335 sponsor="&dellemc;">The
336 <function>sem_clockwait_np()</function> library function has
337 been added, which allows the caller to specify the reference
338 clock and choose between absolute and relative mode.</para>
340 <para revision="315282">The <application>clang</application>
341 <literal>nullability</literal> attribute has been added to the
342 <literal>C</literal> library headers.</para>
346 <sect1 xml:id="kernel">
347 <title>Kernel</title>
349 <para>This section covers changes to kernel configurations, system
350 tuning, and system control parameters that are not otherwise
353 <sect2 xml:id="kernel-bugfix">
354 <title>Kernel Bug Fixes</title>
356 <para revision="316039">The &man.kvm.close.3; function has been
357 updated to return the accumulated error from previous
358 &man.close.2; calls.</para>
360 <para revision="317434">The &man.ipf.4; packet filter has been
361 updated to prevent "keep state" from incorrectly
362 implying "keep frags", matching the behavior
363 documented in &man.ipf.5;.</para>
366 <sect2 xml:id="kernel-config">
367 <title>Kernel Configuration</title>
369 <para revision="315514" contrib="sponsor" sponsor="&yandex;">The
370 <literal>IPSEC_NAT_T</literal> kernel configuration option has
371 been removed. Support for <acronym>NAT-T</acronym> is now
372 enabled by default.</para>
374 <para revision="315514" contrib="sponsor" sponsor="&yandex;">The
375 <literal>IPSEC_FILTERTUNNEL</literal> kernel option has been
376 removed, which was deprecated by the
377 <literal>net.inet.ipsec.filtertunnel</literal> sysctl.</para>
380 <sect2 xml:id="kernel-modules">
381 <title>Kernel Modules</title>
383 <para revision="315514" contrib="sponsor" sponsor="&yandex;">The
384 <literal>ipsec</literal> and <literal>tcpmd5</literal> kernel
385 modules have been added.</para>
387 <para revision="316274" contrib="sponsor" sponsor="&yandex;">The
388 &man.ipfw.4; packet filter has been updated to add support for
389 named dynamic states.</para>
391 <para revision="316444" contrib="sponsor" sponsor="&yandex;">The
392 <literal>ipfw_nptv6</literal> kernel module has been added,
393 implementing Network Prefix Translation for
394 <acronym>IPv6</acronym> as defined in <acronym>RFC</acronym>
397 <para revision="316446" contrib="sponsor" sponsor="&yandex;">The
398 <literal>ipfw_nat64</literal> kernel module has been added,
399 implementing stateless and stateful
400 <acronym>NAT64</acronym>.</para>
402 <para revision="316660" contrib="sponsor" sponsor="&ff;">The
403 &man.cfumass.4; device has been added, providing a storage
404 frontend to <acronym>USB</acronym>
405 <acronym>OTG</acronym>-capable hardware.</para>
407 <para revision="317045" contrib="sponsor" sponsor="&yandex;">The
408 <literal>ipfw_pmod</literal> kernel module has been added,
409 designed for modifying packets of any protocol.</para>
412 <para>At present, only <acronym>TCP</acronym>
413 <acronym>MSS</acronym> modification is implemented.</para>
417 <sect2 xml:id="kernel-sysctl">
418 <title>System Tuning and Controls</title>
420 <para revision="315539">The
421 <literal>vfs.root_mount_always_wait</literal> tunable has been
422 added, which forces the kernel to wait for root mount holds
423 even if the root device is already present.</para>
425 <para revision="316120" contrib="sponsor"
426 sponsor="&dellemc;">When the system real time clock
427 (<acronym>RTC</acronym>) is adjusted, such as by
428 <function>clock_settime()</function>, sleeping threads are now
429 awakened and absolute sleep times are reevaluated based on the
430 new value of the RTC.</para>
434 <sect1 xml:id="drivers">
435 <title>Devices and Drivers</title>
437 <para>This section covers changes and additions to devices and
438 device drivers since &release.prev;.</para>
440 <sect2 xml:id="drivers-device">
441 <title>Device Drivers</title>
443 <para revision="308104">The &man.chromebook.platform.4; driver
444 has been added, providing support for various Chromebook
448 <sect2 xml:id="drivers-storage">
449 <title>Storage Drivers</title>
454 <sect2 xml:id="drivers-network">
455 <title>Network Drivers</title>
457 <para revision="309377" contrib="sponsor"
458 sponsor="&broadcom;">The &man.bnxt.4; driver has been added,
459 providing support for Broadcom® NetXtreme-C™ and
460 NetXtreme-E™ devices.</para>
462 <para revision="317116">The &man.qlnxe.4; driver has been added,
463 providing support for Cavium® Qlogic™ 45000 Series
466 <para revision="317182">The &man.qlxgbe.4; firmware has been
467 updated to version 5.4.64.</para>
471 <sect1 xml:id="hardware">
472 <title>Hardware Support</title>
474 <para>This section covers general hardware support for physical
475 machines, hypervisors, and virtualization environments, as well
476 as hardware changes and updates that do not otherwise fit in
477 other sections of this document.</para>
479 <sect2 xml:id="hardware-support">
480 <title>Hardware Support</title>
485 <sect2 xml:id="hardware-virtualization">
486 <title>Virtualization Support</title>
491 <sect2 xml:id="hardware-arm">
492 <title>ARM Support</title>
494 <para revision="305436">Support for the Allwinner A13 board has
499 <sect1 xml:id="storage">
500 <title>Storage</title>
502 <para>This section covers changes and additions to file systems
503 and other storage subsystems, both local and networked.</para>
505 <sect2 xml:id="storage-general">
506 <title>General Storage</title>
511 <sect2 xml:id="storage-net">
512 <title>Networked Storage</title>
517 <sect2 xml:id="storage-zfs">
523 <sect2 xml:id="storage-geom">
524 <title>&man.geom.4;</title>
530 <sect1 xml:id="boot">
531 <title>Boot Loader Changes</title>
533 <para>This section covers the boot loader, boot menu, and other
534 boot-related changes.</para>
536 <sect2 xml:id="boot-loader">
537 <title>Boot Loader Changes</title>
539 <para revision="307632" contrib="sponsor" sponsor="&gandi;">The
540 <acronym>EFI</acronym> loader has been updated to support
541 <acronym>TFTPFS</acronym>, providing netboot support without
542 requiring an <acronym>NFS</acronym> server.</para>
545 <sect2 xml:id="boot-menu">
546 <title>Boot Menu Changes</title>
552 <sect1 xml:id="network">
553 <title>Networking</title>
555 <para>This section describes changes that affect networking in
558 <sect2 xml:id="network-general">
559 <title>General Network Changes</title>
561 <para revision="311681" contrib="sponsor" sponsor="&yandex;">The
562 network stack has been updated to include
563 <function>ip6_tryforward()</function>, providing performance
564 benefits as result of a reduced number of checks.</para>
566 <para revision="313523" contrib="sponsor"
567 sponsor="&dellemc;">The network stack has been modified to fix
568 incorrect or invalid <acronym>IP</acronym> addresses if
569 multiple threads emit a <acronym>UDP</acronym>
570 <literal>log_in_vein</literal> message concurrently.</para>
572 <para revision="317386" contrib="sponsor"
573 sponsor="&multiplay;">The <acronym>TCP</acronym> stack has
574 been changed to use the estimated <acronym>RTT</acronym>
575 instead of timestamps for receive buffer auto resizing.</para>
578 <sect2 xml:id="network-protocols">
579 <title>Network Protocols</title>
581 <para revision="309337" contrib="sponsor"
582 sponsor="&dellemc;">Support for <acronym>GARP</acronym>
583 retransmit has been added. A new &man.sysctl.8;,
584 <literal>net.link.ether.inet.garp_rexmit_count</literal>, has
585 been added, which sets the maximum number of retransmissions
586 when set to a non-zero value.</para>
588 <para revision="315514" contrib="sponsor"
589 sponsor="&yandex;">Support for the
590 <literal>UDP_ENCAP_ESPINUDP_NON_IKE</literal> encapsulation
591 type has been removed.</para>
595 <sect1 xml:id="ports">
596 <title>Ports Collection and Package Infrastructure</title>
598 <para>This section covers changes to the &os; Ports
599 Collection, package infrastructure, and package maintenance and
600 installation tools.</para>
602 <sect2 xml:id="ports-infrastructure">
603 <title>Infrastructure Changes</title>
608 <sect2 xml:id="ports-packages ">
609 <title>Packaging Changes</title>
616 <title>Documentation</title>
618 <para>This section covers changes to the &os; Documentation
619 Project sources and toolchain.</para>
621 <sect2 xml:id="doc-sources">
622 <title>Documentation Source Changes</title>
627 <sect2 xml:id="doc-toolchain">
628 <title>Documentation Toolchain Changes</title>
634 <sect1 xml:id="releng">
635 <title>Release Engineering and Integration</title>
637 <para>This section convers changes that are specific to the
638 &os; Release Engineering processes.</para>
640 <sect2 xml:id="releng-changes">
641 <title>Integration Changes</title>