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