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