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<!ENTITY local.rel "11.0">
13]>
14<article xmlns="http://docbook.org/ns/docbook"
15  xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0">
16
17  <info>
18    <title>&os; &release.current; Release Notes</title>
19
20    <author>
21      <orgname>The &os; Project</orgname>
22    </author>
23
24    <pubdate>$FreeBSD: releng/11.0/release/doc/en_US.ISO8859-1/relnotes/article.xml 306207 2016-09-22 18:51:37Z gjb $</pubdate>
25
26    <!-- Last rev: 288943 -->
27
28    <copyright>
29      <year>2015</year>
30      <year>2016</year>
31      <holder role="mailto:doc@FreeBSD.org">The &os; Documentation
32	Project</holder>
33    </copyright>
34
35    <legalnotice xml:id="trademarks" role="trademarks">
36      &tm-attrib.freebsd;
37      &tm-attrib.ibm;
38      &tm-attrib.ieee;
39      &tm-attrib.intel;
40      &tm-attrib.sparc;
41      &tm-attrib.general;
42    </legalnotice>
43
44    <abstract>
45      <para>The release notes for &os; &release.current; contain
46	a summary of the changes made to the &os; base system on the
47	&release.branch; development line.  This document lists
48	applicable security advisories that were issued since the last
49	release, as well as significant changes to the &os; kernel and
50	userland.  Some brief remarks on upgrading are also
51	presented.</para>
52    </abstract>
53  </info>
54
55  <sect1 xml:id="intro">
56    <title>Introduction</title>
57
58    <para>This document contains the release notes for &os;
59      &release.current;.  It describes recently added, changed, or
60      deleted features of &os;.  It also provides some notes on
61      upgrading from previous versions of &os;.</para>
62
63    <para releasetype="current">The &release.type; distribution to
64      which these release notes apply represents the latest point
65      along the &release.branch; development branch since
66      &release.branch; was created.  Information regarding pre-built,
67      binary &release.type; distributions along this branch can be
68      found at <uri
69	xlink:href="&release.url;">&release.url;</uri>.</para>
70
71    <para releasetype="snapshot">The &release.type; distribution to
72      which these release notes apply represents a point along the
73      &release.branch; development branch between &release.prev; and
74      the future &release.next;.  Information regarding pre-built,
75      binary &release.type; distributions along this branch can be
76      found at <uri
77	xlink:href="&release.url;">&release.url;</uri>.</para>
78
79    <para releasetype="release">This distribution of &os;
80      &release.current; is a &release.type; distribution.  It can be
81      found at <uri xlink:href="&release.url;">&release.url;</uri> or
82      any of its mirrors.  More information on obtaining this (or
83      other) &release.type; distributions of &os; can be found in the
84      <link
85	xlink:href="&url.books.handbook;/mirrors.html"><quote>Obtaining
86	  &os;</quote> appendix</link> to the <link
87	xlink:href="&url.books.handbook;/">&os;
88	Handbook</link>.</para>
89
90    <para>All users are encouraged to consult the release errata
91      before installing &os;.  The errata document is updated with
92      <quote>late-breaking</quote> information discovered late in the
93      release cycle or after the release.  Typically, it contains
94      information on known bugs, security advisories, and corrections
95      to documentation.  An up-to-date copy of the errata for &os;
96      &release.current; can be found on the &os; Web site.</para>
97
98    <para>This document describes the most user-visible new or changed
99      features in &os; since &release.prev;.  In general, changes
100      described here are unique to the &release.branch; branch unless
101      specifically marked as &merged; features.</para>
102
103    <para>Typical release note items document recent security
104      advisories issued after &release.prev;, new drivers or hardware
105      support, new commands or options, major bug fixes, or
106      contributed software upgrades.  They may also list changes to
107      major ports/packages or release engineering practices.  Clearly
108      the release notes cannot list every single change made to &os;
109      between releases; this document focuses primarily on security
110      advisories, user-visible changes, and major architectural
111      improvements.</para>
112  </sect1>
113
114  <sect1 xml:id="important">
115    <title>Important Notes</title>
116
117    <para>This section lists important information for those upgrading
118      from prior &os; releases.</para>
119
120    <sect2 xml:id="important-notes">
121      <title>User-facing Changes</title>
122
123      <para>As of <literal>r303719</literal>,
124	<application>OpenSSH</application> <literal>DSA</literal> key
125	generation has been disabled by default.  It is important to
126	update <application>OpenSSH</application> keys prior to
127	upgrading.  Additionally, <literal>Protocol 1</literal>
128	support has been removed.</para>
129    </sect2>
130  </sect1>
131
132  <sect1 xml:id="upgrade">
133    <title>Upgrading from Previous Releases of &os;</title>
134
135    <para arch="amd64,i386">Binary upgrades between RELEASE versions
136      (and snapshots of the various security branches) are supported
137      using the &man.freebsd-update.8; utility.  The binary upgrade
138      procedure will update unmodified userland utilities, as well as
139      unmodified GENERIC kernels distributed as a part of an official
140      &os; release.  The &man.freebsd-update.8; utility requires that
141      the host being upgraded have Internet connectivity.</para>
142
143    <para>Source-based upgrades (those based on recompiling the &os;
144      base system from source code) from previous versions are
145      supported, using the instructions in
146      <filename>/usr/src/UPDATING</filename>.</para>
147
148    <para>For information on upgrading via &man.freebsd-update.8;,
149      please see the <uri
150	xlink:href="http://www.FreeBSD.org/releases/&local.rel;R/installation.html#upgrade-binary">binary
151	upgrading section</uri> in the Installation page.</para>
152
153    <important>
154      <para>Upgrading &os; should only be attempted after backing up
155	<emphasis>all</emphasis> data and configuration files.</para>
156    </important>
157  </sect1>
158
159  <sect1 xml:id="userland">
160    <title>Userland</title>
161
162    <para>This section covers changes and additions to userland
163      applications, contributed software, and system utilities.</para>
164
165    <sect2 xml:id="userland-config">
166      <title>Userland Configuration Changes</title>
167
168      <para revision="266463">The default &man.newsyslog.conf.5; now
169	includes files in the
170	<filename>/etc/newsyslog.conf.d/</filename> and
171	<filename>/usr/local/etc/newsyslog.conf.d/</filename>
172	directories for &man.newsyslog.8;.</para>
173
174      <para revision="270675">The &man.mailwrapper.8; utility has been
175	updated to use &man.mailer.conf.5; from the
176	<literal>LOCALBASE</literal> environment variable, which
177	defaults to <filename class="directory">/usr/local</filename>
178	if unset.</para>
179
180      <para revision="272350">The <literal>MK_ARM_EABI</literal>
181	&man.src.conf.5; option has been removed and is now the only
182	supported ABI for &os;/&arch.arm;.</para>
183
184      <para revision="301247">The <application>ntp</application> suite
185	has been updated to version 4.2.8p8.</para>
186
187      <para revision="301247">
188	<filename>/etc/ntp/leap-seconds</filename> has been updated to
189	version 3676752000.</para>
190
191      <para revision="302177">The
192	<literal>WITH_SYSTEM_COMPILER</literal> &man.src.conf.5;
193	option is enabled by default.</para>
194    </sect2>
195
196    <sect2 xml:id="userland-programs">
197      <title>Userland Application Changes</title>
198
199      <para revision="260594">When unable to load a kernel module with
200	&man.kldload.8;, a message informing to view output of
201	&man.dmesg.8; is now printed, opposed to the previous output
202	<quote>Exec format error.</quote>.</para>
203
204      <para revision="260910">The &man.pciconf.8; utility can now
205	identify PCI devices that are attached to a driver to be
206	identified by their device name instead of just the selector.
207	Additionally, the <literal>-l</literal> flag now accepts an
208	optional device argument to list details about a single
209	device.</para>
210
211      <para revision="260913">A new flag, <quote>onifconsole</quote>
212	has been added to <filename>/etc/ttys</filename>.  This allows
213	the system to provide a login prompt via serial console if the
214	device is an active kernel console, otherwise it is equivalent
215	to <literal>off</literal>.</para>
216
217      <para revision="260926">Support for displaying VPD for PCI
218	devices via &man.pciconf.8; has been added.</para>
219
220      <para revision="261498">The &man.ping.8; utility has been
221	updated to use the Capsicum framework to drop priviliges,
222	protecting against malicious network packets.</para>
223
224      <para revision="265229">The &man.ps.1; utility has been
225	updated to include the <literal>-J</literal> flag, used to
226	filter output by matching &man.jail.8; IDs and names.
227	Additionally, argument <literal>0</literal> can be used to
228	<literal>-J</literal> to only list processes running on the
229	host system.</para>
230
231      <para revision="265249">The &man.top.1; utility has been updated
232	to filter by &man.jail.8; ID or name, in followup to the
233	&man.ps.1; change in <literal>r265229</literal>.</para>
234
235      <para revision="266209">The &man.pmcstat.8; utility has been
236	updated to include a new flag, <literal>-l</literal>, which
237	ends event collection after the specified number of
238	seconds.</para>
239
240      <para revision="270745">The &man.ps.1; utility has been updated
241	to include a new keyword, <quote>tracer</quote>, which
242	displays the <acronym>PID</acronym> of the tracing
243	process.</para>
244
245      <para revision="271482">Support for adding empty partitions has
246	been added to the &man.mkimg.1; utility.</para>
247
248      <para revision="272166">The &man.primes.6; utility has been
249	updated to correctly enumerate prime numbers between
250	<literal>4295098369</literal> and
251	<literal>3825123056546413050</literal>.  Prior to this change,
252	it was possible for returned values to be incorrectly
253	identified as prime numbers.</para>
254
255      <para revision="272198">The &man.mkimg.1; utility has been
256	updated to include three options used to print information
257	about &man.mkimg.1; itself:</para>
258
259      <informaltable frame="none" pgwide="0">
260	<tgroup cols="2">
261	  <colspec colwidth="1*"/>
262	  <colspec colwidth="1*"/>
263	  <thead>
264	    <row>
265	      <entry>Option</entry>
266	      <entry>Output</entry>
267	    </row>
268	  </thead>
269
270	  <tbody>
271	    <row>
272	      <entry><literal>--version</literal></entry>
273	      <entry>The current version of the &man.mkimg.1;
274		utility</entry>
275	    </row>
276
277	    <row>
278	      <entry><literal>--formats</literal></entry>
279	      <entry>The disk image file formats supported by
280		&man.mkimg.1;</entry>
281	    </row>
282
283	    <row>
284	      <entry><literal>--schemes</literal></entry>
285	      <entry>The partition schemes supported by
286		&man.mkimg.1;</entry>
287	    </row>
288	  </tbody>
289	</tgroup>
290      </informaltable>
291
292      <para revision="272488">Userland &man.ctf.5; support in
293	&man.dtrace.1; has been added.  With this change,
294	&man.dtrace.1; is able to resolve type info for function and
295	<acronym>USDT</acronym> probe arguments, and function return
296	values.</para>
297
298      <para revision="274960">The &man.elfdump.1; utility has been
299	updated to support capability mode provided by
300	&man.capsicum.4;.</para>
301
302      <para revision="275680" contrib="sponsor" sponsor="&ff;">The
303	&man.fstyp.8; utility has been added, which is used to
304	determine the filesystem on a specified device.</para>
305
306      <para revision="276881">The <literal>libedit</literal> library
307	has been updated to support <acronym>UTF</acronym>-8, which
308	additionally provides unicode support to &man.sh.1;.</para>
309
310      <para revision="276893" contrib="sponsor" sponsor="&ff;">The
311	&man.mkimg.1; utility has been updated to support the
312	<acronym>MBR</acronym> <acronym>EFI</acronym> partition
313	type.</para>
314
315      <para revision="277166">The &man.ptrace.2; system call has been
316	updated include support for Altivec registers on
317	&os;/&arch.powerpc;.</para>
318
319      <para revision="278320">A new device control utility,
320	&man.devctl.8; has been added, which allows making
321	administrative changes to individual devices, such as
322	attaching and detaching drivers, and enabling and disabling
323	devices.  The &man.devctl.8; utility uses the new
324	&man.devctl.3; library.</para>
325
326      <para revision="279122" contrib="sponsor"
327	sponsor="&juniper;">The &man.netstat.1; utility has been
328	updated to use &man.libxo.3; to optionally generate
329	machine-readable output.</para>
330
331      <para revision="279139">A new flag, <literal>-c</literal>, has
332	been added to the &man.mkimg.1; utility, which allows
333	specifying the capacity of the target disk image.</para>
334
335      <para revision="279315" contrib="sponsor" sponsor="&ff;">The
336	<acronym>UEFI</acronym> Secure Boot signing utility,
337	&man.uefisign.8; utility has been added.</para>
338
339      <para revision="279571" contrib="sponsor"
340	sponsor="&scaleengine;">The &man.freebsd-update.8; utility has
341	been updated to prevent fetching updated binary patches when
342	a previous upgrade has not been thoroughly completed.</para>
343
344      <para revision="280870">A regression in the &man.libarchive.3;
345	library that would prevent a directory from being included in
346	the archive when <literal>--one-file-system</literal> is used
347	has been fixed.</para>
348
349      <para revision="281311" contrib="sponsor" sponsor="&ff;">The
350	&man.ar.1; utility has been updated to set
351	<literal>ARCHIVE_EXTRACT_SECURE_SYMLINKS</literal> and
352	<literal>ARCHIVE_EXTRACT_SECURE_NODOTDOT</literal> to disallow
353	directory traversal when extracting an archive, similar to
354	&man.tar.1;.</para>
355
356      <para revision="281617">A race condition in &man.wc.1; that
357	would cause final results to be sent to &man.stderr.4; when
358	receiving the <literal>SIGINFO</literal> signal has been
359	fixed.</para>
360
361      <para revision="282208" contrib="sponsor"
362	sponsor="&multiplay;">The &man.chflags.1;, &man.chgrp.1;,
363	&man.chmod.1;, and &man.chown.8; utilities now affect symbolic
364	links when the <literal>-R</literal> flag is specified, as
365	documented in &man.symlink.7;.</para>
366
367      <para revision="282608">The &man.date.1; utility has been
368	updated to print the modification time of the file passed as
369	an argument to the <literal>-r</literal> flag, improving
370	compatibility with the <acronym>GNU</acronym> &man.date.1;
371	utility behavior.</para>
372
373      <para revision="283961">The &man.pw.8; utility has been updated
374	with a new flag, <literal>-R</literal>, that sets the root
375	directory within which the utility will operate.</para>
376
377      <para revision="284297" contrib="sponsor"
378	sponsor="&clusterhq;">The &man.lockstat.1; utility has been
379	updated with several improvements:</para>
380
381      <itemizedlist>
382	<listitem>
383	  <para>Spin locks are now reported as the amount of time
384	    spinning, instead of loop iterations.</para>
385	</listitem>
386
387	<listitem>
388	  <para>Reader locks are now recognized as adaptive that can
389	    spin on &os;.</para>
390	</listitem>
391
392	<listitem>
393	  <para>Lock aquisition events for successful reader try-lock
394	    events are now reported.</para>
395	</listitem>
396
397	<listitem>
398	  <para>Spin and block events are now reported before lock
399	    acquisition events.</para>
400	</listitem>
401      </itemizedlist>
402
403      <para revision="284589" contrib="sponsor"
404	sponsor="&scaleengine;">The &man.fstyp.8; utility has been
405	updated to be able to detect &man.zfs.8; and &man.geli.8;
406	filesystems.</para>
407
408      <para revision="284883">The &man.mkimg.1; utility has been
409	updated to include support for <literal>NTFS</literal>
410	filesystems in both <acronym>MBR</acronym> and
411	<acronym>GPT</acronym> partitioning schemes.</para>
412
413      <para revision="285253">The &man.quota.1; utility has been
414	updated to include support for <acronym>IPv6</acronym>.</para>
415
416      <para revision="285420">The &man.jexec.8; utility has been
417	updated to include a new flag, <literal>-l</literal>, which
418	ensures a clean environment in the target jail when used.
419	Additionally, &man.jexec.8; will run a shell within the target
420	jail when run no commands are specified.</para>
421
422      <para revision="285550">The &man.w.1; utility has been updated
423	to display the full IPv6 remote address of the host from which
424	a user is connected.</para>
425
426      <para revision="285685">The &man.jail.8; framework has been
427	updated to allow mounting &man.linprocfs.5; and
428	&man.linsysfs.5; within a jail.</para>
429
430      <para revision="285772" contrib="sponsor"
431	sponsor="&emcisilon;">The &man.patch.1; utility has been
432	updated to include a new option to the <literal>-V</literal>
433	flag, <literal>none</literal>, which disables backup file
434	creation when applying a patch.</para>
435
436      <para revision="286010" contrib="sponsor" sponsor="&ff;">The
437	&man.ar.1; utility now enables deterministic mode
438	(<literal>-D</literal>) by default.  This behavior can be
439	disabled by specifying the <literal>-U</literal> flag.</para>
440
441      <para revision="286289" contrib="sponsor"
442	sponsor="&scaleengine;">The &man.xargs.1; utility has been
443	updated to allow specifying <literal>0</literal> as an
444	argument to the <literal>-P</literal> (parallel mode) flag,
445	which allows creating as many concurrent processes as
446	possible.</para>
447
448      <para revision="286795">The &man.patch.1; utility has been
449	updated to remove the automatic checkout feature.</para>
450
451      <para revision="287197" contrib="sponsor"
452	sponsor="&netflix;, &nginx;">The wireless network stack has
453	been modified to no longer show physical wireless devices by
454	default.  In order to view available wireless devices on the
455	system, run <literal>sysctl net.wlan.devices</literal>.</para>
456
457      <para revision="287473" contrib="sponsor" sponsor="&gandi;">A
458	new utility, &man.sesutil.8;, has been added, which is used
459	to manage &man.ses.4; (<acronym>SCSI</acronym> Environmental
460	Services) devices.</para>
461
462      <para revision="287522">The &man.pciconf.8; utility has been
463	updated to use the PCI ID database from the <filename
464	  role="package">misc/pciids</filename> package, if present,
465	falling back to the PCI ID database in the &os; base
466	system.</para>
467
468      <para revision="289315" contrib="sponsor" sponsor="&dell;">The
469	resolver library has been updated to reload
470	<filename>/etc/resolv.conf</filename> if the modification time
471	has changed.</para>
472
473      <para revision="297678">The &man.uuencode.1; utility has been
474	updated to include a new flag, <literal>-r</literal>, which
475	when used will generate raw output similar the
476	&man.uudecode.1; <literal>-r</literal> flag.</para>
477
478      <para revision="300738">By default the &man.ifconfig.8; utility
479	will set the default regulatory domain to
480	<literal>FCC</literal> on wireless interfaces.  As a result,
481	newly created wireless interfaces with default settings will
482	have less chance to violate country-specific
483	regulations.</para>
484
485      <para revision="302558">A bug in the &man.ul.1; utility that
486	caused lines to be truncated at 512 characters has been
487	fixed.</para>
488    </sect2>
489
490    <sect2 xml:id="userland-contrib">
491      <title>Contributed Software</title>
492
493      <para revision="275718">The <application>binutils</application>
494	suite of utilities has been updated to include upstream
495	patches that add new relocations for &arch.powerpc;
496	support.</para>
497
498      <para revision="300698" contrib="sponsor" sponsor="&ff;">The
499	<application>ELF Tool Chain</application> has been updated to
500	upstream revision r3477.</para>
501
502      <para revision="276551">The <application>texinfo</application>
503	utility and <literal>info</literal> pages were removed from
504	the base system.  The <filename
505	  role="package">print/texinfo</filename> port should be
506	installed on systems where <literal>info</literal> pages are
507	needed.</para>
508
509      <para revision="276796" contrib="sponsor" sponsor="&ff;">The ELF
510	object manipulation tools
511	<application>addr2line</application>,
512	<application>c++filt</application>,
513	<application>objcopy</application>,
514	<application>nm</application>,
515	<application>readelf</application>,
516	<application>size</application>,
517	<application>strip</application>, and
518	<application>strings</application> were switched to the
519	versions from the ELF Tool Chain project.</para>
520
521      <para revision="278433">The &man.xz.1; utility has been updated
522	to support multi-threaded compression.</para>
523
524      <para revision="281373">The &man.nvi.1; editor and related
525	utilities have been updated to version 2.1.3.</para>
526
527      <para revision="281806">The &man.wpa.supplicant.8; and
528	&man.hostapd.8; utilities have been updated to version
529	2.4.</para>
530
531      <para revision="284254"><application>bmake</application> has
532	been updated to version 20150606.</para>
533
534      <para revision="285229"><application>Sendmail</application> has
535	been updated to 8.15.2.  Starting with &os;&nbsp;11.0 and
536	sendmail 8.15, sendmail uses uncompressed IPv6 addresses by
537	default, i.e., they will not contain <quote>::</quote>.  For
538	example, instead of <quote>::1</quote>, it will be
539	<quote>0:0:0:0:0:0:0:1</quote>.  This permits a zero subnet to
540	have a more specific match, such as different map entries for
541	IPv6:0:0 versus IPv6:0.  This change requires that
542	configuration data (including maps, files, classes, custom
543	ruleset, etc.) must use the same format, so make certain such
544	configuration data is in place before upgrading.  As a very
545	simple check search for patterns like 'IPv6:[0-9a-fA-F:]*::'
546	and 'IPv6::'.  To return to the old behavior, set the m4
547	option <literal>confUSE_COMPRESSED_IPV6_ADDRESSES</literal> or
548	the cf option
549	<literal>UseCompressedIPv6Addresses</literal>.</para>
550
551      <para revision="285275">The &man.tcpdump.1; utility has been
552	updated to version 4.7.4.</para>
553
554      <para revision="285642" contrib="sponsor" sponsor="&dell;">The
555	&man.ssh.1; utility has been updated to re-implement hostname
556	canonicalization before locating the host in
557	<filename>known_hosts</filename>.</para>
558
559      <para revision="285972">The &man.libarchive.3; library has been
560	updated to properly skip a sparse file entry in a &man.tar.1;
561	file, which would previously produce errors.</para>
562
563      <para revision="286503">The <application>apr</application>
564	library used by &man.svnlite.1; has been updated to version
565	1.5.2.</para>
566
567      <para revision="286505">The <application>serf</application>
568	library used by &man.svnlite.1; has been updated to version
569	1.3.8.</para>
570
571      <para revision="287168">The &man.acpi.4; subsystem has been
572	updated to version 20150818.</para>
573
574      <para revision="287917">The &man.unbound.8; utility has been
575	updated to version 1.5.4.</para>
576
577      <para revision="288303">The &man.nc.1; utility has been updated
578	to the OpenBSD 5.8 version.</para>
579
580      <para revision="290697">Timezone data files have been updated to
581	version 2015g.</para>
582
583      <para revision="291125">The &man.xz.1; utility has been updated
584	to version 5.2.2.</para>
585
586      <para revision="292257">The &man.mandoc.1; utility has been
587	updated to version 20160116.</para>
588
589      <para revision="292432"><application>OpenBSM</application> has
590	been updated to version 1.2 alpha 4.</para>
591
592      <para revision="296417"><application>Clang</application> has
593	been updated to version 3.8.0.</para>
594
595      <para revision="296417"><application>LLVM</application> has
596	been updated to version 3.8.0.</para>
597
598      <para revision="296417"><application>LLDB</application> has
599	been updated to version 3.8.0.</para>
600
601      <para revision="296417"><application>libc++</application> has
602	been updated to version 3.8.0.</para>
603
604      <para revision="296417">The
605	<application>compiler_rt</application> utility has been
606	updated to version 3.8.0.</para>
607
608      <para revision="296190" contrib="sponsor" sponsor="&ff;">The
609	&man.resolvconf.8; utility has been updated to version
610	3.7.3.</para>
611
612      <para revision="296633"><application>OpenSSH</application> has
613	been updated to 7.2p2.</para>
614
615      <para revision="297276">The &man.byacc.1; utility has been
616	updated to version 20160324.</para>
617
618      <para revision="298161">The <application>sqlite3</application>
619	library used by &man.svnlite.1; and &man.kerberos.8; has been
620	updated to version 3.12.1.</para>
621
622      <para revision="298166"><application>libucl</application> has
623	been updated to version 0.8.0.</para>
624
625      <para revision="298845">The &man.svnlite.1; utility has been
626	updated to version 1.9.4.</para>
627
628      <para revision="300879"><application>ACPICA</application> has
629	been updated to version 20160527.</para>
630
631      <para revision="301169" contrib="sponsor" sponsor="&ff;">The
632	&man.libblacklist.3; library and applications have been ported
633	from the NetBSD Project.  Packet filtering support for the
634	&man.pf.4; packet filtering systems has been implemented.  The
635	<application>blacklist</application> system provides the
636	<application>blacklistd</application> daemon, the helper
637	script <application>blacklistd-helper</application> to make
638	changes to the running packet filter system and the
639	<application>blacklistctl</application> control program.
640	A selection of system daemons, including:
641	<application>fingerd</application>,
642	<application>ftpd</application>,
643	<application>rlogind</application>, and
644	<application>rshd</application> have been modified to support
645	sending notifications to the
646	<application>blacklistd</application> daemon.</para>
647
648      <para revision="301718">The &man.jemalloc.3; library has been
649	updated to version 4.2.1.</para>
650
651      <para revision="301736" contrib="sponsor" sponsor="&ff;">Support
652	for the &man.ipfw.4; packet filter has been added to the
653	<application>blacklistd-helper</application> script.</para>
654
655      <para revision="301843" contrib="sponsor" sponsor="&ff;">Support
656	for the &man.ipfilter.4; packet filter has been added to the
657	<application>blacklistd-helper</application> script.</para>
658
659      <para revision="302221">The &man.file.1; utility has been
660	updated to version 5.28.</para>
661
662      <para revision="303716">SSHv1 support has been removed from
663	<application>OpenSSH</application>.</para>
664
665      <para revision="303719">Support for DSA is disabled by default
666	in <application>OpenSSH</application>.</para>
667
668      <para revision="306198"><application>OpenSSL</application> has
669	been updated to version 1.0.2i.</para>
670    </sect2>
671
672    <sect2 xml:id="userland-installer">
673      <title>Installation and Configuration Tools</title>
674
675      <para revision="271539">The &man.bsdinstall.8; partition editor
676	and &man.sade.8; utility have been updated to include native
677	<acronym>ZFS</acronym> support.</para>
678
679      <para revision="272274">The &os; installation utility,
680	&man.bsdinstall.8;, has been updated to set the
681	<literal>canmount</literal> &man.zfs.8; property to
682	<literal>off</literal> for the <filename
683	  class="directory">/var</filename> dataset, preventing the
684	contents of directories within <filename
685	  class="directory">/var</filename> from conflicting when
686	using multiple boot environments, such as that provided by
687	<filename role="package">sysutils/beadm</filename>.</para>
688
689      <para revision="274394">The &man.bsdconfig.8; utility has been
690	updated to skip the initial &man.tzsetup.8;
691	<acronym>UTC</acronym> versus wall-clock time prompt when run
692	in a virtual machine, determined when the
693	<literal>kern.vm_guest</literal> &man.sysctl.8; is set to
694	<literal>1</literal>.</para>
695
696      <para revision="275874">The &man.bsdinstall.8; utility has been
697	updated to use the new &man.dpv.3; library to display progress
698	when extracting the &os; distributions.</para>
699
700      <para revision="285557" contrib="sponsor"
701	sponsor="&scaleengine;">Support for detecting and implementing
702	aligning partitions on 1Mb boundaries has been added to
703	&man.bsdinstall.8;.</para>
704
705      <para revision="285679" contrib="sponsor"
706	sponsor="&scaleengine;">Support for detecting and implementing
707	a workaround for various laptops and motherboards that do not
708	boot properly from <acronym>GPT</acronym>-partitioned disks
709	has been added to &man.bsdinstall.8;.  Additionally, the
710	<literal>active</literal> flag will be set on the partition
711	when needed.</para>
712
713      <para revision="285679" contrib="sponsor"
714	sponsor="&scaleengine;">Support for selecting the partitioning
715	scheme when installing on the <acronym>UFS</acronym>
716	filesystem has been added to &man.bsdinstall.8;.</para>
717
718      <para revision="298243">The &man.bsdinstall.8; utility now
719	supports
720	a &quot;<acronym>BIOS</acronym>+<acronym>UEFI</acronym> option
721	during installation, supporting systems with
722	<acronym>UEFI</acronym> or
723	<acronym>BIOS</acronym>/<acronym>CSM</acronym>
724	capability.</para>
725
726      <para revision="303447">The &man.bsdinstall.8; utility has been
727	updated to include various system hardening options during
728	installation.</para>
729    </sect2>
730
731    <sect2 xml:id="userland-rc">
732      <title><filename class="directory">/etc/rc.d</filename>
733	Scripts</title>
734
735      <para revision="270676">The &man.rc.8; subsystem has been
736	updated to allow configuring services in <filename
737	  class="directory">&dollar;{LOCALBASE}/etc/rc.conf.d/</filename>.
738	If <literal>LOCALBASE</literal> is unset, it defaults to
739	<filename class="directory">/usr/local</filename>.</para>
740
741      <para revision="273955">A new &man.rc.8; script,
742	<filename>growfs</filename>, has been added, which will resize
743	the root filesystem to fill the device on boot if
744	<filename>/firstboot</filename> exists and
745	<literal>growfs_enable</literal> is enabled in
746	&man.rc.conf.5;.</para>
747
748      <para revision="275299">The <filename>mrouted</filename>
749	&man.rc.8; script has been removed from the base system.  An
750	equivalent script is available from the <filename
751	  role="package">net/mrouted</filename> port.</para>
752
753      <para revision="287576" contrib="sponsor"
754	sponsor="&scaleengine;">The &man.service.8; utility has been
755	updated to honor entries within <filename
756	  class="directory">/etc/rc.conf.d/</filename>.</para>
757
758      <para revision="298515">Two new subcommands have been added to
759	the &man.rc.8; subsystem.  <command>describe</command> shows
760	an rc script's description, and
761	<command>extracommands</command> shows any non-standard
762	commands present in an rc script, like
763	<command>reload</command>, <command>configtest</command>, or
764	<command>keygen</command>.</para>
765    </sect2>
766
767    <sect2 xml:id="userland-periodic">
768      <title><filename class="directory">/etc/periodic</filename>
769	Scripts</title>
770
771      <para revision="271321">The daily &man.periodic.8; script
772	<filename>110.clean-tmps</filename> has been updated to avoid
773	crossing filesystem mount boundaries when cleaning files in
774	<filename class="directory">/tmp</filename>.</para>
775
776      <para revision="277216" contrib="sponsor" sponsor="&ff;">A new
777	&man.periodic.8; script,
778	<filename>510.status-world-kernel</filename>, has been added,
779	which evaluates the running userland and kernel versions from
780	the &man.uname.1; <literal>-U</literal> and
781	<literal>-K</literal> arguments, and prints an error if the
782	system userland and kernel are not in sync.</para>
783    </sect2>
784
785    <sect2 xml:id="userland-libraries">
786      <title>Runtime Libraries and API</title>
787
788      <para revision="265995">The Blowfish &man.crypt.3; default
789	format has been changed to
790	<literal>&dollar;2b&dollar;</literal>.</para>
791
792      <para revision="268461">The &man.readline.3; library is now
793	statically linked in software within the base system, and the
794	shared library is no longer installed, allowing the Ports
795	Collection to use a modern version of the library.</para>
796
797      <para revision="272273">The &man.strptime.3; library has been
798	updated to add support for <acronym>POSIX</acronym>-2001
799	features <literal>%U</literal> and
800	<literal>%W</literal>.</para>
801
802      <para revision="272848" contrib="sponsor" sponsor="&ff;">The
803	&man.dl.iterate.phdr.3; library has been changed to always
804	return the path name of the <acronym>ELF</acronym> object in
805	the <literal>dlpi_name</literal> structure member.</para>
806
807      <para revision="273562" contrib="sponsor"
808	sponsor="&juniper;">The &man.libxo.3; library has been
809	imported to the base system.</para>
810
811      <para revision="273806" contrib="sponsor" sponsor="&chelsio;">A
812	userland library for Chelsio Terminator 5 based iWARP cards
813	has been added, allowing userland <acronym>RDMA</acronym>
814	applications to work over compatible
815	<acronym>NIC</acronym>s.</para>
816
817      <para revision="274987">The &man.gpio.3; library has been added,
818	providing a wrapper around the &man.gpio.4; kernel
819	interface.</para>
820
821      <para revision="275800" contrib="sponsor" sponsor="&ff;">The
822	&man.procctl.2; system call has been updated to include
823	a facility for non-&man.init.8; processes to be declared as
824	the reaper of child processes and their decendants.</para>
825
826      <para revision="277610">The <literal>futimens()</literal> and
827	<literal>utimensat()</literal> system calls have been
828	added.  See &man.utimensat.2; for more information.</para>
829
830      <para revision="278934">The &man.elf.3; compile-time dependency
831	has been removed from <filename>dtri.o</filename>, which
832	allows adding <application>DTrace</application> probes to
833	userland applications and libraries without also linking
834	against &man.elf.3;.</para>
835
836      <para revision="279186">The &man.setmode.3; function has been
837	updated to consistently set <literal>errno</literal> on
838	failure.</para>
839
840      <para revision="279663">The &man.qsort.3;-related functions have
841	been updated to be able to handle 32-bit aligned data on
842	64-bit platforms, also providing a significant improvement in
843	32-bit workloads.</para>
844
845      <para revision="281130">Several standard include headers have
846	been updated to make use of <application>gcc</application>
847	attributes, such as <literal>__result_use_check()</literal>,
848	<literal>__alloc_size()</literal>, and
849	<literal>__nonnull()</literal>.</para>
850
851      <para revision="281845">Support for file verification in
852	<acronym>MAC</acronym> has been added.</para>
853
854      <para revision="282973" contrib="sponsor" sponsor="&ff;">The
855	<literal>libgomp</literal> library is now only built when
856	building <acronym>GCC</acronym> from the base system.  An
857	up-to-date version is available in the Ports Collection as
858	<filename
859	  role="package">devel/libiomp5-devel</filename>.</para>
860
861      <para revision="282988">The <filename>stdlib.h</filename> and
862	<filename>malloc.h</filename> headers have been updated to
863	make use of the <application>gcc</application>
864	<literal>alloc_align()</literal> attribute.</para>
865
866      <para revision="284483" contrib="sponsor"
867	sponsor="&scaleengine;">The Blowfish &man.crypt.3; library
868	has been updated to support &dollar;2y&dollar; hashes.</para>
869
870      <para revision="285277">The &man.execl.3; and &man.execlp.3;
871	library functions have been updated to use the
872	<literal>__sentinel</literal> <application>gcc</application>
873	attribute.</para>
874    </sect2>
875
876    <sect2 xml:id="userland-abi">
877      <title>ABI Compatibility</title>
878
879      <para revision="271982">The &linux; compatibility version has
880	been updated to <literal>2.6.18</literal>.  The
881	<literal>compat.linux.osrelease</literal> &man.sysctl.8; is
882	evaluated when building the <filename
883	  role="package">emulators/linux-c6</filename> and related
884	ports.</para>
885
886      <para revision="288669">The stack protector has been upgraded to
887	the "strong" level, elevating the protection against buffer
888	overflows.  While this significantly improves the security of
889	the system, extensive testing was done to ensure there are no
890	measurable side effects in performance or
891	functionality.</para>
892    </sect2>
893  </sect1>
894
895  <sect1 xml:id="kernel">
896    <title>Kernel</title>
897
898    <para>This section covers changes to kernel configurations, system
899      tuning, and system control parameters that are not otherwise
900      categorized.</para>
901
902    <sect2 xml:id="kernel-bugfix">
903      <title>Kernel Bug Fixes</title>
904
905      <para revision="265876">A kernel bug that inhibited proper
906	functionality of the <literal>dev.cpu.0.freq</literal>
907	&man.sysctl.8; on &intel; processors with Turbo
908	Boost&nbsp;&trade; enabled has been fixed.</para>
909
910      <para revision="271697">Support for &man.dtrace.1; stack tracing
911	has been fixed for &os;/&arch.powerpc;, using the
912	<literal>trapexit()</literal> and
913	<literal>asttrapexit()</literal> functions instead of checking
914	within addressed kernel space.</para>
915
916      <para revision="271917">A kernel panic triggered when destroying
917	a &man.vnet.9; &man.jail.8; configured with &man.gif.4; has
918	been fixed.</para>
919
920      <para revision="271918">A kernel panic triggered when destroying
921	a &man.vnet.9; &man.jail.8; configured with &man.gre.4; has
922	been fixed.</para>
923
924      <para revision="272089">A bug in &man.ipfw.4; that could
925	potentially lead to a kernel panic when using &man.dummynet.4;
926	at layer 2 has been fixed.</para>
927
928      <para revision="280930" contrib="sponsor" sponsor="&mitail;">The
929	kernel <acronym>RPC</acronym> has been updated to include
930	several enhancements:</para>
931
932      <itemizedlist>
933	<listitem>
934	  <para>The 45 MiB limit on requests queued for
935	    &man.nfsd.8; threads has been removed.</para>
936	</listitem>
937
938	<listitem>
939	  <para>Avoids unnecessary throttling by not deferring
940	    accounting for completed requests.</para>
941	</listitem>
942
943	<listitem>
944	  <para>Fixes an integer overflow and signedness bugs.</para>
945	</listitem>
946      </itemizedlist>
947
948      <para revision="281261">Support for &man.dtrace.1; has been
949	added for the PowerPC Book-E&nbsp;&trade;.</para>
950
951      <para revision="287886" contrib="sponsor"
952	sponsor="&multiplay;">The &man.kqueue.2; system call has been
953	updated to handle write events to files larger than 2
954	gigabytes.</para>
955    </sect2>
956
957    <sect2 xml:id="kernel-config">
958      <title>Kernel Configuration</title>
959
960      <para revision="266531">The <literal>IMAGACT_BINMISC</literal>
961	kernel configuration option has been enabled by default,
962	which enables application execution through emulators, such
963	as <application>QEMU</application> via
964	&man.binmiscctl.8;.</para>
965
966      <para revision="268045">The <literal>VT</literal> kernel
967	configuration file has been removed, and the &man.vt.4;
968	driver is included in the <literal>GENERIC</literal> kernel.
969	To enable &man.vt.4;, enter <literal>set kern.vty=vt</literal>
970	at the &man.loader.8; prompt during boot, or add
971	<literal>kern.vty=vt</literal> to &man.loader.conf.5; and
972	reboot the system.</para>
973
974      <para revision="277904">The &man.config.8; utility has been
975	updated to allow using a non-standard <filename
976	  class="directory">src/</filename> tree, specified as an
977	argument to the <literal>-s</literal> flag.</para>
978
979      <para revision="277990">The &os;/&arch.powerpc64; kernel now
980	builds as a position-independent executable, allowing the
981	kernel to be loaded into and run from any physical or virtual
982	address.</para>
983
984      <important>
985	<para>This change requires an update to &man.loader.8;.
986	  The userland and kernel must be updated before rebooting the
987	  system.</para>
988      </important>
989
990      <para revision="278338">A new module for creating
991	<filename>rpi.dtb</filename> has been added for the Raspberry
992	Pi.</para>
993
994      <para revision="278340" arch="arm">The
995	<filename>rpi.dtb</filename> module is now installed to
996	<filename class="directory">/boot/dtb/</filename> by
997	default for the Raspberry Pi system.</para>
998
999      <para revision="279189" contrib="sponsor" sponsor="&ff;">Kernel
1000	support for Vector-Scalar eXtension (<acronym>VSX</acronym>)
1001	found on POWER7 and POWER8 hardware has been added.</para>
1002
1003      <para revision="279252" contrib="sponsor" sponsor="&ff;">The
1004	&man.pmap.9; implementation for 64-bit &powerpc; processors
1005	has been overhaulded to improve concurrency.</para>
1006
1007      <para revision="279824">A new module for creating the
1008	<filename>dtb</filename> module for ARM AM335x systems has
1009	been added.</para>
1010
1011      <para revision="281495" contrib="sponsor" sponsor="&ff;">The
1012	<literal>PAE_TABLES</literal> kernel configuration option has
1013	been added for &os;/&arch.i386;, which instructs &man.pmap.9;
1014	to use <acronym>PAE</acronym> format for page tables while
1015	maintaining a 32-bit physical address size elsewhere in the
1016	kernel.  The use of this option can enhance application-level
1017	security by enabling the creation of <quote>no execute</quote>
1018	mappings on modern &arch.i386; processors.  Unlike the
1019	<literal>PAE</literal> option, <literal>PAE_TABLES</literal>
1020	preserves kernel binary interface (<acronym>KBI</acronym>)
1021	compatibility with non-<literal>PAE</literal> kernels,
1022	allowing non-<literal>PAE</literal> kernel modules and drivers
1023	to work with a <literal>PAE_TABLES</literal>-enabled kernel.
1024	Additionally, system limits are tuned for 4GB maximum
1025	<acronym>RAM</acronym>, avoiding kernel virtual address space
1026	(<acronym>KVA</acronym>) exhaustion.</para>
1027
1028      <para revision="282215">The <literal>SIFTR</literal> kernel
1029	configuration has been added, allowing building &man.siftr.4;
1030	statically into the kernel.</para>
1031
1032      <para revision="282731">The ARM boot loader,
1033	<filename>ubldr</filename>, is now relocatable.  In addition,
1034	<filename>ubldr.bin</filename> is now created during build
1035	time, which is a stripped binary with an entry point of
1036	<literal>0</literal>, providing the ability to specify the
1037	load address by running <literal>go
1038	  &dollar;{loadaddr}</literal> in
1039	<literal>u-boot</literal>.</para>
1040
1041      <para revision="282921" contrib="sponsor" sponsor="&intelcorp;"
1042	arch="amd64,i386">The &man.nvd.4; and &man.nvme.4; drivers are
1043	now included in the <filename>GENERIC</filename> kernel
1044	configuration by default.</para>
1045
1046      <para revision="283959" contrib="sponsor"
1047	  sponsor="&limelight;">A new kernel configuration option,
1048	<literal>EM_MULTIQUEUE</literal>, has been added which enables
1049	multi-queue support in the &man.em.4; driver.</para>
1050
1051      <note>
1052	<para>Multi-queue support in the &man.em.4; driver is not
1053	  officially supported by &intel;.</para>
1054      </note>
1055
1056      <para revision="285142" contrib="sponsor"
1057	sponsor="&netgate;">The <filename>GENERIC</filename> kernel
1058	configuration has been updated to include the
1059	<literal>IPSEC</literal> option by default.</para>
1060
1061      <para revision="285387" contrib="sponsor"
1062	sponsor="&norse;, &dell;">Initial <acronym>NUMA</acronym>
1063	affinity and policy configuration has been added.  See
1064	&man.numactl.1;, and &man.numa.getaffinity.2;, for usage
1065	details.</para>
1066
1067      <note>
1068	<para>If the system BIOS generates an invalid ACPI SRAT table,
1069	  the kernel will ignore it, effectively disabling
1070	  <acronym>NUMA</acronym>.  If dmesg shows &quot;SRAT:
1071	  Duplicate local APIC ID&quot;, try updating the BIOS to fix
1072	  NUMA support.</para>
1073      </note>
1074
1075      <para revision="285307">Support for running CloudABI executables
1076	on amd64 and arm64 has been added.  CloudABI is a runtime
1077	environment that uses capability-based security exclusively,
1078	similar to &man.capsicum.4; always being enabled.  It allows
1079	designing, implementing and testing strongly sandboxed
1080	applications more easily.</para>
1081
1082      <para revision="286231">The &man.pms.4; driver has been added
1083	to the <filename>GENERIC</filename> kernel configuration for
1084	supported architectures.</para>
1085
1086      <para revision="287306">The <filename>CUBIEBOARD2</filename>
1087	kernel configuration has been renamed to
1088	<filename>A20</filename> to add support for other boards with
1089	the <literal>A20</literal> processor, such as the Banana
1090	Pi.</para>
1091
1092      <para revision="288176" contrib="sponsor" sponsor="&ff;">Kernel
1093	debugging symbols are now installed to <filename
1094	  class="directory">/usr/lib/debug/boot/kernel/</filename>.
1095	To retain the previous behavior, add
1096	<literal>KERN_DEBUGDIR=""</literal> to
1097	&man.src.conf.5;.</para>
1098
1099      <para revision="296277" contrib="sponsor"
1100	  sponsor="&chelsio;">Support for POSIX asynchronous I/O is
1101	now included in the kernel by default.  The
1102	<literal>VFS_AIO</literal> kernel option and
1103	<literal>aio.ko</literal> kernel module have been removed.
1104	Asynchronous I/O operations on sockets, local files, and
1105	disk devices are permitted by default.  However, operations
1106	on other file types are disabled.  See the &man.aio.4;
1107	manual page for more details.</para>
1108
1109      <para revision="301565" contrib="sponsor" sponsor="&ff;"
1110	  arch="arm64">&arch.arm64; has been switched over to using
1111	<literal>INTRNG</literal> by default.</para>
1112    </sect2>
1113
1114    <sect2 xml:id="kernel-sysctl">
1115      <title>System Tuning and Controls</title>
1116
1117      <para revision="275140" contrib="sponsor" sponsor="&ff;">The
1118	&man.hwpmc.4; default and maximum callchain depths have been
1119	increased.  The default has been increased from 16 to 32, and
1120	the maximum increased from 32 to 128.</para>
1121
1122      <para revision="279361">The <literal>kern.osrelease</literal>
1123	and <literal>kern.osreldate</literal> are now configurable
1124	&man.jail.8; parameters.</para>
1125
1126      <para revision="280949" contrib="sponsor" sponsor="&ix;,
1127	&ff;">The &man.devfs.5; device filesystem has been changed to
1128	update timestamps for read/write operations using seconds
1129	precision.  A new &man.sysctl.8;,
1130	<literal>vfs.devfs.dotimes</literal> has been added, which
1131	when set to a non-zero value, enables default precision
1132	timestamps for these operations.</para>
1133
1134      <para revision="282213" contrib="sponsor" sponsor="&ff;">A new
1135	&man.sysctl.8;, <literal>kern.racct.enable</literal>, has been
1136	added, which when set to a non-zero value allows using
1137	&man.rctl.8; with the <literal>GENERIC</literal> kernel.
1138	A new kernel configuration option,
1139	<literal>RACCT_DISABLED</literal> has also been added.</para>
1140
1141      <para revision="282901" contrib="sponsor" sponsor="&ff;">The
1142	<literal>GENERIC</literal> kernel configuration now includes
1143	<literal>RACCT</literal> and <literal>RCTL</literal> by
1144	default.</para>
1145
1146      <note>
1147	<para>To enable <literal>RACCT</literal> and
1148	  <literal>RCTL</literal> on a system using the
1149	  <literal>GENERIC</literal> kernel configuration, add
1150	  <literal>kern.racct.enable=1</literal> to
1151	  &man.loader.conf.5;, and reboot the system.</para>
1152      </note>
1153
1154      <para revision="283136" contrib="sponsor"
1155	sponsor="&limelight;">A new &man.sysctl.8;,
1156	<literal>net.inet.tcp.hostcache.purgenow</literal>, has
1157	been added, which when set to <literal>1</literal> during
1158	runtime will flush all
1159	<literal>net.inet.tcp.hostcache</literal> entries.</para>
1160
1161      <para revision="285524">A new &man.sysctl.8;,
1162	<literal>hw.model</literal>, has been added, which displays
1163	<acronym>CPU</acronym> model information.</para>
1164
1165      <para revision="286591">The &man.uart.4; driver has been
1166	updated to allow tuning pulses per second captured in the
1167	CTS line during runtime, whereas previously only the DCD line
1168	could be used without rebuilding the kernel.</para>
1169    </sect2>
1170  </sect1>
1171
1172  <sect1 xml:id="drivers">
1173    <title>Devices and Drivers</title>
1174
1175    <para>This section covers changes and additions to devices and
1176      device drivers since &release.prev;.</para>
1177
1178    <sect2 xml:id="drivers-device">
1179      <title>Device Drivers</title>
1180
1181      <para revision="260903">Support for GPS ports has been added to
1182	&man.uhso.4;.</para>
1183
1184      <para revision="265132">The &man.full.4; device has been added,
1185	and the <literal>lindev(4)</literal> device has been removed.
1186	Prior to this change, <literal>lindev(4)</literal> provided
1187	only the <filename>/dev/full</filename> character device,
1188	returning <literal>ENOSPC</literal> on write attempts.  As
1189	this device is not specific to &linux;, a native &os; version
1190	has been added.</para>
1191
1192      <para revision="271705">Hardware context support has been
1193	added to the <literal>drm/i915</literal> driver, adding
1194	support for <application>Mesa</application> 9.2 and
1195	later.</para>
1196
1197      <para revision="273178">The &man.vt.4; driver has been updated,
1198	replacing the bitmapped <literal>kern.vt.spclkeys</literal>
1199	&man.sysctl.8; with individual
1200	<literal>kern.vt.kbd_*</literal> variants.</para>
1201
1202      <para revision="273598">The &man.hpet.4; driver has been updated
1203	to create a
1204	<filename>/dev/hpet<replaceable>N</replaceable></filename>
1205	device, providing access to <acronym>HPET</acronym> from
1206	userspace.</para>
1207
1208      <para revision="280183">The <literal>drm</literal> code has
1209	been updated to match &linux; version 3.8.13.</para>
1210
1211      <para revision="281440">The &man.psm.4; driver has been updated
1212	to include improved support for newer Synaptics&nbsp;&reg;
1213	touchpads and the ClickPad&nbsp;&reg; mouse on newer
1214	Lenovo&nbsp;&trade; laptops.</para>
1215
1216      <para revision="282783">Support for the Freescale
1217	<acronym>PCI</acronym> Root Complex device has been
1218	added to &os;/&arch.powerpc;.</para>
1219
1220      <para revision="285876">The &man.cyapa.4; driver has been added,
1221	supporting the Cypress APA I2C trackpad.</para>
1222
1223      <para revision="285883">The &man.isl.4; driver has been added,
1224	supporting the Intersil I2C ISL29018 digital ambient light
1225	sensor.</para>
1226    </sect2>
1227
1228    <sect2 xml:id="drivers-storage">
1229      <title>Storage Drivers</title>
1230
1231      <para revision="265236" contrib="sponsor"
1232	sponsor="&lsi;, &spectralogic;" sponsorurl="">The &man.mpr.4;
1233	device has been added, providing support for LSI Fusion-MPT
1234	3 12Gb SCSI/SATA controllers.</para>
1235
1236      <para revision="265555" contrib="sponsor"
1237	  sponsor="&lsi;">The &man.mrsas.4; driver has been added,
1238	providing support for LSI MegaRAID SAS controllers.  The
1239	&man.mfi.4; driver will attach to the controller, by default.
1240	To enable &man.mrsas.4; add
1241	<literal>hw.mfi.mrsas_enable=1</literal> to
1242	<filename>/boot/loader.conf</filename>, which turns off
1243	&man.mfi.4; device probing.</para>
1244
1245      <note>
1246	<para>At this time, the &man.mfiutil.8; utility and the &os;
1247	  version of <application>MegaCLI</application> and
1248	  <application>StorCli</application> do not work with
1249	  &man.mrsas.4;.</para>
1250      </note>
1251
1252      <para revision="275461" contrib="sponsor" sponsor="&ix;">The
1253	&man.ctl.4; subsystem has been updated, increasing the ports
1254	limit from <literal>128</literal> to <literal>256</literal>,
1255	and <acronym>LUN</acronym> limit from <literal>256</literal>
1256	to <literal>1024</literal>.</para>
1257
1258      <para revision="276526">The <literal>asr(4)</literal> driver has
1259	been removed, and is no longer supported.</para>
1260
1261      <para revision="281387">The &man.hptnr.4; driver has been
1262	updated to version 1.1.1.</para>
1263
1264      <para revision="285662">The &man.pms.4; driver has been added,
1265	providing support for the PMC Sierra line of
1266	<acronym>SAS</acronym>/<acronym>SATA</acronym> host bus
1267	adapters.</para>
1268
1269      <para revision="287117" contrib="sponsor"
1270	sponsor="&emcisilon;">The &man.ioat.4; driver has been added,
1271	providing support for the <acronym>PSE</acronym> (Platform
1272	Storage Extension).</para>
1273
1274      <para revision="287621" contrib="sponsor" sponsor="&ix;">The
1275	<acronym>CTL</acronym> High Availability implementation has
1276	been rewritten.</para>
1277
1278      <para revision="288310">The &man.ctl.4; driver has been updated
1279	to support CD-ROM and removable devices.</para>
1280
1281      <para contrib="sponsor" sponsor="&ix;">The &man.isp.4; driver
1282	has been updated and improved: added support for 16Gbps FC
1283	cards, improved target mode support, completed Multi-ID (NPIV)
1284	functionality.</para>
1285    </sect2>
1286
1287    <sect2 xml:id="drivers-network">
1288      <title>Network Drivers</title>
1289
1290      <para revision="258830">Support for Broadcom chipsets BCM57764,
1291	BCM57767, BCM57782, BCM57786 and BCM57787 has been added to
1292	&man.bge.4;.</para>
1293
1294      <para revision="261975">The deprecated nve(4) driver has been
1295	removed.  Users of NVIDIA nForce MCP network adapters are
1296	advised to use the &man.nfe.4; driver instead, which has been
1297	the default driver for this hardware since
1298	&os;&nbsp;7.0.</para>
1299
1300      <para revision="264601" contrib="sponsor"
1301	sponsor="&darpa_afrl;">The <literal>if_nf10bmac(4)</literal>
1302	device has been added, providing support for NetFPGA-10G
1303	Embedded CPU Ethernet Core.</para>
1304
1305      <note>
1306	<para>The <literal>if_nf10bmac(4)</literal> driver operates on
1307	  the FPGA, and is not suited for the PCI host
1308	  interface.</para>
1309      </note>
1310
1311      <para revision="265348" contrib="sponsor"
1312	sponsor="&netgate;">The &man.ath.hal.4; driver has been
1313	updated to support the Atheros AR1111 chipset.</para>
1314
1315      <para revision="266770">The &man.iwn.4; driver was added,
1316	providing support for the &intel; Centrino&trade; Wireless-N
1317	105 and 135 chipsets.</para>
1318
1319      <para revision="266757" contrib="sponsor"
1320	sponsor="&chelsio;">Support for the &man.cxgbe.4; Terminator
1321	5 (T5) 10G/40G cards has been added to &man.netmap.4;.</para>
1322
1323      <para revision="272730">The &man.alc.4; driver has been updated
1324	to support AR816x and AR817x ethernet controllers.</para>
1325
1326      <para revision="272906">The &man.pf.4; packet filter default
1327	hash has been changed from <literal>Jenkins</literal> to
1328	<literal>Murmur3</literal>, providing a 3-percent performance
1329	increase in packets-per-second.</para>
1330
1331      <para revision="273331">The &man.vxlan.4; driver has been added,
1332	which creates a virtual Layer 2 (Ethernet) network overlaid in
1333	a Layer 3 (IP/UDP) network.  The &man.vxlan.4; driver is
1334	analogous to &man.vlan.4;, but is designed to be better suited
1335	for large, multiple-tenant datacenter environments.</para>
1336
1337      <para revision="274246" contrib="sponsor" sponsor="&yandex;">The
1338	&man.gre.4; driver has been significantly overhauled, and has
1339	been split into two separate modules, &man.gre.4; and
1340	&man.me.4;.</para>
1341
1342      <para revision="278551">The &man.ral.4; driver has been updated
1343	to support the RT5390 and RT5392 chipsets.</para>
1344
1345      <para revision="283514" contrib="sponsor"
1346	sponsor="&solarflare;">The &man.sfxge.4; driver has been
1347	updated to support Solarflare Flareon Ultra 7000-series
1348	chipsets.</para>
1349
1350      <para revision="283923" contrib="sponsor"
1351	sponsor="&limelight;">The &man.em.4; driver has been updated
1352	with improved transmission queue hang detection.</para>
1353
1354      <para revision="284125">The &man.cdce.4; driver has been updated
1355	to include support for the RTL8153 chipset.</para>
1356
1357      <para revision="286441">The &man.iwm.4; driver has been imported
1358	from OpenBSD, providing support for &intel; 3160/7260/7265
1359	wireless chipsets.</para>
1360
1361      <para revision="286829" contrib="sponsor"
1362	sponsor="&limelight;">The &man.em.4; driver has been updated
1363	to allow disabling <acronym>CRC</acronym> stripping.</para>
1364
1365      <para revision="287222">The &man.pf.4; implementation has been
1366	updated to remove support for the <literal>scrub fragment
1367	  crop|drop-ovl</literal> filtering rule.  Systems with this
1368	rule in &man.pf.conf.5; will implicitly be converted to the
1369	<literal>scrub fragment reassemble</literal> filtering rule,
1370	without necessary intervention.</para>
1371
1372      <para revision="288654">The &man.lagg.4; driver has been updated
1373	to remove support for the <literal>fec</literal>
1374	protocol.</para>
1375
1376      <para revision="300779">The &man.dummynet.4; driver has been
1377	updated to include support for <acronym>AQM</acronym> (Active
1378	Queue Management), adding support for <acronym>PIE</acronym>
1379	(Proportional Integral controller Enhanced) and
1380	<acronym>FQ-PIE</acronym> (Fair Queueing Proportional Integral
1381	controller Enhanced).</para>
1382    </sect2>
1383  </sect1>
1384
1385  <sect1 xml:id="hardware">
1386    <title>Hardware Support</title>
1387
1388    <para>This section covers general hardware support for physical
1389      machines, hypervisors, and virtualization environments, as well
1390      as hardware changes and updates that do not otherwise fit in
1391      other sections of this document.</para>
1392
1393    <sect2 xml:id="hardware-support">
1394      <title>Hardware Support</title>
1395
1396      <para revision="268303">The &man.asmc.4; driver has been
1397	updated to support the &apple;&nbsp;MacMini 3,1.</para>
1398
1399      <para revision="268351">Support for &os;/ia64 (Itanium) has been
1400	dropped as of &os;&nbsp;11.</para>
1401
1402      <para revision="274386">An issue that could cause a system to
1403	hang when entering <acronym>ACPI</acronym>
1404	<literal>S3</literal> state (suspend to
1405	<acronym>RAM</acronym>) has been corrected in the &man.acpi.4;
1406	and &man.pci.4; drivers.</para>
1407
1408      <para revision="274733">The power management unit
1409	subsystem has been updated to support power button events on
1410	certain PowerPC hardware, such as aluminum
1411	PowerBook&nbsp;&reg;.</para>
1412
1413      <para revision="275190">The &man.hwpmc.4; driver has been
1414	updated to correct performance counter sampling on PowerPC G4
1415	(MPC74xxx) and G5 class processors.</para>
1416
1417      <para revision="275732" contrib="sponsor"
1418	sponsor="&ff;,&netgate;">The
1419	<application>OpenCrypto</application> framework has been
1420	updated to include <literal>AES-ICM</literal> and
1421	<literal>AES-GCM</literal> modes, both of which have also been
1422	added to the &man.aesni.4; driver.</para>
1423
1424      <para revision="281713" arch="powerpc">The &man.hwpmc.4;
1425	driver has been updated to support the Freescale e500
1426	core.</para>
1427
1428      <para revision="283766">The &man.ig4.4; driver has been added,
1429	providing support for the fourth generation &intel;
1430	<acronym>I2C</acronym> SMBus.</para>
1431
1432      <para>The &man.uart.4; driver has been updated to support
1433	<acronym>AMT</acronym> devices on newer systems.</para>
1434
1435      <para revision="285316" contrib="sponsor" sponsor="&ff;"
1436	arch="arm64">Initial <acronym>SMP</acronym> support has been
1437	added to the &os;/&arch.arm64; port.</para>
1438
1439      <para revision="291292" contrib="sponsor" sponsor="&yandex;">The
1440	&man.enc.4; driver has updated to allow creating an interface
1441	via &man.kldload.8; during runtime without requiring
1442	additional kernel and/or userland changes.</para>
1443
1444      <para revision="296177">The <literal>dtsec(4)</literal> driver
1445	for Freescale QorIQ SoCs has been added, supporting P2041,
1446	P3041, P5010, and P5020 systems.</para>
1447
1448      <para revision="297001">Freescale PowerQUICC and QorIQ systems
1449	now support larger address spaces, equivalent to PAE mode on
1450	&arch.i386;.</para>
1451
1452      <para revision="297977">The e500mc and e5500 PowerPC cores are
1453	now supported, supporting most QorIQ systems.</para>
1454
1455      <para revision="298237"><acronym>SMP</acronym> for Multicore
1456	Freescale QorIQ systems now works correctly for SoCs with the
1457	<acronym>AP</acronym> cores in boot holdoff mode (not in
1458	spinloop wait mode).</para>
1459
1460      <para revision="299142">Native PCI-express HotPlug support is
1461	enabled by default on &arch.amd64;, &arch.arm64;, and
1462	&arch.powerpc;.  This feature has exposed compatibility issues
1463	on some hardware that result in missing devices or a hang
1464	during boot.  To work around such issues, run <literal>set
1465	  hw.pci.enable_pcie_hp=0</literal> in the boot loader, and
1466	add <literal>hw.pci.enable_pcie_hp=0</literal> to
1467	<filename>/boot/loader.conf</filename>.</para>
1468    </sect2>
1469
1470    <sect2 xml:id="hardware-virtualization">
1471      <title>Virtualization Support</title>
1472
1473      <para revision="260410">Support for the <quote>Virtual Interrupt
1474	  Delivery</quote> feature of &intel;&nbsp;VT-x is enabled if
1475	supported by the CPU.  This feature can be disabled by running
1476	<literal>sysctl hw.vmm.vmx.use_apic_vid=0</literal>.
1477	Additionally, to persist this setting across reboots, add
1478	<literal>hw.vmm.vmx.use_apic_vid=0</literal> to
1479	<filename>/etc/sysctl.conf</filename>.</para>
1480
1481      <para revision="260532">Support for <quote>Posted Interrupt
1482	  Processing</quote> is enabled if supported by the CPU.  This
1483	feature can be disabled by running <literal>sysctl
1484	  hw.vmm.vmx.use_apic_pir=0</literal>.  Additionally, to
1485	persist this setting across reboots, add
1486	<literal>hw.vmm.vmx.use_apic_pir=0</literal> to
1487	<filename>/etc/sysctl.conf</filename>.</para>
1488
1489      <para revision="260582">Unmapped IO support has been added to
1490	&man.virtio_blk.4;.</para>
1491
1492      <para revision="260583">Unmapped IO support has been added to
1493	&man.virtio_scsi.4;.</para>
1494
1495      <para revision="260847">The &man.virtio_random.4; driver has
1496	been added to harvest entropy from the host system.</para>
1497
1498      <para revision="261504">&os;/&arch.i386; guests can be run under
1499	bhyve.</para>
1500
1501      <para revision="267536" contrib="sponsor"
1502	sponsor="&citrix.rd;">Support for running a &os;/&arch.amd64;
1503	<application>Xen</application> guest instance as
1504	<acronym>PVH</acronym> guest has been added.
1505	<acronym>PVH</acronym> mode, short for <quote>Para-Virtualized
1506	  Hardware</quote>, uses para-virtualized drivers for boot and
1507	I/O, and uses hardware virtualization extensions for all other
1508	tasks, without the need for emulation.</para>
1509
1510      <para revision="273375">The &man.bhyve.8; hypervisor has been
1511	updated to support &amd; processors with
1512	<acronym>SVM</acronym> and <acronym>AMD-V</acronym> hardware
1513	extensions.</para>
1514
1515      <para revision="273515">The &man.virtio.console.4; driver has
1516	been added, which provides an interface to VirtIO console
1517	devices through a &man.tty.4; device.</para>
1518
1519      <para revision="279463" contrib="sponsor"
1520	sponsor="&sandvine;">Support for PCI Single Root I/O
1521	Virtualization (SR-IOV) has been introduced, allowing the
1522	creation of PCI Virtual Functions (VFs) for device drivers
1523	that support SR-IOV.  See &man.iovctl.8; for details on
1524	creating and configuring VFs.</para>
1525
1526      <para revision="279957">The &man.bhyve.8; hypervisor has been
1527	updated to support <literal>DSM TRIM</literal> commands for
1528	virtual <acronym>AHCI</acronym> disks.</para>
1529
1530      <para revision="281439" arch="arm">Support for the
1531	<application>QEMU</application> <literal>virt</literal> system
1532	has been added.</para>
1533
1534      <para revision="282212" contrib="sponsor" sponsor="&msostc;">The
1535	Hyper-V&trade; drivers have been updated with several
1536	enhancements:</para>
1537
1538      <itemizedlist>
1539	<listitem>
1540	  <para>The &man.hv.vmbus.4; driver now has multi-channel
1541	    support.</para>
1542	</listitem>
1543
1544	<listitem>
1545	  <para>The &man.hv.storvsc.4; driver now has scatter/gather
1546	    support, in addition to performance improvements.</para>
1547	</listitem>
1548
1549	<listitem>
1550	  <para>The &man.hv.kvp.4; driver has received several bug
1551	    fixes.</para>
1552	</listitem>
1553      </itemizedlist>
1554
1555      <para revision="282274">Support for &man.xen.4; para-virtualized
1556	<literal>domU</literal> kernels has been removed.</para>
1557
1558      <para revision="284746" contrib="sponsor" sponsor="&msostc;">The
1559	&man.hv.netvsc.4; driver has been updated to support checksum
1560	offloading and <acronym>TSO</acronym>.</para>
1561
1562      <para revision="286062">The &man.xen.4; blkfront driver has been
1563	updated to include support for <literal>blkif</literal>
1564	indirect segment I/O.</para>
1565
1566      <para revision="302288">Indirect segment I/O is enabled by
1567	default in the Xen blkfront driver when running on AWS
1568	EC2.</para>
1569
1570      <para revision="302332">Native graphics support has been added
1571	to the &man.bhyve.8; hypervisor.</para>
1572    </sect2>
1573
1574    <sect2 xml:id="hardware-arm">
1575      <title>ARM Support</title>
1576
1577      <para revision="260921">The &man.nand.4; device is enabled for
1578	ARM devices by default.</para>
1579
1580      <para revision="266943">Support for the Exynos 5420 Octa system
1581	has been added.</para>
1582
1583      <para revision="267390">The <acronym>SMP</acronym> option has
1584	been enabled for all Exynos 5 systems supported by
1585	&os;.</para>
1586
1587      <para revision="268838">Support for the Toradex Apalis i.MX6
1588	development board has been added.</para>
1589
1590      <para revision="273264">An issue that could cause instability
1591	when detecting <acronym>SD</acronym> cards on the Raspberry Pi
1592	<acronym>SOC</acronym> has been fixed.</para>
1593
1594      <para revision="275963">The <literal>bcm2835_cpufreq</literal>
1595	driver has been added, which supports <acronym>CPU</acronym>
1596	frequency and voltage control on the Raspberry Pi
1597	<acronym>SOC</acronym>.</para>
1598
1599      <para revision="277042">Support to turn off the BeagleBone Black
1600	system with the &man.shutdown.8; <literal>-p</literal> flag or
1601	by invoking &man.poweroff.8; has been added.</para>
1602
1603      <para revision="277644">Audio transmission drivers have been
1604	added for Digital Audio Multiplexer
1605	(<acronym>AUDMUXM</acronym>), Smart Direct Memory Access
1606	Controller (<acronym>SDMA</acronym>), and Syncronous Serial
1607	Interface (<acronym>SSI</acronym>).</para>
1608
1609      <para revision="280259" contrib="sponsor" sponsor="&ff;">Initial
1610	support for the ARM AArch64 architecture has been
1611	added.</para>
1612
1613      <para revision="282779">Kernel support for Thumb-2 userland has
1614	been added.</para>
1615
1616      <para revision="282827">Support for the hardware power button on
1617	the BeagleBone Black system has been added.</para>
1618
1619      <para revision="284273" contrib="sponsor" sponsor="&ff;">Initial
1620	<acronym>ACPI</acronym> support has been added for
1621	&os;/&arch.arm64;.</para>
1622
1623      <para revision="287225">Support for 1-Wire devices has been
1624	added, providing support for 1-Wire hardware through
1625	&man.gpio.4;.  See &man.ow.4;, &man.owc.4;, and
1626	&man.ow.temp.4; for more information.</para>
1627
1628      <para revision="287371" contrib="sponsor"
1629	  sponsor="&abt;">Support for the HiSilicon HI6220 SoC has
1630	been added.</para>
1631
1632      <para revision="263698">The second CPU core on Allwinner A20 SoC
1633	have been enabled.</para>
1634
1635      <para revision="299688">Support for the Allwinner H3 SoC has
1636	been added.</para>
1637
1638      <para revision="299786">Support for X-Powers AXP813 and AXP818
1639	power management integrated circuits have been added.</para>
1640
1641      <para revision="299781">Support for the Allwinner Reduced Serial
1642	Bus (RSB) has been added.</para>
1643
1644      <para revision="296064">Support for Allwinner A20 HDMI has been
1645	added.</para>
1646
1647      <para revision="300777">Support for GPIO, Sensors and interrupts
1648	on AXP209 power management integrated circuits have been
1649	added.</para>
1650    </sect2>
1651  </sect1>
1652
1653  <sect1 xml:id="storage">
1654    <title>Storage</title>
1655
1656    <para>This section covers changes and additions to file systems
1657      and other storage subsystems, both local and networked.</para>
1658
1659    <sect2 xml:id="storage-general">
1660      <title>General Storage</title>
1661
1662      <para revision="278037" contrib="sponsor" sponsor="&ix;">The
1663	&man.ctl.4; <acronym>LUN</acronym> mapping has been rewritten,
1664	replacing <acronym>iSCSI</acronym>-specific mapping mechanisms
1665	with a new mechanism that works for any port.</para>
1666
1667      <para revision="278354" contrib="sponsor" sponsor="&ix;">The
1668	&man.ctld.8; utility has been updated to allow controlling
1669	non-<acronym>iSCSI</acronym> &man.ctl.4; ports.</para>
1670
1671      <para revision="275681" contrib="sponsor" sponsor="&ff;">The
1672	&man.autofs.5; subsystem has been updated to include a new
1673	&man.auto.master.5; map, <literal>-media</literal>, which
1674	allows automatically mounting removable media, such as
1675	<acronym>CD</acronym> drives or <acronym>USB</acronym> flash
1676	drives.</para>
1677
1678      <para revision="279955" contrib="sponsor" sponsor="&ff;">The
1679	&man.autofs.5; subsystem has been updated to include a new
1680	&man.auto.master.5; map, <literal>-noauto</literal>, which
1681	handles &man.fstab.5; entries set to
1682	<literal>noauto</literal>.</para>
1683
1684      <para revision="286444">The <acronym>GELI</acronym> class has
1685	been updated to support the <literal>BIO_DELETE</literal>
1686	&man.g.bio.9; <literal>bio_cmd</literal> field, providing
1687	<acronym>TRIM</acronym>/<acronym>UNMAP</acronym> support on
1688	<acronym>GELI</acronym>-backed <acronym>SSD</acronym> storage
1689	providers.</para>
1690
1691      <para revision="291716" contrib="sponsor"
1692	sponsor="&spectralogic;">The &man.camdd.8; utility has been
1693	added, which allows copying data sequentially to and from
1694	<acronym>SCSI</acronym> devices, files, block devices and tape
1695	drives.  If the source and/or destination is
1696	a <acronym>SCSI</acronym> disk, &man.camdd.8; can use the
1697	asynchronous &man.pass.4; interface to queue multiple I/Os for
1698	improved speed.  (ATA passthrough support for &man.camdd.8; is
1699	in development.)</para>
1700
1701      <para revision="291716" contrib="sponsor"
1702	sponsor="&spectralogic;">The &man.pass.4;
1703	<acronym>SCSI</acronym>/<acronym>ATA</acronym> passthrough
1704	driver now has an asynchronous interface.  User applications
1705	may queue many requests, get notification of completion via
1706	&man.kqueue.2; and retrieve status later.  &man.camdd.8; is an
1707	example application using the interface.</para>
1708
1709      <para revision="295212" contrib="sponsor" sponsor="&ix;">Support
1710	for parsing libucl-based configuration files has been added to
1711	&man.ctld.8;.</para>
1712
1713      <para revision="298002" contrib="sponsor"
1714	sponsor="&netflix;">The &man.ahci.4; driver has been updated
1715	to add <acronym>NCQ</acronym> <acronym>TRIM</acronym> support
1716	for drives that support it.</para>
1717
1718      <note>
1719	<para>Drives that advertise this feature but do not properly
1720	  support it have been blacklisted.  Systems experiencing
1721	  traffic problems with <acronym>NCQ</acronym>
1722	  <acronym>TRIM</acronym> enabled can set the
1723	  <literal>kern.cam.ada.%d.quirks</literal> tunable to
1724	  <literal>2</literal> for 512k sectors or
1725	  <literal>3</literal> for 4096k sectors, replacing
1726	  <literal>%d</literal> with the drive number.</para>
1727      </note>
1728
1729      <para revision="298002" contrib="sponsor"
1730	sponsor="&netflix;">The &man.cam.4; driver has been updated to
1731	allow I/O scheduling tuning to fit workload and drive
1732	characteristics.  This option is off by default, and can be
1733	enabled by adding <literal>option
1734	  CAM_IOSCHED_ADAPTIVE</literal> option to the kernel
1735	configuration and recompiling the kernel.</para>
1736
1737      <para revision="299371" contrib="sponsor" sponsor="&ff;">The
1738	&man.camcontrol.8; command can manually force updating
1739	capacity data after a disk gets resized using the reprobe
1740	subcommand.</para>
1741
1742      <para revision="300880" contrib="sponsor"
1743	sponsor="&spectralogic;"> Leading spaces are now stripped off
1744	<acronym>SCSI</acronym> disk serial numbers when populating
1745	the CAM serial number.  This affects the output of
1746	&man.diskinfo.8; and the names of
1747	<filename>/dev/diskid/DISK-*</filename> device nodes, among
1748	other things.</para>
1749
1750      <para revision="300207" contrib="sponsor"
1751	sponsor="&spectralogic;"> Support for managing Shingled
1752	Magnetic Recording (SMR) drives has been added.</para>
1753    </sect2>
1754
1755    <sect2 xml:id="storage-net">
1756      <title>Networked Storage</title>
1757
1758      <para revision="270096" contrib="sponsor" sponsor="&ff;">The new
1759	filesystem automount facility, &man.autofs.5;, has been added.
1760	The new &man.autofs.5; facility is similar to that found in
1761	other &unix;-like operating systems, such as OS&nbsp;X&trade;
1762	and Solaris&trade;.  The &man.autofs.5; facility uses
1763	a &sun;-compatible &man.auto.master.5; configuration file, and
1764	is administered with the &man.automount.8; userland utility,
1765	and the &man.automountd.8; and &man.autounmountd.8;
1766	daemons.</para>
1767
1768      <para revision="273849" contrib="sponsor" sponsor="&ff;">Support
1769	for the <literal>timeo</literal>, <literal>actimeo</literal>,
1770	<literal>noac</literal>, and <literal>proto</literal> options
1771	have been added to &man.mount.nfs.8;.</para>
1772
1773      <para revision="300723">The Mellanox implementation of iSER
1774	(iSCSI Extensions for RDMA) has been imported.</para>
1775
1776      <para revision="301033" contrib="sponsor" sponsor="&ff;">The
1777	ability to discover iSCSI targets without having to attach to
1778	a target has been added to the &man.iscsictl.8;
1779	command.</para>
1780    </sect2>
1781
1782    <sect2 xml:id="storage-zfs">
1783      <title>ZFS</title>
1784
1785      <para revision="275748">The <literal>arc_meta_limit</literal>
1786	statistics are now visible through the
1787	<literal>kstat</literal> &man.sysctl.8;.  As a result of this
1788	change, the <literal>vfs.zfs.arc_meta_used</literal>
1789	&man.sysctl.8; has been removed, and replaced with the
1790	<literal>kstat.zfs.misc.arcstats.arc_meta_used</literal>
1791	&man.sysctl.8;.</para>
1792
1793      <para revision="287099" contrib="sponsor"
1794	sponsor="&clusterhq;">The &man.zfs.8; <literal>l2arc</literal>
1795	code has been updated to take <literal>ashift</literal> into
1796	account when gathering buffers to be written to the
1797	<literal>l2arc</literal> device.</para>
1798
1799      <para revision="297633" contrib="sponsor" sponsor="&ff;">Four
1800	new resources have been added to &man.rctl.8; to allow
1801	throttles to be set on filesystem IO.</para>
1802
1803      <para revision="300906" contrib="sponsor" sponsor="&ix;,
1804	&spectralogic;">The zfsd daemon has been added, which manages
1805	hotspares and replements in drive slots that publish physical
1806	paths.</para>
1807
1808      <para revision="302265" contrib="sponsor"
1809	sponsor="&multiplay;">The minimum and maximum values for the
1810	ZFS adaptive replacement cache can be modified at
1811	runtime.</para>
1812    </sect2>
1813
1814    <sect2 xml:id="storage-geom">
1815      <title>&man.geom.4;</title>
1816
1817      <para revision="267359">Support for the
1818	<literal>disklabel64</literal> partitioning scheme has been
1819	added to &man.gpart.8;.</para>
1820
1821      <para revision="282465">Support for the
1822	<literal>apple-boot</literal>, <literal>apple-hfs</literal>,
1823	and <literal>apple-ufs</literal> <acronym>MBR</acronym>
1824	partitioning schemes have been added to &man.gpart.8;.</para>
1825
1826      <para revision="285594" contrib="sponsor"
1827	sponsor="&scaleengine;">The &man.gpart.8; utility has been
1828	updated to include a new attribute for <acronym>GPT</acronym>
1829	partitions, <literal>lenovofix</literal>, which when set,
1830	which works around <acronym>BIOS</acronym> compatibility
1831	issues reported on several Lenovo&nbsp;&trade; laptops.</para>
1832    </sect2>
1833  </sect1>
1834
1835  <sect1 xml:id="boot">
1836    <title>Boot Loader Changes</title>
1837
1838    <para>This section covers the boot loader, boot menu, and other
1839      boot-related changes.</para>
1840
1841    <sect2 xml:id="boot-loader">
1842      <title>Boot Loader Changes</title>
1843
1844      <para revision="258431" contrib="sponsor" sponsor="&ff;">The
1845	memory test run at boot time on &os;/&arch.amd64; platforms
1846	has been disabled by default.</para>
1847
1848      <para revision="262955">A new &man.ttys.5; class,
1849	<literal>3wire</literal>, has been added.  This is similar to
1850	the existing terminal classes, but does not have a defined
1851	baudrate.</para>
1852
1853      <para revision="274085">The &man.vt.4; driver has been made the
1854	default system console driver.  The &man.syscons.4; driver is
1855	still available, and can be enabled by adding
1856	<literal>kern.vty=sc</literal> in &man.loader.conf.5;.
1857	Alternatively, &man.syscons.4; can be enabled at boot time by
1858	entering <literal>set kern.vty=sc</literal> at the
1859	&man.loader.8; prompt.</para>
1860
1861      <para revision="279950">Support for <literal>bzipfs</literal>
1862	has been added to the <acronym>EFI</acronym> loader.</para>
1863
1864      <para revision="281616">The boot loader has been updated to
1865	support entering the <acronym>GELI</acronym> passphrase before
1866	loading the kernel.  To enable this behavior, add
1867	<literal>geom_eli_passphrase_prompt="YES"</literal> to
1868	&man.loader.conf.5;.</para>
1869
1870      <para revision="284683" contrib="sponsor" sponsor="&ff;"
1871	arch="arm">The &man.ttys.5; file for &os;/&arch.arm; has been
1872	updated to enable <filename>ttyu1</filename>,
1873	<filename>ttyu2</filename>, and <filename>ttyu3</filename> by
1874	default, if the callin port is an active console port.</para>
1875
1876      <para revision="299393">The default installation directory for
1877	modules has been changed to
1878	<filename>/boot/modules</filename>.</para>
1879    </sect2>
1880  </sect1>
1881
1882  <sect1 xml:id="network">
1883    <title>Networking</title>
1884
1885    <para>This section describes changes that affect networking in
1886      &os;.</para>
1887
1888    <sect2 xml:id="network-protocols">
1889      <title>Network Protocols</title>
1890
1891      <para revision="263140">Support for the IPX network transport
1892	protocol has been removed, and will not be supported in
1893	&os;&nbsp;11 and later releases.</para>
1894
1895      <para revision="272720" contrib="sponsor"
1896	sponsor="&limelight;">Support for <acronym>PLPMTUD</acronym>
1897	blackhole detection (<acronym>RFC</acronym> 4821) has been
1898	added to the &man.tcp.4; stack, disabled by default.  New
1899	control tunables have been added:</para>
1900
1901      <informaltable frame="none" pgwide="0">
1902	<tgroup cols="2">
1903	  <colspec colwidth="1*"/>
1904	  <colspec colwidth="1*"/>
1905	  <thead>
1906	    <row>
1907	      <entry>Tunable</entry>
1908	      <entry>Description</entry>
1909	    </row>
1910	  </thead>
1911
1912	  <tbody>
1913	    <row>
1914	      <entry><literal>net.inet.tcp.pmtud_blackhole_detection</literal></entry>
1915	      <entry>Enables or disables <acronym>PLPMTUD</acronym>
1916		blackhole detection</entry>
1917	    </row>
1918
1919	    <row>
1920	      <entry><literal>net.inet.tcp.pmtud_blackhole_mss</literal></entry>
1921	      <entry><acronym>MSS</acronym> to try for IPv4</entry>
1922	    </row>
1923
1924	    <row>
1925	      <entry><literal>net.inet.tcp.v6pmtud_blackhole_mss</literal></entry>
1926	      <entry><acronym>MSS to try for IPv6</acronym></entry>
1927	    </row>
1928	  </tbody>
1929	</tgroup>
1930      </informaltable>
1931
1932      <para>New monitoring &man.sysctl.8;s haven been added:</para>
1933
1934      <informaltable frame="none" pgwide="0">
1935	<tgroup cols="2">
1936	  <colspec colwidth="1*"/>
1937	  <colspec colwidth="1*"/>
1938	  <thead>
1939	    <row>
1940	      <entry>Tunable</entry>
1941	      <entry>Description</entry>
1942	    </row>
1943	  </thead>
1944
1945	  <tbody>
1946	    <row>
1947	      <entry><literal>net.inet.tcp.pmtud_blackhole_activated</literal></entry>
1948	      <entry>Number of times the code was activated to attempt
1949		downshifting the <acronym>MSS</acronym></entry>
1950	    </row>
1951
1952	    <row>
1953	      <entry><literal>net.inet.tcp.pmtud_blackhole_min_activated</literal></entry>
1954	      <entry>Number of times the blackhole
1955		<acronym>MSS</acronym> was used in an attempt to
1956		downshift</entry>
1957	    </row>
1958
1959	    <row>
1960	      <entry><literal>net.inet.tcp.pmtud_blackhole_failed</literal></entry>
1961	      <entry>Number of times that the blackhole failed to
1962		connect after downshifting the
1963		<acronym>MSS</acronym></entry>
1964	    </row>
1965	  </tbody>
1966	</tgroup>
1967      </informaltable>
1968
1969      <para revision="280971" contrib="sponsor"
1970	sponsor="&netflix;, &nginx;">Support for <acronym>IP</acronym>
1971	identification for atomic datagrams (<acronym>RFC</acronym>
1972	6864) has been added.  Support for this feature can be toggled
1973	with the <literal>net.inet.ip.rfc6864</literal>
1974	&man.sysctl.8;, which is enabled by default.</para>
1975
1976      <para revision="285336" contrib="sponsor"
1977	sponsor="&netgate;">The <acronym>IPSEC</acronym> has been
1978	updated to include support for <acronym>AES</acronym> modes on
1979	both software-only and hardware-backed (&man.aesni.4;)
1980	systems.</para>
1981
1982      <para revision="287798" contrib="sponsor" sponsor="&dell;">The
1983	network stack has been updated to fix handling of
1984	<acronym>IPv6</acronym> On-Link redirects.</para>
1985
1986      <para revision="299848" contrib="sponsor" sponsor="&ff;">Support
1987	to be able to reroot into a NFSv4 volume has been
1988	added.</para>
1989
1990      <para revision="300240">The net.inet.tcp.ecn.enable sysctl mib
1991	has been changed from a binary off/on control to a three way
1992	setting.</para>
1993
1994      <informaltable frame="none" pgwide="0">
1995	<tgroup cols="2">
1996	  <colspec colwidth="1*"/>
1997	  <colspec colwidth="1*"/>
1998	  <thead>
1999	    <row>
2000	      <entry>Value</entry>
2001	      <entry>Description</entry>
2002	    </row>
2003	  </thead>
2004	  <tbody>
2005	    <row>
2006	      <entry><literal>0</literal></entry>
2007	      <entry>Totally disable ECN.</entry>
2008	    </row>
2009
2010	    <row>
2011	      <entry><literal>1</literal></entry>
2012	      <entry>Enable ECN if incoming connections request it.
2013		Outgoing connections will request ECN.</entry>
2014	    </row>
2015
2016	    <row>
2017	      <entry><literal>2</literal></entry>
2018	      <entry>Enable ECN if incoming connections request it.
2019		Outgoing conections will not request ECN.</entry>
2020	    </row>
2021	  </tbody>
2022	</tgroup>
2023      </informaltable>
2024
2025      <para revision="300779">Dummynet AQM, an independent
2026	implementation of CoDel and FQ-CoDel for ipfw/dummynet has
2027	been imported to the base system.</para>
2028
2029      <para revision="301875">The unused
2030	<literal>SIOCSIFALIFETIME_IN6</literal> ioctl has been
2031	removed.</para>
2032    </sect2>
2033  </sect1>
2034
2035  <sect1 xml:id="releng">
2036    <title>Release Engineering and Integration</title>
2037
2038    <para>This section convers changes that are specific to the
2039      &os;&nbsp;Release Engineering processes.</para>
2040
2041    <sect2 xml:id="releng-changes">
2042      <title>Integration Changes</title>
2043
2044      <para revision="277458" contrib="sponsor" sponsor="&ff;">The
2045	Release Engineering build tools have been updated to include
2046	support for producing virtual machine disk images for various
2047	cloud hosting providers.</para>
2048
2049      <para revision="278926">The Release Engineering build tools have
2050	been updated to use multi-threaded &man.xz.1;.  By default,
2051	the number of &man.xz.1; threads is set to the number of cores
2052	available.</para>
2053
2054      <para revision="281802" contrib="sponsor" sponsor="&ff;">The
2055	Release Engineering build tools have been updated to include
2056	support for building &os;/&arch.arm64; virtual machine and
2057	memory stick installation images.</para>
2058
2059      <para revision="282693" contrib="sponsor" sponsor="&ff;">The
2060	Release Engineering build tools have been updated to support
2061	building &os;/&arch.arm; images without external utilities for
2062	supported boards where a corresponding
2063	<literal>u-boot</literal> port exists in the Ports
2064	Collection.</para>
2065
2066      <para revision="283307" contrib="sponsor" sponsor="&ff;">The
2067	&os;/&arch.i386; memory stick installation images are now
2068	created using the &man.mkimg.1; utility, matching the way
2069	the &os;/&arch.amd64; images are created.</para>
2070    </sect2>
2071  </sect1>
2072</article>
2073