]> CyberLeo.Net >> Repos - FreeBSD/releng/10.0.git/blob - release/doc/en_US.ISO8859-1/relnotes/article.xml
Document recent security advisories (since 9.2-RELEASE is released).
[FreeBSD/releng/10.0.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
7 <!-- local entities not available in doc/release/10.0.0 tag -->
8 <!ENTITY man.drill.1 "<citerefentry xmlns='http://docbook.org/ns/docbook'><refentrytitle>drill</refentrytitle><manvolnum>1</manvolnum></citerefentry>">
9 <!ENTITY man.freebsd-version.1 "<citerefentry xmlns='http://docbook.org/ns/docbook'><refentrytitle>freebsd-version</refentrytitle><manvolnum>1</manvolnum></citerefentry>">
10 <!ENTITY man.jemalloc.3 "<citerefentry xmlns='http://docbook.org/ns/docbook'><refentrytitle>jemalloc</refentrytitle><manvolnum>3</manvolnum></citerefentry>">
11 <!ENTITY man.bhyve.4 "<citerefentry xmlns='http://docbook.org/ns/docbook'><refentrytitle>bhyve</refentrytitle><manvolnum>4</manvolnum></citerefentry>">
12 <!ENTITY man.nvme.4 "<citerefentry xmlns='http://docbook.org/ns/docbook'><refentrytitle>nvme</refentrytitle><manvolnum>4</manvolnum></citerefentry>">
13 <!ENTITY man.virtio.4 "<citerefentry xmlns='http://docbook.org/ns/docbook'><refentrytitle>virtio</refentrytitle><manvolnum>4</manvolnum></citerefentry>">
14 <!ENTITY man.virtio_balloon.4 "<citerefentry xmlns='http://docbook.org/ns/docbook'><refentrytitle>virtio_balloon</refentrytitle><manvolnum>4</manvolnum></citerefentry>">
15 <!ENTITY man.virtio_blk.4 "<citerefentry xmlns='http://docbook.org/ns/docbook'><refentrytitle>virtio_blk</refentrytitle><manvolnum>4</manvolnum></citerefentry>">
16 <!ENTITY man.virtio_scsi.4 "<citerefentry xmlns='http://docbook.org/ns/docbook'><refentrytitle>virtio_scsi</refentrytitle><manvolnum>4</manvolnum></citerefentry>">
17 <!ENTITY man.vmx.4 "<citerefentry xmlns='http://docbook.org/ns/docbook'><refentrytitle>vmx</refentrytitle><manvolnum>4</manvolnum></citerefentry>">
18 <!ENTITY man.pkg.7 "<citerefentry xmlns='http://docbook.org/ns/docbook'><refentrytitle>pkg</refentrytitle><manvolnum>7</manvolnum></citerefentry>">
19 <!ENTITY man.bhyve.8 "<citerefentry xmlns='http://docbook.org/ns/docbook'><refentrytitle>bhyve</refentrytitle><manvolnum>8</manvolnum></citerefentry>">
20 <!ENTITY man.gptboot.8 "<citerefentry xmlns='http://docbook.org/ns/docbook'><refentrytitle>gptboot</refentrytitle><manvolnum>8</manvolnum></citerefentry>">
21 <!ENTITY man.bsdconfig.8 "<citerefentry xmlns='http://docbook.org/ns/docbook'><refentrytitle>bsdconfig</refentrytitle><manvolnum>8</manvolnum></citerefentry>">
22 <!ENTITY man.unbound.8 "<citerefentry xmlns='http://docbook.org/ns/docbook'><refentrytitle>unbound</refentrytitle><manvolnum>8</manvolnum></citerefentry>">
23 ]>
24 <article xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0">
25 <info><title>&os; &release.current; Release Notes</title>
26
27   <author><orgname>The &os; Project</orgname></author>
28
29   <pubdate>$FreeBSD$</pubdate>
30
31   <copyright>
32     <year>2000</year>
33     <year>2001</year>
34     <year>2002</year>
35     <year>2003</year>
36     <year>2004</year>
37     <year>2005</year>
38     <year>2006</year>
39     <year>2007</year>
40     <year>2008</year>
41     <year>2009</year>
42     <year>2010</year>
43     <year>2011</year>
44     <year>2012</year>
45     <year>2013</year>
46     <year>2014</year>
47     <holder role="mailto:doc@FreeBSD.org">The &os; Documentation
48       Project</holder>
49   </copyright>
50
51   <legalnotice xml:id="trademarks" role="trademarks">
52     &tm-attrib.freebsd;
53     &tm-attrib.ibm;
54     &tm-attrib.ieee;
55     &tm-attrib.intel;
56     &tm-attrib.sparc;
57     &tm-attrib.general;
58   </legalnotice>
59
60   <abstract>
61     <para>The release notes for &os; &release.current; contain
62       a summary of the changes made to the &os; base system on the
63       &release.branch; development line.  This document lists
64       applicable security advisories that were issued since the last
65       release, as well as significant changes to the &os; kernel and
66       userland.  Some brief remarks on upgrading are also
67       presented.</para>
68   </abstract>
69 </info>
70
71 <sect1 xml:id="intro">
72   <title>Introduction</title>
73
74   <para>This document contains the release notes for &os;
75     &release.current;.  It describes recently added, changed, or
76     deleted features of &os;.  It also provides some notes on
77     upgrading from previous versions of &os;.</para>
78
79   <para>The latest, up-to-date version of the release notes are
80     available online at <uri
81       xlink:href="&release.url;10.0R/relnotes.html">&release.url;10.0R/relnotes.html</uri>.</para>
82
83   <para releasetype="current">The &release.type; distribution to which
84     these release notes apply represents the latest point along the
85     &release.branch; development branch since &release.branch; was
86     created.  Information regarding pre-built, binary &release.type;
87     distributions along this branch can be found at <uri
88       xlink:href="&release.url;">&release.url;</uri>.</para>
89
90   <para releasetype="snapshot">The &release.type; distribution to
91     which these release notes apply represents a point along the
92     &release.branch; development branch between &release.prev; and the
93     future &release.next;.  Information regarding pre-built, binary
94     &release.type; distributions along this branch can be found at
95     <uri xlink:href="&release.url;">&release.url;</uri>.</para>
96
97   <para releasetype="release">This distribution of &os;
98     &release.current; is a &release.type; distribution.  It can be
99     found at <uri xlink:href="&release.url;">&release.url;</uri> or
100     any of its mirrors.  More information on obtaining this (or other)
101     &release.type; distributions of &os; can be found in the <link
102       xlink:href="&url.books.handbook;/mirrors.html"><quote>Obtaining
103         &os;</quote> appendix</link> to the <link
104       xlink:href="&url.books.handbook;/">&os; Handbook</link>.</para>
105
106   <para>All users are encouraged to consult the release errata before
107     installing &os;.  The errata document is updated with
108     <quote>late-breaking</quote> information discovered late in the
109     release cycle or after the release.  Typically, it contains
110     information on known bugs, security advisories, and corrections to
111     documentation.  An up-to-date copy of the errata for &os;
112     &release.current; can be found on the &os; Web site.</para>
113 </sect1>
114
115 <sect1 xml:id="new">
116   <title>What's New</title>
117
118   <para>This section describes the most user-visible new or changed
119     features in &os; since &release.prev;.  In general, changes
120     described here are unique to the &release.branch; branch unless
121     specifically marked as &merged; features.</para>
122
123   <para>Typical release note items document recent security advisories
124     issued after &release.prev;, new drivers or hardware support, new
125     commands or options, major bug fixes, or contributed software
126     upgrades.  They may also list changes to major ports/packages or
127     release engineering practices.  Clearly the release notes cannot
128     list every single change made to &os; between releases; this
129     document focuses primarily on security advisories, user-visible
130     changes, and major architectural improvements.</para>
131
132   <sect2 xml:id="security">
133     <title>Security Advisories</title>
134
135     <para>Problems described in the following security advisories have
136       been fixed.  For more information, consult the individual
137       advisories available from
138       <link xlink:href="http://security.FreeBSD.org/">FreeBSD
139         Security Information</link>.</para>
140
141       <informaltable frame="none" pgwide="0">
142         <tgroup cols="3">
143           <colspec colwidth="1*" />
144           <colspec colwidth="1*" />
145           <colspec colwidth="3*" />
146           <thead>
147             <row>
148               <entry>Advisory</entry>
149               <entry>Date</entry>
150               <entry>Topic</entry>
151             </row>
152           </thead>
153
154           <tbody>
155             <row>
156               <entry><link
157                 xlink:href="http://www.freebsd.org/security/advisories/FreeBSD-SA-13:14.openssh.asc">SA-13:14.openssh</link></entry>
158               <entry>19&nbsp;November&nbsp;2013</entry>
159               <entry><para>OpenSSH AES-GCM memory corruption
160                 vulnerability</para></entry>
161             </row>
162
163             <row>
164               <entry><link
165                 xlink:href="http://www.freebsd.org/security/advisories/FreeBSD-SA-14:01.bsnmpd.asc">SA-14:01.bsnmpd</link></entry>
166               <entry>14&nbsp;January&nbsp;2014</entry>
167               <entry><para>bsnmpd remote denial of service vulnerability</para></entry>
168             </row>
169
170             <row>
171               <entry><link
172                 xlink:href="http://www.freebsd.org/security/advisories/FreeBSD-SA-14:02.ntpd.asc">SA-14:02.ntpd</link></entry>
173               <entry>14&nbsp;January&nbsp;2014</entry>
174               <entry><para>ntpd distributed reflection Denial of Service vulnerability</para></entry>
175             </row>
176
177             <row>
178               <entry><link
179                 xlink:href="http://www.freebsd.org/security/advisories/FreeBSD-SA-14:03.openssl.asc">SA-14:03.openssl</link></entry>
180               <entry>14&nbsp;January&nbsp;2014</entry>
181               <entry><para>OpenSSL multiple vulnerabilities</para></entry>
182             </row>
183
184             <row>
185               <entry><link
186                 xlink:href="http://www.freebsd.org/security/advisories/FreeBSD-SA-14:04.bind.asc">SA-14:04.bind</link></entry>
187               <entry>14&nbsp;January&nbsp;2014</entry>
188               <entry><para>BIND remote denial of service vulnerability</para></entry>
189             </row>
190
191           </tbody>
192         </tgroup>
193       </informaltable>
194   </sect2>
195
196   <sect2 xml:id="kernel">
197     <title>Kernel Changes</title>
198
199     <para revision="248508">The use of unmapped VMIO buffers
200       eliminates the need to perform TLB shootdown for mapping on
201       buffer creation and reuse, greatly reducing the amount of IPIs
202       for shootdown on big-SMP machines and eliminating up to 25-30%
203       of the system time on i/o intensive workloads.</para>
204
205     <para arch="amd64" revision="254466">The maximum amount of memory
206       the &os; kernel can address has been increased from 1TB to
207       4TB.</para>
208
209     <para>A new &man.cpuset.2; API has been added for thread to CPU
210       binding and CPU resource grouping and assignment.  The
211       &man.cpuset.1; userland utility has been added to allow
212       manipulation of processor sets.</para>
213
214     <para role="merged">The &man.ddb.4; kernel debugger now has an
215       output capture facility.  Input and output from &man.ddb.4; can
216       now be captured to a memory buffer for later inspection using
217       &man.sysctl.8; or a textdump.  The new
218       <command>capture</command> command controls this feature.</para>
219
220     <para role="merged">The &man.ddb.4; debugger now supports a simple
221       scripting facility, which supports a set of named scripts
222       consisting of a set of &man.ddb.4; commands.  These commands can
223       be managed from within &man.ddb.4; or with the use of the new
224       &man.ddb.8; utility.  More details can be found in the
225       &man.ddb.4; manual page.</para>
226
227     <para role="merged">The kernel now supports a new textdump format
228       of kernel dumps.  A textdump provides higher-level information
229       via mechanically generated/extracted debugging output, rather
230       than a simple memory dump.  This facility can be used to
231       generate brief kernel bug reports that are rich in debugging
232       information, but are not dependent on kernel symbol tables or
233       precisely synchronized source code.  More information can be
234       found in the &man.textdump.4; manual page.</para>
235
236     <para>Kernel support for M:N threading has been removed.  While
237       the KSE (Kernel Scheduled Entities) project was quite successful
238       in bringing threading to FreeBSD, the M:N approach taken by the
239       KSE library was never developed to its full potential.
240       Backwards compatibility for applications using KSE threading
241       will be provided via &man.libmap.conf.5; for dynamically linked
242       binaries.  The &os; Project greatly appreciates the work of
243       &a.julian;, &a.deischen;, and &a.davidxu; on KSE support.</para>
244
245     <para>The &os; kernel now exports information about certain kernel
246       features via the <varname>kern.features</varname> sysctl tree.
247       The &man.feature.present.3; library call provides a convenient
248       interface for user applications to test the presence of
249       features.</para>
250
251     <para arch="amd64">The &os; kernel now has support for large
252       memory page mappings (<quote>superpages</quote>).</para>
253
254     <para arch="amd64,i386,ia64,powerpc" role="merged">The ULE
255       scheduler is now the default process scheduler
256       in <filename>GENERIC</filename> kernels.</para>
257
258     <para arch="amd64,i386" revision="240135">Support was added for
259       the new Intel on-CPU Bull Mountain random number
260       generator, found on IvyBridge and supposedly later CPUs,
261       accessible with the RDRAND instruction.</para>
262
263     <sect3 xml:id="kernel-virtualization">
264       <title>Virtualization support</title>
265       <para arch="amd64" revision="245652">The BSD Hypervisor,
266         &man.bhyve.8; is included with &os;.  &man.bhyve.8; requires
267         Intel CPUs with VT-x and Extended Page Table (EPT) support.
268         These features are on all Nehalem models and beyond (e.g.
269         Nehalem and newer), but not on the lower-end Atom CPUs.</para>
270
271       <para revision="227652">&man.virtio.4; support has been added.
272         &man.virtio.4; is the name for the paravirtualization
273         interface developed for the Linux KVM, but since adopted to
274         other virtual machine hypervisors (with the notable exception
275         of Xen).  This work brings in a BSD-licensed clean-room
276         implementation of the virtio kernel drivers for disk IO
277         (&man.virtio_blk.4; and &man.virtio_scsi.4;), network IO
278         (&man.vtnet.4;), memory ballooning (&man.virtio_balloon.4;),
279         and PCI.  Tested with on Qemu/KVM, VirtualBox, and
280         &man.bhyve.4;.</para>
281
282       <para arch="amd64,i386" revision="255524">Paravirtualized
283         drivers which support Microsoft Hyper-V have been imported and
284         made part of the amd64 GENERIC kernel.  For i386, these
285         drivers are not part of GENERIC, so the following lines must
286         be added to <filename>/boot/loader.conf</filename> to load
287         these drivers:</para>
288
289       <programlisting>hv_ata_pci_disengage_load="YES"
290 hv_netsvc_load="YES"
291 hv_utils_load="YES"
292 hv_vmbus_load="YES"</programlisting>
293
294       <para>Alternatively, the Hyper-V drivers can be added to the
295         i386 kernel by adding <literal>device hyperv</literal> to the
296         kernel config, and then recompiling the kernel.  Please refer
297         to <link xlink:href="http://wiki.freebsd.org/HyperV">FreeBSD
298           and Microsoft Windows Server Hyper-V support</link> for full
299         instructions on how to set up Hyper-V support under
300         FreeBSD.</para>
301
302       <para revision="254738">The &man.vmx.4; driver has been added.
303         &man.vmx.4; is a VMware VMXNET3 ethernet driver ported from
304         OpenBSD.</para>
305
306       <para revision="255744" arch="amd64,i386">Xen PVHVM
307         virtualization is now part of the GENERIC kernel.</para>
308     </sect3>
309
310     <sect3 xml:id="kernel-arm">
311       <title>ARM support</title>
312
313       <para revision="239922">Raspberry PI support has been added.
314         Refer to these <link
315           xlink:href="http://kernelnomicon.org/?p=164">setup
316           instructions</link> and this <link
317           xlink:href="http://www.raspberrypi.org/quick-start-guide">quick
318           start guide</link>.</para>
319
320       <para revision="253396">The default ABI on ARM is now the ARM
321         EABI. This brings a number of improvements and allows future
322         support for VFP and Thumb-2.</para>
323
324       <para revision="239268">ARM support has been greatly improved,
325         including support for ARMv6 and ARMv7, SMP and thread-local
326         storage (TLS).  Additionally support for some newer SoC like
327         the MV78x60 and OMAP4 was added.  See the <link
328           xlink:href="http://lists.freebsd.org/pipermail/freebsd-arm/2012-August/003757.html">announcement</link>
329         for further details.</para>
330
331       <para revision="254918">Superpages support on ARM has been
332         added.  Superpages support provides improved performance and
333         scalability by allowing TLB translations to dynamically cover
334         large physical memory regions.  All ARMv6 and ARMv7-based
335         platforms can take advantage of this feature.  See the <link
336           xlink:href="https://wiki.freebsd.org/ARMSuperpages">ARM
337           Superpages status</link> page for further details.</para>
338     </sect3>
339
340     <sect3 xml:id="boot">
341       <title>Boot Loader Changes</title>
342
343       <para arch="amd64,i386" role="merged">The BTX kernel used by the
344         boot loader has been changed to invoke BIOS routines from real
345         mode.  This change makes it possible to boot &os; from USB
346         devices.</para>
347
348       <para arch="amd64,i386" role="merged">A new &man.gptboot.8; boot
349         loader has been added to support booting from a GPT labeled
350         disk.  A new <command>boot</command> command has been added to
351         &man.gpart.8;, which makes a GPT disk bootable by writing the
352         required bits of the boot loader, creating a new boot
353         partition if required.</para>
354     </sect3>
355
356     <sect3 xml:id="proc">
357       <title>Hardware Support</title>
358
359       <para role="merged">The &man.cmx.4; driver, a driver for Omnikey
360         CardMan 4040 PCMCIA smartcard readers, has been added.</para>
361
362       <para>The &man.syscons.4; driver now supports the Colemak
363         keyboard layout.</para>
364
365       <para role="merged">The &man.uslcom.4; driver, a driver for
366         Silicon Laboratories CP2101/CP2102-based USB serial adapters,
367         has been imported from OpenBSD.</para>
368
369       <sect4 xml:id="mm">
370         <title>Multimedia Support</title>
371
372         <para revision="240609">Support for version 2.0 of the USB
373           Audio reference design has been added. New devices should
374           support higher bandwidth, increased sampling frequency and
375           wider dynamic range.</para>
376       </sect4>
377
378       <sect4 xml:id="net-if">
379         <title>Network Interface Support</title>
380
381         <para>The &man.ale.4; driver has been added to provide support
382           for Atheros AR8121/AR8113/AR8114 Gigabit/Fast Ethernet
383           controllers.</para>
384
385         <para>The &man.em.4; driver has been split into two drivers
386           with some common parts.  The &man.em.4; driver will continue
387           to support adapters up to the 82575, as well as new
388           client/desktop adapters.  A new &man.igb.4; driver
389           will support new server adapters.</para>
390
391         <para>The &man.jme.4; driver has been added to provide support
392           for PCIe network adapters based on JMicron JMC250 Gigabit
393           Ethernet and JMC260 Fast Ethernet controllers.</para>
394
395         <para>The &man.malo.4; driver has been added to provide
396           support for Marvell Libertas 88W8335 based PCI network
397           adapters.</para>
398
399         <para>The firmware for the &man.mxge.4; driver has been
400           updated from 1.4.25 to 1.4.29.</para>
401
402         <para>The &man.sf.4; driver has been overhauled to improve its
403           performance and to add support for checksum offloading.  It
404           should also work on all architectures.</para>
405
406         <para>The &man.re.4; driver has been overhauled to fix a
407           number of issues.  This driver now has Wake On LAN (WOL)
408           support.</para>
409
410         <para>The &man.vr.4; driver has been overhauled to fix a
411           number of outstanding issues.  It also now works on all
412           architectures.</para>
413
414         <para arch="amd64,i386" role="merged">The &man.wpi.4; driver has
415           been updated to include a number of stability fixes.</para>
416
417         <para revision="248925">The &man.cxgbe.4; driver has been
418           updated to support 40G/10G Ethernet NICs based on Chelsio's
419           Terminator 5 (T5) ASIC.</para>
420
421         <para revision="256694">The iw_cxgbe driver has been
422           added.  This is an experimental iWARP/RDMA driver (kernel
423           verbs only) for Chelsio's T4 and T5 based cards.</para>
424
425         <para revision="255932">The Open Fabrics Enterprise
426           Distribution (OFED) and OFED Infiniband core has been
427           updated to the same version as supplied by Linux version
428           3.7</para>
429
430         <para revision="255932">The Mellanox Infiniband driver has
431           been updated to firmware version 2.30.3200 for ConnectX3
432           NICs.  Support has been added for ConnectX3 VPI NICs, where
433           each port can be used as Infiniband 56 GB/s or Ethernet 40
434           GB/s.  Support has been added for dynamically loading kernel
435           modules for Infiniband core (ibcore) and IP over Infiniband
436           (ipoib).</para>
437
438         <para revision="227614">&man.netmap.4; has been added.
439           &man.netmap.4; is a framework for high-performance
440           direct-to-hardware packet IO, offering low latency and high
441           PPS rates to userland applications while bypassing any
442           kernel-side packet processing.  With &man.netmap.4; it is
443           trivially possible to fully saturate a 10 Gbps network
444           interface with minimal packet sizes.  For more information,
445           see: <link
446             xlink:href="http://info.iet.unipi.it/~luigi/netmap/">Netmap
447             Project</link>.</para>
448       </sect4>
449     </sect3>
450
451     <sect3 xml:id="net-proto">
452       <title>Network Protocols</title>
453
454       <para revision="228571">&man.carp.4; has been rewritten to make
455         addresses more sane from the viewpoint of routing daemons such
456         as quagga/zebra. It also brings support for a single redundant
457         address on the subnet (carpdev), switching state with
458         &man.ifconfig.8;, better locking and using modern kernel
459         interfaces to allocate multicast memberships.  Configuration
460         of the CARP protocol via &man.ifconfig.8; has changed, as well
461         as the format of CARP events submitted to &man.devd.8;.  See
462         &man.carp.4; for more information. The arpbalance feature of
463         &man.carp.4; is currently not supported anymore.</para>
464
465       <para revision="240233">The &man.pf.4; firewall now supports
466         fine-grain locking and better utilization on multi-CPU
467         machines, resulting in significant improvements in
468         performance.</para>
469
470       <para revision="250700">Support for up to 65536 routing tables
471         has been introduced.</para>
472
473       <para revision="248552">Support for setting/matching
474         differentiated services codepoints (DSCP) in IP header has
475         been added to &man.ipfw.8;.</para>
476     </sect3>
477
478     <sect3 xml:id="disks">
479       <title>Disks and Storage</title>
480
481       <para role="merged">The &man.aac.4; driver now supports volumes
482         larger than 2TB in size.</para>
483
484       <para>The &man.ata.4; driver now supports a spindown command for
485         disks; after a configurable amount of time, if no requests
486         have been received for a disk, the disk will be spun down
487         until the next request.  The &man.atacontrol.8; utility now
488         supports a <command>spindown</command> command to configure
489         this feature.</para>
490
491       <para role="merged">The &man.hptrr.4; driver has been updated to
492         version 1.2 from Highpoint.</para>
493
494       <para revision="240616">&man.nvme.4; has been added and provides
495         NVM Express support.  NVM Express is an optimized register
496         interface, command set and feature set of PCI Express
497         (PCIe)-based Solid-State Drives (SSDs).  For more information,
498         see <link
499           xlink:href="http://www.nvmexpress.org/">nvmexpress.org</link>.</para>
500     </sect3>
501
502     <sect3 xml:id="fs">
503       <title>File Systems</title>
504
505       <para revision="255570">A new kernel-based iSCSI target and
506         initiator has been added.</para>
507
508       <para revision="243246">UFS filesystems can now be enlarged with
509         &man.growfs.8; while mounted read-write. This is especially
510         useful for virtual machines, allowing the addition of more
511         harddrive space without interruption of service.</para>
512
513       <para revision="241519">A state of the art FUSE implementation
514         is now part of the base system. It allows the use of nearly
515         all fusefs file systems.</para>
516
517       <sect4 xml:id="fs-zfs">
518         <title>ZFS</title>
519
520         <para revision="">&man.bsdinstall.8; now supports installing
521           ZFS on the root file system.  It includes a single
522           configuration menu that allows you to select all of the
523           required details, including which drives to use, what ZFS
524           RAID level to use (taking into consideration the selected
525           number of drives), GPT or MBR, GELI encryption, forcing 4K
526           sectors, pool name, etc.</para>
527
528         <para revision="240868">TRIM support has been added for
529           ZFS.</para>
530
531         <para revision="246586">Support for the high-performance LZ4
532           compression algorithm has been added to ZFS. LZ4 is usually
533           faster and can achieve a higher compression ratio than LZJB,
534           the default compression algorithm.</para>
535
536         <para revision="252140">Support for L2ARC compression has been
537           added to ZFS.</para>
538
539         <para revision="243524">The zio nop-write improvement from
540           Illumos was imported into &os;. To reduce I/O, nop-write
541           skips overwriting data if the (cryptographically secure)
542           checksum of new data matches the checksum of existing data.
543           It also saves space if snapshots are in use.  This
544           improvement only works on datasets with enabled compression,
545           disabled deduplication and sha256 checksums.  ZFS will now
546           compare the checksums of incoming writes to the checksum of
547           the existing on-disk data and avoid issuing any write I/O
548           for data that has not changed. This will reduce I/O as well
549           as space usage because if the old block is referenced by
550           a snapshot, both copies of the block are kept even though
551           both contain the same data.</para>
552       </sect4>
553     </sect3>
554   </sect2>
555
556   <sect2 xml:id="userland">
557     <title>Userland Changes</title>
558
559    <para revision="255321">On platforms where &man.clang.1; is the default
560       system compiler (such as i386, amd64, arm), GCC and GNU libstdc++ are no
561       longer built by default.  &man.clang.1; and libc++ from LLVM are used on
562       these platforms by instead.  GCC 4.2.1 and libstdc++ are still built
563       and used by default on pc98 and all other platforms where &man.clang.1;
564       is not the default system compiler.</para>
565
566    <para revision="251662">&man.clang.1; and llvm have been updated to
567      version 3.3 release.  Please refer to <link
568        xlink:href="http://llvm.org/releases/3.3/tools/clang/docs/ReleaseNotes.html">
569        Clang 3.3 Release Notes</link>.</para>
570
571     <para role="merged" revision="255949">BIND has been replaced by
572       &man.unbound.8; for local DNS resolution in the base system.
573       With this change, nslookup and dig are no longer a part of the
574       base system.  Users should instead use &man.host.1; and
575       &man.drill.1; Alternatively, nslookup and dig can be obtained by
576       installing the dns/bind-tools port.</para>
577
578     <para revision="225937">sysinstall has been removed from the base
579       system.  Auxiliary libraries and tools used by sysinstall such
580       as libdisk, libftpio, and sade have also been removed.
581       sysinstall has been replaced by &man.bsdinstall.8; and
582       &man.bsdconfig.8;.</para>
583
584     <para revision="256106">&man.freebsd-version.1; has been added.
585       This tool makes a best effort to determine the version and patch
586       level of the installed kernel and userland.</para>
587
588     <para revision="255191">GNU patch has been removed from the base
589       system, and replaced by a BSD-licensed &man.patch.1;
590       program.</para>
591
592     <para revision="241511">GNU sort has been removed from the base
593       system, and replaced by a BSD-licensed &man.sort.1;
594       program.</para>
595
596     <para revision="235723">Berkely yacc (byacc) has been imported
597       from <link
598         xlink:href="http://invisible-island.net/byacc/">invisible
599         island</link>.  This brings bison compatibilities to
600       &man.yacc.1; while preserving full backwards compatibility with
601       previous version of &man.yacc.1;.</para>
602
603     <para revision="250881">&man.lex.1; has been replaced by flex
604       2.5.37.</para>
605
606     <para revision="250699">&man.make.1; has been replaced with the
607       <quote>Portable</quote> BSD make tool (bmake) from
608       NetBSD.</para>
609
610     <para role="merged">The &man.adduser.8; utility now supports
611       a <option>-M</option> option to set the mode of a new user's
612       home directory.</para>
613
614     <para>BSD-licensed versions of &man.ar.1; and &man.ranlib.1;,
615       based on &man.libarchive.3;, have replaced the GNU Binutils
616       versions of these utilities.</para>
617
618     <para>BSD-licensed versions of &man.bc.1; and &man.dc.1; have
619       replaced their GNU counterparts.</para>
620
621     <para role="merged">&man.chflags.1; now supports
622       a <option>-v</option> flag for verbose output and
623       a <option>-f</option> flag to ignore errors with the same
624       semantics as (for example) &man.chmod.1;.</para>
625
626     <para>For compatibility with other implementations, &man.cp.1; now
627       supports a <option>-a</option> flag, which is equivalent to
628       specifying the <option>-RrP</option> flags.</para>
629
630     <para>BSD-licensed version of &man.cpio.1; based on
631       &man.libarchive.3;, has replaced the GNU cpio.  Note that the
632       GNU cpio is still installed as
633       <filename>gcpio</filename>.</para>
634
635     <para>The &man.env.1; program now supports <option>-u
636         <replaceable>name</replaceable></option> which will completely
637       unset the given variable <replaceable>name</replaceable> by
638       removing it from the environment, instead of just setting it to
639       a null value.</para>
640
641     <para>The &man.fdopendir.3; library function has been
642       added.</para>
643
644     <para role="merged">The &man.fetch.3; library now supports HTTP
645       1.1 If-Modified-Since behavior.  The &man.fetch.1; program now
646       supports <option>-i <replaceable>filename</replaceable></option>
647       which will only download the specified HTTP URL if the content
648       is newer than <replaceable>filename</replaceable>.</para>
649
650     <para>&man.find.1; has been enhanced by the addition of a number
651       of primaries that were present in GNU find but not &os;
652       &man.find.1;.</para>
653
654     <para>&man.kgdb.1; now supports a new <command>add-kld</command>
655       command to make it easier to debug crash dumps with kernel
656       modules.</para>
657
658     <para>The &man.ls.1; program now supports a <option>-D</option>
659       option to specify a date format string to be used with the long
660       format (<option>-l</option>) output.</para>
661
662     <para>&man.nc.1; now supports a <option>-O</option> switch to
663       disable the use of TCP options.</para>
664
665     <para>&man.nc.1;'s <option>-o</option> switch has been deprecated.
666       It will be removed in a future release.</para>
667
668     <para>The &man.ping6.8; utility now returns <literal>2</literal>
669       when the packet transmission was successful but no responses
670       were received (this is the same behavior as &man.ping.8;).
671       It returned a non-zero value before this change.</para>
672
673     <para>The &man.procstat.1; utility has been added to display
674       detailed information about processes.</para>
675
676     <para role="merged">The &man.realpath.1; utility now supports
677       a <option>-q</option> flag to suppress warnings; it now also
678       accepts multiple paths on its command line.</para>
679
680     <para>&man.sh.1; has many bug fixes, some new features, and will
681       now refuse to parse some invalid scripts.  Additionally, it now
682       has filename completion and defaults to the <quote>emacs</quote>
683       editing mode.</para>
684
685     <para>The &man.split.1; utility now supports a <option>-n</option>
686       flag to split a file into a certain number of chunks.</para>
687
688     <para>The &man.tar.1; utility now supports a <option>-Z</option>
689       flag to enable &man.compress.1;-style
690       compression/decompression.</para>
691
692     <para>The &man.tar.1; utility now supports a
693       <option>--numeric-owner</option> flag to ignore user/group names
694       on create and extract.</para>
695
696     <para>The &man.tar.1; utility now supports the
697       <option>-S</option> flag to sparsify files on extraction.</para>
698
699     <para>The &man.tar.1; utility now supports a <option>-s</option>
700       flag to substitute filenames based on the specified regular
701       expression.</para>
702
703     <para>The &man.tcgetsid.3; library function has been added to
704       return the process group ID for the session leader for the
705       controlling terminal.  It is defined in IEEE Std 1003.1-2001
706       (POSIX).</para>
707
708     <para>&man.top.1; now supports a <option>-P</option> flag to
709       provide per-CPU usage statistics.</para>
710
711     <para>&man.zdump.8; is now working properly on 64-bit
712       architectures.</para>
713
714     <para>&man.traceroute.8; now has the ability to print the AS
715       number for each hop with the new <option>-a</option> switch; a
716       new <option>-A</option> option allows selecting a particular
717       WHOIS server.</para>
718
719     <para>&man.traceroute6.8; now supports a <option>-U</option> flag
720       to send probe packets with no upper-layer protocol, rather than
721       the usual UDP probe packets.</para>
722
723     <sect3 xml:id="rc-scripts">
724       <title><filename>/etc/rc.d</filename> Scripts</title>
725
726       <para>The followoing &man.rc.8; scripts have been added:</para>
727
728       <informaltable frame="none" pgwide="0">
729         <tgroup cols="2">
730           <colspec colwidth="1*" />
731           <colspec colwidth="1*" />
732           <thead>
733             <row>
734               <entry>&man.rc.8; Script</entry>
735               <entry>Function</entry>
736             </row>
737           </thead>
738
739           <tbody>
740             <row>
741               <entry><filename>ctld</filename></entry>
742               <entry><para>iSCSI target daemon startup
743                   script</para></entry>
744             </row>
745             <row>
746               <entry><filename>iscsictl</filename></entry>
747               <entry><para>iSCSI initiator management utility
748                 startup script</para></entry>
749             </row>
750             <row>
751               <entry><filename>iscsid</filename></entry>
752               <entry><para>iSCSI initiatior daemon startup
753                 script</para></entry>
754             </row>
755             <row>
756               <entry><filename>kfd</filename></entry>
757               <entry><para>Kerberos ticket forwarding daemon
758                 startup script</para></entry>
759             </row>
760             <row>
761               <entry><filename>local_unbound</filename></entry>
762               <entry><para>Unbound startup script for the local
763                 caching resolver</para></entry>
764             </row>
765             <row>
766               <entry><filename>postrandom</filename></entry>
767               <entry><para>Generates a new entropy file at system
768                 boot</para></entry>
769             </row>
770             <row>
771               <entry><filename>swap</filename></entry>
772               <entry><para>Replaces <filename>swap1</filename>;
773                 enable swap at system boot</para></entry>
774             </row>
775             <row>
776               <entry><filename>swaplate</filename></entry>
777               <entry><para>Enables swap with <quote>late</quote>
778                 set at system boot</para></entry>
779             </row>
780             <row>
781               <entry><filename>utx</filename></entry>
782               <entry><para>User accounting database startup and
783                 shutdown script</para></entry>
784             </row>
785           </tbody>
786         </tgroup>
787       </informaltable>
788
789       <para>The following &man.rc.8; scripts have been removed:</para>
790
791       <informaltable frame="none" pgwide="0">
792         <tgroup cols="2">
793           <colspec colwidth="1*" />
794           <thead>
795             <row>
796               <entry>&man.rc.8; Script</entry>
797               <entry><para>Reason</para></entry>
798             </row>
799           </thead>
800
801           <tbody>
802             <row>
803               <entry><filename>encswap</filename></entry>
804               <entry><para>Replaced by <filename>swap</filename> and
805                 <filename>swaplate</filename></para></entry>
806             </row>
807             <row>
808               <entry><filename>named</filename></entry>
809               <entry><para>Removed with
810                   <application>BIND</application></para></entry>
811             </row>
812             <row>
813               <entry><filename>swap1</filename></entry>
814               <entry><para>Replaced by <filename>swap</filename> and
815                 <filename>swaplate</filename></para></entry>
816             </row>
817           </tbody>
818         </tgroup>
819       </informaltable>
820     </sect3>
821   </sect2>
822
823   <sect2 xml:id="contrib">
824     <title>Contributed Software</title>
825
826     <para revision="251300">&man.jemalloc.3; has been updated to
827       3.4.0.  See <link
828         xlink:href="http://www.facebook.com/jemalloc/">this
829         link</link> for more details.</para>
830
831     <para role="merged"><application>AMD</application> has been
832       updated from 6.0.10 to 6.1.5.</para>
833
834     <para role="merged"><application>awk</application> has been
835       updated from the 1 May
836       2007 release to the 23 October 2007 release.</para>
837
838     <para role="merged"><application>bzip2</application> has been
839       updated from 1.0.4 to 1.0.5.</para>
840
841     <para revision="251794"><application>CVS</application> has been
842       removed from the base system, but is still available from Ports
843       Collection.</para>
844
845     <para revision="251886">Subversion has been imported into the base
846       system and is installed as <application>svnlite</application>.
847       <application>svnlite</application> should only be used for
848       checking out the &os; source trees and committing, and does not
849       replace the full Subversion port.</para>
850
851     <para revision="234449"><application>file</application> has been
852       updated to 5.11.</para>
853
854     <para revision="252726"><application>hostapd</application> has
855       been updated from 0.5.8 to 0.5.10.</para>
856
857     <para><application>IPFilter</application> has been updated to
858       5.1.2.</para>
859
860     <para revision="250592"><application>less</application> has been
861       updated to v458.</para>
862
863     <para><application>ncurses</application> has been updated to
864       5.7-20081102.</para>
865
866     <para role="merged"><application>OpenSSH</application> has been
867       updated to 6.4.</para>
868
869     <para revision="236109"><application>OpenPAM</application> has
870       been updated to the Micrampelis release.</para>
871
872     <para role="merged"><application>sendmail</application> has been
873       updated from 8.14.1 to 8.14.7.</para>
874
875     <para role="merged">The timezone database has been updated from
876       the <application>tzdata2008h</application> release to
877       the <application>tzdata2009m</application> release.</para>
878
879     <para>The stdtime part of libc, &man.zdump.8; and &man.zic.8; have
880       been updated from the <application>tzcode2004a</application>
881       release to the <application>tzcode2009h</application> release.
882       If you have upgraded from source or via the
883       &man.freebsd-update.8;, then please run &man.tzsetup.8; to
884       install a new <filename>/etc/localtime</filename>.</para>
885
886     <para revision="252726"><application>WPA Supplicant</application>
887       has been updated to 2.0.</para>
888
889     <para role="merged"><application>xz</application> has been updated
890       from snapshot as of 12 April 2010 to 5.0.0.</para>
891
892     <para revision="258231" role="merged">&man.nvi.1; has been updated
893       to 2.1.2.</para>
894
895     <para revision="254225">&man.nvi.1; supports wide-character
896       locales.</para>
897   </sect2>
898
899   <sect2 xml:id="ports">
900     <title>Ports/Packages Collection Infrastructure</title>
901
902     <para revision="257444">The pkg_add, pkg_create, pkg_delete,
903       pkg_info, pkg_updating, and pkg_version utilities have been
904       removed.  &man.pkg.7; must now be used to install binary
905       packages.  &man.pkg.7; is the next generation &os; package
906       manager, also referred to as <quote>pkgng</quote>.</para>
907   </sect2>
908
909   <sect2 xml:id="releng">
910     <title>Release Engineering and Integration</title>
911
912     <para role="merged">The supported version of
913       the <application>GNOME</application> desktop environment
914       (<package>x11/gnome2</package>) has been
915       updated from 2.20.1 to 2.22.</para>
916   </sect2>
917
918   <!--
919   <sect2 xml:id="doc">
920     <title>Documentation</title>
921
922     <para/>
923
924   </sect2>
925   -->
926 </sect1>
927
928 <sect1 xml:id="upgrade">
929   <title>Upgrading from previous releases of &os;</title>
930
931   <para arch="amd64,i386">Beginning with &os; 6.2-RELEASE, binary
932     upgrades between RELEASE versions (and snapshots of the various
933     security branches) are supported using the &man.freebsd-update.8;
934     utility.  The binary upgrade procedure will update unmodified
935     userland utilities, as well as unmodified GENERIC or SMP kernels
936     distributed as a part of an official &os; release.  The
937     &man.freebsd-update.8; utility requires that the host being
938     upgraded have Internet connectivity.</para>
939
940   <para>Source-based upgrades (those based on recompiling the &os;
941     base system from source code) from previous versions are
942     supported, according to the instructions in
943     <filename>/usr/src/UPDATING</filename>.</para>
944
945   <important>
946     <para>Upgrading &os; should, of course, only be attempted after
947       backing up <emphasis>all</emphasis> data and configuration
948       files.</para>
949   </important>
950 </sect1>
951 </article>