article.xml revision 259797
1286441Srpaulo<?xml version="1.0" encoding="iso-8859-1"?>
2286441Srpaulo<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V5.0-Based Extension//EN"
3286441Srpaulo        "../../../share/xml/freebsd50.dtd" [
4286441Srpaulo<!ENTITY % release PUBLIC "-//FreeBSD//ENTITIES Release Specification//EN" "release.ent">
5286441Srpaulo %release;
6286441Srpaulo]>
7286441Srpaulo<article xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0">
8286441Srpaulo<info><title>&os; &release.current; Release Notes</title>
9286441Srpaulo  
10286441Srpaulo
11286441Srpaulo  <author><orgname>The &os; Project</orgname></author>
12286441Srpaulo
13286441Srpaulo  <pubdate>$FreeBSD: releng/10.0/release/doc/en_US.ISO8859-1/relnotes/article.xml 259797 2013-12-23 22:31:40Z gjb $</pubdate>
14286441Srpaulo
15286441Srpaulo  <copyright>
16286441Srpaulo    <year>2000</year>
17286441Srpaulo    <year>2001</year>
18286441Srpaulo    <year>2002</year>
19286441Srpaulo    <year>2003</year>
20286441Srpaulo    <year>2004</year>
21286441Srpaulo    <year>2005</year>
22286441Srpaulo    <year>2006</year>
23286441Srpaulo    <year>2007</year>
24286441Srpaulo    <year>2008</year>
25286441Srpaulo    <year>2009</year>
26286441Srpaulo    <year>2010</year>
27286441Srpaulo    <year>2011</year>
28286441Srpaulo    <year>2012</year>
29286441Srpaulo    <year>2013</year>
30286441Srpaulo    <holder role="mailto:doc@FreeBSD.org">The &os; Documentation Project</holder>
31286441Srpaulo  </copyright>
32286441Srpaulo
33286441Srpaulo  <legalnotice xml:id="trademarks" role="trademarks">
34286441Srpaulo    &tm-attrib.freebsd;
35286441Srpaulo    &tm-attrib.ibm;
36286441Srpaulo    &tm-attrib.ieee;
37286441Srpaulo    &tm-attrib.intel;
38286441Srpaulo    &tm-attrib.sparc;
39286441Srpaulo    &tm-attrib.general;
40286441Srpaulo  </legalnotice>
41286441Srpaulo
42286441Srpaulo  <abstract>
43286441Srpaulo    <para>The release notes for &os; &release.current; contain a summary
44286441Srpaulo      of the changes made to the &os; base system on the
45286441Srpaulo      &release.branch; development line.
46286441Srpaulo      This document lists applicable security advisories that were issued since
47286441Srpaulo      the last release, as well as significant changes to the &os;
48286441Srpaulo      kernel and userland.
49286441Srpaulo      Some brief remarks on upgrading are also presented.</para>
50286441Srpaulo  </abstract>
51286441Srpaulo</info>
52286441Srpaulo
53286441Srpaulo<sect1 xml:id="intro">
54286441Srpaulo  <title>Introduction</title>
55286441Srpaulo
56286441Srpaulo  <para>This document contains the release notes for &os;
57286441Srpaulo    &release.current;.  It
58286441Srpaulo    describes recently added, changed, or deleted features of &os;.
59286441Srpaulo    It also provides some notes on upgrading
60286441Srpaulo    from previous versions of &os;.</para>
61286441Srpaulo
62286441Srpaulo  <para>The latest, up-to-date version of the release notes are
63286441Srpaulo    available online at <uri
64286441Srpaulo      xlink:href="&release.url;10.0R/relnotes.html">&release.url;10.0R/relnotes.html</uri>.</para>
65286441Srpaulo
66286441Srpaulo  <para releasetype="current">The &release.type; distribution to which these release notes
67286441Srpaulo    apply represents the latest point along the &release.branch; development
68286441Srpaulo    branch since &release.branch; was created.  Information regarding pre-built, binary
69286441Srpaulo    &release.type; distributions along this branch
70286441Srpaulo    can be found at <uri xlink:href="&release.url;">&release.url;</uri>.</para>
71286441Srpaulo
72286441Srpaulo  <para releasetype="snapshot">The &release.type; distribution to which these release notes
73286441Srpaulo    apply represents a point along the &release.branch; development
74286441Srpaulo    branch between &release.prev; and the future &release.next;.
75286441Srpaulo    Information regarding
76286441Srpaulo    pre-built, binary &release.type; distributions along this branch
77286441Srpaulo    can be found at <uri xlink:href="&release.url;">&release.url;</uri>.</para>
78286441Srpaulo
79286441Srpaulo  <para releasetype="release">This distribution of &os; &release.current; is a
80286441Srpaulo    &release.type; distribution.  It can be found at <uri xlink:href="&release.url;">&release.url;</uri> or any of its mirrors.  More
81286441Srpaulo    information on obtaining this (or other) &release.type;
82286441Srpaulo    distributions of &os; can be found in the <link xlink:href="&url.books.handbook;/mirrors.html"><quote>Obtaining
83286441Srpaulo    &os;</quote> appendix</link> to the <link xlink:href="&url.books.handbook;/">&os;
84286441Srpaulo    Handbook</link>.</para>
85286441Srpaulo
86286441Srpaulo  <para>All users are encouraged to consult the release errata before
87286441Srpaulo    installing &os;.  The errata document is updated with
88286441Srpaulo    <quote>late-breaking</quote> information discovered late in the
89286441Srpaulo    release cycle or after the release.  Typically, it contains
90286441Srpaulo    information on known bugs, security advisories, and corrections to
91286441Srpaulo    documentation.  An up-to-date copy of the errata for &os;
92286441Srpaulo    &release.current; can be found on the &os; Web site.</para>
93286441Srpaulo
94286441Srpaulo</sect1>
95286441Srpaulo
96286441Srpaulo<sect1 xml:id="new">
97286441Srpaulo  <title>What's New</title>
98286441Srpaulo
99286441Srpaulo  <para>This section describes
100286441Srpaulo    the most user-visible new or changed features in &os;
101286441Srpaulo    since &release.prev;.
102286441Srpaulo    In general, changes described here are unique to the &release.branch;
103286441Srpaulo    branch unless specifically marked as &merged; features.
104286441Srpaulo  </para>
105286441Srpaulo
106286441Srpaulo  <para>Typical release note items
107286441Srpaulo    document recent security advisories issued after
108286441Srpaulo    &release.prev;,
109286441Srpaulo    new drivers or hardware support, new commands or options,
110286441Srpaulo    major bug fixes, or contributed software upgrades.  They may also
111286441Srpaulo    list changes to major ports/packages or release engineering
112286441Srpaulo    practices.  Clearly the release notes cannot list every single
113286441Srpaulo    change made to &os; between releases; this document focuses
114286441Srpaulo    primarily on security advisories, user-visible changes, and major
115286441Srpaulo    architectural improvements.</para>
116286441Srpaulo
117286441Srpaulo  <sect2 xml:id="security">
118286441Srpaulo    <title>Security Advisories</title>
119286441Srpaulo
120286441Srpaulo    <para/>
121286441Srpaulo
122286441Srpaulo  </sect2>
123286441Srpaulo
124286441Srpaulo  <sect2 xml:id="kernel">
125286441Srpaulo    <title>Kernel Changes</title>
126286441Srpaulo
127286441Srpaulo    <para revision="248508">The use of unmapped VMIO buffers eliminates the need to perform
128286441Srpaulo      TLB shootdown for mapping on buffer creation and reuse, greatly reducing the
129286441Srpaulo      amount of IPIs for shootdown on big-SMP machines and eliminating up to 25-30%
130286441Srpaulo      of the system time on i/o intensive workloads.</para>
131286441Srpaulo
132286441Srpaulo    <para arch="amd64" revision="254466">The maximum amount of memory the &os; kernel
133286441Srpaulo      can address has been increased from 1TB to 4TB.</para>
134286441Srpaulo
135286441Srpaulo    <para>A new &man.cpuset.2; API has been added
136286441Srpaulo      for thread to CPU binding and CPU resource grouping and
137286441Srpaulo      assignment.  The &man.cpuset.1; userland utility has been added
138286441Srpaulo      to allow manipulation of processor sets.</para>
139286441Srpaulo
140286441Srpaulo    <para role="merged">The &man.ddb.4; kernel debugger now has an output capture
141286441Srpaulo      facility.  Input and output from &man.ddb.4; can now be captured
142286441Srpaulo      to a memory buffer for later inspection using &man.sysctl.8; or
143286441Srpaulo      a textdump.  The new <command>capture</command> command controls
144286441Srpaulo      this feature.</para>
145286441Srpaulo
146286441Srpaulo    <para role="merged">The &man.ddb.4; debugger now supports a simple scripting
147286441Srpaulo      facility, which supports a set of named scripts consisting of a
148286441Srpaulo      set of &man.ddb.4; commands.  These commands can be managed from
149286441Srpaulo      within &man.ddb.4; or with the use of the new &man.ddb.8;
150286441Srpaulo      utility.  More details can be found in the &man.ddb.4; manual
151286475Srpaulo      page.</para>
152286475Srpaulo
153286475Srpaulo    <para role="merged">The kernel now supports a new textdump format of kernel
154286475Srpaulo      dumps.  A textdump provides higher-level information via
155286475Srpaulo      mechanically generated/extracted debugging output, rather than a
156286475Srpaulo      simple memory dump.  This facility can be used to generate brief
157286475Srpaulo      kernel bug reports that are rich in debugging information, but
158286475Srpaulo      are not dependent on kernel symbol tables or precisely
159286475Srpaulo      synchronized source code.  More information can be found in the
160286475Srpaulo      &man.textdump.4; manual page.</para>
161286475Srpaulo
162286441Srpaulo    <para>Kernel support for M:N threading has been removed.  While
163286475Srpaulo      the KSE (Kernel Scheduled Entities) project was quite successful
164286441Srpaulo      in bringing threading to FreeBSD, the M:N approach taken by the
165286441Srpaulo      KSE library was never developed to its full potential.
166286441Srpaulo      Backwards compatibility for applications using KSE threading
167286441Srpaulo      will be provided via &man.libmap.conf.5; for dynamically linked
168286441Srpaulo      binaries.  The &os; Project greatly appreciates the work of
169286441Srpaulo      &a.julian;, &a.deischen;, and &a.davidxu; on KSE support.</para>
170286441Srpaulo
171286441Srpaulo    <para>The &os; kernel now exports information about certain kernel
172286441Srpaulo      features via the <varname>kern.features</varname> sysctl tree.
173286441Srpaulo      The &man.feature.present.3; library call provides a convenient
174286441Srpaulo      interface for user applications to test the presence of
175286441Srpaulo      features.</para>
176286441Srpaulo
177286441Srpaulo    <para arch="amd64">The &os; kernel now has support for large
178286441Srpaulo      memory page mappings (<quote>superpages</quote>).</para>
179286441Srpaulo
180286441Srpaulo    <para arch="amd64,i386,ia64,powerpc" role="merged">The ULE
181286441Srpaulo      scheduler is now the default process scheduler
182286441Srpaulo      in <filename>GENERIC</filename> kernels.</para>
183286441Srpaulo
184286441Srpaulo    <para arch="amd64,i386" revision="240135">Support was added for
185286441Srpaulo      the new Intel on-CPU Bull Mountain random number
186286441Srpaulo      generator, found on IvyBridge and supposedly later CPUs,
187286441Srpaulo      accessible with RDRAND instruction.</para>
188286441Srpaulo
189286441Srpaulo    <sect3 xml:id="kernel-virtualization">
190286441Srpaulo      <title>Virtualization support</title>
191286441Srpaulo      <para arch="amd64" revision="245652">The BSD Hypervisor, &man.bhyve.8; is included
192286441Srpaulo        with &os;.  &man.bhyve.8; requires Intel CPUs with VT-x and Extended Page Table (EPT)
193286441Srpaulo        support. These features are on all Nehalem models and beyond
194286441Srpaulo        (e.g. Nehalem and newer), but not on the lower-end Atom CPUs.</para> 
195286441Srpaulo  
196286441Srpaulo      <para revision="227652">&man.virtio.4; support has been added.  &man.virtio.4; is the
197286441Srpaulo        name for the paravirtualization interface developed for the Linux KVM, but
198286441Srpaulo        since adopted to other virtual machine hypervisors (with the notable exception of Xen).
199286441Srpaulo        This work brings in a BSD-licensed clean-room implementation of the virtio kernel drivers
200286441Srpaulo        for disk IO (&man.virtio_blk.4; and &man.virtio_scsi.4;), network IO (&man.vtnet.4;),
201286441Srpaulo        memory ballooning (&man.virtio_balloon.4;), and PCI.
202286441Srpaulo        Tested with on Qemu/KVM, VirtualBox, and &man.bhyve.4;.</para>
203286441Srpaulo  
204286441Srpaulo      <para arch="amd64,i386" revision="255524">Paravirtualized drivers which
205286441Srpaulo        support Microsoft Hyper-V have been imported and made
206286441Srpaulo        part of the amd64 GENERIC kernel.  For i386, these drivers are not part of
207286441Srpaulo        GENERIC, so the following lines must be added to
208286441Srpaulo        <filename>/boot/loader.conf</filename> to load these drivers:
209286441Srpaulo        <programlisting>hv_ata_pci_disengage_load="YES"
210286441Srpaulohv_netsvc_load="YES"
211286441Srpaulohv_utils_load="YES"
212286441Srpaulohv_vmbus_load="YES"</programlisting>  Alternatively, the Hyper-V drivers can be added to the i386
213286441Srpaulo        kernel by adding <literal>device hyperv</literal> to the kernel config, and then
214286441Srpaulo        recompiling the kernel.</para>
215286441Srpaulo
216286441Srpaulo      <para revision="254738">The &man.vmx.4; driver has been added.
217286441Srpaulo        &man.vmx.4; is a VMware VMXNET3 ethernet driver ported from
218286441Srpaulo        OpenBSD.</para>
219286441Srpaulo
220286441Srpaulo      <para revision="255744" arch="amd64,i386">Xen PVHVM virtualization is now
221286441Srpaulo        part of the GENERIC kernel.</para>
222286441Srpaulo
223286441Srpaulo    </sect3>
224286441Srpaulo
225286441Srpaulo    <sect3 xml:id="kernel-arm">
226286441Srpaulo      <title>ARM support</title>
227286441Srpaulo
228286441Srpaulo      <para revision="239922">Raspberry PI support has been added.
229286441Srpaulo        Refer to these <link xlink:href="http://kernelnomicon.org/?p=164">setup instructions</link>
230286441Srpaulo        and <link xlink:href="http://www.raspberrypi.org/quick-start-guide">quick start
231286441Srpaulo        guide</link>.</para>
232286441Srpaulo  
233286441Srpaulo      <para revision="253396">The default ABI on ARM is now the ARM EABI. This brings a number of
234286441Srpaulo        improvements and allows future support for VFP and Thumb-2.</para> 
235286441Srpaulo  
236286441Srpaulo      <para revision="239268">ARM support has been greatly improved, including support
237286441Srpaulo        for ARMv6 and ARMv7, SMP and thread-local storage (TLS).
238286441Srpaulo        Additionally support for some newer SoC like the MV78x60 and OMAP4 was added.
239286441Srpaulo        See <link xlink:href="http://lists.freebsd.org/pipermail/freebsd-arm/2012-August/003757.html">this announcement</link>
240286441Srpaulo        for further details.</para>
241286441Srpaulo  
242286441Srpaulo      <para revision="254918">Superpages support on ARM has been added.  Superpages support
243286441Srpaulo        provides improved performance and scalability by allowing TLB
244286441Srpaulo        translations to dynamically cover large physical memory regions.
245286441Srpaulo        All ARMv6 and ARMv7-based platforms can take advantage of this feature.
246286441Srpaulo        See <link xlink:href="https://wiki.freebsd.org/ARMSuperpages">this page</link>
247286441Srpaulo        for further details.</para>
248286441Srpaulo
249286441Srpaulo    </sect3>
250286441Srpaulo
251286441Srpaulo    <sect3 xml:id="boot">
252286441Srpaulo      <title>Boot Loader Changes</title>
253286441Srpaulo
254286441Srpaulo      <para arch="amd64,i386" role="merged">The BTX kernel used by the boot
255286441Srpaulo	loader has been changed to invoke BIOS routines from real
256286441Srpaulo	mode.  This change makes it possible to boot &os; from USB
257286441Srpaulo	devices.</para>
258286441Srpaulo
259286441Srpaulo      <para arch="amd64,i386" role="merged">A new gptboot boot loader has
260286441Srpaulo        been added to support booting from a GPT labeled disk.  A
261286441Srpaulo        new <command>boot</command> command has been added to
262286441Srpaulo        &man.gpt.8;, which makes a GPT disk bootable by writing the
263286441Srpaulo        required bits of the boot loader, creating a new boot
264286441Srpaulo        partition if required.</para>
265286441Srpaulo
266286441Srpaulo    </sect3>
267286441Srpaulo
268286441Srpaulo    <sect3 xml:id="proc">
269286441Srpaulo      <title>Hardware Support</title>
270286441Srpaulo
271286441Srpaulo      <para role="merged">The &man.cmx.4; driver, a driver for Omnikey CardMan 4040
272286441Srpaulo        PCMCIA smartcard readers, has been added.</para>
273293100Savos
274286441Srpaulo      <para>The &man.syscons.4; driver now supports Colemak keyboard layout.</para>
275286441Srpaulo
276286441Srpaulo      <para role="merged">The &man.uslcom.4; driver, a driver for Silicon
277286441Srpaulo        Laboratories CP2101/CP2102-based USB serial adapters, has been
278286441Srpaulo        imported from OpenBSD.</para>
279286441Srpaulo
280286441Srpaulo      <sect4 xml:id="mm">
281286441Srpaulo	<title>Multimedia Support</title>
282286441Srpaulo
283286441Srpaulo        <para revision="240609">Support for version 2.0 of the USB Audio reference design
284286441Srpaulo          has been added. New devices should support higher bandwidth,
285286441Srpaulo          increased sampling frequency and wider dynamic range.</para>
286286441Srpaulo
287286441Srpaulo      </sect4>
288286441Srpaulo
289286441Srpaulo      <sect4 xml:id="net-if">
290286441Srpaulo	<title>Network Interface Support</title>
291286441Srpaulo
292286441Srpaulo	<para>The &man.ale.4; driver has been added to provide support
293286441Srpaulo	  for Atheros AR8121/AR8113/AR8114 Gigabit/Fast Ethernet controllers.</para>
294286441Srpaulo
295286441Srpaulo	<para>The &man.em.4; driver has been split into two drivers
296286441Srpaulo	  with some common parts.  The &man.em.4; driver will continue
297286441Srpaulo	  to support adapters up to the 82575, as well as new
298286441Srpaulo	  client/desktop adapters.  A new &man.igb.4; driver
299286441Srpaulo	  will support new server adapters.</para>
300286441Srpaulo
301286441Srpaulo	<para>The &man.jme.4; driver has been added to provide support
302286441Srpaulo	  for PCIe network adapters based on JMicron JMC250 Gigabit
303286441Srpaulo	  Ethernet and JMC260 Fast Ethernet controllers.</para>
304286441Srpaulo
305286441Srpaulo	<para>The &man.malo.4; driver has been added to provide
306286441Srpaulo	  support for Marvell Libertas 88W8335 based PCI network
307286441Srpaulo	  adapters.</para>
308286441Srpaulo
309286441Srpaulo	<para>The firmware for the &man.mxge.4; driver has been
310286441Srpaulo	  updated from 1.4.25 to 1.4.29.</para>
311286441Srpaulo
312286441Srpaulo	<para>The &man.sf.4; driver has been overhauled to improve its
313286441Srpaulo	  performance and to add support for checksum offloading.  It
314286441Srpaulo	  should also work on all architectures.</para>
315287197Sglebius
316287197Sglebius	<para>The &man.re.4; driver has been overhauled to fix a
317287197Sglebius	  number of issues.  This driver now has Wake On LAN (WOL)
318286441Srpaulo	  support.</para>
319287197Sglebius
320286441Srpaulo	<para>The &man.vr.4; driver has been overhauled to fix a
321286441Srpaulo	  number of outstanding issues.  It also now works on all
322286441Srpaulo	  architectures.</para>
323286441Srpaulo
324286441Srpaulo	<para arch="amd64,i386" role="merged">The &man.wpi.4; driver has
325286441Srpaulo	  been updated to include a number of stability fixes.</para>
326286441Srpaulo
327286441Srpaulo	<para revision="248925">The &man.cxgbe.4; driver has been updated to support
328286441Srpaulo	  40G/10G Ethernet NICs based on Chelsio's Terminator 5 (T5) ASIC.</para>
329286441Srpaulo
330286441Srpaulo	<para revision="256694">The iw_cxgbe driver has been added.  This is an
331286441Srpaulo	  experimental iWARP/RDMA driver
332286441Srpaulo	  (kernel verbs only) for Chelsio's T4 and T5 based cards.</para>
333286441Srpaulo
334286441Srpaulo	<para revision="255932">The Open Fabrics Enterprise Distribution (OFED) and
335286441Srpaulo	  OFED Infiniband core has been
336286441Srpaulo	  updated to the same version as supplied by Linux version 3.7</para>
337286441Srpaulo
338286441Srpaulo	<para revision="255932">The Mellanox Infiniband driver has been updated to firmware
339286441Srpaulo	  version 2.30.3200 for ConnectX3 NICs.  Support has been added for ConnectX3 VPI NICs, where
340286441Srpaulo	  each port can be used as Infiniband 56 GB/s or Ethernet 40 GB/s.  Support has been added
341286441Srpaulo	  for dynamically loading kernel modules for Infiniband core (ibcore) and
342286441Srpaulo	  IP over Infiniband (ipoib).</para>
343286441Srpaulo
344286441Srpaulo	<para revision="227614">&man.netmap.4; has been added.  &man.netmap.4; is a framework for
345286441Srpaulo          high-performance direct-to-hardware packet IO, offering low latency and high PPS
346286441Srpaulo          rates to userland applications while bypassing any kernel-side packet processing.
347286441Srpaulo          With &man.netmap.4; it is trivially possible to fully saturate a 10 Gbps network interface with
348286441Srpaulo          minimal packet sizes.  For more information, see:
349286441Srpaulo          <link xlink:href="http://info.iet.unipi.it/~luigi/netmap/">Netmap Project</link>.</para> 
350286441Srpaulo
351286441Srpaulo      </sect4>
352286441Srpaulo    </sect3>
353286441Srpaulo
354286441Srpaulo    <sect3 xml:id="net-proto">
355286441Srpaulo      <title>Network Protocols</title>
356286441Srpaulo
357286441Srpaulo      <para revision="228571">&man.carp.4; has been rewritten to make addresses
358286441Srpaulo        more sane from the viewpoint of routing daemons such as
359286441Srpaulo        quagga/zebra. It also brings support for a single redundant
360286441Srpaulo        address on the subnet (carpdev), switching state with
361286441Srpaulo        &man.ifconfig.8;, better locking and using modern kernel
362286441Srpaulo        interfaces to allocate multicast memberships.
363286441Srpaulo        Configuration of the CARP protocol via &man.ifconfig.8; has changed, as well as format
364286441Srpaulo	of CARP events submitted to &man.devd.8; has changed. See &man.carp.4;
365286441Srpaulo	for more information. The arpbalance feature of &man.carp.4; is currently
366286441Srpaulo	not supported anymore.</para>
367286441Srpaulo
368286441Srpaulo      <para revision="240233">The &man.pf.4; firewall now supports fine-grain locking
369286441Srpaulo        and better utilization on multi-cpu machines resulting in
370286441Srpaulo        significant improvements in performance.</para>
371286441Srpaulo
372286441Srpaulo      <para revision="250700">Support for up to 65536 routing tables has been
373286441Srpaulo        introduced.</para>
374286441Srpaulo
375286441Srpaulo      <para revision="248552">Support for setting/matching differentiated services
376286441Srpaulo        codepoints (DSCP) in IP header has been added to
377286441Srpaulo        &man.ipfw.8;.</para>
378286441Srpaulo
379286441Srpaulo    </sect3>
380286441Srpaulo
381286441Srpaulo    <sect3 xml:id="disks">
382286441Srpaulo      <title>Disks and Storage</title>
383286441Srpaulo
384286441Srpaulo      <para role="merged">The &man.aac.4; driver now supports volumes larger than
385286441Srpaulo        2TB in size.</para>
386286441Srpaulo
387286441Srpaulo      <para>The &man.ata.4; driver now supports a spindown command for
388286441Srpaulo        disks; after a configurable amount of time, if no requests
389286441Srpaulo        have been received for a disk, the disk will be spun down
390286441Srpaulo        until the next request.  The &man.atacontrol.8; utility now
391286441Srpaulo        supports a <command>spindown</command> command to configure
392286441Srpaulo        this feature.</para>
393286441Srpaulo
394286441Srpaulo      <para role="merged">The &man.hptrr.4; driver has been updated to version 1.2
395286441Srpaulo        from Highpoint.</para>
396286441Srpaulo
397286441Srpaulo      <para revision="240616">&man.nvme.4; has been added and provides NVM Express support.
398286441Srpaulo        NVM Express is an optimized register interface, command set and feature set of
399286441Srpaulo        PCI Express (PCIe)-based Solid-State Drives (SSDs).  For more information,
400286441Srpaulo        see <link xlink:href="http://http://www.nvmexpress.org/">nvmexpress.org</link>.</para>
401286441Srpaulo
402286441Srpaulo    </sect3>
403286441Srpaulo
404286441Srpaulo    <sect3 xml:id="fs">
405286441Srpaulo      <title>File Systems</title>
406286441Srpaulo
407286441Srpaulo      <para revision="255570">A new kernel-based iSCSI target and initiator has been
408286441Srpaulo        added</para>
409286441Srpaulo
410286441Srpaulo      <para revision="243246">UFS filesystems can now be enlarged with &man.growfs.8; while
411286441Srpaulo        mounted read-write. This is especially useful for virtual
412286441Srpaulo        machines, allowing the addition of more harddrive space without
413286441Srpaulo        interruption of service.</para>
414286441Srpaulo
415286441Srpaulo      <para revision="241519">A state of the art FUSE implementation is now part of the
416286441Srpaulo        base system. It allows the use of nearly all fusefs file
417286441Srpaulo        systems</para>
418286441Srpaulo
419286441Srpaulo      <sect4 xml:id="fs-zfs">
420286441Srpaulo	<title>ZFS</title>
421286441Srpaulo
422286441Srpaulo        <para revision="">&man.bsdinstall.8; now supports installing
423286441Srpaulo          ZFS on the root file system.  It includes a single configuration menu
424286441Srpaulo          that allows you to select all of the required details, including
425286441Srpaulo          which drives to use, what ZFS RAID level to use (taking into consideration
426293177Savos          the selected number of drives), GPT or MBR, GELI encryption, forcing 4K sectors,
427293177Savos          pool name, etc.</para>
428286441Srpaulo
429286441Srpaulo        <para revision="240868">TRIM support has been added for
430286441Srpaulo          ZFS.</para>
431286441Srpaulo
432286441Srpaulo        <para revision="246586">Support for the high performance LZ4 compression algorithm
433286441Srpaulo          has been added to ZFS. LZ4 is usually faster and can achieve a
434286441Srpaulo          higher compression ratio than LZJB, the default compression
435286441Srpaulo          algorithm</para>
436286441Srpaulo
437286441Srpaulo        <para revision="252140">Support for L2ARC compression has been added to ZFS.</para>
438286441Srpaulo
439286441Srpaulo        <para revision="243524">The zio nop-write improvement from Illumos
440286441Srpaulo          was imported into &os;. To reduce I/O, nop-write skips overwriting
441286441Srpaulo          data if the checksum (cryptographically secure) of new data
442286441Srpaulo          matches the checksum of existing data. It also saves space if
443286441Srpaulo          snapshots are in use.  This improvement only works only on
444286441Srpaulo          datasets with enabled compression, disabled deduplication and
445286441Srpaulo          sha256 checksums.</para>
446286441Srpaulo
447286441Srpaulo        <para>ZFS will now compare the checksums of incoming writes to
448286441Srpaulo          the checksum of the existing on-disk data and avoid issuing any
449286441Srpaulo          write I/O for data that has not changed. This will reduce I/O
450286441Srpaulo          as well as space usage because if the old block is referenced
451286441Srpaulo          by a snapshot, both copies of the block are kept even though
452293177Savos          both contain the same data.</para>
453286441Srpaulo
454286441Srpaulo      </sect4>
455286441Srpaulo
456286441Srpaulo    </sect3>
457293177Savos
458286441Srpaulo  </sect2>
459286441Srpaulo
460286441Srpaulo  <sect2 xml:id="userland">
461293177Savos    <title>Userland Changes</title>
462286441Srpaulo
463286441Srpaulo   <para revision="255321">On platforms where &man.clang.1; is the default
464286441Srpaulo      system compiler, (such as i386, amd64, arm) GCC and GNU libstdc++ are no
465286441Srpaulo      longer built by default.  &man.clang.1; and libc++ from LLVM are used on
466286441Srpaulo      these platforms by instead.  GCC 4.2.1 and libstdc++ are still built
467286441Srpaulo      and used by default on pc98 and all other platforms where &man.clang.1;
468293177Savos      is not the default system compiler.
469286441Srpaulo   </para>
470286441Srpaulo
471286441Srpaulo   <para revision="251662">&man.clang.1; and llvm have been updated to
472286441Srpaulo     version 3.3 release.  Please refer to
473286441Srpaulo     <link xlink:href="http://llvm.org/releases/3.3/tools/clang/docs/ReleaseNotes.html">
474293177Savos     Clang 3.3 Release Notes.</link></para>
475293177Savos
476286441Srpaulo    <para role="merged" revision="255949">BIND has been replaced by &man.unbound.8; for
477286441Srpaulo      local dns resolution in the base system.  With this change, nslookup
478286441Srpaulo      and dig are no longer a part of the base system.  Users should
479286441Srpaulo      instead use &man.host.1; and &man.drill.1; Alternatively,
480286441Srpaulo      nslookup and dig can be obtained by installing the
481286441Srpaulo      dns/bind-tools port.</para>
482286441Srpaulo
483286441Srpaulo    <para revision="225937">sysinstall has been removed from the base system.
484286441Srpaulo      Auxiliary libraries and tools used by sysinstall such as libdisk, libftpio,
485293177Savos      and sade have also been removed.  sysinstall has been replaced by
486286441Srpaulo      &man.bsdinstall.8; and &man.bsdconfig.8;.</para>
487286441Srpaulo
488286441Srpaulo    <para revision="256106">&man.freebsd-version.1; has been added.  This tool
489286441Srpaulo      makes a best effort to determine the version and patch level of
490286441Srpaulo      the installed kernel and userland.</para>
491286441Srpaulo
492286441Srpaulo    <para revision="255191">GNU patch has been removed from the base system, and replaced
493286441Srpaulo      by a BSD-licensed &man.patch.1; program.</para>
494286441Srpaulo
495286441Srpaulo    <para revision="241511">GNU sort has been removed from the base system, and replaced
496286441Srpaulo      by a BSD-licensed &man.sort.1; program.</para>
497286441Srpaulo
498286441Srpaulo    <para revision="235723">Berkely yacc (byacc) has been imported
499286441Srpaulo      from <link xlink:href="http://invisible-island.net/byacc/">invisible island</link>.
500286441Srpaulo      This brings bison compatibilities to &man.yacc.1; while preserving full
501286441Srpaulo      backwards compatibility with previous version of &man.yacc.1;.</para>
502286441Srpaulo
503286441Srpaulo    <para revision="250881">&man.lex.1; has been replaced by flex 2.5.37</para>
504286441Srpaulo
505286441Srpaulo    <para revision="250699">&man.make.1; has been replaced with the 
506286441Srpaulo      "Portable" BSD make tool (bmake) from NetBSD.</para>
507286441Srpaulo
508286441Srpaulo    <para role="merged">The &man.adduser.8; utility now supports
509286441Srpaulo      a <option>-M</option> option to set the mode of a new user's
510286441Srpaulo      home directory.</para>
511286441Srpaulo
512286441Srpaulo    <para>BSD-licensed versions of &man.ar.1; and &man.ranlib.1;,
513286441Srpaulo      based on <filename>libarchive</filename>, have replaced the GNU
514286441Srpaulo      Binutils versions of these utilities.</para>
515286441Srpaulo
516286441Srpaulo    <para>BSD-licensed versions of &man.bc.1; and &man.dc.1; have
517286441Srpaulo      replaced their GNU counterparts.</para>
518286441Srpaulo
519286441Srpaulo    <para role="merged">&man.chflags.1; now supports a <option>-v</option> flag for
520286441Srpaulo      verbose output and a <option>-f</option> flag to ignore errors
521286441Srpaulo      with the same semantics as (for example)
522286441Srpaulo      &man.chmod.1;.</para>
523286441Srpaulo
524286441Srpaulo    <para>For compatibility with other implementations, &man.cp.1; now
525286441Srpaulo      supports a <option>-a</option> flag, which is equivalent to
526286441Srpaulo      specifying the <option>-RrP</option> flags.</para>
527286441Srpaulo
528286441Srpaulo    <para>BSD-licensed version of &man.cpio.1; based on
529286441Srpaulo      <filename>libarchive</filename>, has replaced the GNU cpio.
530286441Srpaulo      Note that the GNU cpio is still installed as
531286441Srpaulo      <filename>gcpio</filename>.</para>
532286441Srpaulo
533286441Srpaulo    <para>The &man.env.1; program now supports <option>-u
534286441Srpaulo      <replaceable>name</replaceable></option>
535286441Srpaulo      which will completely unset the given variable
536286441Srpaulo      <replaceable>name</replaceable> by removing it from the environment,
537286441Srpaulo      instead of just setting it to a null value.</para>
538286441Srpaulo
539286441Srpaulo    <para>The &man.fdopendir.3; library function has been added.</para>
540286441Srpaulo
541286441Srpaulo    <para role="merged">The &man.fetch.3; library now support HTTP 1.1
542286441Srpaulo      If-Modified-Since behavior.  The &man.fetch.1; program now
543286441Srpaulo      supports <option>-i <replaceable>filename</replaceable></option>
544286441Srpaulo      which will only download the specified HTTP URL if the content
545286441Srpaulo      is newer than <replaceable>filename</replaceable>.</para>
546286441Srpaulo
547286441Srpaulo    <para>&man.find.1; has been enhanced by the addition of a number
548286441Srpaulo      of primaries that were present in GNU find but not &os;
549286441Srpaulo      &man.find.1;.</para>
550286441Srpaulo
551286441Srpaulo    <para>&man.kgdb.1; now supports a new <command>add-kld</command>
552286441Srpaulo      command to make it easier to debug crash dumps with kernel
553286441Srpaulo      modules.</para>
554286441Srpaulo
555286441Srpaulo    <para>The &man.ls.1; program now supports a <option>-D</option>
556286441Srpaulo      option to specify a date format string to be used with the long
557286441Srpaulo      format (<option>-l</option>) output.</para>
558286441Srpaulo
559286441Srpaulo    <para>&man.nc.1; now supports a <option>-O</option> switch to
560286441Srpaulo      disable the use of TCP options.</para>
561286441Srpaulo
562286441Srpaulo    <para>&man.nc.1;'s <option>-o</option> switch has been deprecated.
563286441Srpaulo      It will be removed in a future release.</para>
564286441Srpaulo
565286441Srpaulo    <para>The &man.ping6.8; utility now returns <literal>2</literal>
566286441Srpaulo      when the packet transmission was successful but no responses
567286441Srpaulo      were received (this is the same behavior as &man.ping.8;).
568286441Srpaulo      It returned a non-zero value before this change.</para>
569286441Srpaulo
570286441Srpaulo    <para>The &man.procstat.1; utility has been added to display
571286441Srpaulo      detailed information about processes.</para>
572286441Srpaulo
573286441Srpaulo    <para role="merged">The &man.realpath.1; utility now supports
574286441Srpaulo      a <option>-q</option> flag to suppress warnings; it now also
575286441Srpaulo      accepts multiple paths on its command line.</para>
576286441Srpaulo
577286441Srpaulo    <para>&man.sh.1; has many bug fixes, some new features, and will now
578286441Srpaulo      refuse to parse some invalid scripts.  Additionally, it now
579286441Srpaulo      has filename completion and defaults to the &quot;emacs&quot; editing
580286441Srpaulo      mode.</para>
581286441Srpaulo
582286441Srpaulo    <para>The &man.split.1; utility now supports a <option>-n</option>
583286441Srpaulo      flag to split a file into a certain number of chunks.</para>
584286441Srpaulo
585286441Srpaulo    <para>The &man.tar.1; utility now supports a <option>-Z</option>
586286441Srpaulo      flag to enable &man.compress.1;-style
587286441Srpaulo      compression/decompression.</para>
588286441Srpaulo
589286441Srpaulo    <para>The &man.tar.1; utility now supports a
590286441Srpaulo      <option>--numeric-owner</option> flag to ignore user/group names
591286441Srpaulo      on create and extract.</para>
592286441Srpaulo
593286441Srpaulo    <para>The &man.tar.1; utility now supports an
594286441Srpaulo      <option>-S</option> flag to sparsify files on extraction.</para>
595286441Srpaulo
596286441Srpaulo    <para>The &man.tar.1; utility now supports a <option>-s</option>
597286441Srpaulo      flag to substitute filenames based on the specified regular
598286441Srpaulo      expression.</para>
599286441Srpaulo
600286441Srpaulo    <para>The &man.tcgetsid.3; library function has been added to
601286441Srpaulo      return the process group ID for the session leader for the
602286441Srpaulo      controlling terminal.  It is defined in IEEE Std 1003.1-2001
603286441Srpaulo      (POSIX).</para>
604286441Srpaulo
605286441Srpaulo    <para>&man.top.1; now supports a <option>-P</option> flag to
606286441Srpaulo      provide per-CPU usage statistics.</para>
607286441Srpaulo
608286441Srpaulo    <para>&man.zdump.8; is now working properly on 64 bit architectures.
609286441Srpaulo      </para>
610286441Srpaulo
611286441Srpaulo    <para>&man.traceroute.8; now has the ability to print the AS
612286441Srpaulo      number for each hop with the new <option>-a</option> switch; a
613286441Srpaulo      new <option>-A</option> option allows selecting a particular
614286441Srpaulo      WHOIS server.</para>
615286441Srpaulo
616286441Srpaulo    <para>&man.traceroute6.8; now supports a <option>-U</option> flag
617286441Srpaulo      to send probe packets with no upper-layer protocol, rather than
618286441Srpaulo      the usual UDP probe packets.</para>
619286441Srpaulo
620286441Srpaulo    <sect3 xml:id="rc-scripts">
621286441Srpaulo      <title><filename>/etc/rc.d</filename> Scripts</title>
622286441Srpaulo
623286441Srpaulo      <para/>
624286441Srpaulo
625286441Srpaulo    </sect3>
626286441Srpaulo  </sect2>
627286441Srpaulo
628286441Srpaulo  <sect2 xml:id="contrib">
629286441Srpaulo    <title>Contributed Software</title>
630286441Srpaulo
631286441Srpaulo    <para revision="251300">&man.jemalloc.3; has been updated to 3.4.0.
632286441Srpaulo      See <link xlink:href="http://www.facebook.com/jemalloc/">this link</link>.
633286441Srpaulo      for more details.</para>
634286441Srpaulo
635286441Srpaulo    <para role="merged"><application>AMD</application> has been updated from 6.0.10
636286441Srpaulo      to 6.1.5.</para>
637286441Srpaulo
638286441Srpaulo    <para role="merged"><application>awk</application> has been updated from 1 May
639286441Srpaulo      2007 release to the 23 October 2007 release.</para>
640286441Srpaulo
641286441Srpaulo    <para role="merged"><application>bzip2</application> has been updated from 1.0.4
642286441Srpaulo      to 1.0.5.</para>
643286441Srpaulo
644286441Srpaulo    <para revision="251794"><application>CVS</application> has been removed from the
645286441Srpaulo    base system, but is still available from ports</para>
646286441Srpaulo
647286441Srpaulo    <para revision="251886">Subversion has been imported into the base system and
648286441Srpaulo      is installed as <application>svnlite</application>.  <application>svnlite</application>
649286441Srpaulo      should only be used for checking out &os; source and committing, and does not
650286441Srpaulo      replace the full Subversion port.</para>
651286441Srpaulo
652286441Srpaulo    <para revision="234449"><application>file</application> has been updated to 5.11.</para>
653286441Srpaulo
654286441Srpaulo    <para revision="252726"><application>hostapd</application> has been
655286441Srpaulo      updated from 0.5.8 to 0.5.10.</para>
656286441Srpaulo
657286441Srpaulo    <para><application>IPFilter</application> has been updated to 5.1.2.</para>
658286441Srpaulo
659286441Srpaulo    <para revision="250592"><application>less</application> has been updated to
660286441Srpaulo      v458.</para>
661286441Srpaulo
662286441Srpaulo    <para><application>ncurses</application> has been updated from
663286441Srpaulo      to 5.7-20081102.</para>
664286441Srpaulo
665286441Srpaulo    <para role="merged"><application>OpenSSH</application> has been updated
666286441Srpaulo      to 6.4.</para>
667286441Srpaulo
668286441Srpaulo    <para revision="236109"><application>OpenPAM</application> has been updated to
669286441Srpaulo      the Micrampelis release.</para>
670286441Srpaulo
671286441Srpaulo    <para role="merged"><application>sendmail</application> has been updated from
672286441Srpaulo      8.14.1 to 8.14.7.</para>
673286441Srpaulo
674286441Srpaulo    <para role="merged">The timezone database has been updated from
675286441Srpaulo      the <application>tzdata2008h</application> release to
676286441Srpaulo      the <application>tzdata2009m</application> release.</para>
677286441Srpaulo
678286441Srpaulo    <para>The stdtime part of libc, &man.zdump.8; and &man.zic.8;
679286441Srpaulo      have been updated from the <application>tzcode2004a</application>
680286441Srpaulo      release to the <application>tzcode2009h</application> release.
681286441Srpaulo      If you have upgraded from source or via the &man.freebsd-update.8;,
682286441Srpaulo      then please run &man.tzsetup.8; to install a new /etc/localtime.
683286441Srpaulo      </para>
684293177Savos
685286441Srpaulo    <para revision="252726"><application>WPA Supplicant</application> has been
686286441Srpaulo      updated to 2.0.</para>
687286441Srpaulo
688286441Srpaulo    <para role="merged"><application>xz</application> has been updated
689286441Srpaulo      from snapshot as of 12 April 2010 to 5.0.0.</para>
690286441Srpaulo
691286441Srpaulo    <para revision="258231" role="merged">&man.nvi.1; has been updated to 2.1.2.</para>
692286441Srpaulo
693286441Srpaulo    <para revision="254225">&man.nvi.1; supports wide character locales.</para>
694286441Srpaulo
695286441Srpaulo  </sect2>
696286441Srpaulo
697286441Srpaulo  <sect2 xml:id="ports">
698286441Srpaulo    <title>Ports/Packages Collection Infrastructure</title>
699286441Srpaulo
700286441Srpaulo    <para revision="257444">The pkg_add, pkg_create, pkg_delete, pkg_info,
701286441Srpaulo      pkg_updating, and pkg_version utilities have been removed.
702286441Srpaulo      &man.pkg.7; must now be used to install binary packages.  &man.pkg.7;
703286441Srpaulo      is the next generation &os; package manager, also referred to as "pkgng".</para>
704286441Srpaulo
705286441Srpaulo  </sect2>
706286441Srpaulo
707286441Srpaulo  <sect2 xml:id="releng">
708286441Srpaulo    <title>Release Engineering and Integration</title>
709286441Srpaulo
710286441Srpaulo    <para role="merged">The supported version of
711286441Srpaulo      the <application>GNOME</application> desktop environment
712286441Srpaulo      (<package>x11/gnome2</package>) has been
713286441Srpaulo      updated from 2.20.1 to 2.22.</para>
714286441Srpaulo
715286441Srpaulo  </sect2>
716286441Srpaulo
717289679Skevlo  <sect2 xml:id="doc">
718286441Srpaulo    <title>Documentation</title>
719286441Srpaulo
720286441Srpaulo    <para/>
721286441Srpaulo
722286441Srpaulo  </sect2>
723286441Srpaulo</sect1>
724286441Srpaulo
725286441Srpaulo<sect1 xml:id="upgrade">
726286441Srpaulo  <title>Upgrading from previous releases of &os;</title>
727286441Srpaulo
728286441Srpaulo  <para arch="amd64,i386">Beginning with &os; 6.2-RELEASE,
729286441Srpaulo    binary upgrades between RELEASE versions (and snapshots of the
730286441Srpaulo    various security branches) are supported using the
731286441Srpaulo    &man.freebsd-update.8; utility.  The binary upgrade procedure will
732286441Srpaulo    update unmodified userland utilities, as well as unmodified GENERIC or
733286441Srpaulo    SMP kernels distributed as a part of an official &os; release.
734286441Srpaulo    The &man.freebsd-update.8; utility requires that the host being
735286441Srpaulo    upgraded have Internet connectivity.</para>
736286441Srpaulo
737286441Srpaulo  <para>Source-based upgrades (those based on recompiling the &os;
738286441Srpaulo    base system from source code) from previous versions are
739286441Srpaulo    supported, according to the instructions in
740286441Srpaulo    <filename>/usr/src/UPDATING</filename>.</para>
741286441Srpaulo
742286441Srpaulo  <important>
743286441Srpaulo    <para>Upgrading &os; should, of course, only be attempted after
744286441Srpaulo      backing up <emphasis>all</emphasis> data and configuration
745286441Srpaulo      files.</para>
746286441Srpaulo  </important>
747286441Srpaulo</sect1>
748286441Srpaulo</article>
749286441Srpaulo