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: 284814 -->
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="266463">The default &man.newsyslog.conf.5; now
163 includes files in the
164 <filename>/etc/newsyslog.conf.d/</filename> and
165 <filename>/usr/local/etc/newsyslog.conf.d/</filename>
166 directories by default for &man.newsyslog.8;.</para>
168 <para revision="270675">The &man.mailwrapper.8; utility has been
169 updated to use &man.mailer.conf.5; from the
170 <literal>LOCALBASE</literal> environment variable, which
171 defaults to <filename class="directory">/usr/local</filename>
174 <para revision="272350">The <literal>MK_ARM_EABI</literal>
175 &man.src.conf.5; option has been removed.</para>
177 <para revision="285169">The <application>ntp</application> suite
178 has been updated to version 4.2.8p3.</para>
181 <sect2 xml:id="userland-programs">
182 <title>Userland Application Changes</title>
184 <para revision="258838" contrib="sponsor" sponsor="&ff;,
185 &google;" sponsorurl="">The &man.casperd.8; daemon has been
186 added, which provides access to functionality that is not
187 available in the <quote>capability mode</quote>
190 <para revision="260594">When unable to load a kernel module with
191 &man.kldload.8;, a message informing to view output of
192 &man.dmesg.8; is now printed, opposed to the previous output
193 <quote>Exec format error.</quote>.</para>
195 <para revision="260910">Allow &man.pciconf.8; to identify PCI
196 devices that are attached to a driver to be identified by
197 their device name instead of just the selector. Additionally,
198 an optional device argument to the <literal>-l</literal> flag
199 to restrict the output to only listing details about a single
202 <para revision="260913">A new flag, <quote>onifconsole</quote>
203 has been added to <filename>/etc/ttys</filename>. This allows
204 the system to provide a login prompt via serial console if the
205 device is an active kernel console, otherwise it is equivalent
206 to <literal>off</literal>.</para>
208 <para revision="260926">Support for displaying VPD for PCI
209 devices via &man.pciconf.8; has been added.</para>
211 <para revision="261498">&man.ping.8; protects against malicious
212 network packets using the Capsicum framework to drop
215 <para revision="265229">The &man.ps.1; utility has been
216 updated to include the <literal>-J</literal> flag, used to
217 filter output by matching &man.jail.8; IDs and names.
218 Additionally, argument <literal>0</literal> can be used to
219 <literal>-J</literal> to only list processes running on the
222 <para revision="265249">The &man.top.1; utility has been updated
223 to filter by &man.jail.8; ID or name, in followup to the
224 &man.ps.1; change in <literal>r265229</literal>.</para>
226 <para revision="266209">The &man.pmcstat.8; utility has been
227 updated to include a new flag, <literal>-l</literal>, which
228 ends event collection after the specified number of
231 <para revision="270745">The &man.ps.1; utility has been updated
232 to include a new keyword, <quote>tracer</quote>, which
233 displays the <acronym>PID</acronym> of the tracing
236 <para revision="271482">Support for adding empty partitions has
237 been added to the &man.mkimg.1; utility.</para>
239 <para revision="272166">The &man.primes.6; utility has been
240 updated to correctly enumerate prime numbers between
241 <literal>4295098369</literal> and
242 <literal>3825123056546413050</literal>, which prior to this
243 change, it would be possible for returned values to be
244 incorrectly identified as prime numbers.</para>
246 <para revision="272198">The &man.mkimg.1; utility has been
247 updated to include three options used to print information
248 about &man.mkimg.1; itself:</para>
250 <informaltable frame="none" pgwide="0">
252 <colspec colwidth="1*"/>
253 <colspec colwidth="1*"/>
256 <entry>Option</entry>
257 <entry>Output</entry>
263 <entry><literal>--version</literal></entry>
264 <entry>The current version of the &man.mkimg.1;
269 <entry><literal>--formats</literal></entry>
270 <entry>The disk image file formats supported by
271 &man.mkimg.1;</entry>
275 <entry><literal>--schemes</literal></entry>
276 <entry>The partition schemes supported by
277 &man.mkimg.1;</entry>
283 <para revision="272488">Userland &man.ctf.5; support in
284 &man.dtrace.1; has been added. With this change,
285 &man.dtrace.1; is able to resolve type info for function and
286 <acronym>USDT</acronym> probe arguments, and function return
289 <para revision="274960">The &man.elfdump.1; utility has been
290 updated to support capability mode provided by
291 &man.capsicum.4;.</para>
293 <para revision="275680" contrib="sponsor" sponsor="&ff;">The
294 &man.fstyp.8; utility has been added, which is used to
295 determine the filesystem on a specified device.</para>
297 <para revision="276881">The <literal>libedit</literal> library
298 has been updated to support <acronym>UTF</acronym>-8, which
299 additionally provides unicode support to &man.sh.1;.</para>
301 <para revision="276893" contrib="sponsor" sponsor="&ff;">The
302 &man.mkimg.1; utility has been updated to support the
303 <acronym>MBR</acronym> <acronym>EFI</acronym> partition
306 <para revision="277166" arch="powerpc">The &man.ptrace.2; system
307 call has been updated include support for Altivec registers on
308 &os;/&arch.powerpc;.</para>
310 <para revision="278320">A new device control utility,
311 &man.devctl.8; has been added, which allows making
312 administrative changes to individual devices, such as
313 attaching and detaching drivers, and enabling and disabling
314 devices. The &man.devctl.8; utility uses the new
315 &man.devctl.3; library.</para>
317 <para revision="279122" contrib="sponsor"
318 sponsor="&juniper;">The &man.netstat.1; utility has been
319 updated to link against the &man.libxo.3; shared
322 <para revision="279139">A new flag, <literal>-c</literal>, has
323 been added to the &man.mkimg.1; utility, which allows
324 specifying the capacity of the target disk image.</para>
326 <para revision="279315" contrib="sponsor" sponsor="&ff;">The
327 &man.uefisign.8; utility has been added.</para>
329 <para revision="279571" contrib="sponsor"
330 sponsor="&scaleengine;">The &man.freebsd-update.8; utility has
331 been updated to prevent fetching updated binary patches when
332 a previous upgrade has not been thoroughly completed.</para>
334 <para revision="280870">A regression in the &man.libarchive.3;
335 library that would prevent a directory from being included in
336 the archive when <literal>--one-file-system</literal> is used
337 has been fixed.</para>
339 <para revision="281311" contrib="sponsor" sponsor="&ff;">The
340 &man.ar.1; utility has been updated to set
341 <literal>ARCHIVE_EXTRACT_SECURE_SYMLINKS</literal> and
342 <literal>ARCHIVE_EXTRACT_SECURE_NODOTDOT</literal> to disallow
343 directory traversal when extracting an archive, similar to
346 <para revision="281617">A race condition in &man.wc.1; that
347 would cause final results to be sent to &man.stderr.4; when
348 receiving the <literal>SIGINFO</literal> signal has been
351 <para revision="282208" contrib="sponsor"
352 sponsor="&multiplay;">The &man.chflags.1;, &man.chgrp.1;,
353 &man.chmod.1;, and &man.chown.8; utilities now affect symbolic
354 links when the <literal>-R</literal> flag is specified, as
355 documented in &man.symlink.7;.</para>
357 <para revision="282608">The &man.date.1; utility has been
358 updated to print the modification time of the file passed as
359 an argument to the <literal>-r</literal> flag, improving
360 compatibility with the <acronym>GNU</acronym> &man.date.1;
361 utility behavior.</para>
363 <para revision="283961">The &man.pw.8; utility has been updated
364 with a new flag, <literal>-R</literal>, that sets the root
365 directory within which the utility will operate.</para>
367 <para revision="284297" contrib="sponsor"
368 sponsor="&clusterhq;">The &man.lockstat.1; utility has been
369 updated with several improvements:</para>
373 <para>Spin locks are now reported as the amount of time
374 spinning, instead of loop iterations.</para>
378 <para>Reader locks are now recognized as adaptive that can
383 <para>Lock aquisition events for successful reader try-lock
384 events are now reported.</para>
388 <para>Spin and block events are now reported before lock
389 acquisition events.</para>
393 <para revision="284589" contrib="sponsor"
394 sponsor="&scaleengine;">The &man.fstyp.8; utility has been
395 updated to be able to detect &man.zfs.8; and &man.geli.8;
398 <para revision="284883">The &man.mkimg.1; utility has been
399 updated to include support for <literal>NTFS</literal>
400 filesystems in both <acronym>MBR</acronym> and
401 <acronym>GPT</acronym> partitioning schemes.</para>
403 <para revision="285253">The &man.quota.1; utility has been
404 updated to include support for <acronym>IPv6</acronym>.</para>
406 <para revision="285420">The &man.jail.8; utility has been
407 updated to include a new flag, <literal>-l</literal>, which
408 ensures a clean environment in the target jail when used.
409 Additionally, &man.jail.8; will run a shell within the target
410 jail when run no commands are specified.</para>
412 <para revision="285550">The &man.w.1; utility has been updated
413 to display the full IPv6 remote address of the host from which
414 a user is connected.</para>
416 <para revision="285685">The &man.jail.8; framework has been
417 updated to allow mounting &man.linprocfs.5; and
418 &man.linsysfs.5; within a jail.</para>
420 <para revision="285772" contrib="sponsor"
421 sponsor="&emcisilon;">The &man.patch.1; utility has been
422 updated to include a new option to the <literal>-V</literal>
423 flag, <literal>none</literal>, which disables backup file
424 creation when applying a patch.</para>
426 <para revision="286010" contrib="sponsor" sponsor="&ff;">The
427 &man.ar.1; utility now enables deterministic mode
428 (<literal>-D</literal>) by default. This behavior can be
429 disabled by specifying the <literal>-U</literal> flag.</para>
431 <para revision="286289" contrib="sponsor"
432 sponsor="&scaleengine;">The &man.xargs.1; utility has been
433 updated to allow specifying <literal>0</literal> as an
434 argument to the <literal>-P</literal> (parallel mode) flag,
435 which allows creating as many concurrent processes as
438 <para revision="286795">The &man.patch.1; utility has been
439 updated to remove the automatic checkout feature.</para>
441 <para revision="287473" contrib="sponsor" sponsor="&gandi;">A
442 new utility, &man.sesutil.8;, has been added, which is used
443 to manage &man.ses.4; devices.</para>
445 <para revision="287522">The &man.pciconf.8; utility has been
446 updated to use the PCI ID database from the <filename
447 role="package">misc/pciids</filename> package, if present,
448 falling back to the PCI ID database in the &os; base
451 <para revision="287842" contrib="sponsor"
452 sponsor="&scaleengine;">The &man.ifconfig.8; utility has been
453 updated to always exit with an error code if an important
454 &man.ioctl.2; fails.</para>
457 <sect2 xml:id="userland-contrib">
458 <title>Contributed Software</title>
460 <para revision="258884" contrib="sponsor"
461 sponsor="&darpa_afrl;">&man.lldb.1; has been updated to
462 upstream snapshot version r196259.</para>
464 <para revision="260445">&man.byacc.1; has been updated to
465 version 20140101.</para>
467 <para revision="261283"><application>libc++</application> has
468 been updated to version 3.4.</para>
470 <para revision="261320"><application>OpenSSH</application> has
471 been updated to 6.5p1.</para>
473 <para revision="261344"><application>mdocml</application> has
474 been updated to version 1.12.3.</para>
476 <para revision="261991"><application>LLVM</application> and
477 <application>Clang</application> have been updated to
480 <para revision="275718">The <application>binutils</application>
481 suite of utilities has been updated to include upstream
482 patches that add new relocations for &arch.powerpc;
485 <para revision="276398" contrib="sponsor" sponsor="&ff;">The
486 <application>ELF Tool Chain</application> has been updated to
487 upstream revision r3136.</para>
489 <para revision="276551">The <application>texinfo</application>
490 utility and <literal>info</literal> pages were removed from
491 the base system. The <filename
492 role="package">print/texinfo</filename> port should be
493 installed on systems where <literal>info</literal> pages are
496 <para revision="276796" contrib="sponsor" sponsor="&ff;">The ELF
497 object manipulation tools
498 <application>addr2line</application>,
499 <application>elfcopy (strip)</application>,
500 <application>nm</application>,
501 <application>readelf</application>,
502 <application>size</application>, and
503 <application>strings</application> were switched to the
504 versions from the ELF Tool Chain project.</para>
506 <para revision="276881">The <literal>libedit</literal> library
507 has been updated to include <acronym>UTF-8</acronym> support,
508 adding <acronym>UTF-8</acronym> support to the &man.sh.1;
511 <para revision="278433">The &man.xz.1; utility has been updated
512 to support multi-threaded compression.</para>
514 <para revision="280932" contrib="sponsor" sponsor="&ff;">The
515 <application>elftoolchain</application> utilities have been
516 updated to version 3179.</para>
518 <para revision="281316">The &man.xz.1; utility has been updated
519 to version 5.2.1.</para>
521 <para revision="281373">The &man.nvi.1; utility has been updated
522 to version 2.1.3.</para>
524 <para revision="281806">The &man.wpa.supplicant.8; and
525 &man.hostapd.8; utilities have been updated to version
528 <para revision="282434" contrib="sponsor" sponsor="&ff;">The
529 &man.resolvconf.8; utility has been updated to version
532 <para revision="284254"><application>bmake</application> has
533 been updated to version 20150606.</para>
535 <para revision="285229"><application>sendmail</application> has
536 been updated to 8.15.2. Starting with &os; 11.0 and
537 sendmail 8.15, sendmail uses uncompressed IPv6 addresses by
538 default, i.e., they will not contain <quote>::</quote>. For
539 example, instead of <quote>::1</quote>, it will be
540 <quote>0:0:0:0:0:0:0:1</quote>. This permits a zero subnet to
541 have a more specific match, such as different map entries for
542 IPv6:0:0 versus IPv6:0. This change requires that
543 configuration data (including maps, files, classes, custom
544 ruleset, etc.) must use the same format, so make certain such
545 configuration data is upgrading. As a very simple check
546 search for patterns like 'IPv6:[0-9a-fA-F:]*::' and 'IPv6::'.
547 To return to the old behavior, set the m4 option
548 <literal>confUSE_COMPRESSED_IPV6_ADDRESSES</literal> or the cf
549 option <literal>UseCompressedIPv6Addresses</literal>.</para>
551 <para revision="285275">The &man.tcpdump.1; utility has been
552 updated to version 4.7.4.</para>
554 <para revision="285329"><application>OpenSSL</application> has
555 been updated to version 1.0.1p.</para>
557 <para revision="285642" contrib="sponsor" sponsor="&dell;">The
558 &man.ssh.1; utility has been updated to re-implement hostname
559 canonicalization before locating the host in
560 <filename>known_hosts</filename>.</para>
562 <para revision="285972">The &man.libarchive.3; library has been
563 updated to properly skip a sparse file entry in a &man.tar.1;
564 file, which would previously produce errors.</para>
566 <para revision="286503">The <application>apr</application>
567 library used by &man.svnlite.1; has been updated to version
570 <para revision="286505">The <application>serf</application>
571 library used by &man.svnlite.1; has been updated to version
574 <para revision="286505">The &man.svnlite.1; utility has been
575 updated to version 1.8.14.</para>
577 <para revision="286510">The <application>sqlite3</application>
578 library used by &man.svnlite.1; and &man.kerberos.8; has been
579 updated to version 3.8.11.1.</para>
581 <para revision="286750">Timezone data files have been updated to
582 version 2015f.</para>
584 <para revision="287168">The &man.acpi.4; subsystem has been
585 updated to version 20150818.</para>
587 <para revision="287917">The &man.unbound.8; utility has been
588 updated to version 1.5.4.</para>
590 <para revision="288090">&man.jemalloc.3; has been updated to
591 version 4.0.2.</para>
593 <para revision="288143">The &man.file.1; utility has been
594 updated to version 5.25.</para>
596 <para revision="288303">The &man.nc.1; utility has been updated
597 to the OpenBSD 5.8 version.</para>
600 <sect2 xml:id="userland-installer">
601 <title>Installation and Configuration Tools</title>
603 <para revision="271539">The &man.bsdinstall.8; partition editor
604 and &man.sade.8; utility have been updated to include native
605 <acronym>ZFS</acronym> support.</para>
607 <para revision="272274">The &os; installation utility,
608 &man.bsdinstall.8;, has been updated to set the
609 <literal>canmount</literal> &man.zfs.8; property to
610 <literal>off</literal> for the <filename
611 class="directory">/var</filename> dataset, preventing the
612 contents of directories within <filename
613 class="directory">/var</filename> from conflicting when
614 using multiple boot environments, such as that provided by
615 <filename role="package">sysutils/beadm</filename>.</para>
617 <para revision="274394">The &man.bsdconfig.8; utility has been
618 updated to skip the initial &man.tzsetup.8;
619 <acronym>UTC</acronym> versus wall-clock time prompt when run
620 in a virtual machine, determined when the
621 <literal>kern.vm_guest</literal> &man.sysctl.8; is set to
622 <literal>1</literal>.</para>
624 <para revision="275874">The &man.bsdinstall.8; utility has been
625 updated to use the new &man.dpv.3; library to display progress
626 when extracting the &os; distributions.</para>
628 <para revision="285557" contrib="sponsor"
629 sponsor="&scaleengine;">Support for detecting and implementing
630 aligning partitions on 1Mb boundaries has been added to
631 &man.bsdinstall.8;.</para>
633 <para revision="285679" contrib="sponsor"
634 sponsor="&scaleengine;">Support for detecting and implementing
635 a workaround for various laptops and motherboards that do not
636 boot properly from <acronym>GPT</acronym>-partitioned disks
637 has been added to &man.bsdinstall.8;. Additionally, the
638 <literal>active</literal> flag will be set on the partition
641 <para revision="285679" contrib="sponsor"
642 sponsor="&scaleengine;">Support for selecting the partitioning
643 scheme when installing on the <acronym>UFS</acronym>
644 filesystem has been added to &man.bsdinstall.8;.</para>
647 <sect2 xml:id="userland-rc">
648 <title><filename class="directory">/etc/rc.d</filename>
651 <para revision="270676">The &man.rc.8; subsystem has been
652 updated to allow configuring services in <filename
653 class="directory">${LOCALBASE}/etc/rc.conf.d/</filename>.
654 If <literal>LOCALBASE</literal> is unset, it defaults to
655 <filename class="directory">/usr/local</filename>.</para>
657 <para revision="273955">A new &man.rc.8; script,
658 <filename>growfs</filename>, has been added, which will resize
659 the root filesystem on boot if <filename>/firstboot</filename>
662 <para revision="275299">The <filename>mrouted</filename>
663 &man.rc.8; script has been removed from the base system. An
664 equivalent script is available from the <filename
665 role="package">net/mrouted</filename> port.</para>
667 <para revision="279463" contrib="sponsor"
668 sponsor="&sandvine;">A new &man.rc.8; script,
669 <filename>iovctl</filename>, has been added, which allows
670 automatically starting the &man.iovctl.8; utility at
673 <para revision="287576" contrib="sponsor"
674 sponsor="&scaleengine;">The &man.service.8; utility has been
675 updated to honor entries within <filename
676 class="directory">/etc/rc.conf.d/</filename>.</para>
680 <sect2 xml:id="userland-periodic">
681 <title><filename class="directory">/etc/periodic</filename>
684 <para revision="271321">The daily &man.periodic.8; script
685 <filename>110.clean-tmps</filename> has been updated to avoid
686 crossing filesystem mount boundaries when cleaning files in
687 <filename class="directory">/tmp</filename>.</para>
689 <para revision="277216" contrib="sponsor" sponsor="&ff;">A new
690 &man.periodic.8; script,
691 <filename>510.status-world-kernel</filename>, has been added,
692 which evaluates the running userland and kernel versions from
693 the &man.uname.1; <literal>-U</literal> and
694 <literal>-K</literal> arguments, and prints an error if the
695 system userland and kernel are not in sync.</para>
698 <sect2 xml:id="userland-libraries">
699 <title>Runtime Libraries and API</title>
701 <para revision="265995">The Blowfish &man.crypt.3; default
702 format has been changed to
703 <literal>$2b$</literal>.</para>
705 <para revision="268461">The &man.readline.3; library is now
706 statically linked in software within the base system, and the
707 shared library is no longer installed, allowing the Ports
708 Collection to use a modern version of the library.</para>
710 <para revision="272273">The &man.strptime.3; library has been
711 updated to add support for <acronym>POSIX</acronym>-2001
712 features <literal>%U</literal> and
713 <literal>%W</literal>.</para>
715 <para revision="272842,272848" contrib="sponsor"
716 sponsor="&ff;">The &man.dl.iterate.phdr.3; library has been
717 changed to always return the path name of the
718 <acronym>ELF</acronym> object in the
719 <literal>dlpi_name</literal> structure member.</para>
721 <para revision="273562" contrib="sponsor"
722 sponsor="&juniper;">The &man.libxo.3; library has been
723 imported to the base system.</para>
725 <para revision="273806" contrib="sponsor" sponsor="&chelsio;">A
726 userland library for Chelsio Terminator 5 based iWARP cards
727 has been added, allowing userland <acronym>RDMA</acronym>
728 applications to work over compatible
729 <acronym>NIC</acronym>s.</para>
731 <para revision="274987">The &man.gpio.3; library has been added,
732 providing a wrapper around the &man.gpio.4; kernel
735 <para revision="275800" contrib="sponsor" sponsor="&ff;">The
736 &man.procctl.2; system call has been updated to include
737 a facility for non-&man.init.8; processes to be declared as
738 the reaper of child processes and their decendants.</para>
740 <para revision="277610">The <literal>futimens()</literal> and
741 <literal>utimensat()</literal> system calls have been
742 added. See &man.utimensat.2; for more information.</para>
744 <para revision="278934">The &man.elf.3; compile-time dependency
745 has been removed from <filename>dtri.o</filename>, which
746 allows adding <application>DTrace</application> probes to
747 userland applications and libraries without also linking
748 against &man.elf.3;.</para>
750 <para revision="279186">The &man.setmode.3; function has been
751 updated to consistently set <literal>errno</literal> on
754 <para revision="279663">The &man.qsort.3; functions have been
755 updated to be able to handle 32-bit aligned data on 64-bit
756 platforms, also providing a significant improvement in 32-bit
759 <para revision="281130">Several standard include headers have
760 been updated to use of <application>gcc</application>
761 attributes, such as <literal>__result_use_check()</literal>,
762 <literal>__alloc_size()</literal>, and
763 <literal>__nonnull()</literal>.</para>
765 <para revision="281845">Support for file verification in
766 <acronym>MAC</acronym> has been added.</para>
768 <para revision="282973" contrib="sponsor" sponsor="&ff;">The
769 <literal>libgomp</literal> library is now only built when
770 building <acronym>GCC</acronym> from the base system. An
771 up-to-date version is available in the Ports Collection as
773 role="package">devel/libiomp5-devel</filename>.</para>
775 <para revision="282988">The <filename>stdlib.h</filename> and
776 <filename>malloc.h</filename> headers have been updated to
777 make use of the <application>gcc</application>
778 <literal>alloc_align()</literal> attribute.</para>
780 <para revision="284483" contrib="sponsor"
781 sponsor="&scaleengine;">The Blowfish &man.crypt.3; library
782 has been updated to support $2y$ hashes.</para>
784 <para revision="285277">The &man.execl.3; and &man.execlp.3;
785 library functions have been updated to use the
786 <literal>__sentinel</literal> <application>gcc</application>
790 <sect2 xml:id="userland-abi">
791 <title>ABI Compatibility</title>
793 <para revision="271982">The &linux; compatibility version has
794 been updated to <literal>2.6.18</literal>. The
795 <literal>compat.linux.osrelease</literal> &man.sysctl.8; is
796 evaluated when building the <filename
797 role="package">emulators/linux-c6</filename> and related
800 <para revision="288669">The stack protector has been upgraded to
801 the "strong" level, elevating the protection against buffer
802 overflows. While this significantly improves the security of
803 the system, extensive testing was done to ensure there are no
804 measurable side effects in performance or
805 functionality.</para>
809 <sect1 xml:id="kernel">
810 <title>Kernel</title>
812 <para>This section covers changes to kernel configurations, system
813 tuning, and system control parameters that are not otherwise
816 <sect2 xml:id="kernel-bugfix">
817 <title>Kernel Bug Fixes</title>
819 <para revision="265876">A kernel bug that inhibited proper
820 functionality of the <literal>dev.cpu.0.freq</literal>
821 &man.sysctl.8; on &intel; processors with Turbo
822 Boost ™ enabled has been fixed.</para>
824 <para revision="271697" arch="powerpc">Support for
825 &man.dtrace.1; stack tracing has been fixed for
826 &os;/&arch.powerpc;, using the <literal>trapexit()</literal>
827 and <literal>asttrapexit()</literal> functions instead of
828 checking within addressed kernel space.</para>
830 <para revision="271917">A kernel panic triggered when destroying
831 a &man.vnet.9; &man.jail.8; configured with &man.gif.4; has
834 <para revision="271918">A kernel panic triggered when destroying
835 a &man.vnet.9; &man.jail.8; configured with &man.gre.4; has
838 <para revision="272089">A bug in &man.ipfw.4; that could
839 potentially lead to a kernel panic when using &man.dummynet.4;
840 at layer 2 has been fixed.</para>
842 <para revision="280930" contrib="sponsor" sponsor="&mitail;">The
843 kernel <acronym>RPC</acronym> has been updated to include
844 several enhancements:</para>
848 <para>The 45 MiB limit on requests queued for
849 &man.nfsd.8; threads has been removed.</para>
853 <para>Avoids unnecessary throttling by not deferring
854 accounting for completed requests.</para>
858 <para>Fixes an integer overflow and signedness bugs.</para>
862 <para revision="281261" arch="powerpc">Support for
863 &man.dtrace.1; has been added for the
864 Book-E ™.</para>
866 <para revision="287886" contrib="sponsor"
867 sponsor="&multiplay;">The &man.kqueue.2; system call has been
868 updated to handle write events to files larger than 2
872 <sect2 xml:id="kernel-config">
873 <title>Kernel Configuration</title>
875 <para revision="266531">The <literal>IMAGACT_BINMISC</literal>
876 kernel configuration option has been enabled by default,
877 which enables application execution through emulators, such
878 as <application>Qemu</application>.</para>
880 <para revision="268045">The <literal>VT</literal> kernel
881 configuration file has been removed, and the &man.vt.4;
882 driver is included in the <literal>GENERIC</literal> kernel.
883 To enable &man.vt.4;, enter <literal>set kern.vty=vt</literal>
884 at the &man.loader.8; prompt during boot, or add
885 <literal>kern.vty=vt</literal> to &man.loader.conf.5; and
886 reboot the system.</para>
888 <para revision="277904">The &man.config.8; utility has been
889 updated to allow using a non-standard <filename
890 class="directory">src/</filename> tree, specified as an
891 argument to the <literal>-s</literal> flag.</para>
893 <para revision="277990" arch="powerpc64">The
894 &os;/&arch.powerpc64; kernel now builds as
895 a position-independent executable, allowing the kernel to be
896 loaded into and run from any physical or virtual
900 <para>This change requires an update to &man.loader.8;.
901 The userland and kernel must be updated before rebooting the
905 <para revision="278338" arch="arm">A new module for creating
906 <filename>rpi.dtb</filename> has been added for the Raspberry
909 <para revision="278340" arch="arm">The
910 <filename>rpi.dtb</filename> module is now installed to
911 <filename class="directory">/boot/dtb/</filename> by
912 default for the Raspberry Pi system.</para>
914 <para revision="279189" contrib="sponsor" sponsor="&ff;"
915 arch="powerpc">Kernel support for Vector-Scalar eXtension
916 (<acronym>VSX</acronym>) found on POWER7 and POWER8 hardware
917 has been added.</para>
919 <para revision="279252" contrib="sponsor" sponsor="&ff;"
920 arch="powerpc">The &man.pmap.9; implementation for 64-bit
921 &powerpc; processors has been overhaulded to improve
924 <para revision="279824" arch="arm">A new module for creating
925 the <filename>dtb</filename> module for AM335x systems has
928 <para revision="281495" contrib="sponsor" sponsor="&ff;">The
929 <literal>PAE_TABLES</literal> kernel configuration option has
930 been added for &os;/&arch.i386;, which instructs &man.pmap.9;
931 to use <acronym>PAE</acronym> format for page tables while
932 maintaining a 32-bit physical address size elsewhere in the
933 kernel. The use of this option can enhance application-level
934 security by enabling the creation of <quote>no execute</quote>
935 mappings on modern &arch.i386; processors. Unlike the
936 <literal>PAE</literal> option, <literal>PAE_TABLES</literal>
937 preserves kernel binary interface (<acronym>KBI</acronym>)
938 compatibility with non-<literal>PAE</literal> kernels,
939 allowing non-<literal>PAE</literal> kernel modules and drivers
940 to work with a <literal>PAE_TABLES</literal>-enabled kernel.
941 Additionally, system limits are tuned for 4GB maximum
942 <acronym>RAM</acronym>, avoiding kernel virtual address space
943 (<acronym>KVA</acronym>) exhaustion.</para>
945 <para revision="282215">The <literal>SIFTR</literal> kernel
946 configuration has been added, allowing building &man.siftr.4;
947 statically into the kernel.</para>
949 <para revision="282731" arch="arm">The &arch.arm; boot loader,
950 <filename>ubldr</filename>, is now relocatable. In addition,
951 <filename>ubldr.bin</filename> is now created during build
952 time, which is a stripped binary with an entry point of
953 <literal>0</literal>, providing the ability to specify the
954 load address by running <literal>go
955 ${loadaddr}</literal> in
956 <literal>u-boot</literal>.</para>
958 <para revision="282921" contrib="sponsor" sponsor="&intelcorp;"
959 arch="amd64,i386">The &man.nvd.4; and &man.nvme.4; drivers are
960 now included in the <filename>GENERIC</filename> kernel
961 configuration by default.</para>
963 <para revision="283959" contrib="sponsor"
964 sponsor="&limelight;">A new kernel configuration option,
965 <literal>EM_MULTIQUEUE</literal>, has been added which enables
966 multi-queue support in the &man.em.4; driver.</para>
969 <para>Multi-queue support in the &man.em.4; driver is not
970 officially supported by &intel;.</para>
973 <para revision="285142" contrib="sponsor"
974 sponsor="&netgate;">The <filename>GENERIC</filename> kernel
975 configuration has been updated to include the
976 <literal>IPSEC</literal> option by default.</para>
978 <para revision="285387" contrib="sponsor"
979 sponsor="&norse;, &dell;">Initial <acronym>NUMA</acronym>
980 affinity and policy configuration has been added. See
981 &man.numactl.1;, and &man.numa.getaffinity.2;, for usage
984 <para revision="286231">The &man.pms.4; driver has been added
985 to the <filename>GENERIC</filename> kernel configuration for
986 supported architectures.</para>
988 <para revision="287306" arch="arm">The
989 <filename>CUBIEBOARD2</filename> kernel configuration has been
990 renamed to <filename>A20</filename>.</para>
992 <para revision="288176" contrib="sponsor" sponsor="&ff;">Kernel
993 debugging symbols are now installed to <filename
994 class="directory">/usr/lib/debug/boot/kernel/</filename>.
995 To retain the previous behavior, add
996 <literal>KERN_DEBUGDIR=""</literal> to
997 &man.src.conf.5;.</para>
1000 <sect2 xml:id="kernel-sysctl">
1001 <title>System Tuning and Controls</title>
1003 <para revision="275140" contrib="sponsor" sponsor="&ff;">The
1004 &man.hwpmc.4; default and maximum callchain depths have been
1005 increased. The default has been increased from 16 to 32, and
1006 the maximum increased from 32 to 128.</para>
1008 <para revision="279361">The <literal>kern.osrelease</literal>
1009 and <literal>kern.osreldate</literal> are now configurable
1010 &man.jail.8; parameters.</para>
1012 <para revision="280308,280949" contrib="sponsor"
1013 sponsor="&ix;, &ff;">The &man.devfs.5; device filesystem has
1014 been changed to update timestamps for read/write operations
1015 using seconds precision. A new &man.sysctl.8;,
1016 <literal>vfs.devfs.dotimes</literal> has been added, which
1017 when set to a non-zero value, enables default precision
1018 timestamps for these operations.</para>
1020 <para revision="282213" contrib="sponsor" sponsor="&ff;">A new
1021 &man.sysctl.8;, <literal>kern.racct.enable</literal>, has been
1022 added, which when set to a non-zero value allows using
1023 &man.rctl.8; with the <literal>GENERIC</literal> kernel.
1024 A new kernel configuration option,
1025 <literal>RACCT_DISABLED</literal> has also been added.</para>
1027 <para revision="282901" contrib="sponsor" sponsor="&ff;">The
1028 <literal>GENERIC</literal> kernel configuration now includes
1029 <literal>RACCT</literal> and <literal>RCTL</literal> by
1033 <para>To enable <literal>RACCT</literal> and
1034 <literal>RCTL</literal> on a system using the
1035 <literal>GENERIC</literal> kernel configuration, add
1036 <literal>kern.racct.enable=1</literal> to
1037 &man.loader.conf.5;, and reboot the system.</para>
1040 <para revision="283136" contrib="sponsor"
1041 sponsor="&limelight;">A new &man.sysctl.8;,
1042 <literal>net.inet.tcp.hostcache.purgenow</literal>, has
1043 been added, which when set to <literal>1</literal> during
1044 runtime will flush all
1045 <literal>net.inet.tcp.hostcache</literal> entries.</para>
1047 <para revision="285524">A new &man.sysctl.8;,
1048 <literal>hw.model</literal>, has been added, which displays
1049 <acronym>CPU</acronym> model information.</para>
1051 <para revision="286591">The &man.uart.4; driver has been
1052 updated to allow tuning packets per second captured during
1057 <sect1 xml:id="drivers">
1058 <title>Devices and Drivers</title>
1060 <para>This section covers changes and additions to devices and
1061 device drivers since &release.prev;.</para>
1063 <sect2 xml:id="drivers-device">
1064 <title>Device Drivers</title>
1066 <para revision="260903">Support for GPS ports has been added to
1067 &man.uhso.4;.</para>
1069 <para revision="265132">The &man.full.4; device has been added,
1070 and the <literal>lindev(4)</literal> device has been removed.
1071 Prior to this change, <literal>lindev(4)</literal> provided
1072 only the <filename>/dev/full</filename> character device,
1073 returning <literal>ENOSPC</literal> on write attempts. As
1074 this device is not specific to &linux;, a native &os; version
1075 has been added.</para>
1077 <para revision="271705">Hardware context support has been
1078 added to the <literal>drm/i915</literal> driver, adding
1079 support for <application>Mesa</application> 9.2 and
1082 <para revision="273178">The &man.vt.4; driver has been updated,
1083 replacing the bitmapped <literal>kern.vt.spclkeys</literal>
1084 &man.sysctl.8; with individual
1085 <literal>kern.vt.kbd_*</literal> variants.</para>
1087 <para revision="273598">The &man.hpet.4; driver has been updated
1089 <filename>/dev/hpet<replaceable>N</replaceable></filename>
1090 device, providing access to <acronym>HPET</acronym> from
1093 <para revision="280183">The <literal>drm</literal> code has
1094 been updated to match &linux; version 3.8.13.</para>
1096 <para revision="281440">The &man.psm.4; driver has been updated
1097 to include improved support for newer Synaptics ®
1098 touchpads and the ClickPad ® mouse on newer
1099 Lenovo ™ laptops.</para>
1101 <para revision="282783" arch="powerpc">Support for the Freescale
1102 <acronym>PCI</acronym> Root Complex device has been
1105 <para revision="285876">The &man.cyapa.4; driver has been added,
1106 supporting the Cypress APA I2C trackpad.</para>
1108 <para revision="285883">The &man.isl.4; driver has been added,
1109 supporting the Intersil I2C ISL29018 digital ambient light
1113 <sect2 xml:id="drivers-storage">
1114 <title>Storage Drivers</title>
1116 <para revision="265236" contrib="sponsor"
1117 sponsor="&lsi;, &spectralogic;" sponsorurl="">The &man.mpr.4;
1118 device has been added, providing support for LSI Fusion-MPT
1119 3 12Gb SCSI/SATA controllers.</para>
1121 <para revision="265555" contrib="sponsor"
1122 sponsor="&lsi;">The &man.mrsas.4; driver has been added,
1123 providing support for LSI MegaRAID SAS controllers. The
1124 &man.mfi.4; driver will attach to the controller, by default.
1125 To enable &man.mrsas.4; add
1126 <literal>hw.mfi.mrsas_enable=1</literal> to
1127 <filename>/boot/loader.conf</filename>, which turns off
1128 &man.mfi.4; device probing.</para>
1131 <para>At this time, the &man.mfiutil.8; utility and the &os;
1132 version of <application>MegaCLI</application> and
1133 <application>StorCli</application> do not work with
1134 &man.mrsas.4;.</para>
1137 <para revision="275461" contrib="sponsor" sponsor="&ix;">The
1138 &man.ctl.4; subsystem has been updated, increasing the ports
1139 limit from <literal>128</literal> to <literal>256</literal>,
1140 and <acronym>LUN</acronym> limit from <literal>256</literal>
1141 to <literal>1024</literal>.</para>
1143 <para revision="276526">The <literal>asr(4)</literal> driver has
1144 been removed, and is no longer supported.</para>
1146 <para revision="281387">The &man.hptnr.4; driver has been
1147 updated to version 1.1.1.</para>
1149 <para revision="285662">The &man.pms.4; driver has been added,
1150 providing support for the PMC Sierra line of
1151 <acronym>SAS</acronym>/<acronym>SATA</acronym> host bus
1154 <para revision="287117" contrib="sponsor"
1155 sponsor="&emcisilon;">The &man.ioat.4; driver has been added,
1156 providing support for the <acronym>PSE</acronym> (Platform
1157 Storage Extension).</para>
1159 <para revision="287621" contrib="sponsor" sponsor="&ix;">The
1160 <acronym>CTL</acronym> High Availability implementation has
1161 been rewritten.</para>
1163 <para revision="288310">The &man.ctl.4; driver has been updated
1164 to support CD-ROM and removable devices.</para>
1167 <sect2 xml:id="drivers-network">
1168 <title>Network Drivers</title>
1170 <para revision="258830">Support for Broadcom chipsets BCM57764,
1171 BCM57767, BCM57782, BCM57786 and BCM57787 has been added to
1174 <para revision="260448">Support for the &intel; Centrino™
1175 Wireless-N 135 chipset has been added.</para>
1177 <para revision="260552">Firmware for &intel; Centrino™
1178 Wireless-N 105 devices has been added to the base
1181 <para revision="261975">The deprecated nve(4) driver has been
1182 removed. Users of NVIDIA nForce MCP network adapters are
1183 advised to use the &man.nfe.4; driver instead, which has been
1184 the default driver for this hardware since
1185 &os; 7.0.</para>
1187 <para revision="264601" contrib="sponsor"
1188 sponsor="&darpa_afrl;">The <literal>if_nf10bmac(4)</literal>
1189 device has been added, providing support for NetFPGA-10G
1190 Embedded CPU Ethernet Core.</para>
1193 <para>The <literal>if_nf10bmac(4)</literal> driver operates on
1194 the FPGA, and is not suited for the PCI host
1198 <para revision="265348" contrib="sponsor"
1199 sponsor="&netgate;">The &man.ath.hal.4; driver has been
1200 updated to support the Atheros AR1111 chipset.</para>
1202 <para revision="266770">Support for the &intel; Centrino™
1203 Wireless-N 105 chipset has been added.</para>
1205 <para revision="266757" contrib="sponsor"
1206 sponsor="&chelsio;">Support for the &man.cxgbe.4; Terminator
1207 5 (T5) 10G/40G cards has been added to &man.netmap.4;.</para>
1209 <para revision="272730">The &man.alc.4; driver has been updated
1210 to support AR816x and AR817x ethernet controllers.</para>
1212 <para revision="272906">The &man.pf.4; packet filter default
1213 hash has been changed from <literal>Jenkins</literal> to
1214 <literal>Murmur3</literal>, providing a 3-percent performance
1215 increase in packets-per-second.</para>
1217 <para revision="273331">The &man.vxlan.4; driver has been added,
1218 which creates a virtual Layer 2 (Ethernet) network overlaid in
1219 a Layer 3 (IP/UDP) network. The &man.vxlan.4; driver is
1220 analogous to &man.vlan.4;, but is designed to be better suited
1221 for large, multiple-tenant datacenter environments.</para>
1223 <para revision="274246" contrib="sponsor" sponsor="&yandex;">The
1224 &man.gre.4; driver has been significantly overhauled, and has
1225 been split into two separate modules, &man.gre.4; and
1228 <para revision="278551">The &man.ral.4; driver has been updated
1229 to support the RT5390 and RT5392 chipsets.</para>
1231 <para revision="283514" contrib="sponsor"
1232 sponsor="&solarflare;">The &man.sfxge.4; driver has been
1233 updated to support Solarflare Flareon Ultra 7000-series
1236 <para revision="283766" contrib="sponsor"
1237 sponsor="&limelight;">The &man.em.4; driver has been updated
1238 with improved transmission queue hang detection.</para>
1240 <para revision="284125">The &man.cdce.4; driver has been updated
1241 to include support for the RTL8153 chipset.</para>
1243 <para revision="286441">The &man.iwm.4; driver has been imported
1244 from OpenBSD, providing support for &intel; 3160/7260/7265
1245 wireless chipsets.</para>
1247 <para revision="286829" contrib="sponsor"
1248 sponsor="&limelight;">The &man.em.4; driver has been updated
1249 to allow disabling <acronym>CRC</acronym> stripping.</para>
1251 <para revision="287222">The &man.pf.4; implementation has been
1252 updated to remove support for the <literal>scrub fragment
1253 crop|drop-ovl</literal> filtering rule. Systems with this
1254 rule in &man.pf.conf.5; will implicitly be converted to the
1255 <literal>scrub fragment reassemble</literal> filtering rule,
1256 without necessary intervention.</para>
1258 <para revision="287469" contrib="sponsor"
1259 sponsor="&intelcorp;">The &man.em.4; driver has been updated
1260 to support the Skylake I219 chipset.</para>
1262 <para revision="288654">The &man.lagg.4; driver has been updated
1263 to remove support for the <literal>fec</literal>
1268 <sect1 xml:id="hardware">
1269 <title>Hardware Support</title>
1271 <para>This section covers general hardware support for physical
1272 machines, hypervisors, and virtualization environments, as well
1273 as hardware changes and updates that do not otherwise fit in
1274 other sections of this document.</para>
1276 <sect2 xml:id="hardware-support">
1277 <title>Hardware Support</title>
1279 <para revision="268303">The &man.asmc.4; driver has been
1280 updated to support the &apple; MacMini 3,1.</para>
1282 <para revision="268351">Support for &os;/ia64 has been dropped
1283 as of &os; 11.</para>
1285 <para revision="274386">An issue that could cause a system to
1286 hang when entering <acronym>ACPI</acronym>
1287 <literal>S3</literal> state (suspend to
1288 <acronym>RAM</acronym>) has been corrected in the &man.acpi.4;
1289 and &man.pci.4; drivers.</para>
1291 <para revision="274733" arch="powerpc">The power management unit
1292 subsystem has been updated to support power button events on
1293 certain &arch.powerpc; hardware, such as aluminum
1294 PowerBook ®.</para>
1296 <para revision="275171,275190" arch="powerpc">The &man.hwpmc.4;
1297 driver has been updated to correct performance counter
1298 sampling on G4 (MPC74xxx) and G5 class processors.</para>
1300 <para revision="275732" contrib="sponsor"
1301 sponsor="&ff;,&netgate;">The
1302 <application>OpenCrypto</application> framework has been
1303 updated to include <literal>AES-ICM</literal> and
1304 <literal>AES-GCM</literal> modes, both of which have also been
1305 added to the &man.aesni.4; driver.</para>
1307 <para revision="281713" arch="powerpc">The &man.hwpmc.4;
1308 driver has been updated to support the Freescale e500
1311 <para revision="283766">The &man.ig4.4; driver has been added,
1312 providing support for the fourth generation &intel;
1313 <acronym>I2C</acronym> SMBus.</para>
1315 <para>The &man.uart.4; driver has been updated to support
1316 <acronym>AMT</acronym> devices on newer systems.</para>
1318 <para revision="285316" contrib="sponsor" sponsor="&ff;"
1319 arch="arm64">Initial <acronym>SMP</acronym> support has been
1320 added to the &os;/&arch.arm64; port.</para>
1323 <sect2 xml:id="hardware-virtualization">
1324 <title>Virtualization Support</title>
1326 <para revision="260410">Support for the <quote>Virtual Interrupt
1327 Delivery</quote> feature of &intel; VT-x is enabled if
1328 supported by the CPU. This feature can be disabled by running
1329 <literal>sysctl hw.vmm.vmx.use_apic_vid=0</literal>.
1330 Additionally, to persist this setting across reboots, add
1331 <literal>hw.vmm.vmx.use_apic_vid=0</literal> to
1332 <filename>/etc/sysctl.conf</filename>.</para>
1334 <para revision="260532">Support for <quote>Posted Interrupt
1335 Processing</quote> is enabled if supported by the CPU. This
1336 feature can be disabled by running <literal>sysctl
1337 hw.vmm.vmx.use_apic_pir=0</literal>. Additionally, to
1338 persist this setting across reboots, add
1339 <literal>hw.vmm.vmx.use_apic_pir=0</literal> to
1340 <filename>/etc/sysctl.conf</filename>.</para>
1342 <para revision="260582">Unmapped IO support has been added to
1343 &man.virtio_blk.4;.</para>
1345 <para revision="260583">Unmapped IO support has been added to
1346 &man.virtio_scsi.4;.</para>
1348 <para revision="260847">The &man.virtio_random.4; driver has
1349 been added to harvest entropy from the host system.</para>
1351 <para revision="261504">&os;/&arch.i386; guests can be run under
1354 <para revision="267536" contrib="sponsor"
1355 sponsor="&citrix.rd;">Support for running a &os;/&arch.amd64;
1356 <application>Xen</application> guest instance as
1357 <acronym>PVH</acronym> guest has been added.
1358 <acronym>PVH</acronym> mode, short for <quote>Para-Virtualized
1359 Hardware</quote>, uses para-virtualized drivers for boot and
1360 I/O, and uses hardware virtualization extensions for all other
1361 tasks, without the need for emulation.</para>
1363 <para revision="273375">The &man.bhyve.8; hypervisor has been
1364 updated to support &amd; processors with
1365 <acronym>SVM</acronym> and <acronym>AMD-V</acronym> hardware
1368 <para revision="273515">The &man.virtio.console.4; driver has
1369 been added, which provides an interface to VirtIO console
1370 devices through a &man.tty.4; device.</para>
1372 <para revision="279957">The &man.bhyve.8; hypervisor has been
1373 updated to support <literal>DSM TRIM</literal> commands for
1374 virtual <acronym>AHCI</acronym> disks.</para>
1376 <para revision="281439" arch="arm">Support for the
1377 <application>QEMU</application> <literal>virt</literal> system
1378 has been added.</para>
1380 <para revision="282212" contrib="sponsor" sponsor="&msostc;">The
1381 Hyper-V™ drivers have been updated with several
1382 enhancements:</para>
1386 <para>The &man.hv.vmbus.4; driver now has multi-channel
1391 <para>The &man.hv.storvsc.4; driver now has scatter/gather
1392 support, in addition to performance improvements.</para>
1396 <para>The &man.hv.kvp.4; driver has received several bug
1401 <para revision="282274">Support for &man.xen.4; para-virtualized
1402 <literal>domU</literal> kernels has been removed.</para>
1404 <para revision="284746" contrib="sponsor" sponsor="&msostc;">The
1405 &man.hv.netvsc.4; driver has been updated to support checksum
1406 offloading and <acronym>TSO</acronym>.</para>
1408 <para revision="286062">The &man.xen.4; driver has been updated
1409 to include support for <literal>blkif</literal> indirect
1413 <sect2 xml:id="hardware-arm">
1414 <title>ARM Support</title>
1416 <para revision="260921">The &man.nand.4; device is enabled for
1417 ARM devices by default.</para>
1419 <para revision="266943" arch="arm">Support for the Exynos 5420
1420 Octa system has been added.</para>
1422 <para revision="267390" arch="arm">The <acronym>SMP</acronym>
1423 option has been enabled for all Exynos 5 systems supported by
1426 <para revision="268838" arch="arm">Support for the Toradex
1427 Apalis i.MX6 development board has been added.</para>
1429 <para revision="273264" arch="armv6">An issue that could cause
1430 instability when detecting <acronym>SD</acronym> cards on the
1431 Raspberry Pi <acronym>SOC</acronym> has been fixed.</para>
1433 <para revision="275963">The <literal>bcm2835_cpufreq</literal>
1434 driver has been added, which supports <acronym>CPU</acronym>
1435 frequency and voltage control on the Raspberry Pi
1436 <acronym>SOC</acronym>.</para>
1438 <para revision="277042" arch="arm">Support to turn off the
1439 BeagleBone Black system with the &man.shutdown.8;
1440 <literal>-p</literal> flag or by invoking &man.poweroff.8; has
1443 <para revision="277644" arch="arm">Audio transmission drivers
1444 have been added for Digital Audio Multiplexer
1445 (<acronym>AUDMUXM</acronym>), Smart Direct Memory Access
1446 Controller (<acronym>SDMA</acronym>), and Syncronous Serial
1447 Interface (<acronym>SSI</acronym>).</para>
1449 <para revision="280259" contrib="sponsor" sponsor="&ff;">Initial
1450 support for the ARM AArch64 architecture has been
1453 <para revision="282779" arch="arm">Kernel support for Thumb-2
1454 userland has been added.</para>
1456 <para revision="282827">Support for the hardware power button
1457 on the BeagleBone Black system has been added.</para>
1459 <para revision="284273" contrib="sponsor"
1460 sponsor="&ff;">Initial
1461 <acronym>ACPI</acronym> support has been added for
1462 &os;/&arch.arm64;.</para>
1464 <para revision="287225">Support for 1-Wire devices has been
1465 added, providing support for 1-Wire hardware through
1466 &man.gpio.4;. See &man.ow.4;, &man.owc.4;, and
1467 &man.ow.temp.4; for more information.</para>
1469 <para revision="287371" arch="arm64" contrib="sponsor"
1470 sponsor="&abt;">Support for the HiSilicon HI6220 SoC has been
1475 <sect1 xml:id="storage">
1476 <title>Storage</title>
1478 <para>This section covers changes and additions to file systems
1479 and other storage subsystems, both local and networked.</para>
1481 <sect2 xml:id="storage-general">
1482 <title>General Storage</title>
1484 <para revision="278037" contrib="sponsor" sponsor="&ix;">The
1485 &man.ctl.4; <acronym>LUN</acronym> mapping has been rewritten,
1486 replacing <acronym>iSCSI</acronym>-specific mapping mechanisms
1487 with a new mechanism that works for any port.</para>
1489 <para revision="278354" contrib="sponsor" sponsor="&ix;">The
1490 &man.ctld.8; utility has been updated to allow controlling
1491 non-<acronym>iSCSI</acronym> &man.ctl.4; ports.</para>
1493 <para revision="275681" contrib="sponsor" sponsor="&ff;">The
1494 &man.autofs.5; subsystem has been updated to include a new
1495 &man.auto.master.5; map, <literal>-media</literal>, which
1496 allows automatically mounting removable media, such as
1497 <acronym>CD</acronym> drives or <acronym>USB</acronym> flash
1500 <para revision="279955" contrib="sponsor" sponsor="&ff;">The
1501 &man.autofs.5; subsystem has been updated to include a new
1502 &man.auto.master.5; map, <literal>-noauto</literal>, which
1503 handles &man.fstab.5; entries set to
1504 <literal>noauto</literal>.</para>
1506 <para revision="286444">The <acronym>GELI</acronym> class has
1507 been updated to support the <literal>BIO_DELETE</literal>
1508 &man.g.bio.9; <literal>bio_cmd</literal> field, providing
1509 <acronym>TRIM</acronym>/<acronym>UNMAP</acronym> support on
1510 <acronym>GELI</acronym>-backed <acronym>SSD</acronym> storage
1514 <sect2 xml:id="storage-net">
1515 <title>Networked Storage</title>
1517 <para revision="270096" contrib="sponsor" sponsor="&ff;">The new
1518 filesystem automount facility, &man.autofs.5;, has been added.
1519 The new &man.autofs.5; facility is similar to that found in
1520 other &unix;-like operating systems, such as OS X™
1521 and Solaris™. The &man.autofs.5; facility uses
1522 a &sun;-compatible &man.auto.master.5; configuration file, and
1523 is administered with the &man.automount.8; userland utility,
1524 and the &man.automountd.8; and &man.autounmountd.8;
1527 <para revision="273849" contrib="sponsor" sponsor="&ff;">Support
1528 for the <literal>timeo</literal>, <literal>actimeo</literal>,
1529 <literal>noac</literal>, and <literal>proto</literal> options
1530 have been added to &man.mount.nfs.8;.</para>
1533 <sect2 xml:id="storage-zfs">
1536 <para revision="275748">The <literal>arc_meta_limit</literal>
1537 statistics are now visible through the
1538 <literal>kstat</literal> &man.sysctl.8;. As a result of this
1539 change, the <literal>vfs.zfs.arc_meta_used</literal>
1540 &man.sysctl.8; has been removed, and replaced with the
1541 <literal>kstat.zfs.misc.arcstats.arc_meta_used</literal>
1542 &man.sysctl.8;.</para>
1544 <para revision="287099" contrib="sponsor"
1545 sponsor="&clusterhq;">The &man.zfs.8; <literal>l2arc</literal>
1546 code has been updated to take <literal>ashift</literal> into
1547 account when gathering buffers to be written to the
1548 <literal>l2arc</literal> device.</para>
1551 <sect2 xml:id="storage-geom">
1552 <title>&man.geom.4;</title>
1554 <para revision="267359">Support for the
1555 <literal>disklabel64</literal> partitioning scheme has been
1556 added to &man.gpart.8;.</para>
1558 <para revision="282465">Support for the
1559 <literal>apple-boot</literal>, <literal>apple-hfs</literal>,
1560 and <literal>apple-ufs</literal> <acronym>MBR</acronym>
1561 partitioning schemes have been added to &man.gpart.8;.</para>
1563 <para revision="285594" contrib="sponsor"
1564 sponsor="&scaleengine;">The &man.gpart.8; utility has been
1565 updated to include a new attribute for <acronym>GPT</acronym>
1566 partitions, <literal>lenovofix</literal>, which when set,
1567 which works around <acronym>BIOS</acronym> compatibility
1568 issues reported on several Lenovo ™ laptops.</para>
1572 <sect1 xml:id="boot">
1573 <title>Boot Loader Changes</title>
1575 <para>This section covers the boot loader, boot menu, and other
1576 boot-related changes.</para>
1578 <sect2 xml:id="boot-loader">
1579 <title>Boot Loader Changes</title>
1581 <para revision="258431" contrib="sponsor" sponsor="&ff;">The
1582 memory test run at boot time on &os;/&arch.amd64; platforms
1583 has been disabled by default.</para>
1585 <para revision="262955">A new &man.ttys.5; class,
1586 <literal>3wire</literal>, has been added. This is similar to
1587 the existing terminal classes, but does not have a defined
1590 <para revision="274085">The &man.vt.4; driver has been made the
1591 default system console driver. The &man.syscons.4; driver is
1592 still available, and can be enabled by adding
1593 <literal>kern.vty=sc</literal> in &man.loader.conf.5;.
1594 Alternatively, &man.syscons.4; can be enabled at boot time by
1595 entering <literal>set kern.vty=sc</literal> at the
1596 &man.loader.8; prompt.</para>
1598 <para revision="279950">Support for <literal>bzipfs</literal>
1599 has been added to the <acronym>EFI</acronym> loader.</para>
1601 <para revision="281616">The boot loader has been updated to
1602 support entering the <acronym>GELI</acronym> passphrase before
1603 loading the kernel. To enable this behavior, add
1604 <literal>geom_eli_passphrase_prompt="YES"</literal> to
1605 &man.loader.conf.5;.</para>
1607 <para revision="284683" contrib="sponsor" sponsor="&ff;"
1608 arch="arm">The &man.ttys.5; file for &os;/&arch.arm; has been
1609 updated to enable <filename>ttyu1</filename>,
1610 <filename>ttyu2</filename>, and <filename>ttyu3</filename> by
1611 default, if the callin port is an active console port.</para>
1614 <sect2 xml:id="boot-menu">
1615 <title>Boot Menu Changes</title>
1621 <sect1 xml:id="network">
1622 <title>Networking</title>
1624 <para>This section describes changes that affect networking in
1627 <sect2 xml:id="network-protocols">
1628 <title>Network Protocols</title>
1630 <para revision="263140">Support for the IPX network transport
1631 protocol has been removed, and will not be supported in
1632 &os; 11 and later releases.</para>
1634 <para revision="272720" contrib="sponsor"
1635 sponsor="&limelight;">Support for <acronym>PLPMTUD</acronym>
1636 blackhole detection (<acronym>RFC</acronym> 4821) has been
1637 added to the &man.tcp.4; stack, disabled by default. New
1638 control tunables have been added:</para>
1640 <informaltable frame="none" pgwide="0">
1642 <colspec colwidth="1*"/>
1643 <colspec colwidth="1*"/>
1646 <entry>Tunable</entry>
1647 <entry>Description</entry>
1653 <entry><literal>net.inet.tcp.pmtud_blackhole_detection</literal></entry>
1654 <entry>Enables or disables <acronym>PLPMTUD</acronym>
1655 blackhole detection</entry>
1659 <entry><literal>net.inet.tcp.pmtud_blackhole_mss</literal></entry>
1660 <entry><acronym>MSS</acronym> to try for IPv4</entry>
1664 <entry><literal>net.inet.tcp.v6pmtud_blackhole_mss</literal></entry>
1665 <entry><acronym>MSS to try for IPv6</acronym></entry>
1671 <para>New monitoring &man.sysctl.8;s haven been added:</para>
1673 <informaltable frame="none" pgwide="0">
1675 <colspec colwidth="1*"/>
1676 <colspec colwidth="1*"/>
1679 <entry>Tunable</entry>
1680 <entry>Description</entry>
1686 <entry><literal>net.inet.tcp.pmtud_blackhole_activated</literal></entry>
1687 <entry>Number of times the code was activated to attempt
1688 downshifting the <acronym>MSS</acronym></entry>
1692 <entry><literal>net.inet.tcp.pmtud_blackhole_min_activated</literal></entry>
1693 <entry>Number of times the blackhole
1694 <acronym>MSS</acronym> was used in an attempt to
1699 <entry><literal>net.inet.tcp.pmtud_blackhole_failed</literal></entry>
1700 <entry>Number of times that the blackhole failed to
1701 connect after downshifting the
1702 <acronym>MSS</acronym></entry>
1708 <para revision="280971" contrib="sponsor"
1709 sponsor="&netflix;, &nginx;">Support for <acronym>IP</acronym>
1710 identification for atomic datagrams (<acronym>RFC</acronym>
1711 6864) has been added. Support for this feature can be toggled
1712 with the <literal>net.inet.ip.rfc6864</literal>
1713 &man.sysctl.8;, which is enabled by default.</para>
1715 <para revision="285336" contrib="sponsor"
1716 sponsor="&netgate;">The <acronym>IPSEC</acronym> has been
1717 updated to include support for <acronym>AES</acronym> modes on
1718 both software-only and hardware-backed (&man.aesni.4;)
1721 <para revision="287798" contrib="sponsor" sponsor="&dell;">The
1722 network stack has been updated to fix handling of
1723 <acronym>IPv6</acronym> On-Link redirects.</para>
1727 <sect1 xml:id="ports">
1728 <title>Ports Collection and Package Infrastructure</title>
1730 <para>This section covers changes to the &os; Ports
1731 Collection, package infrastructure, and package maintenance and
1732 installation tools.</para>
1734 <sect2 xml:id="ports-infrastructure">
1735 <title>Infrastructure Changes</title>
1740 <sect2 xml:id="ports-packages ">
1741 <title>Packaging Changes</title>
1747 <sect1 xml:id="doc">
1748 <title>Documentation</title>
1750 <para>This section covers changes to the &os; Documentation
1751 Project sources and toolchain.</para>
1753 <sect2 xml:id="doc-sources">
1754 <title>Documentation Source Changes</title>
1759 <sect2 xml:id="doc-toolchain">
1760 <title>Documentation Toolchain Changes</title>
1766 <sect1 xml:id="releng">
1767 <title>Release Engineering and Integration</title>
1769 <para>This section convers changes that are specific to the
1770 &os; Release Engineering processes.</para>
1772 <sect2 xml:id="releng-changes">
1773 <title>Integration Changes</title>
1775 <para revision="277458" contrib="sponsor" sponsor="&ff;">The
1776 Release Engineering build tools have been updated to include
1777 support for producing virtual machine disk images for various
1778 cloud hosting providers.</para>
1780 <para revision="278926">The Release Engineering build tools have
1781 been updated to use multi-threaded &man.xz.1;. By default,
1782 the number of &man.xz.1; threads is set to the number of cores
1785 <para revision="281802" contrib="sponsor" sponsor="&ff;">The
1786 Release Engineering build tools have been updated to include
1787 support for building &os;/&arch.arm64; virtual machine and
1788 memory stick installation images.</para>
1790 <para revision="282693" contrib="sponsor" sponsor="&ff;">The
1791 Release Engineering build tools have been updated to support
1792 building &os;/&arch.arm; images without external utilities for
1793 supported boards where a corresponding
1794 <literal>u-boot</literal> port exists in the Ports
1797 <para revision="283307" contrib="sponsor" sponsor="&ff;">The
1798 &os;/&arch.i386; memory stick installation images are now
1799 created using the &man.mkimg.1; utility, matching the way
1800 the &os;/&arch.amd64; images are created.</para>