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