Document r281311, disallow directory traversal in ar(1).
[freebsd.git] / release / doc / en_US.ISO8859-1 / relnotes / article.xml
1 <?xml version="1.0" encoding="iso-8859-1"?>
2 <!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V5.0-Based Extension//EN"
3         "../../../share/xml/freebsd50.dtd" [
4 <!ENTITY % release PUBLIC "-//FreeBSD//ENTITIES Release Specification//EN" "release.ent">
5  %release;
6 <!ENTITY % sponsor PUBLIC "-//FreeBSD//ENTITIES Sponsor Specification//EN" "sponsor.ent">
7  %sponsor;
8 <!ENTITY % vendor PUBLIC "-//FreeBSD//ENTITIES Vendor Specification//EN" "vendor.ent">
9  %vendor;
10 <!ENTITY security SYSTEM "../../share/xml/security.xml">
11 <!ENTITY errata SYSTEM "../../share/xml/errata.xml">
12 ]>
13 <article xmlns="http://docbook.org/ns/docbook"
14   xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0">
15
16   <info>
17     <title>&os; &release.current; Release Notes</title>
18
19     <author>
20       <orgname>The &os; Project</orgname>
21     </author>
22
23     <pubdate>$FreeBSD$</pubdate>
24
25     <!-- Last rev: 278934 -->
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     </sect2>
177
178     <sect2 xml:id="userland-programs">
179       <title>Userland Application Changes</title>
180
181       <para revision="258838" contrib="sponsor" sponsor="&ff;,
182         &google;" sponsorurl="">The &man.casperd.8; daemon has been
183         added, which provides access to functionality that is not
184         available in the <quote>capability mode</quote>
185         sandbox.</para>
186
187       <para revision="260594">When unable to load a kernel module with
188         &man.kldload.8;, a message informing to view output of
189         &man.dmesg.8; is now printed, opposed to the previous output
190         <quote>Exec format error.</quote>.</para>
191
192       <para revision="260910">Allow &man.pciconf.8; to identify PCI
193         devices that are attached to a driver to be identified by
194         their device name instead of just the selector.  Additionally,
195         an optional device argument to the <literal>-l</literal> flag
196         to restrict the output to only listing details about a single
197         device.</para>
198
199       <para revision="260913">A new flag, <quote>onifconsole</quote>
200         has been added to <filename>/etc/ttys</filename>.  This allows
201         the system to provide a login prompt via serial console if the
202         device is an active kernel console, otherwise it is equivalent
203         to <literal>off</literal>.</para>
204
205       <para revision="260926">Support for displaying VPD for PCI
206         devices via &man.pciconf.8; has been added.</para>
207
208       <para revision="261498">&man.ping.8; protects against malicious
209         network packets using the Capsicum framework to drop
210         privileges.</para>
211
212       <para revision="265229">The &man.ps.1; utility has been
213         updated to include the <literal>-J</literal> flag, used to
214         filter output by matching &man.jail.8; IDs and names.
215         Additionally, argument <literal>0</literal> can be used to
216         <literal>-J</literal> to only list processes running on the
217         host system.</para>
218
219       <para revision="265249">The &man.top.1; utility has been updated
220         to filter by &man.jail.8; ID or name, in followup to the
221         &man.ps.1; change in <literal>r265229</literal>.</para>
222
223       <para revision="265995">The Blowfish &man.crypt.3; default
224         format has been changed to
225         <literal>&dollar;2b&dollar;</literal>.</para>
226
227       <para revision="266209">The &man.pmcstat.8; utility has been
228         updated to include a new flag, <literal>-l</literal>, which
229         ends event collection after the specified number of
230         seconds.</para>
231
232       <para revision="270745">The &man.ps.1; utility has been updated
233         to include a new keyword, <quote>tracer</quote>, which
234         displays the <acronym>PID</acronym> of the tracing
235         process.</para>
236
237       <para revision="271482">Support for adding empty partitions has
238         been added to the &man.mkimg.1; utility.</para>
239
240       <para revision="272166">The &man.primes.6; utility has been
241         updated to correctly enumerate prime numbers between
242         <literal>4295098369</literal> and
243         <literal>3825123056546413050</literal>, which prior to this
244         change, it would be possible for returned values to be
245         incorrectly identified as prime numbers.</para>
246
247       <para revision="272198">The &man.mkimg.1; utility has been
248         updated to include three options used to print information
249         about &man.mkimg.1; itself:</para>
250
251       <informaltable frame="none" pgwide="0">
252         <tgroup cols="2">
253           <colspec colwidth="1*"/>
254           <colspec colwidth="1*"/>
255           <thead>
256             <row>
257               <entry>Option</entry>
258               <entry>Output</entry>
259             </row>
260           </thead>
261
262           <tbody>
263             <row>
264               <entry><literal>--version</literal></entry>
265               <entry>The current version of the &man.mkimg.1;
266                 utility</entry>
267             </row>
268
269             <row>
270               <entry><literal>--formats</literal></entry>
271               <entry>The disk image file formats supported by
272                 &man.mkimg.1;</entry>
273             </row>
274
275             <row>
276               <entry><literal>--schemes</literal></entry>
277               <entry>The partition schemes supported by
278                 &man.mkimg.1;</entry>
279             </row>
280           </tbody>
281         </tgroup>
282       </informaltable>
283
284       <para revision="272488">Userland &man.ctf.5; support in
285         &man.dtrace.1; has been added.  With this change,
286         &man.dtrace.1; is able to resolve type info for function and
287         <acronym>USDT</acronym> probe arguments, and function return
288         values.</para>
289
290       <para revision="274960">The &man.elfdump.1; utility has been
291         updated to support capability mode provided by
292         &man.capsicum.4;.</para>
293
294       <para revision="275680" contrib="sponsor" sponsor="&ff;">The
295         &man.fstyp.8; utility has been added, which is used to
296         determine the filesystem on a specified device.</para>
297
298       <para revision="276881">The <literal>libedit</literal> library
299         has been updated to support <acronym>UTF</acronym>-8, which
300         additionally provides unicode support to &man.sh.1;.</para>
301
302       <para revision="277166" arch="powerpc">The &man.ptrace.2; system
303         call has been updated include support for Altivec registers on
304         &os;/&arch.powerpc;.</para>
305
306       <para revision="278320">A new device control utility,
307         &man.devctl.8; has been added, which allows making
308         administrative changes to individual devices, such as
309         attaching and detaching drivers, and enabling and disabling
310         devices.  The &man.devctl.8; utility uses the new
311         &man.devctl.3; library.</para>
312
313       <para revision="279315" contrib="sponsor" sponsor="&ff;">The
314         &man.uefisign.8; utility has been added.</para>
315
316       <para revision="279571" contrib="sponsor"
317         sponsor="&scaleengine;">The &man.freebsd-update.8; utility has
318         been updated to prevent fetching updated binary patches when
319         a previous upgrade has not been thoroughly completed.</para>
320
321       <para revision="279122" contrib="sponsor"
322         sponsor="&juniper;">The &man.netstat.1; utility has been
323         updated to link against the &man.libxo.3; shared
324         library.</para>
325
326       <para revision="281311" contrib="sponsor" sponsor="&ff;">The
327         &man.ar.1; utility has been updated to set
328         <literal>ARCHIVE_EXTRACT_SECURE_SYMLINKS</literal> and
329         <literal>ARCHIVE_EXTRACT_SECURE_NODOTDOT</literal> to disallow
330         directory traversal when extracting an archive, similar to
331         &man.tar.1;.</para>
332     </sect2>
333
334     <sect2 xml:id="userland-contrib">
335       <title>Contributed Software</title>
336
337       <para revision="258884" contrib="sponsor"
338         sponsor="&darpa_afrl;">&man.lldb.1; has been updated to
339         upstream snapshot version r196259.</para>
340
341       <para revision="259626">Timezone data files have been updated to
342         version 2013i.</para>
343
344       <para revision="260445">&man.byacc.1; has been updated to
345         version 20140101.</para>
346
347       <para revision="261071">&man.jemalloc.3; has been updated to
348         version 3.5.0.</para>
349
350       <para revision="261283"><application>libc++</application> has
351         been updated to version 3.4.</para>
352
353       <para revision="261320"><application>OpenSSH</application> has
354         been updated to 6.5p1.</para>
355
356       <para revision="261344"><application>mdocml</application> has
357         been updated to version 1.12.3.</para>
358
359       <para revision="261991"><application>LLVM</application> and
360         <application>Clang</application> have been updated to
361         version 3.4.</para>
362
363       <para revision="266527"
364         role="merged"><application>Sendmail</application> has been
365         updated from 8.14.7 to 8.14.9.</para>
366
367       <para revision="276577"><application>file</application> has been
368         updated to version 5.22.</para>
369
370       <para revision="275718">The <application>binutils</application>
371         suite of utilities has been updated to include upstream
372         patches that add new relocations for &arch.powerpc;
373         support.</para>
374
375       <para revision="276398" contrib="sponsor" sponsor="&ff;">The
376         <application>ELF Tool Chain</application> has been updated to
377         upstream revision r3136.</para>
378
379       <para revision="276551">The <application>texinfo</application>
380         utility and <literal>info</literal> pages were removed from
381         the base system.  The <filename
382           role="package">print/texinfo</filename> port should be
383         installed on systems where <literal>info</literal> pages are
384         needed.</para>
385
386       <para revision="276796" contrib="sponsor" sponsor="&ff;">The ELF
387         object manipulation tools
388         <application>addr2line</application>,
389         <application>elfcopy (strip)</application>,
390         <application>nm</application>,
391         <application>readelf</application>,
392         <application>size</application>, and
393         <application>strings</application> were switched to the
394         versions from the ELF Tool Chain project.</para>
395
396       <para revision="276881">The <literal>libedit</literal> library
397         has been updated to include <acronym>UTF-8</acronym> support,
398         adding <acronym>UTF-8</acronym> support to the &man.sh.1;
399         shell.</para>
400
401       <para revision="277270"><application>OpenSSL</application> has
402         been updated to version 1.0.1l.</para>
403
404       <para revision="278433">The &man.xz.1; utility has been updated
405         to support multi-threaded compression.</para>
406
407       <para revision="278970">The &man.acpi.4; subsystem has been
408         updated to version 20150204.</para>
409
410       <para revision="280932" contrib="sponsor" sponsor="&ff;">The
411         <application>elftoolchain</application> utilities have been
412         updated to version 3179.</para>
413
414       <para revision="281316">The &man.xz.1; utility has been udpated
415         to version 5.2.1.</para>
416
417       <para revision="281373">The &man.nvi.1; utility has been updated
418         to version 2.1.3.</para>
419
420       <para revision="281806">The &man.wpa.supplicant.8; and
421         &man.hostapd.8; utilties have been updated to version
422         2.4.</para>
423
424       <para revision="281812"><application>bmake</application> has
425         been updated to version 20150418.</para>
426
427       <para revision="282089">The &man.unbound.8; utility has been
428         updated to version 1.5.3.</para>
429     </sect2>
430
431     <sect2 xml:id="userland-installer">
432       <title>Installation and Configuration Tools</title>
433
434       <para revision="271539">The &man.bsdinstall.8; partition editor
435         and &man.sade.8; utility have been updated to include native
436         <acronym>ZFS</acronym> support.</para>
437
438       <para revision="272274">The &os; installation utility,
439         &man.bsdinstall.8;, has been updated to set the
440         <literal>canmount</literal> &man.zfs.8; property to
441         <literal>off</literal> for the <filename
442           class="directory">/var</filename> dataset, preventing the
443         contents of directories within <filename
444           class="directory">/var</filename> from conflicting when
445         using multiple boot environments, such as that provided by
446         <filename role="package">sysutils/beadm</filename>.</para>
447
448       <para revision="274394">The &man.bsdconfig.8; utility has been
449         updated to skip the initial &man.tzsetup.8;
450         <acronym>UTC</acronym> versus wall-clock time prompt when run
451         in a virtual machine, determined when the
452         <literal>kern.vm_guest</literal> &man.sysctl.8; is set to
453         <literal>1</literal>.</para>
454
455       <para revision="275874">The &man.bsdinstall.8; utility has been
456         updated to use the new &man.dpv.3; library to display progress
457         when extracting the &os; distributions.</para>
458     </sect2>
459
460     <sect2 xml:id="userland-rc">
461       <title><filename class="directory">/etc/rc.d</filename>
462         Scripts</title>
463
464       <para revision="270676">The &man.rc.8; subsystem has been
465         updated to allow configuring services in <filename
466           class="directory">&dollar;{LOCALBASE}/etc/rc.conf.d/</filename>.
467         If <literal>LOCALBASE</literal> is unset, it defaults to
468         <filename class="directory">/usr/local</filename>.</para>
469
470       <para revision="275299">The <filename>mrouted</filename>
471         &man.rc.8; script has been removed from the base system.  An
472         equivalent script is available from the <filename
473           role="package">net/mrouted</filename> port.</para>
474
475       <para revision="279463" contrib="sponsor"
476         sponsor="&sandvine;">A new &man.rc.8; script,
477         <filename>iovctl</filename>, has been added, which allows
478         automatically starting the &man.iovctl.8; utility at
479         boot.</para>
480     </sect2>
481
482     <sect2 xml:id="userland-periodic">
483       <title><filename class="directory">/etc/periodic</filename>
484         Scripts</title>
485
486       <para revision="271321">The daily &man.periodic.8; script
487         <filename>110.clean-tmps</filename> has been updated to avoid
488         crossing filesystem mount boundaries when cleaning files in
489         <filename class="directory">/tmp</filename>.</para>
490     </sect2>
491
492     <sect2 xml:id="userland-libraries">
493       <title>Runtime Libraries and API</title>
494
495       <para revision="268461">The &man.readline.3; library is now
496         statically linked in software within the base system, and the
497         shared library is no longer installed, allowing the Ports
498         Collection to use a modern version of the library.</para>
499
500       <para revision="272273">The &man.strptime.3; library has been
501         updated to add support for <acronym>POSIX</acronym>-2001
502         features <literal>%U</literal> and
503         <literal>%W</literal>.</para>
504
505       <para revision="272842,272848" contrib="sponsor"
506         sponsor="&ff;">The &man.dl.iterate.phdr.3; library has been
507         changed to always return the path name of the
508         <acronym>ELF</acronym> object in the
509         <literal>dlpi_name</literal> structure member.</para>
510
511       <para revision="273562" contrib="sponsor"
512         sponsor="&juniper;">The &man.libxo.3; library has been
513         imported to the base system.</para>
514
515       <para revision="273806" contrib="sponsor" sponsor="&chelsio;">A
516         userland library for Chelsio Terminator 5 based iWARP cards
517         has been added, allowing userland <acronym>RDMA</acronym>
518         applications to work over compatible
519         <acronym>NIC</acronym>s.</para>
520
521       <para revision="274987">The &man.gpio.3; library has been added,
522         providing a wrapper around the &man.gpio.4; kernel
523         interface.</para>
524
525       <para revision="277610">The <literal>futimens()</literal> and
526         <literal>utimensat()</literal> system calls have been
527         added.  See &man.utimensat.2; for more information.</para>
528
529       <para revision="278934">The &man.elf.3; compile-time dependency
530         has been removed from <filename>dtri.o</filename>, which
531         allows adding <application>DTrace</application> probes to
532         userland applications and libraries without also linking
533         against &man.elf.3;.</para>
534
535       <para revision="279186">The &man.setmode.3; function has been
536         updated to consistently set <literal>errno</literal> on
537         failure.</para>
538
539       <para revision="279663">The &man.qsort.3; functions have been
540         updated to be able to handle 32-bit aligned data on 64-bit
541         platforms, also providing a significant improvement in 32-bit
542         workloads.</para>
543
544       <para revision="281130">Several standard include headers have
545         been updated to use of <application>gcc</application>
546         attributes, such as <literal>__result_use_check()</literal>,
547         <literal>__alloc_size()</literal>, and
548         <literal>__nonnull()</literal>.</para>
549     </sect2>
550
551     <sect2 xml:id="userland-abi">
552       <title>ABI Compatibility</title>
553
554       <para revision="271982">The &linux; compatibility version has
555         been updated to <literal>2.6.18</literal>.  The
556         <literal>compat.linux.osrelease</literal> &man.sysctl.8; is
557         evaluated when building the <filename
558           role="package">emulators/linux-c6</filename> and related
559         ports.</para>
560     </sect2>
561   </sect1>
562
563   <sect1 xml:id="kernel">
564     <title>Kernel</title>
565
566     <para>This section covers changes to kernel configurations, system
567       tuning, and system control parameters that are not otherwise
568       categorized.</para>
569
570     <sect2 xml:id="kernel-bugfix">
571       <title>Kernel Bug Fixes</title>
572
573       <para revision="265876">A kernel bug that inhibited proper
574         functionality of the <literal>dev.cpu.0.freq</literal>
575         &man.sysctl.8; on &intel; processors with Turbo
576         Boost&nbsp;&trade; enabled has been fixed.</para>
577
578       <para revision="271697" arch="powerpc">Support for
579         &man.dtrace.1; stack tracing has been fixed for
580         &os;/&arch.powerpc;, using the <literal>trapexit()</literal>
581         and <literal>asttrapexit()</literal> functions instead of
582         checking within addressed kernel space.</para>
583
584       <para revision="272089">A bug in &man.ipfw.4; that could
585         potentially lead to a kernel panic when using &man.dummynet.4;
586         at layer 2 has been fixed.</para>
587
588       <para revision="280930" contrib="sponsor" sponsor="&mitail;">The
589         kernel <acronym>RPC</acronym> has been updated to include
590         several enhancements:</para>
591
592       <itemizedlist>
593         <listitem>
594           <para>The 45 MiB limit on requests queued for
595             &man.nfsd.8; threads has been removed.</para>
596         </listitem>
597
598         <listitem>
599           <para>Avoids unnecessary throttling by not deferring
600             accounting for completed requests.</para>
601         </listitem>
602
603         <listitem>
604           <para>Fixes an integer overflow and signedness bugs.</para>
605         </listitem>
606       </itemizedlist>
607
608       <para revision="281261" arch="powerpc">Support for
609         &man.dtrace.1; has been added for the
610         Book-E&nbsp;&trade;.</para>
611     </sect2>
612
613     <sect2 xml:id="kernel-config">
614       <title>Kernel Configuration</title>
615
616       <para revision="266531">The <literal>IMAGACT_BINMISC</literal>
617         kernel configuration option has been enabled by default,
618         which enables application execution through emulators, such
619         as <application>Qemu</application>.</para>
620
621       <para revision="268045">The <literal>VT</literal> kernel
622         configuration file has been removed, and the &man.vt.4;
623         driver is included in the <literal>GENERIC</literal> kernel.
624         To enable &man.vt.4;, enter <literal>set kern.vty=vt</literal>
625         at the &man.loader.8; prompt during boot, or add
626         <literal>kern.vty=vt</literal> to &man.loader.conf.5; and
627         reboot the system.</para>
628
629       <para revision="277904">The &man.config.8; utility has been
630         updated to allow using a non-standard <filename
631           class="directory">src/</filename> tree, specified as an
632         argument to the <literal>-s</literal> flag.</para>
633
634       <para revision="277990" arch="powerpc64">The
635         &os;/&arch.powerpc64; kernel now builds as
636         a position-independent executable, allowing the kernel to be
637         loaded into and run from any physical or virtual
638         address.</para>
639
640       <important>
641         <para>This change requires an update to &man.loader.8;.
642           The userland and kernel must be updated before rebooting the
643           system.</para>
644       </important>
645
646       <para revision="279189" contrib="sponsor" sponsor="&ff;"
647         arch="powerpc">Kernel support for Vector-Scalar eXtension
648         (<acronym>VSX</acronym>) found on POWER7 and POWER8 hardware
649         has been added.</para>
650
651       <para revision="279252" contrib="sponsor" sponsor="&ff;"
652         arch="powerpc">The &man.pmap.9; implementation for 64-bit
653         &powerpc; processors has been overhaulded to improve
654         concurrency.</para>
655     </sect2>
656
657     <sect2 xml:id="kernel-sysctl">
658       <title>System Tuning and Controls</title>
659
660       <para revision="275140" contrib="sponsor" sponsor="&ff;">The
661         &man.hwpmc.4; default and maximum callchain depths have been
662         increased.  The default has been increased from 16 to 32, and
663         the maximum increased from 32 to 128.</para>
664
665       <para revision="279361">The <literal>kern.osrelease</literal>
666         and <literal>kern.osreldate</literal> are now configurable
667         &man.jail.8; parameters.</para>
668
669       <para revision="280308" contrib="sponsor" sponsor="&ix;">The
670         &man.devfs.5; device filesystem has been changed to disable
671         updating timestamps for read/write operations.  A new
672         &man.sysctl.8;, <literal>vfs.devfs.dotimes</literal> has been
673         added, which when set to a non-zero value, enables updating
674         timestamps for these operations.</para>
675     </sect2>
676   </sect1>
677
678   <sect1 xml:id="drivers">
679     <title>Devices and Drivers</title>
680
681     <para>This section covers changes and additions to devices and
682       device drivers since &release.prev;.</para>
683
684     <sect2 xml:id="drivers-device">
685       <title>Device Drivers</title>
686
687       <para revision="260903">Support for GPS ports has been added to
688         &man.uhso.4;.</para>
689
690       <para revision="265132">The &man.full.4; device has been added,
691         and the <literal>lindev(4)</literal> device has been removed.
692         Prior to this change, <literal>lindev(4)</literal> provided
693         only the <filename>/dev/full</filename> character device,
694         returning <literal>ENOSPC</literal> on write attempts.  As
695         this device is not specific to &linux;, a native &os; version
696         has been added.</para>
697
698       <para revision="271705">Hardware context support has been
699         added to the <literal>drm/i915</literal> driver, adding
700         support for <application>Mesa</application> 9.2 and
701         later.</para>
702
703       <para revision="273178">The &man.vt.4; driver has been updated,
704         replacing the bitmapped <literal>kern.vt.spclkeys</literal>
705         &man.sysctl.8; with individual
706         <literal>kern.vt.kbd_*</literal> variants.</para>
707
708       <para revision="273598">The &man.hpet.4; driver has been updated
709         to create a
710         <filename>/dev/hpet<replaceable>N</replaceable></filename>
711         device, providing access to <acronym>HPET</acronym> from
712         userspace.</para>
713
714       <para revision="280183">The <literal>drm</literal> code has
715         been updated to match &linux; version 3.8.13.</para>
716     </sect2>
717
718     <sect2 xml:id="drivers-storage">
719       <title>Storage Drivers</title>
720
721       <para revision="265236" contrib="sponsor"
722         sponsor="&lsi;, &spectralogic;" sponsorurl="">The &man.mpr.4;
723         device has been added, providing support for LSI Fusion-MPT
724         3 12Gb SCSI/SATA controllers.</para>
725
726       <para revision="265555" contrib="sponsor"
727           sponsor="&lsi;">The &man.mrsas.4; driver has been added,
728         providing support for LSI MegaRAID SAS controllers.  The
729         &man.mfi.4; driver will attach to the controller, by default.
730         To enable &man.mrsas.4; add
731         <literal>hw.mfi.mrsas_enable=1</literal> to
732         <filename>/boot/loader.conf</filename>, which turns off
733         &man.mfi.4; device probing.</para>
734
735       <note>
736         <para>At this time, the &man.mfiutil.8; utility and the &os;
737           version of <application>MegaCLI</application> and
738           <application>StorCli</application> do not work with
739           &man.mrsas.4;.</para>
740       </note>
741
742       <para revision="275461" contrib="sponsor" sponsor="&ix;">The
743         &man.ctl.4; subsystem has been updated, increasing the ports
744         limit from <literal>128</literal> to <literal>256</literal>,
745         and <acronym>LUN</acronym> limit from <literal>256</literal>
746         to <literal>1024</literal>.</para>
747
748       <para revision="276526">The <literal>asr(4)</literal> driver has
749         been removed, and is no longer supported.</para>
750     </sect2>
751
752     <sect2 xml:id="drivers-network">
753       <title>Network Drivers</title>
754
755       <para revision="258830">Support for Broadcom chipsets BCM57764,
756         BCM57767, BCM57782, BCM57786 and BCM57787 has been added to
757         &man.bge.4;.</para>
758
759       <para revision="260448">Support for the &intel; Centrino&trade;
760         Wireless-N 135 chipset has been added.</para>
761
762       <para revision="260552">Firmware for &intel; Centrino&trade;
763         Wireless-N 105 devices has been added to the base
764         system.</para>
765
766       <para revision="261975">The deprecated nve(4) driver has been
767         removed.  Users of NVIDIA nForce MCP network adapters are
768         advised to use the &man.nfe.4; driver instead, which has been
769         the default driver for this hardware since
770         &os;&nbsp;7.0.</para>
771
772       <para revision="264601" contrib="sponsor"
773         sponsor="&darpa_afrl;">The <literal>if_nf10bmac(4)</literal>
774         device has been added, providing support for NetFPGA-10G
775         Embedded CPU Ethernet Core.</para>
776
777       <note>
778         <para>The <literal>if_nf10bmac(4)</literal> driver operates on
779           the FPGA, and is not suited for the PCI host
780           interface.</para>
781       </note>
782
783       <para revision="265348" contrib="sponsor"
784         sponsor="&netgate;">The &man.ath.hal.4; driver has been
785         updated to support the Atheros AR1111 chipset.</para>
786
787       <para revision="266770">Support for the &intel; Centrino&trade;
788         Wireless-N 105 chipset has been added.</para>
789
790       <para revision="266757" contrib="sponsor"
791         sponsor="&chelsio;">Support for the &man.cxgbe.4; Terminator
792         5 (T5) 10G/40G cards has been added to &man.netmap.4;.</para>
793
794       <para revision="272730">The &man.alc.4; driver has been updated
795         to support AR816x and AR817x ethernet controllers.</para>
796
797       <para revision="273331">The &man.vxlan.4; driver has been added,
798         which creates a virtual Layer 2 (Ethernet) network overlaid in
799         a Layer 3 (IP/UDP) network.  The &man.vxlan.4; driver is
800         analogous to &man.vlan.4;, but is designed to be better suited
801         for large, multiple-tenant datacenter environments.</para>
802
803       <para revision="274246" contrib="sponsor" sponsor="&yandex;">The
804         &man.gre.4; driver has been significantly overhauled, and has
805         been split into two separate modules, &man.gre.4; and
806         &man.me.4;.</para>
807     </sect2>
808   </sect1>
809
810   <sect1 xml:id="hardware">
811     <title>Hardware Support</title>
812
813     <para>This section covers general hardware support for physical
814       machines, hypervisors, and virtualization environments, as well
815       as hardware changes and updates that do not otherwise fit in
816       other sections of this document.</para>
817
818     <sect2 xml:id="hardware-support">
819       <title>Hardware Support</title>
820
821       <para revision="268303">The &man.asmc.4; driver has been
822         updated to support the &apple;&nbsp;MacMini 3,1.</para>
823
824       <para revision="268351">Support for &os;/ia64 has been dropped
825         as of &os;&nbsp;11.</para>
826
827       <para revision="274386">An issue that could cause a system to
828         hang when entering <acronym>ACPI</acronym>
829         <literal>S3</literal> state (suspend to
830         <acronym>RAM</acronym>) has been corrected in the &man.acpi.4;
831         and &man.pci.4; drivers.</para>
832
833       <para revision="274733" arch="powerpc">The power management unit
834         subsystem has been updated to support power button events on
835         certain &arch.powerpc; hardware, such as aluminum
836         PowerBook&nbsp;&reg;.</para>
837
838       <para revision="275171,275190" arch="powerpc">The &man.hwpmc.4;
839         driver has been updated to correct performance counter
840         sampling on G4 (MPC74xxx) and G5 class processors.</para>
841
842       <para revision="275732" contrib="sponsor"
843         sponsor="&ff;,&netgate;">The
844         <application>OpenCrypto</application> framework has been
845         updated to include <literal>AES-ICM</literal> and
846         <literal>AES-GCM</literal> modes, both of which have also been
847         added to the &man.aesni.4; driver.</para>
848     </sect2>
849
850     <sect2 xml:id="hardware-virtualization">
851       <title>Virtualization Support</title>
852
853       <para revision="260410">Support for the <quote>Virtual Interrupt
854           Delivery</quote> feature of &intel;&nbsp;VT-x is enabled if
855         supported by the CPU.  This feature can be disabled by running
856         <literal>sysctl hw.vmm.vmx.use_apic_vid=0</literal>.
857         Additionally, to persist this setting across reboots, add
858         <literal>hw.vmm.vmx.use_apic_vid=0</literal> to
859         <filename>/etc/sysctl.conf</filename>.</para>
860
861       <para revision="260532">Support for <quote>Posted Interrupt
862           Processing</quote> is enabled if supported by the CPU.  This
863         feature can be disabled by running <literal>sysctl
864           hw.vmm.vmx.use_apic_pir=0</literal>.  Additionally, to
865         persist this setting across reboots, add
866         <literal>hw.vmm.vmx.use_apic_pir=0</literal> to
867         <filename>/etc/sysctl.conf</filename>.</para>
868
869       <para revision="260582">Unmapped IO support has been added to
870         &man.virtio_blk.4;.</para>
871
872       <para revision="260583">Unmapped IO support has been added to
873         &man.virtio_scsi.4;.</para>
874
875       <para revision="260847">The &man.virtio_random.4; driver has
876         been added to harvest entropy from the host system.</para>
877
878       <para revision="261504">&os;/&arch.i386; guests can be run under
879         bhyve.</para>
880
881       <para revision="267536" contrib="sponsor"
882         sponsor="&citrix.rd;">Support for running a &os;/&arch.amd64;
883         <application>Xen</application> guest instance as
884         <acronym>PVH</acronym> guest has been added.
885         <acronym>PVH</acronym> mode, short for <quote>Para-Virtualized
886           Hardware</quote>, uses para-virtualized drivers for boot and
887         I/O, and uses hardware virtualization extensions for all other
888         tasks, without the need for emulation.</para>
889
890       <para revision="273515">The &man.virtio.console.4; driver has
891         been added, which provides an interface to VirtIO console
892         devices through a &man.tty.4; device.</para>
893
894       <para revision="279957">The &man.bhyve.8; hypervisor has been
895         updated to support <literal>DSM TRIM</literal> commands for
896         virtual <acronym>AHCI</acronym> disks.</para>
897     </sect2>
898
899     <sect2 xml:id="hardware-arm">
900       <title>ARM Support</title>
901
902       <para revision="260921">The &man.nand.4; device is enabled for
903         ARM devices by default.</para>
904
905       <para revision="273264" arch="armv6">An issue that could cause
906         instability when detecting <acronym>SD</acronym> cards on the
907         Raspberry Pi <acronym>SOC</acronym> has been fixed.</para>
908
909       <para revision="275963">The <literal>bcm2835_cpufreq</literal>
910         driver has been added, which supports <acronym>CPU</acronym>
911         frequency and voltage control on the Raspberry Pi
912         <acronym>SOC</acronym>.</para>
913
914       <para revision="280259" contrib="sponsor" sponsor="&ff;">Initial
915         support for the ARM AArch64 architecture has been
916         added.</para>
917     </sect2>
918   </sect1>
919
920   <sect1 xml:id="storage">
921     <title>Storage</title>
922
923     <para>This section covers changes and additions to file systems
924       and other storage subsystems, both local and networked.</para>
925
926     <sect2 xml:id="storage-general">
927       <title>General Storage</title>
928
929       <para revision="278037" contrib="sponsor" sponsor="&ix;">The
930         &man.ctl.4; <acronym>LUN</acronym> mapping has been rewritten,
931         replacing <acronym>iSCSI</acronym>-specific mapping mechanisms
932         with a new mechanism that works for any port.</para>
933
934       <para revision="278354" contrib="sponsor" sponsor="&ix;">The
935         &man.ctld.8; utility has been updated to allow controlling
936         non-<acronym>iSCSI</acronym> &man.ctl.4; ports.</para>
937     </sect2>
938
939     <sect2 xml:id="storage-net">
940       <title>Networked Storage</title>
941
942       <para revision="270096" contrib="sponsor" sponsor="&ff;">The new
943         filesystem automount facility, &man.autofs.5;, has been added.
944         The new &man.autofs.5; facility is similar to that found in
945         other &unix;-like operating systems, such as OS&nbsp;X&trade;
946         and Solaris&trade;.  The &man.autofs.5; facility uses
947         a &sun;-compatible &man.auto.master.5; configuration file, and
948         is administered with the &man.automount.8; userland utility,
949         and the &man.automountd.8; and &man.autounmountd.8;
950         daemons.</para>
951     </sect2>
952
953     <sect2 xml:id="storage-zfs">
954       <title>ZFS</title>
955
956       <para revision="275748">The <literal>arc_meta_limit</literal>
957         statistics are now visible through the
958         <literal>kstat</literal> &man.sysctl.8;.  As a result of this
959         change, the <literal>vfs.zfs.arc_meta_used</literal>
960         &man.sysctl.8; has been removed, and replaced with the
961         <literal>kstat.zfs.misc.arcstats.arc_meta_used</literal>
962         &man.sysctl.8;.</para>
963     </sect2>
964
965     <sect2 xml:id="storage-geom">
966       <title>&man.geom.4;</title>
967
968       <para revision="267359">Support for the
969         <literal>disklabel64</literal> partitioning scheme has been
970         added to &man.gpart.8;.</para>
971     </sect2>
972   </sect1>
973
974   <sect1 xml:id="boot">
975     <title>Boot Loader Changes</title>
976
977     <para>This section covers the boot loader, boot menu, and other
978       boot-related changes.</para>
979
980     <sect2 xml:id="boot-loader">
981       <title>Boot Loader Changes</title>
982
983       <para revision="274085">The &man.vt.4; driver has been made the
984         default system console driver.  The &man.syscons.4; driver is
985         still available, and can be enabled by adding
986         <literal>kern.vty=sc</literal> in &man.loader.conf.5;.
987         Alternatively, &man.syscons.4; can be enabled at boot time by
988         entering <literal>set kern.vty=sc</literal> at the
989         &man.loader.8; prompt.</para>
990
991       <para revision="281616">The boot loader has been updated to
992         support entering the <acronym>GELI</acronym> passphrase before
993         loading the kernel.  To enable this behavior, add
994         <literal>geom_eli_passphrase_prompt="YES"</literal> to
995         &man.loader.conf.5;.</para>
996     </sect2>
997
998     <sect2 xml:id="boot-menu">
999       <title>Boot Menu Changes</title>
1000
1001       <para>&nbsp;</para>
1002     </sect2>
1003   </sect1>
1004
1005   <sect1 xml:id="network">
1006     <title>Networking</title>
1007
1008     <para>This section describes changes that affect networking in
1009       &os;.</para>
1010
1011     <sect2 xml:id="network-protocols">
1012       <title>Network Procols</title>
1013
1014       <para revision="263140">Support for the IPX network transport
1015         protocol has been removed, and will not be supported in
1016         &os;&nbsp;11 and later releases.</para>
1017
1018       <para revision="272720" contrib="sponsor"
1019         sponsor="&limelight;">Support for <acronym>PLPMTUD</acronym>
1020         blackhole detection (<acronym>RFC</acronym> 4821) has been
1021         added to the &man.tcp.4; stack, disabled by default.  New
1022         control tunables have been added:</para>
1023
1024       <informaltable frame="none" pgwide="0">
1025         <tgroup cols="2">
1026           <colspec colwidth="1*"/>
1027           <colspec colwidth="1*"/>
1028           <thead>
1029             <row>
1030               <entry>Tunable</entry>
1031               <entry>Description</entry>
1032             </row>
1033           </thead>
1034
1035           <tbody>
1036             <row>
1037               <entry><literal>net.inet.tcp.pmtud_blackhole_detection</literal></entry>
1038               <entry>Enables or disables <acronym>PLPMTUD</acronym>
1039                 blackhole detection</entry>
1040             </row>
1041
1042             <row>
1043               <entry><literal>net.inet.tcp.pmtud_blackhole_mss</literal></entry>
1044               <entry><acronym>MSS</acronym> to try for IPv4</entry>
1045             </row>
1046
1047             <row>
1048               <entry><literal>net.inet.tcp.v6pmtud_blackhole_mss</literal></entry>
1049               <entry><acronym>MSS to try for IPv6</acronym></entry>
1050             </row>
1051           </tbody>
1052         </tgroup>
1053       </informaltable>
1054
1055       <para>New monitoring &man.sysctl.8;s haven been added:</para>
1056
1057       <informaltable frame="none" pgwide="0">
1058         <tgroup cols="2">
1059           <colspec colwidth="1*"/>
1060           <colspec colwidth="1*"/>
1061           <thead>
1062             <row>
1063               <entry>Tunable</entry>
1064               <entry>Description</entry>
1065             </row>
1066           </thead>
1067
1068           <tbody>
1069             <row>
1070               <entry><literal>net.inet.tcp.pmtud_blackhole_activated</literal></entry>
1071               <entry>Number of times the code was activated to attempt
1072                 downshifting the <acronym>MSS</acronym></entry>
1073             </row>
1074
1075             <row>
1076               <entry><literal>net.inet.tcp.pmtud_blackhole_min_activated</literal></entry>
1077               <entry>Number of times the blackhole
1078                 <acronym>MSS</acronym> was used in an attempt to
1079                 downshift</entry>
1080             </row>
1081
1082             <row>
1083               <entry><literal>net.inet.tcp.pmtud_blackhole_failed</literal></entry>
1084               <entry>Number of times that the blackhole failed to
1085                 connect after downshifting the
1086                 <acronym>MSS</acronym></entry>
1087             </row>
1088           </tbody>
1089         </tgroup>
1090       </informaltable>
1091
1092       <para revision="280971" contrib="sponsor"
1093         sponsor="&netflix;, &nginx;">Support for <acronym>IP</acronym>
1094         identification for atomic datagrams (<acronym>RFC</acronym>
1095         6864) has been added.  Support for this feature can be toggled
1096         with the <literal>net.inet.ip.rfc6864</literal>
1097         &man.sysctl.8;, which is enabled by default.</para>
1098     </sect2>
1099   </sect1>
1100
1101   <sect1 xml:id="ports">
1102     <title>Ports Collection and Package Infrastructure</title>
1103
1104     <para>This section covers changes to the &os;&nbsp;Ports
1105       Collection, package infrastructure, and package maintenance and
1106       installation tools.</para>
1107
1108     <sect2 xml:id="ports-infrastructure">
1109       <title>Infrastructure Changes</title>
1110
1111       <para>&nbsp;</para>
1112     </sect2>
1113
1114     <sect2 xml:id="ports-packages ">
1115       <title>Packaging Changes</title>
1116
1117       <para>&nbsp;</para>
1118     </sect2>
1119   </sect1>
1120
1121   <sect1 xml:id="doc">
1122     <title>Documentation</title>
1123
1124     <para>This section covers changes to the &os;&nbsp;Documentation
1125       Project sources and toolchain.</para>
1126
1127     <sect2 xml:id="doc-sources">
1128       <title>Documentation Source Changes</title>
1129
1130       <para>&nbsp;</para>
1131     </sect2>
1132
1133     <sect2 xml:id="doc-toolchain">
1134       <title>Documentation Toolchain Changes</title>
1135
1136       <para>&nbsp;</para>
1137     </sect2>
1138   </sect1>
1139
1140   <sect1 xml:id="releng">
1141     <title>Release Engineering and Integration</title>
1142
1143     <para>This section convers changes that are specific to the
1144       &os;&nbsp;Release Engineering processes.</para>
1145
1146     <sect2 xml:id="releng-changes">
1147       <title>Integration Changes</title>
1148
1149       <para revision="277458" contrib="sponsor" sponsor="&ff;">The
1150         Release Engineering build tools have been updated to include
1151         support for producing virtual machine disk images for various
1152         cloud hosting providers.</para>
1153
1154       <para revision="278926">The Release Engineering build tools have
1155         been updated to use multi-threaded &man.xz.1;.  By default,
1156         the number of &man.xz.1; threads is set to the number of cores
1157         available.</para>
1158     </sect2>
1159   </sect1>
1160 </article>