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