Document r287798, IPv6 On-Link redirect handling fix.
[freebsd.git] / release / doc / en_US.ISO8859-1 / relnotes / article.xml
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">
5  %release;
6 <!ENTITY % sponsor PUBLIC "-//FreeBSD//ENTITIES Sponsor Specification//EN" "sponsor.ent">
7  %sponsor;
8 <!ENTITY % vendor PUBLIC "-//FreeBSD//ENTITIES Vendor Specification//EN" "vendor.ent">
9  %vendor;
10 <!ENTITY security SYSTEM "../../share/xml/security.xml">
11 <!ENTITY errata SYSTEM "../../share/xml/errata.xml">
12 ]>
13 <article xmlns="http://docbook.org/ns/docbook"
14   xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0">
15
16   <info>
17     <title>&os; &release.current; Release Notes</title>
18
19     <author>
20       <orgname>The &os; Project</orgname>
21     </author>
22
23     <pubdate>$FreeBSD$</pubdate>
24
25     <!-- Last rev: 284814 -->
26
27     <copyright>
28       <year>2015</year>
29       <holder role="mailto:doc@FreeBSD.org">The &os; Documentation
30         Project</holder>
31     </copyright>
32
33     <legalnotice xml:id="trademarks" role="trademarks">
34       &tm-attrib.freebsd;
35       &tm-attrib.ibm;
36       &tm-attrib.ieee;
37       &tm-attrib.intel;
38       &tm-attrib.sparc;
39       &tm-attrib.general;
40     </legalnotice>
41
42     <abstract>
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
49         presented.</para>
50     </abstract>
51   </info>
52
53   <sect1 xml:id="intro">
54     <title>Introduction</title>
55
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>
60
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
66       found at <uri
67         xlink:href="&release.url;">&release.url;</uri>.</para>
68
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
74       found at <uri
75         xlink:href="&release.url;">&release.url;</uri>.</para>
76
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
82       <link
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>
87
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>
95
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>
100
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
109       improvements.</para>
110   </sect1>
111
112   <sect1 xml:id="upgrade">
113     <title>Upgrading from Previous Releases of &os;</title>
114
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>
122
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>
127
128     <important>
129       <para>Upgrading &os; should only be attempted after backing up
130         <emphasis>all</emphasis> data and configuration files.</para>
131     </important>
132   </sect1>
133
134   <sect1 xml:id="security-errata">
135     <title>Security and Errata</title>
136
137     <para>This section lists the various Security Advisories and
138       Errata Notices since &release.prev;.</para>
139
140     <sect2 xml:id="security">
141       <title>Security Advisories</title>
142
143       &security;
144     </sect2>
145
146     <sect2 xml:id="errata">
147       <title>Errata Notices</title>
148
149       &errata;
150     </sect2>
151   </sect1>
152
153   <sect1 xml:id="userland">
154     <title>Userland</title>
155
156     <para>This section covers changes and additions to userland
157       applications, contributed software, and system utilities.</para>
158
159     <sect2 xml:id="userland-config">
160       <title>Userland Configuration Changes</title>
161
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>
167
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>
172         if unset.</para>
173
174       <para revision="272350">The <literal>MK_ARM_EABI</literal>
175         &man.src.conf.5; option has been removed.</para>
176
177       <para revision="285169">The <application>ntp</application> suite
178         has been updated to version 4.2.8p3.</para>
179     </sect2>
180
181     <sect2 xml:id="userland-programs">
182       <title>Userland Application Changes</title>
183
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>
188         sandbox.</para>
189
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>
194
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
200         device.</para>
201
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>
207
208       <para revision="260926">Support for displaying VPD for PCI
209         devices via &man.pciconf.8; has been added.</para>
210
211       <para revision="261498">&man.ping.8; protects against malicious
212         network packets using the Capsicum framework to drop
213         privileges.</para>
214
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
220         host system.</para>
221
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>
225
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
229         seconds.</para>
230
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
234         process.</para>
235
236       <para revision="271482">Support for adding empty partitions has
237         been added to the &man.mkimg.1; utility.</para>
238
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>
245
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>
249
250       <informaltable frame="none" pgwide="0">
251         <tgroup cols="2">
252           <colspec colwidth="1*"/>
253           <colspec colwidth="1*"/>
254           <thead>
255             <row>
256               <entry>Option</entry>
257               <entry>Output</entry>
258             </row>
259           </thead>
260
261           <tbody>
262             <row>
263               <entry><literal>--version</literal></entry>
264               <entry>The current version of the &man.mkimg.1;
265                 utility</entry>
266             </row>
267
268             <row>
269               <entry><literal>--formats</literal></entry>
270               <entry>The disk image file formats supported by
271                 &man.mkimg.1;</entry>
272             </row>
273
274             <row>
275               <entry><literal>--schemes</literal></entry>
276               <entry>The partition schemes supported by
277                 &man.mkimg.1;</entry>
278             </row>
279           </tbody>
280         </tgroup>
281       </informaltable>
282
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
287         values.</para>
288
289       <para revision="274960">The &man.elfdump.1; utility has been
290         updated to support capability mode provided by
291         &man.capsicum.4;.</para>
292
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>
296
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>
300
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
304         type.</para>
305
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>
309
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>
316
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
320         library.</para>
321
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>
325
326       <para revision="279315" contrib="sponsor" sponsor="&ff;">The
327         &man.uefisign.8; utility has been added.</para>
328
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>
333
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>
338
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
344         &man.tar.1;.</para>
345
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
349         fixed.</para>
350
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>
356
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>
362
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>
366
367       <para revision="284297" contrib="sponsor"
368         sponsor="&clusterhq;">The &man.lockstat.1; utility has been
369         updated with several improvements:</para>
370
371       <itemizedlist>
372         <listitem>
373           <para>Spin locks are now reported as the amount of time
374             spinning, instead of loop iterations.</para>
375         </listitem>
376
377         <listitem>
378           <para>Reader locks are now recognized as adaptive that can
379             spin on &os;.</para>
380         </listitem>
381
382         <listitem>
383           <para>Lock aquisition events for successful reader try-lock
384             events are now reported.</para>
385         </listitem>
386
387         <listitem>
388           <para>Spin and block events are now reported before lock
389             acquisition events.</para>
390         </listitem>
391       </itemizedlist>
392
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;
396         filesystems.</para>
397
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>
402
403       <para revision="285253">The &man.quota.1; utility has been
404         updated to include support for <acronym>IPv6</acronym>.</para>
405
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>
411
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>
415
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>
419
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>
425
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>
430
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
436         possible.</para>
437
438       <para revision="286795">The &man.patch.1; utility has been
439         updated to remove the automatic checkout feature.</para>
440
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>
444
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
449         system.</para>
450     </sect2>
451
452     <sect2 xml:id="userland-contrib">
453       <title>Contributed Software</title>
454
455       <para revision="258884" contrib="sponsor"
456         sponsor="&darpa_afrl;">&man.lldb.1; has been updated to
457         upstream snapshot version r196259.</para>
458
459       <para revision="260445">&man.byacc.1; has been updated to
460         version 20140101.</para>
461
462       <para revision="261283"><application>libc++</application> has
463         been updated to version 3.4.</para>
464
465       <para revision="261320"><application>OpenSSH</application> has
466         been updated to 6.5p1.</para>
467
468       <para revision="261344"><application>mdocml</application> has
469         been updated to version 1.12.3.</para>
470
471       <para revision="261991"><application>LLVM</application> and
472         <application>Clang</application> have been updated to
473         version 3.4.</para>
474
475       <para revision="275718">The <application>binutils</application>
476         suite of utilities has been updated to include upstream
477         patches that add new relocations for &arch.powerpc;
478         support.</para>
479
480       <para revision="276398" contrib="sponsor" sponsor="&ff;">The
481         <application>ELF Tool Chain</application> has been updated to
482         upstream revision r3136.</para>
483
484       <para revision="276551">The <application>texinfo</application>
485         utility and <literal>info</literal> pages were removed from
486         the base system.  The <filename
487           role="package">print/texinfo</filename> port should be
488         installed on systems where <literal>info</literal> pages are
489         needed.</para>
490
491       <para revision="276796" contrib="sponsor" sponsor="&ff;">The ELF
492         object manipulation tools
493         <application>addr2line</application>,
494         <application>elfcopy (strip)</application>,
495         <application>nm</application>,
496         <application>readelf</application>,
497         <application>size</application>, and
498         <application>strings</application> were switched to the
499         versions from the ELF Tool Chain project.</para>
500
501       <para revision="276881">The <literal>libedit</literal> library
502         has been updated to include <acronym>UTF-8</acronym> support,
503         adding <acronym>UTF-8</acronym> support to the &man.sh.1;
504         shell.</para>
505
506       <para revision="278433">The &man.xz.1; utility has been updated
507         to support multi-threaded compression.</para>
508
509       <para revision="280932" contrib="sponsor" sponsor="&ff;">The
510         <application>elftoolchain</application> utilities have been
511         updated to version 3179.</para>
512
513       <para revision="281316">The &man.xz.1; utility has been updated
514         to version 5.2.1.</para>
515
516       <para revision="281373">The &man.nvi.1; utility has been updated
517         to version 2.1.3.</para>
518
519       <para revision="281806">The &man.wpa.supplicant.8; and
520         &man.hostapd.8; utilities have been updated to version
521         2.4.</para>
522
523       <para revision="282089">The &man.unbound.8; utility has been
524         updated to version 1.5.3.</para>
525
526       <para revision="282434" contrib="sponsor" sponsor="&ff;">The
527         &man.resolvconf.8; utility has been updated to version
528         3.7.0.</para>
529
530       <para revision="282613">The &man.nc.1; utility has been updated
531         to the OpenBSD 5.7 version.</para>
532
533       <para revision="284254"><application>bmake</application> has
534         been updated to version 20150606.</para>
535
536       <para revision="285229"><application>sendmail</application> has
537         been updated to 8.15.2.  Starting with &os;&nbsp;11.0 and
538         sendmail 8.15, sendmail uses uncompressed IPv6 addresses by
539         default, i.e., they will not contain <quote>::</quote>.  For
540         example, instead of <quote>::1</quote>, it will be
541         <quote>0:0:0:0:0:0:0:1</quote>.  This permits a zero subnet to
542         have a more specific match, such as different map entries for
543         IPv6:0:0 versus IPv6:0.  This change requires that
544         configuration data (including maps, files, classes, custom
545         ruleset, etc.) must use the same format, so make certain such
546         configuration data is upgrading.  As a very simple check
547         search for patterns like 'IPv6:[0-9a-fA-F:]*::' and 'IPv6::'.
548         To return to the old behavior, set the m4 option
549         <literal>confUSE_COMPRESSED_IPV6_ADDRESSES</literal> or the cf
550         option <literal>UseCompressedIPv6Addresses</literal>.</para>
551
552       <para revision="285275">The &man.tcpdump.1; utility has been
553         updated to version 4.7.4.</para>
554
555       <para revision="285329"><application>OpenSSL</application> has
556         been updated to version 1.0.1p.</para>
557
558       <para revision="285642" contrib="sponsor" sponsor="&dell;">The
559         &man.ssh.1; utility has been updated to re-implement hostname
560         canonicalization before locating the host in
561         <filename>known_hosts</filename>.</para>
562
563       <para revision="285972">The &man.libarchive.3; library has been
564         updated to properly skip a sparse file entry in a &man.tar.1;
565         file, which would previously produce errors.</para>
566
567       <para revision="286503">The <application>apr</application>
568         library used by &man.svnlite.1; has been updated to version
569         1.5.2.</para>
570
571       <para revision="286505">The <application>serf</application>
572         library used by &man.svnlite.1; has been updated to version
573         1.3.8.</para>
574
575       <para revision="286505">The &man.svnlite.1; utility has been
576         updated to version 1.8.14.</para>
577
578       <para revision="286510">The <application>sqlite3</application>
579         library used by &man.svnlite.1; and &man.kerberos.8; has been
580         updated to version 3.8.11.1.</para>
581
582       <para revision="286750">Timezone data files have been updated to
583         version 2015f.</para>
584
585       <para revision="287168">The &man.acpi.4; subsystem has been
586         updated to version 20150818.</para>
587
588       <para revision="288090">&man.jemalloc.3; has been updated to
589         version 4.0.2.</para>
590
591       <para revision="288143">The &man.file.1; utility has been
592         updated to version 5.25.</para>
593     </sect2>
594
595     <sect2 xml:id="userland-installer">
596       <title>Installation and Configuration Tools</title>
597
598       <para revision="271539">The &man.bsdinstall.8; partition editor
599         and &man.sade.8; utility have been updated to include native
600         <acronym>ZFS</acronym> support.</para>
601
602       <para revision="272274">The &os; installation utility,
603         &man.bsdinstall.8;, has been updated to set the
604         <literal>canmount</literal> &man.zfs.8; property to
605         <literal>off</literal> for the <filename
606           class="directory">/var</filename> dataset, preventing the
607         contents of directories within <filename
608           class="directory">/var</filename> from conflicting when
609         using multiple boot environments, such as that provided by
610         <filename role="package">sysutils/beadm</filename>.</para>
611
612       <para revision="274394">The &man.bsdconfig.8; utility has been
613         updated to skip the initial &man.tzsetup.8;
614         <acronym>UTC</acronym> versus wall-clock time prompt when run
615         in a virtual machine, determined when the
616         <literal>kern.vm_guest</literal> &man.sysctl.8; is set to
617         <literal>1</literal>.</para>
618
619       <para revision="275874">The &man.bsdinstall.8; utility has been
620         updated to use the new &man.dpv.3; library to display progress
621         when extracting the &os; distributions.</para>
622
623       <para revision="285557" contrib="sponsor"
624         sponsor="&scaleengine;">Support for detecting and implementing
625         aligning partitions on 1Mb boundaries has been added to
626         &man.bsdinstall.8;.</para>
627
628       <para revision="285679" contrib="sponsor"
629         sponsor="&scaleengine;">Support for detecting and implementing
630         a workaround for various laptops and motherboards that do not
631         boot properly from <acronym>GPT</acronym>-partitioned disks
632         has been added to &man.bsdinstall.8;.  Additionally, the
633         <literal>active</literal> flag will be set on the partition
634         when needed.</para>
635
636       <para revision="285679" contrib="sponsor"
637         sponsor="&scaleengine;">Support for selecting the partitioning
638         scheme when installing on the <acronym>UFS</acronym>
639         filesystem has been added to &man.bsdinstall.8;.</para>
640     </sect2>
641
642     <sect2 xml:id="userland-rc">
643       <title><filename class="directory">/etc/rc.d</filename>
644         Scripts</title>
645
646       <para revision="270676">The &man.rc.8; subsystem has been
647         updated to allow configuring services in <filename
648           class="directory">&dollar;{LOCALBASE}/etc/rc.conf.d/</filename>.
649         If <literal>LOCALBASE</literal> is unset, it defaults to
650         <filename class="directory">/usr/local</filename>.</para>
651
652       <para revision="273955">A new &man.rc.8; script,
653         <filename>growfs</filename>, has been added, which will resize
654         the root filesystem on boot if <filename>/firstboot</filename>
655         exists.</para>
656
657       <para revision="275299">The <filename>mrouted</filename>
658         &man.rc.8; script has been removed from the base system.  An
659         equivalent script is available from the <filename
660           role="package">net/mrouted</filename> port.</para>
661
662       <para revision="279463" contrib="sponsor"
663         sponsor="&sandvine;">A new &man.rc.8; script,
664         <filename>iovctl</filename>, has been added, which allows
665         automatically starting the &man.iovctl.8; utility at
666         boot.</para>
667
668       <para revision="287576" contrib="sponsor"
669         sponsor="&scaleengine;">The &man.service.8; utility has been
670         updated to honor entries within <filename
671           class="directory">/etc/rc.conf.d/</filename>.</para>
672
673     </sect2>
674
675     <sect2 xml:id="userland-periodic">
676       <title><filename class="directory">/etc/periodic</filename>
677         Scripts</title>
678
679       <para revision="271321">The daily &man.periodic.8; script
680         <filename>110.clean-tmps</filename> has been updated to avoid
681         crossing filesystem mount boundaries when cleaning files in
682         <filename class="directory">/tmp</filename>.</para>
683
684       <para revision="277216" contrib="sponsor" sponsor="&ff;">A new
685         &man.periodic.8; script,
686         <filename>510.status-world-kernel</filename>, has been added,
687         which evaluates the running userland and kernel versions from
688         the &man.uname.1; <literal>-U</literal> and
689         <literal>-K</literal> arguments, and prints an error if the
690         system userland and kernel are not in sync.</para>
691     </sect2>
692
693     <sect2 xml:id="userland-libraries">
694       <title>Runtime Libraries and API</title>
695
696       <para revision="265995">The Blowfish &man.crypt.3; default
697         format has been changed to
698         <literal>&dollar;2b&dollar;</literal>.</para>
699
700       <para revision="268461">The &man.readline.3; library is now
701         statically linked in software within the base system, and the
702         shared library is no longer installed, allowing the Ports
703         Collection to use a modern version of the library.</para>
704
705       <para revision="272273">The &man.strptime.3; library has been
706         updated to add support for <acronym>POSIX</acronym>-2001
707         features <literal>%U</literal> and
708         <literal>%W</literal>.</para>
709
710       <para revision="272842,272848" contrib="sponsor"
711         sponsor="&ff;">The &man.dl.iterate.phdr.3; library has been
712         changed to always return the path name of the
713         <acronym>ELF</acronym> object in the
714         <literal>dlpi_name</literal> structure member.</para>
715
716       <para revision="273562" contrib="sponsor"
717         sponsor="&juniper;">The &man.libxo.3; library has been
718         imported to the base system.</para>
719
720       <para revision="273806" contrib="sponsor" sponsor="&chelsio;">A
721         userland library for Chelsio Terminator 5 based iWARP cards
722         has been added, allowing userland <acronym>RDMA</acronym>
723         applications to work over compatible
724         <acronym>NIC</acronym>s.</para>
725
726       <para revision="274987">The &man.gpio.3; library has been added,
727         providing a wrapper around the &man.gpio.4; kernel
728         interface.</para>
729
730       <para revision="275800" contrib="sponsor" sponsor="&ff;">The
731         &man.procctl.2; system call has been updated to include
732         a facility for non-&man.init.8; processes to be declared as
733         the reaper of child processes and their decendants.</para>
734
735       <para revision="277610">The <literal>futimens()</literal> and
736         <literal>utimensat()</literal> system calls have been
737         added.  See &man.utimensat.2; for more information.</para>
738
739       <para revision="278934">The &man.elf.3; compile-time dependency
740         has been removed from <filename>dtri.o</filename>, which
741         allows adding <application>DTrace</application> probes to
742         userland applications and libraries without also linking
743         against &man.elf.3;.</para>
744
745       <para revision="279186">The &man.setmode.3; function has been
746         updated to consistently set <literal>errno</literal> on
747         failure.</para>
748
749       <para revision="279663">The &man.qsort.3; functions have been
750         updated to be able to handle 32-bit aligned data on 64-bit
751         platforms, also providing a significant improvement in 32-bit
752         workloads.</para>
753
754       <para revision="281130">Several standard include headers have
755         been updated to use of <application>gcc</application>
756         attributes, such as <literal>__result_use_check()</literal>,
757         <literal>__alloc_size()</literal>, and
758         <literal>__nonnull()</literal>.</para>
759
760       <para revision="281845">Support for file verification in
761         <acronym>MAC</acronym> has been added.</para>
762
763       <para revision="282973" contrib="sponsor" sponsor="&ff;">The
764         <literal>libgomp</literal> library is now only built when
765         building <acronym>GCC</acronym> from the base system.  An
766         up-to-date version is available in the Ports Collection as
767         <filename
768           role="package">devel/libiomp5-devel</filename>.</para>
769
770       <para revision="282988">The <filename>stdlib.h</filename> and
771         <filename>malloc.h</filename> headers have been updated to
772         make use of the <application>gcc</application>
773         <literal>alloc_align()</literal> attribute.</para>
774
775       <para revision="284483" contrib="sponsor"
776         sponsor="&scaleengine;">The Blowfish &man.crypt.3; library
777         has been updated to support &dollar;2y&dollar; hashes.</para>
778
779       <para revision="285277">The &man.execl.3; and &man.execlp.3;
780         library functions have been updated to use the
781         <literal>__sentinel</literal> <application>gcc</application>
782         attribute.</para>
783     </sect2>
784
785     <sect2 xml:id="userland-abi">
786       <title>ABI Compatibility</title>
787
788       <para revision="271982">The &linux; compatibility version has
789         been updated to <literal>2.6.18</literal>.  The
790         <literal>compat.linux.osrelease</literal> &man.sysctl.8; is
791         evaluated when building the <filename
792           role="package">emulators/linux-c6</filename> and related
793         ports.</para>
794     </sect2>
795   </sect1>
796
797   <sect1 xml:id="kernel">
798     <title>Kernel</title>
799
800     <para>This section covers changes to kernel configurations, system
801       tuning, and system control parameters that are not otherwise
802       categorized.</para>
803
804     <sect2 xml:id="kernel-bugfix">
805       <title>Kernel Bug Fixes</title>
806
807       <para revision="265876">A kernel bug that inhibited proper
808         functionality of the <literal>dev.cpu.0.freq</literal>
809         &man.sysctl.8; on &intel; processors with Turbo
810         Boost&nbsp;&trade; enabled has been fixed.</para>
811
812       <para revision="271697" arch="powerpc">Support for
813         &man.dtrace.1; stack tracing has been fixed for
814         &os;/&arch.powerpc;, using the <literal>trapexit()</literal>
815         and <literal>asttrapexit()</literal> functions instead of
816         checking within addressed kernel space.</para>
817
818       <para revision="271917">A kernel panic triggered when destroying
819         a &man.vnet.9; &man.jail.8; configured with &man.gif.4; has
820         been fixed.</para>
821
822       <para revision="271918">A kernel panic triggered when destroying
823         a &man.vnet.9; &man.jail.8; configured with &man.gre.4; has
824         been fixed.</para>
825
826       <para revision="272089">A bug in &man.ipfw.4; that could
827         potentially lead to a kernel panic when using &man.dummynet.4;
828         at layer 2 has been fixed.</para>
829
830       <para revision="280930" contrib="sponsor" sponsor="&mitail;">The
831         kernel <acronym>RPC</acronym> has been updated to include
832         several enhancements:</para>
833
834       <itemizedlist>
835         <listitem>
836           <para>The 45 MiB limit on requests queued for
837             &man.nfsd.8; threads has been removed.</para>
838         </listitem>
839
840         <listitem>
841           <para>Avoids unnecessary throttling by not deferring
842             accounting for completed requests.</para>
843         </listitem>
844
845         <listitem>
846           <para>Fixes an integer overflow and signedness bugs.</para>
847         </listitem>
848       </itemizedlist>
849
850       <para revision="281261" arch="powerpc">Support for
851         &man.dtrace.1; has been added for the
852         Book-E&nbsp;&trade;.</para>
853     </sect2>
854
855     <sect2 xml:id="kernel-config">
856       <title>Kernel Configuration</title>
857
858       <para revision="266531">The <literal>IMAGACT_BINMISC</literal>
859         kernel configuration option has been enabled by default,
860         which enables application execution through emulators, such
861         as <application>Qemu</application>.</para>
862
863       <para revision="268045">The <literal>VT</literal> kernel
864         configuration file has been removed, and the &man.vt.4;
865         driver is included in the <literal>GENERIC</literal> kernel.
866         To enable &man.vt.4;, enter <literal>set kern.vty=vt</literal>
867         at the &man.loader.8; prompt during boot, or add
868         <literal>kern.vty=vt</literal> to &man.loader.conf.5; and
869         reboot the system.</para>
870
871       <para revision="277904">The &man.config.8; utility has been
872         updated to allow using a non-standard <filename
873           class="directory">src/</filename> tree, specified as an
874         argument to the <literal>-s</literal> flag.</para>
875
876       <para revision="277990" arch="powerpc64">The
877         &os;/&arch.powerpc64; kernel now builds as
878         a position-independent executable, allowing the kernel to be
879         loaded into and run from any physical or virtual
880         address.</para>
881
882       <important>
883         <para>This change requires an update to &man.loader.8;.
884           The userland and kernel must be updated before rebooting the
885           system.</para>
886       </important>
887
888       <para revision="278338" arch="arm">A new module for creating
889         <filename>rpi.dtb</filename> has been added for the Raspberry
890         Pi.</para>
891
892       <para revision="278340" arch="arm">The
893         <filename>rpi.dtb</filename> module is now installed to
894         <filename class="directory">/boot/dtb/</filename> by
895         default for the Raspberry Pi system.</para>
896
897       <para revision="279189" contrib="sponsor" sponsor="&ff;"
898         arch="powerpc">Kernel support for Vector-Scalar eXtension
899         (<acronym>VSX</acronym>) found on POWER7 and POWER8 hardware
900         has been added.</para>
901
902       <para revision="279252" contrib="sponsor" sponsor="&ff;"
903         arch="powerpc">The &man.pmap.9; implementation for 64-bit
904         &powerpc; processors has been overhaulded to improve
905         concurrency.</para>
906
907       <para revision="279824" arch="arm">A new module for creating
908         the <filename>dtb</filename> module for AM335x systems has
909         been added.</para>
910
911       <para revision="281495" contrib="sponsor" sponsor="&ff;">The
912         <literal>PAE_TABLES</literal> kernel configuration option has
913         been added for &os;/&arch.i386;, which instructs &man.pmap.9;
914         to use <acronym>PAE</acronym> format for page tables while
915         maintaining a 32-bit physical address size elsewhere in the
916         kernel.  The use of this option can enhance application-level
917         security by enabling the creation of <quote>no execute</quote>
918         mappings on modern &arch.i386; processors.  Unlike the
919         <literal>PAE</literal> option, <literal>PAE_TABLES</literal>
920         preserves kernel binary interface (<acronym>KBI</acronym>)
921         compatibility with non-<literal>PAE</literal> kernels,
922         allowing non-<literal>PAE</literal> kernel modules and drivers
923         to work with a <literal>PAE_TABLES</literal>-enabled kernel.
924         Additionally, system limits are tuned for 4GB maximum
925         <acronym>RAM</acronym>, avoiding kernel virtual address space
926         (<acronym>KVA</acronym>) exhaustion.</para>
927
928       <para revision="282215">The <literal>SIFTR</literal> kernel
929         configuration has been added, allowing building &man.siftr.4;
930         statically into the kernel.</para>
931
932       <para revision="282731" arch="arm">The &arch.arm; boot loader,
933         <filename>ubldr</filename>, is now relocatable.  In addition,
934         <filename>ubldr.bin</filename> is now created during build
935         time, which is a stripped binary with an entry point of
936         <literal>0</literal>, providing the ability to specify the
937         load address by running <literal>go
938           &dollar;{loadaddr}</literal> in
939         <literal>u-boot</literal>.</para>
940
941       <para revision="282921" contrib="sponsor" sponsor="&intelcorp;"
942         arch="amd64,i386">The &man.nvd.4; and &man.nvme.4; drivers are
943         now included in the <filename>GENERIC</filename> kernel
944         configuration by default.</para>
945
946       <para revision="283959" contrib="sponsor"
947         sponsor="&limelight;">A new kernel configuration option,
948         <literal>EM_MULTIQUEUE</literal>, has been added which enables
949         multi-queue support in the &man.em.4; driver.</para>
950
951       <note>
952         <para>Multi-queue support in the &man.em.4; driver is not
953           officially supported by &intel;.</para>
954       </note>
955
956       <para revision="285142" contrib="sponsor"
957         sponsor="&netgate;">The <filename>GENERIC</filename> kernel
958         configuration has been updated to include the
959         <literal>IPSEC</literal> option by default.</para>
960
961       <para revision="285387" contrib="sponsor"
962         sponsor="&norse;, &dell;">Initial <acronym>NUMA</acronym>
963         affinity and policy configuration has been added.  See
964         &man.numactl.1;, and &man.numa.getaffinity.2;, for usage
965         details.</para>
966
967       <para revision="286231">The &man.pms.4; driver has been added
968         to the <filename>GENERIC</filename> kernel configuration for
969         supported architectures.</para>
970
971       <para revision="287306" arch="arm">The
972         <filename>CUBIEBOARD2</filename> kernel configuration has been
973         renamed to <filename>A20</filename>.</para>
974     </sect2>
975
976     <sect2 xml:id="kernel-sysctl">
977       <title>System Tuning and Controls</title>
978
979       <para revision="275140" contrib="sponsor" sponsor="&ff;">The
980         &man.hwpmc.4; default and maximum callchain depths have been
981         increased.  The default has been increased from 16 to 32, and
982         the maximum increased from 32 to 128.</para>
983
984       <para revision="279361">The <literal>kern.osrelease</literal>
985         and <literal>kern.osreldate</literal> are now configurable
986         &man.jail.8; parameters.</para>
987
988       <para revision="280308,280949" contrib="sponsor"
989         sponsor="&ix;, &ff;">The &man.devfs.5; device filesystem has
990         been changed to update timestamps for read/write operations
991         using seconds precision.  A new &man.sysctl.8;,
992         <literal>vfs.devfs.dotimes</literal> has been added, which
993         when set to a non-zero value, enables default precision
994         timestamps for these operations.</para>
995
996       <para revision="282213" contrib="sponsor" sponsor="&ff;">A new
997         &man.sysctl.8;, <literal>kern.racct.enable</literal>, has been
998         added, which when set to a non-zero value allows using
999         &man.rctl.8; with the <literal>GENERIC</literal> kernel.
1000         A new kernel configuration option,
1001         <literal>RACCT_DISABLED</literal> has also been added.</para>
1002
1003       <para revision="282901" contrib="sponsor" sponsor="&ff;">The
1004         <literal>GENERIC</literal> kernel configuration now includes
1005         <literal>RACCT</literal> and <literal>RCTL</literal> by
1006         default.</para>
1007
1008       <note>
1009         <para>To enable <literal>RACCT</literal> and
1010           <literal>RCTL</literal> on a system using the
1011           <literal>GENERIC</literal> kernel configuration, add
1012           <literal>kern.racct.enable=1</literal> to
1013           &man.loader.conf.5;, and reboot the system.</para>
1014       </note>
1015
1016       <para revision="283136" contrib="sponsor"
1017         sponsor="&limelight;">A new &man.sysctl.8;,
1018         <literal>net.inet.tcp.hostcache.purgenow</literal>, has
1019         been added, which when set to <literal>1</literal> during
1020         runtime will flush all
1021         <literal>net.inet.tcp.hostcache</literal> entries.</para>
1022
1023       <para revision="285524">A new &man.sysctl.8;,
1024         <literal>hw.model</literal>, has been added, which displays
1025         <acronym>CPU</acronym> model information.</para>
1026
1027       <para revision="286591">The &man.uart.4; driver has been
1028         updated to allow tuning packets per second captured during
1029         runtime.</para>
1030     </sect2>
1031   </sect1>
1032
1033   <sect1 xml:id="drivers">
1034     <title>Devices and Drivers</title>
1035
1036     <para>This section covers changes and additions to devices and
1037       device drivers since &release.prev;.</para>
1038
1039     <sect2 xml:id="drivers-device">
1040       <title>Device Drivers</title>
1041
1042       <para revision="260903">Support for GPS ports has been added to
1043         &man.uhso.4;.</para>
1044
1045       <para revision="265132">The &man.full.4; device has been added,
1046         and the <literal>lindev(4)</literal> device has been removed.
1047         Prior to this change, <literal>lindev(4)</literal> provided
1048         only the <filename>/dev/full</filename> character device,
1049         returning <literal>ENOSPC</literal> on write attempts.  As
1050         this device is not specific to &linux;, a native &os; version
1051         has been added.</para>
1052
1053       <para revision="271705">Hardware context support has been
1054         added to the <literal>drm/i915</literal> driver, adding
1055         support for <application>Mesa</application> 9.2 and
1056         later.</para>
1057
1058       <para revision="273178">The &man.vt.4; driver has been updated,
1059         replacing the bitmapped <literal>kern.vt.spclkeys</literal>
1060         &man.sysctl.8; with individual
1061         <literal>kern.vt.kbd_*</literal> variants.</para>
1062
1063       <para revision="273598">The &man.hpet.4; driver has been updated
1064         to create a
1065         <filename>/dev/hpet<replaceable>N</replaceable></filename>
1066         device, providing access to <acronym>HPET</acronym> from
1067         userspace.</para>
1068
1069       <para revision="280183">The <literal>drm</literal> code has
1070         been updated to match &linux; version 3.8.13.</para>
1071
1072       <para revision="281440">The &man.psm.4; driver has been updated
1073         to include improved support for newer Synaptics&nbsp;&reg;
1074         touchpads and the ClickPad&nbsp;&reg; mouse on newer
1075         Lenovo&nbsp;&trade; laptops.</para>
1076
1077       <para revision="282783" arch="powerpc">Support for the Freescale
1078         <acronym>PCI</acronym> Root Complex device has been
1079         added.</para>
1080
1081       <para revision="285876">The &man.cyapa.4; driver has been added,
1082         supporting the Cypress APA I2C trackpad.</para>
1083
1084       <para revision="285883">The &man.isl.4; driver has been added,
1085         supporting the Intersil I2C ISL29018 digital ambient light
1086         sensor.</para>
1087     </sect2>
1088
1089     <sect2 xml:id="drivers-storage">
1090       <title>Storage Drivers</title>
1091
1092       <para revision="265236" contrib="sponsor"
1093         sponsor="&lsi;, &spectralogic;" sponsorurl="">The &man.mpr.4;
1094         device has been added, providing support for LSI Fusion-MPT
1095         3 12Gb SCSI/SATA controllers.</para>
1096
1097       <para revision="265555" contrib="sponsor"
1098           sponsor="&lsi;">The &man.mrsas.4; driver has been added,
1099         providing support for LSI MegaRAID SAS controllers.  The
1100         &man.mfi.4; driver will attach to the controller, by default.
1101         To enable &man.mrsas.4; add
1102         <literal>hw.mfi.mrsas_enable=1</literal> to
1103         <filename>/boot/loader.conf</filename>, which turns off
1104         &man.mfi.4; device probing.</para>
1105
1106       <note>
1107         <para>At this time, the &man.mfiutil.8; utility and the &os;
1108           version of <application>MegaCLI</application> and
1109           <application>StorCli</application> do not work with
1110           &man.mrsas.4;.</para>
1111       </note>
1112
1113       <para revision="275461" contrib="sponsor" sponsor="&ix;">The
1114         &man.ctl.4; subsystem has been updated, increasing the ports
1115         limit from <literal>128</literal> to <literal>256</literal>,
1116         and <acronym>LUN</acronym> limit from <literal>256</literal>
1117         to <literal>1024</literal>.</para>
1118
1119       <para revision="276526">The <literal>asr(4)</literal> driver has
1120         been removed, and is no longer supported.</para>
1121
1122       <para revision="281387">The &man.hptnr.4; driver has been
1123         updated to version 1.1.1.</para>
1124
1125       <para revision="285662">The &man.pms.4; driver has been added,
1126         providing support for the PMC Sierra line of
1127         <acronym>SAS</acronym>/<acronym>SATA</acronym> host bus
1128         adapters.</para>
1129
1130       <para revision="287117" contrib="sponsor"
1131         sponsor="&emcisilon;">The &man.ioat.4; driver has been added,
1132         providing support for the <acronym>PSE</acronym> (Platform
1133         Storage Extension).</para>
1134
1135       <para revision="287621" contrib="sponsor" sponsor="&ix;">The
1136         <acronym>CTL</acronym> High Availability implementation has
1137         been rewritten.</para>
1138     </sect2>
1139
1140     <sect2 xml:id="drivers-network">
1141       <title>Network Drivers</title>
1142
1143       <para revision="258830">Support for Broadcom chipsets BCM57764,
1144         BCM57767, BCM57782, BCM57786 and BCM57787 has been added to
1145         &man.bge.4;.</para>
1146
1147       <para revision="260448">Support for the &intel; Centrino&trade;
1148         Wireless-N 135 chipset has been added.</para>
1149
1150       <para revision="260552">Firmware for &intel; Centrino&trade;
1151         Wireless-N 105 devices has been added to the base
1152         system.</para>
1153
1154       <para revision="261975">The deprecated nve(4) driver has been
1155         removed.  Users of NVIDIA nForce MCP network adapters are
1156         advised to use the &man.nfe.4; driver instead, which has been
1157         the default driver for this hardware since
1158         &os;&nbsp;7.0.</para>
1159
1160       <para revision="264601" contrib="sponsor"
1161         sponsor="&darpa_afrl;">The <literal>if_nf10bmac(4)</literal>
1162         device has been added, providing support for NetFPGA-10G
1163         Embedded CPU Ethernet Core.</para>
1164
1165       <note>
1166         <para>The <literal>if_nf10bmac(4)</literal> driver operates on
1167           the FPGA, and is not suited for the PCI host
1168           interface.</para>
1169       </note>
1170
1171       <para revision="265348" contrib="sponsor"
1172         sponsor="&netgate;">The &man.ath.hal.4; driver has been
1173         updated to support the Atheros AR1111 chipset.</para>
1174
1175       <para revision="266770">Support for the &intel; Centrino&trade;
1176         Wireless-N 105 chipset has been added.</para>
1177
1178       <para revision="266757" contrib="sponsor"
1179         sponsor="&chelsio;">Support for the &man.cxgbe.4; Terminator
1180         5 (T5) 10G/40G cards has been added to &man.netmap.4;.</para>
1181
1182       <para revision="272730">The &man.alc.4; driver has been updated
1183         to support AR816x and AR817x ethernet controllers.</para>
1184
1185       <para revision="272906">The &man.pf.4; packet filter default hash
1186         has been changed from <literal>Jenkins</literal> to
1187         <literal>Murmur3</literal>, providing a 3-percent performance
1188         increase in packets-per-second.</para>
1189
1190       <para revision="273331">The &man.vxlan.4; driver has been added,
1191         which creates a virtual Layer 2 (Ethernet) network overlaid in
1192         a Layer 3 (IP/UDP) network.  The &man.vxlan.4; driver is
1193         analogous to &man.vlan.4;, but is designed to be better suited
1194         for large, multiple-tenant datacenter environments.</para>
1195
1196       <para revision="274246" contrib="sponsor" sponsor="&yandex;">The
1197         &man.gre.4; driver has been significantly overhauled, and has
1198         been split into two separate modules, &man.gre.4; and
1199         &man.me.4;.</para>
1200
1201       <para revision="278551">The &man.ral.4; driver has been updated
1202         to support the RT5390 and RT5392 chipsets.</para>
1203
1204       <para revision="283514" contrib="sponsor"
1205         sponsor="&solarflare;">The &man.sfxge.4; driver has been
1206         updated to support Solarflare Flareon Ultra 7000-series
1207         chipsets.</para>
1208
1209       <para revision="283766" contrib="sponsor"
1210         sponsor="&limelight;">The &man.em.4; driver has been updated
1211         with improved transmission queue hang detection.</para>
1212
1213       <para revision="284125">The &man.cdce.4; driver has been updated
1214         to include support for the RTL8153 chipset.</para>
1215
1216       <para revision="286441">The &man.iwm.4; driver has been imported
1217         from OpenBSD, providing support for &intel; 3160/7260/7265
1218         wireless chipsets.</para>
1219
1220       <para revision="286829" contrib="sponsor"
1221         sponsor="&limelight;">The &man.em.4; driver has been updated
1222         to allow disabling <acronym>CRC</acronym> stripping.</para>
1223
1224       <para revision="287222">The &man.pf.4; implementation has been
1225         updated to remove support for the <literal>scrub fragment
1226           crop|drop-ovl</literal> filtering rule.  Systems with this
1227         rule in &man.pf.conf.5; will implicitly be converted to the
1228         <literal>scrub fragment reassemble</literal> filtering rule,
1229         without necessary intervention.</para>
1230
1231       <para revision="287469" contrib="sponsor"
1232         sponsor="&intelcorp;">The &man.em.4; driver has been updated
1233         to support the Skylake I219 chipset.</para>
1234     </sect2>
1235   </sect1>
1236
1237   <sect1 xml:id="hardware">
1238     <title>Hardware Support</title>
1239
1240     <para>This section covers general hardware support for physical
1241       machines, hypervisors, and virtualization environments, as well
1242       as hardware changes and updates that do not otherwise fit in
1243       other sections of this document.</para>
1244
1245     <sect2 xml:id="hardware-support">
1246       <title>Hardware Support</title>
1247
1248       <para revision="268303">The &man.asmc.4; driver has been
1249         updated to support the &apple;&nbsp;MacMini 3,1.</para>
1250
1251       <para revision="268351">Support for &os;/ia64 has been dropped
1252         as of &os;&nbsp;11.</para>
1253
1254       <para revision="274386">An issue that could cause a system to
1255         hang when entering <acronym>ACPI</acronym>
1256         <literal>S3</literal> state (suspend to
1257         <acronym>RAM</acronym>) has been corrected in the &man.acpi.4;
1258         and &man.pci.4; drivers.</para>
1259
1260       <para revision="274733" arch="powerpc">The power management unit
1261         subsystem has been updated to support power button events on
1262         certain &arch.powerpc; hardware, such as aluminum
1263         PowerBook&nbsp;&reg;.</para>
1264
1265       <para revision="275171,275190" arch="powerpc">The &man.hwpmc.4;
1266         driver has been updated to correct performance counter
1267         sampling on G4 (MPC74xxx) and G5 class processors.</para>
1268
1269       <para revision="275732" contrib="sponsor"
1270         sponsor="&ff;,&netgate;">The
1271         <application>OpenCrypto</application> framework has been
1272         updated to include <literal>AES-ICM</literal> and
1273         <literal>AES-GCM</literal> modes, both of which have also been
1274         added to the &man.aesni.4; driver.</para>
1275
1276       <para revision="281713" arch="powerpc">The &man.hwpmc.4;
1277         driver has been updated to support the Freescale e500
1278         core.</para>
1279
1280       <para revision="283766">The &man.ig4.4; driver has been added,
1281         providing support for the fourth generation &intel;
1282         <acronym>I2C</acronym> SMBus.</para>
1283
1284       <para>The &man.uart.4; driver has been updated to support
1285         <acronym>AMT</acronym> devices on newer systems.</para>
1286
1287       <para revision="285316" contrib="sponsor" sponsor="&ff;"
1288         arch="arm64">Initial <acronym>SMP</acronym> support has been
1289         added to the &os;/&arch.arm64; port.</para>
1290     </sect2>
1291
1292     <sect2 xml:id="hardware-virtualization">
1293       <title>Virtualization Support</title>
1294
1295       <para revision="260410">Support for the <quote>Virtual Interrupt
1296           Delivery</quote> feature of &intel;&nbsp;VT-x is enabled if
1297         supported by the CPU.  This feature can be disabled by running
1298         <literal>sysctl hw.vmm.vmx.use_apic_vid=0</literal>.
1299         Additionally, to persist this setting across reboots, add
1300         <literal>hw.vmm.vmx.use_apic_vid=0</literal> to
1301         <filename>/etc/sysctl.conf</filename>.</para>
1302
1303       <para revision="260532">Support for <quote>Posted Interrupt
1304           Processing</quote> is enabled if supported by the CPU.  This
1305         feature can be disabled by running <literal>sysctl
1306           hw.vmm.vmx.use_apic_pir=0</literal>.  Additionally, to
1307         persist this setting across reboots, add
1308         <literal>hw.vmm.vmx.use_apic_pir=0</literal> to
1309         <filename>/etc/sysctl.conf</filename>.</para>
1310
1311       <para revision="260582">Unmapped IO support has been added to
1312         &man.virtio_blk.4;.</para>
1313
1314       <para revision="260583">Unmapped IO support has been added to
1315         &man.virtio_scsi.4;.</para>
1316
1317       <para revision="260847">The &man.virtio_random.4; driver has
1318         been added to harvest entropy from the host system.</para>
1319
1320       <para revision="261504">&os;/&arch.i386; guests can be run under
1321         bhyve.</para>
1322
1323       <para revision="267536" contrib="sponsor"
1324         sponsor="&citrix.rd;">Support for running a &os;/&arch.amd64;
1325         <application>Xen</application> guest instance as
1326         <acronym>PVH</acronym> guest has been added.
1327         <acronym>PVH</acronym> mode, short for <quote>Para-Virtualized
1328           Hardware</quote>, uses para-virtualized drivers for boot and
1329         I/O, and uses hardware virtualization extensions for all other
1330         tasks, without the need for emulation.</para>
1331
1332       <para revision="273375">The &man.bhyve.8; hypervisor has been
1333         updated to support &amd; processors with
1334         <acronym>SVM</acronym> and <acronym>AMD-V</acronym> hardware
1335         extensions.</para>
1336
1337       <para revision="273515">The &man.virtio.console.4; driver has
1338         been added, which provides an interface to VirtIO console
1339         devices through a &man.tty.4; device.</para>
1340
1341       <para revision="279957">The &man.bhyve.8; hypervisor has been
1342         updated to support <literal>DSM TRIM</literal> commands for
1343         virtual <acronym>AHCI</acronym> disks.</para>
1344
1345       <para revision="281439" arch="arm">Support for the
1346         <application>QEMU</application> <literal>virt</literal> system
1347         has been added.</para>
1348
1349       <para revision="282212" contrib="sponsor" sponsor="&msostc;">The
1350         Hyper-V&trade; drivers have been updated with several
1351         enhancements:</para>
1352
1353       <itemizedlist>
1354         <listitem>
1355           <para>The &man.hv.vmbus.4; driver now has multi-channel
1356             support.</para>
1357         </listitem>
1358
1359         <listitem>
1360           <para>The &man.hv.storvsc.4; driver now has scatter/gather
1361             support, in addition to performance improvements.</para>
1362         </listitem>
1363
1364         <listitem>
1365           <para>The &man.hv.kvp.4; driver has received several bug
1366             fixes.</para>
1367         </listitem>
1368       </itemizedlist>
1369
1370       <para revision="282274">Support for &man.xen.4; para-virtualized
1371         <literal>domU</literal> kernels has been removed.</para>
1372
1373       <para revision="284746" contrib="sponsor" sponsor="&msostc;">The
1374         &man.hv.netvsc.4; driver has been updated to support checksum
1375         offloading and <acronym>TSO</acronym>.</para>
1376
1377       <para revision="286062">The &man.xen.4; driver has been updated
1378         to include support for <literal>blkif</literal> indirect
1379         segment I/O.</para>
1380     </sect2>
1381
1382     <sect2 xml:id="hardware-arm">
1383       <title>ARM Support</title>
1384
1385       <para revision="260921">The &man.nand.4; device is enabled for
1386         ARM devices by default.</para>
1387
1388       <para revision="266943" arch="arm">Support for the Exynos 5420
1389         Octa system has been added.</para>
1390
1391       <para revision="267390" arch="arm">The <acronym>SMP</acronym>
1392         option has been enabled for all Exynos 5 systems supported by
1393         &os;.</para>
1394
1395       <para revision="268838" arch="arm">Support for the Toradex
1396         Apalis i.MX6 development board has been added.</para>
1397
1398       <para revision="273264" arch="armv6">An issue that could cause
1399         instability when detecting <acronym>SD</acronym> cards on the
1400         Raspberry Pi <acronym>SOC</acronym> has been fixed.</para>
1401
1402       <para revision="275963">The <literal>bcm2835_cpufreq</literal>
1403         driver has been added, which supports <acronym>CPU</acronym>
1404         frequency and voltage control on the Raspberry Pi
1405         <acronym>SOC</acronym>.</para>
1406
1407       <para revision="277042" arch="arm">Support to turn off the
1408         BeagleBone Black system with the &man.shutdown.8;
1409         <literal>-p</literal> flag or by invoking &man.poweroff.8; has
1410         been added.</para>
1411
1412       <para revision="277644" arch="arm">Audio transmission drivers
1413         have been added for Digital Audio Multiplexer
1414         (<acronym>AUDMUXM</acronym>), Smart Direct Memory Access
1415         Controller (<acronym>SDMA</acronym>), and Syncronous Serial
1416         Interface (<acronym>SSI</acronym>).</para>
1417
1418       <para revision="280259" contrib="sponsor" sponsor="&ff;">Initial
1419         support for the ARM AArch64 architecture has been
1420         added.</para>
1421
1422       <para revision="282779" arch="arm">Kernel support for Thumb-2
1423         userland has been added.</para>
1424
1425       <para revision="282827">Support for the hardware power button
1426         on the BeagleBone Black system has been added.</para>
1427
1428       <para revision="284273" contrib="sponsor"
1429         sponsor="&ff;">Initial
1430         <acronym>ACPI</acronym> support has been added for
1431         &os;/&arch.arm64;.</para>
1432
1433       <para revision="287225">Support for 1-Wire devices has been
1434         added, providing support for 1-Wire hardware through
1435         &man.gpio.4;.  See &man.ow.4;, &man.owc.4;, and
1436         &man.ow.temp.4; for more information.</para>
1437
1438       <para revision="287371" arch="arm64" contrib="sponsor"
1439         sponsor="&abt;">Support for the HiSilicon HI6220 SoC has been
1440         added.</para>
1441     </sect2>
1442   </sect1>
1443
1444   <sect1 xml:id="storage">
1445     <title>Storage</title>
1446
1447     <para>This section covers changes and additions to file systems
1448       and other storage subsystems, both local and networked.</para>
1449
1450     <sect2 xml:id="storage-general">
1451       <title>General Storage</title>
1452
1453       <para revision="278037" contrib="sponsor" sponsor="&ix;">The
1454         &man.ctl.4; <acronym>LUN</acronym> mapping has been rewritten,
1455         replacing <acronym>iSCSI</acronym>-specific mapping mechanisms
1456         with a new mechanism that works for any port.</para>
1457
1458       <para revision="278354" contrib="sponsor" sponsor="&ix;">The
1459         &man.ctld.8; utility has been updated to allow controlling
1460         non-<acronym>iSCSI</acronym> &man.ctl.4; ports.</para>
1461
1462       <para revision="275681" contrib="sponsor" sponsor="&ff;">The
1463         &man.autofs.5; subsystem has been updated to include a new
1464         &man.auto.master.5; map, <literal>-media</literal>, which
1465         allows automatically mounting removable media, such as
1466         <acronym>CD</acronym> drives or <acronym>USB</acronym> flash
1467         drives.</para>
1468
1469       <para revision="279955" contrib="sponsor" sponsor="&ff;">The
1470         &man.autofs.5; subsystem has been updated to include a new
1471         &man.auto.master.5; map, <literal>-noauto</literal>, which
1472         handles &man.fstab.5; entries set to
1473         <literal>noauto</literal>.</para>
1474
1475       <para revision="286444">The <acronym>GELI</acronym> class has
1476         been updated to support the <literal>BIO_DELETE</literal>
1477         &man.g.bio.9; <literal>bio_cmd</literal> field, providing
1478         <acronym>TRIM</acronym>/<acronym>UNMAP</acronym> support on
1479         <acronym>GELI</acronym>-backed <acronym>SSD</acronym> storage
1480         providers.</para>
1481     </sect2>
1482
1483     <sect2 xml:id="storage-net">
1484       <title>Networked Storage</title>
1485
1486       <para revision="270096" contrib="sponsor" sponsor="&ff;">The new
1487         filesystem automount facility, &man.autofs.5;, has been added.
1488         The new &man.autofs.5; facility is similar to that found in
1489         other &unix;-like operating systems, such as OS&nbsp;X&trade;
1490         and Solaris&trade;.  The &man.autofs.5; facility uses
1491         a &sun;-compatible &man.auto.master.5; configuration file, and
1492         is administered with the &man.automount.8; userland utility,
1493         and the &man.automountd.8; and &man.autounmountd.8;
1494         daemons.</para>
1495
1496       <para revision="273849" contrib="sponsor" sponsor="&ff;">Support
1497         for the <literal>timeo</literal>, <literal>actimeo</literal>,
1498         <literal>noac</literal>, and <literal>proto</literal> options
1499         have been added to &man.mount.nfs.8;.</para>
1500     </sect2>
1501
1502     <sect2 xml:id="storage-zfs">
1503       <title>ZFS</title>
1504
1505       <para revision="275748">The <literal>arc_meta_limit</literal>
1506         statistics are now visible through the
1507         <literal>kstat</literal> &man.sysctl.8;.  As a result of this
1508         change, the <literal>vfs.zfs.arc_meta_used</literal>
1509         &man.sysctl.8; has been removed, and replaced with the
1510         <literal>kstat.zfs.misc.arcstats.arc_meta_used</literal>
1511         &man.sysctl.8;.</para>
1512
1513       <para revision="287099" contrib="sponsor"
1514         sponsor="&clusterhq;">The &man.zfs.8; <literal>l2arc</literal>
1515         code has been updated to take <literal>ashift</literal> into
1516         account when gathering buffers to be written to the
1517         <literal>l2arc</literal> device.</para>
1518     </sect2>
1519
1520     <sect2 xml:id="storage-geom">
1521       <title>&man.geom.4;</title>
1522
1523       <para revision="267359">Support for the
1524         <literal>disklabel64</literal> partitioning scheme has been
1525         added to &man.gpart.8;.</para>
1526
1527       <para revision="282465">Support for the
1528         <literal>apple-boot</literal>, <literal>apple-hfs</literal>,
1529         and <literal>apple-ufs</literal> <acronym>MBR</acronym>
1530         partitioning schemes have been added to &man.gpart.8;.</para>
1531
1532       <para revision="285594" contrib="sponsor"
1533         sponsor="&scaleengine;">The &man.gpart.8; utility has been
1534         updated to include a new attribute for <acronym>GPT</acronym>
1535         partitions, <literal>lenovofix</literal>, which when set,
1536         which works around <acronym>BIOS</acronym> compatibility
1537         issues reported on several Lenovo&nbsp;&trade; laptops.</para>
1538     </sect2>
1539   </sect1>
1540
1541   <sect1 xml:id="boot">
1542     <title>Boot Loader Changes</title>
1543
1544     <para>This section covers the boot loader, boot menu, and other
1545       boot-related changes.</para>
1546
1547     <sect2 xml:id="boot-loader">
1548       <title>Boot Loader Changes</title>
1549
1550       <para revision="258431" contrib="sponsor" sponsor="&ff;">The
1551         memory test run at boot time on &os;/&arch.amd64; platforms
1552         has been disabled by default.</para>
1553
1554       <para revision="262955">A new &man.ttys.5; class,
1555         <literal>3wire</literal>, has been added.  This is similar to
1556         the existing terminal classes, but does not have a defined
1557         baudrate.</para>
1558
1559       <para revision="274085">The &man.vt.4; driver has been made the
1560         default system console driver.  The &man.syscons.4; driver is
1561         still available, and can be enabled by adding
1562         <literal>kern.vty=sc</literal> in &man.loader.conf.5;.
1563         Alternatively, &man.syscons.4; can be enabled at boot time by
1564         entering <literal>set kern.vty=sc</literal> at the
1565         &man.loader.8; prompt.</para>
1566
1567       <para revision="279950">Support for <literal>bzipfs</literal>
1568         has been added to the <acronym>EFI</acronym> loader.</para>
1569
1570       <para revision="281616">The boot loader has been updated to
1571         support entering the <acronym>GELI</acronym> passphrase before
1572         loading the kernel.  To enable this behavior, add
1573         <literal>geom_eli_passphrase_prompt="YES"</literal> to
1574         &man.loader.conf.5;.</para>
1575
1576       <para revision="284683" contrib="sponsor" sponsor="&ff;"
1577         arch="arm">The &man.ttys.5; file for &os;/&arch.arm; has been
1578         updated to enable <filename>ttyu1</filename>,
1579         <filename>ttyu2</filename>, and <filename>ttyu3</filename> by
1580         default, if the callin port is an active console port.</para>
1581     </sect2>
1582
1583     <sect2 xml:id="boot-menu">
1584       <title>Boot Menu Changes</title>
1585
1586       <para>&nbsp;</para>
1587     </sect2>
1588   </sect1>
1589
1590   <sect1 xml:id="network">
1591     <title>Networking</title>
1592
1593     <para>This section describes changes that affect networking in
1594       &os;.</para>
1595
1596     <sect2 xml:id="network-protocols">
1597       <title>Network Protocols</title>
1598
1599       <para revision="263140">Support for the IPX network transport
1600         protocol has been removed, and will not be supported in
1601         &os;&nbsp;11 and later releases.</para>
1602
1603       <para revision="272720" contrib="sponsor"
1604         sponsor="&limelight;">Support for <acronym>PLPMTUD</acronym>
1605         blackhole detection (<acronym>RFC</acronym> 4821) has been
1606         added to the &man.tcp.4; stack, disabled by default.  New
1607         control tunables have been added:</para>
1608
1609       <informaltable frame="none" pgwide="0">
1610         <tgroup cols="2">
1611           <colspec colwidth="1*"/>
1612           <colspec colwidth="1*"/>
1613           <thead>
1614             <row>
1615               <entry>Tunable</entry>
1616               <entry>Description</entry>
1617             </row>
1618           </thead>
1619
1620           <tbody>
1621             <row>
1622               <entry><literal>net.inet.tcp.pmtud_blackhole_detection</literal></entry>
1623               <entry>Enables or disables <acronym>PLPMTUD</acronym>
1624                 blackhole detection</entry>
1625             </row>
1626
1627             <row>
1628               <entry><literal>net.inet.tcp.pmtud_blackhole_mss</literal></entry>
1629               <entry><acronym>MSS</acronym> to try for IPv4</entry>
1630             </row>
1631
1632             <row>
1633               <entry><literal>net.inet.tcp.v6pmtud_blackhole_mss</literal></entry>
1634               <entry><acronym>MSS to try for IPv6</acronym></entry>
1635             </row>
1636           </tbody>
1637         </tgroup>
1638       </informaltable>
1639
1640       <para>New monitoring &man.sysctl.8;s haven been added:</para>
1641
1642       <informaltable frame="none" pgwide="0">
1643         <tgroup cols="2">
1644           <colspec colwidth="1*"/>
1645           <colspec colwidth="1*"/>
1646           <thead>
1647             <row>
1648               <entry>Tunable</entry>
1649               <entry>Description</entry>
1650             </row>
1651           </thead>
1652
1653           <tbody>
1654             <row>
1655               <entry><literal>net.inet.tcp.pmtud_blackhole_activated</literal></entry>
1656               <entry>Number of times the code was activated to attempt
1657                 downshifting the <acronym>MSS</acronym></entry>
1658             </row>
1659
1660             <row>
1661               <entry><literal>net.inet.tcp.pmtud_blackhole_min_activated</literal></entry>
1662               <entry>Number of times the blackhole
1663                 <acronym>MSS</acronym> was used in an attempt to
1664                 downshift</entry>
1665             </row>
1666
1667             <row>
1668               <entry><literal>net.inet.tcp.pmtud_blackhole_failed</literal></entry>
1669               <entry>Number of times that the blackhole failed to
1670                 connect after downshifting the
1671                 <acronym>MSS</acronym></entry>
1672             </row>
1673           </tbody>
1674         </tgroup>
1675       </informaltable>
1676
1677       <para revision="280971" contrib="sponsor"
1678         sponsor="&netflix;, &nginx;">Support for <acronym>IP</acronym>
1679         identification for atomic datagrams (<acronym>RFC</acronym>
1680         6864) has been added.  Support for this feature can be toggled
1681         with the <literal>net.inet.ip.rfc6864</literal>
1682         &man.sysctl.8;, which is enabled by default.</para>
1683
1684       <para revision="285336" contrib="sponsor"
1685         sponsor="&netgate;">The <acronym>IPSEC</acronym> has been
1686         updated to include support for <acronym>AES</acronym> modes on
1687         both software-only and hardware-backed (&man.aesni.4;)
1688         systems.</para>
1689
1690       <para revision="287798" contrib="sponsor" sponsor="&dell;">The
1691         network stack has been updated to fix handling of
1692         <acronym>IPv6</acronym> On-Link redirects.</para>
1693     </sect2>
1694   </sect1>
1695
1696   <sect1 xml:id="ports">
1697     <title>Ports Collection and Package Infrastructure</title>
1698
1699     <para>This section covers changes to the &os;&nbsp;Ports
1700       Collection, package infrastructure, and package maintenance and
1701       installation tools.</para>
1702
1703     <sect2 xml:id="ports-infrastructure">
1704       <title>Infrastructure Changes</title>
1705
1706       <para>&nbsp;</para>
1707     </sect2>
1708
1709     <sect2 xml:id="ports-packages ">
1710       <title>Packaging Changes</title>
1711
1712       <para>&nbsp;</para>
1713     </sect2>
1714   </sect1>
1715
1716   <sect1 xml:id="doc">
1717     <title>Documentation</title>
1718
1719     <para>This section covers changes to the &os;&nbsp;Documentation
1720       Project sources and toolchain.</para>
1721
1722     <sect2 xml:id="doc-sources">
1723       <title>Documentation Source Changes</title>
1724
1725       <para>&nbsp;</para>
1726     </sect2>
1727
1728     <sect2 xml:id="doc-toolchain">
1729       <title>Documentation Toolchain Changes</title>
1730
1731       <para>&nbsp;</para>
1732     </sect2>
1733   </sect1>
1734
1735   <sect1 xml:id="releng">
1736     <title>Release Engineering and Integration</title>
1737
1738     <para>This section convers changes that are specific to the
1739       &os;&nbsp;Release Engineering processes.</para>
1740
1741     <sect2 xml:id="releng-changes">
1742       <title>Integration Changes</title>
1743
1744       <para revision="277458" contrib="sponsor" sponsor="&ff;">The
1745         Release Engineering build tools have been updated to include
1746         support for producing virtual machine disk images for various
1747         cloud hosting providers.</para>
1748
1749       <para revision="278926">The Release Engineering build tools have
1750         been updated to use multi-threaded &man.xz.1;.  By default,
1751         the number of &man.xz.1; threads is set to the number of cores
1752         available.</para>
1753
1754       <para revision="281802" contrib="sponsor" sponsor="&ff;">The
1755         Release Engineering build tools have been updated to include
1756         support for building &os;/&arch.arm64; virtual machine and
1757         memory stick installation images.</para>
1758
1759       <para revision="282693" contrib="sponsor" sponsor="&ff;">The
1760         Release Engineering build tools have been updated to support
1761         building &os;/&arch.arm; images without external utilities for
1762         supported boards where a corresponding
1763         <literal>u-boot</literal> port exists in the Ports
1764         Collection.</para>
1765
1766       <para revision="283307" contrib="sponsor" sponsor="&ff;">The
1767         &os;/&arch.i386; memory stick installation images are now
1768         created using the &man.mkimg.1; utility, matching the way
1769         the &os;/&arch.amd64; images are created.</para>
1770     </sect2>
1771   </sect1>
1772 </article>