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