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">
7 <article xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0">
8 <info><title>&os; &release.current; Release Notes</title>
11 <author><orgname>The &os; Project</orgname></author>
13 <pubdate>$FreeBSD$</pubdate>
30 <holder role="mailto:doc@FreeBSD.org">The &os; Documentation Project</holder>
33 <legalnotice xml:id="trademarks" role="trademarks">
43 <para>The release notes for &os; &release.current; contain a summary
44 of the changes made to the &os; base system on the
45 &release.branch; development line.
46 This document lists applicable security advisories that were issued since
47 the last release, as well as significant changes to the &os;
49 Some brief remarks on upgrading are also presented.</para>
53 <sect1 xml:id="intro">
54 <title>Introduction</title>
56 <para>This document contains the release notes for &os;
58 describes recently added, changed, or deleted features of &os;.
59 It also provides some notes on upgrading
60 from previous versions of &os;.</para>
62 <para releasetype="current">The &release.type; distribution to which these release notes
63 apply represents the latest point along the &release.branch; development
64 branch since &release.branch; was created. Information regarding pre-built, binary
65 &release.type; distributions along this branch
66 can be found at <uri xlink:href="&release.url;">&release.url;</uri>.</para>
68 <para releasetype="snapshot">The &release.type; distribution to which these release notes
69 apply represents a point along the &release.branch; development
70 branch between &release.prev; and the future &release.next;.
72 pre-built, binary &release.type; distributions along this branch
73 can be found at <uri xlink:href="&release.url;">&release.url;</uri>.</para>
75 <para releasetype="release">This distribution of &os; &release.current; is a
76 &release.type; distribution. It can be found at <uri xlink:href="&release.url;">&release.url;</uri> or any of its mirrors. More
77 information on obtaining this (or other) &release.type;
78 distributions of &os; can be found in the <link xlink:href="&url.books.handbook;/mirrors.html"><quote>Obtaining
79 &os;</quote> appendix</link> to the <link xlink:href="&url.books.handbook;/">&os;
80 Handbook</link>.</para>
82 <para>All users are encouraged to consult the release errata before
83 installing &os;. The errata document is updated with
84 <quote>late-breaking</quote> information discovered late in the
85 release cycle or after the release. Typically, it contains
86 information on known bugs, security advisories, and corrections to
87 documentation. An up-to-date copy of the errata for &os;
88 &release.current; can be found on the &os; Web site.</para>
93 <title>What's New</title>
95 <para>This section describes
96 the most user-visible new or changed features in &os;
98 In general, changes described here are unique to the &release.branch;
99 branch unless specifically marked as &merged; features.
102 <para>Typical release note items
103 document recent security advisories issued after
105 new drivers or hardware support, new commands or options,
106 major bug fixes, or contributed software upgrades. They may also
107 list changes to major ports/packages or release engineering
108 practices. Clearly the release notes cannot list every single
109 change made to &os; between releases; this document focuses
110 primarily on security advisories, user-visible changes, and major
111 architectural improvements.</para>
113 <sect2 xml:id="security">
114 <title>Security Advisories</title>
120 <sect2 xml:id="kernel">
121 <title>Kernel Changes</title>
123 <para>A new &man.cpuset.2; API has been added
124 for thread to CPU binding and CPU resource grouping and
125 assignment. The &man.cpuset.1; userland utility has been added
126 to allow manipulation of processor sets.</para>
128 <para role="merged">The &man.ddb.4; kernel debugger now has an output capture
129 facility. Input and output from &man.ddb.4; can now be captured
130 to a memory buffer for later inspection using &man.sysctl.8; or
131 a textdump. The new <command>capture</command> command controls
134 <para role="merged">The &man.ddb.4; debugger now supports a simple scripting
135 facility, which supports a set of named scripts consisting of a
136 set of &man.ddb.4; commands. These commands can be managed from
137 within &man.ddb.4; or with the use of the new &man.ddb.8;
138 utility. More details can be found in the &man.ddb.4; manual
141 <para role="merged">The kernel now supports a new textdump format of kernel
142 dumps. A textdump provides higher-level information via
143 mechanically generated/extracted debugging output, rather than a
144 simple memory dump. This facility can be used to generate brief
145 kernel bug reports that are rich in debugging information, but
146 are not dependent on kernel symbol tables or precisely
147 synchronized source code. More information can be found in the
148 &man.textdump.4; manual page.</para>
150 <para>Kernel support for M:N threading has been removed. While
151 the KSE (Kernel Scheduled Entities) project was quite successful
152 in bringing threading to FreeBSD, the M:N approach taken by the
153 KSE library was never developed to its full potential.
154 Backwards compatibility for applications using KSE threading
155 will be provided via &man.libmap.conf.5; for dynamically linked
156 binaries. The &os; Project greatly appreciates the work of
157 &a.julian;, &a.deischen;, and &a.davidxu; on KSE support.</para>
159 <para>The &os; kernel now exports information about certain kernel
160 features via the <varname>kern.features</varname> sysctl tree.
161 The &man.feature.present.3; library call provides a convenient
162 interface for user applications to test the presence of
165 <para arch="amd64">The &os; kernel now has support for large
166 memory page mappings (<quote>superpages</quote>).</para>
168 <para arch="amd64,i386,ia64,powerpc" role="merged">The ULE
169 scheduler is now the default process scheduler
170 in <filename>GENERIC</filename> kernels.</para>
172 <sect3 xml:id="boot">
173 <title>Boot Loader Changes</title>
175 <para arch="amd64,i386" role="merged">The BTX kernel used by the boot
176 loader has been changed to invoke BIOS routines from real
177 mode. This change makes it possible to boot &os; from USB
180 <para arch="amd64,i386" role="merged">A new gptboot boot loader has
181 been added to support booting from a GPT labeled disk. A
182 new <command>boot</command> command has been added to
183 &man.gpt.8;, which makes a GPT disk bootable by writing the
184 required bits of the boot loader, creating a new boot
185 partition if required.</para>
189 <sect3 xml:id="proc">
190 <title>Hardware Support</title>
192 <para role="merged">The &man.cmx.4; driver, a driver for Omnikey CardMan 4040
193 PCMCIA smartcard readers, has been added.</para>
195 <para>The &man.syscons.4; driver now supports Colemak keyboard layout.</para>
197 <para role="merged">The &man.uslcom.4; driver, a driver for Silicon
198 Laboratories CP2101/CP2102-based USB serial adapters, has been
199 imported from OpenBSD.</para>
202 <title>Multimedia Support</title>
208 <sect4 xml:id="net-if">
209 <title>Network Interface Support</title>
211 <para>The &man.ale.4; driver has been added to provide support
212 for Atheros AR8121/AR8113/AR8114 Gigabit/Fast Ethernet controllers.</para>
214 <para>The &man.em.4; driver has been split into two drivers
215 with some common parts. The &man.em.4; driver will continue
216 to support adapters up to the 82575, as well as new
217 client/desktop adapters. A new &man.igb.4; driver
218 will support new server adapters.</para>
220 <para>The &man.jme.4; driver has been added to provide support
221 for PCIe network adapters based on JMicron JMC250 Gigabit
222 Ethernet and JMC260 Fast Ethernet controllers.</para>
224 <para>The &man.malo.4; driver has been added to provide
225 support for Marvell Libertas 88W8335 based PCI network
228 <para>The firmware for the &man.mxge.4; driver has been
229 updated from 1.4.25 to 1.4.29.</para>
231 <para>The &man.sf.4; driver has been overhauled to improve its
232 performance and to add support for checksum offloading. It
233 should also work on all architectures.</para>
235 <para>The &man.re.4; driver has been overhauled to fix a
236 number of issues. This driver now has Wake On LAN (WOL)
239 <para>The &man.vr.4; driver has been overhauled to fix a
240 number of outstanding issues. It also now works on all
241 architectures.</para>
243 <para arch="amd64,i386" role="merged">The &man.wpi.4; driver has
244 been updated to include a number of stability fixes.</para>
249 <sect3 xml:id="net-proto">
250 <title>Network Protocols</title>
252 <para>The &man.bpf.4; packet filter and capture facility now
253 supports a zero-copy mode of operation, in which buffers are
254 loaned from a user process to the kernel. This feature can
255 be enabled by setting
256 the <varname>net.bpf.zerocopy_enable</varname> sysctl
257 variable to <literal>1</literal>.</para>
259 <para>ISDN4BSD(I4B), <filename>netatm</filename>, and all
260 related subsystems have been removed due to lack of
261 multi-processor support.</para>
263 <para role="merged">A bug in TCP options padding, where the wrong padding
264 bytes were used, has been fixed.</para>
266 <para role="merged">The IEEE 802.11s element identifiers have
267 been updated to reflect the final version of the amendment. This
268 update breaks compatibility with older mesh setups but is necessary
269 as the previous IDs are used by another amendment leading to
270 unexpected results when trying to associate with an accesspoint
271 using the affected IDs.</para>
275 <sect3 xml:id="disks">
276 <title>Disks and Storage</title>
278 <para role="merged">The &man.aac.4; driver now supports volumes larger than
281 <para>The &man.ata.4; driver now supports a spindown command for
282 disks; after a configurable amount of time, if no requests
283 have been received for a disk, the disk will be spun down
284 until the next request. The &man.atacontrol.8; utility now
285 supports a <command>spindown</command> command to configure
288 <para role="merged">The &man.hptrr.4; driver has been updated to version 1.2
289 from Highpoint.</para>
294 <title>File Systems</title>
296 <para>A problem with using &man.mmap.2; on ZFS filesystems has
299 <para>A new kernel-mode NFS lock manager has been added,
300 improving performance and behavior of NFS locking. A new
301 &man.clear.locks.8; command has been added to clear locks held
302 on behalf of an NFS client.</para>
304 <para role="merged">The <application>ZFS</application> file system
305 has been upgraded to version 28. Changes include Data
306 Deduplication, Triple parity RAIDZ, and zfs diff.</para>
311 <sect2 xml:id="userland">
312 <title>Userland Changes</title>
314 <para role="merged">The &man.adduser.8; utility now supports
315 a <option>-M</option> option to set the mode of a new user's
316 home directory.</para>
318 <para>BSD-licensed versions of &man.ar.1; and &man.ranlib.1;,
319 based on <filename>libarchive</filename>, have replaced the GNU
320 Binutils versions of these utilities.</para>
322 <para>BSD-licensed versions of &man.bc.1; and &man.dc.1; have
323 replaced their GNU counterparts.</para>
325 <para role="merged">&man.chflags.1; now supports a <option>-v</option> flag for
326 verbose output and a <option>-f</option> flag to ignore errors
327 with the same semantics as (for example)
328 &man.chmod.1;.</para>
330 <para>For compatibility with other implementations, &man.cp.1; now
331 supports a <option>-a</option> flag, which is equivalent to
332 specifying the <option>-RrP</option> flags.</para>
334 <para>BSD-licensed version of &man.cpio.1; based on
335 <filename>libarchive</filename>, has replaced the GNU cpio.
336 Note that the GNU cpio is still installed as
337 <filename>gcpio</filename>.</para>
339 <para>The &man.env.1; program now supports <option>-u
340 <replaceable>name</replaceable></option>
341 which will completely unset the given variable
342 <replaceable>name</replaceable> by removing it from the environment,
343 instead of just setting it to a null value.</para>
345 <para>The &man.fdopendir.3; library function has been added.</para>
347 <para role="merged">The &man.fetch.3; library now support HTTP 1.1
348 If-Modified-Since behavior. The &man.fetch.1; program now
349 supports <option>-i <replaceable>filename</replaceable></option>
350 which will only download the specified HTTP URL if the content
351 is newer than <replaceable>filename</replaceable>.</para>
353 <para>&man.find.1; has been enhanced by the addition of a number
354 of primaries that were present in GNU find but not &os;
357 <para>&man.kgdb.1; now supports a new <command>add-kld</command>
358 command to make it easier to debug crash dumps with kernel
361 <para>The &man.ls.1; program now supports a <option>-D</option>
362 option to specify a date format string to be used with the long
363 format (<option>-l</option>) output.</para>
365 <para>&man.nc.1; now supports a <option>-O</option> switch to
366 disable the use of TCP options.</para>
368 <para>&man.nc.1;'s <option>-o</option> switch has been deprecated.
369 It will be removed in a future release.</para>
371 <para>The &man.ping6.8; utility now returns <literal>2</literal>
372 when the packet transmission was successful but no responses
373 were received (this is the same behavior as &man.ping.8;).
374 It returned a non-zero value before this change.</para>
376 <para>The &man.procstat.1; utility has been added to display
377 detailed information about processes.</para>
379 <para role="merged">The &man.realpath.1; utility now supports
380 a <option>-q</option> flag to suppress warnings; it now also
381 accepts multiple paths on its command line.</para>
383 <para>&man.sh.1; has many bug fixes, some new features, and will now
384 refuse to parse some invalid scripts. Additionally, it now
385 has filename completion and defaults to the "emacs" editing
388 <para>The &man.split.1; utility now supports a <option>-n</option>
389 flag to split a file into a certain number of chunks.</para>
391 <para>The &man.tar.1; utility now supports a <option>-Z</option>
392 flag to enable &man.compress.1;-style
393 compression/decompression.</para>
395 <para>The &man.tar.1; utility now supports a
396 <option>--numeric-owner</option> flag to ignore user/group names
397 on create and extract.</para>
399 <para>The &man.tar.1; utility now supports an
400 <option>-S</option> flag to sparsify files on extraction.</para>
402 <para>The &man.tar.1; utility now supports a <option>-s</option>
403 flag to substitute filenames based on the specified regular
406 <para>The &man.tcgetsid.3; library function has been added to
407 return the process group ID for the session leader for the
408 controlling terminal. It is defined in IEEE Std 1003.1-2001
411 <para>&man.top.1; now supports a <option>-P</option> flag to
412 provide per-CPU usage statistics.</para>
414 <para>&man.zdump.8; is now working properly on 64 bit architectures.
417 <para>&man.traceroute.8; now has the ability to print the AS
418 number for each hop with the new <option>-a</option> switch; a
419 new <option>-A</option> option allows selecting a particular
422 <para>&man.traceroute6.8; now supports a <option>-U</option> flag
423 to send probe packets with no upper-layer protocol, rather than
424 the usual UDP probe packets.</para>
426 <sect3 xml:id="rc-scripts">
427 <title><filename>/etc/rc.d</filename> Scripts</title>
434 <sect2 xml:id="contrib">
435 <title>Contributed Software</title>
437 <para role="merged"><application>AMD</application> has been updated from 6.0.10
440 <para role="merged"><application>awk</application> has been updated from 1 May
441 2007 release to the 23 October 2007 release.</para>
443 <para role="merged"><application>bzip2</application> has been updated from 1.0.4
446 <para><application>CVS</application> has been updated from 1.11.17
447 to a post-1.11.22 snapshot from 10 March 2008.</para>
449 <para><application>FILE</application> has been updated from 4.23
452 <para><application>hostapd</application> has been
453 updated from 0.5.8 to 0.5.10.</para>
455 <para><application>IPFilter</application> has been updated from
456 4.1.23 to 4.1.28.</para>
458 <para><application>less</application> has been updated from
461 <para><application>ncurses</application> has been updated from
462 5.6-20061217 to 5.6-20080503.</para>
464 <para role="merged"><application>OpenSSH</application> has been updated
465 from 4.5p1 to 5.1p1.</para>
467 <para role="merged"><application>OpenPAM</application> has been updated from the
468 Figwort release to the Hydrangea release.</para>
470 <para role="merged"><application>sendmail</application> has been updated from
471 8.14.1 to 8.14.7.</para>
473 <para role="merged">The timezone database has been updated from
474 the <application>tzdata2008h</application> release to
475 the <application>tzdata2009m</application> release.</para>
477 <para>The stdtime part of libc, &man.zdump.8; and &man.zic.8;
478 have been updated from the <application>tzcode2004a</application>
479 release to the <application>tzcode2009h</application> release.
480 If you have upgraded from source or via the &man.freebsd-update.8;,
481 then please run &man.tzsetup.8; to install a new /etc/localtime.
484 <para><application>WPA Supplicant</application> has been
485 updated from 0.5.8 to 0.5.10.</para>
487 <para role="merged"><application>xz</application> has been updated
488 from snapshot as of 12 April 2010 to 5.0.0.</para>
492 <sect2 xml:id="ports">
493 <title>Ports/Packages Collection Infrastructure</title>
495 <para>The &man.pkg.create.1; utility now supports
496 <option>-n</option>. When this option is specified and a
497 package tarball exists, it will not be overwritten. This is
498 useful when multiple packages are saved with several consecutive
499 runs of &man.pkg.create.1; with the <option>-Rb</option>
502 <para>The pkg_sign and pkg_check utilities for cryptographically
503 signing &os; packages have been removed. They were only useful
504 for packages compressed using &man.gzip.1;; however
505 &man.bzip2.1; compression has been the norm for some time
510 <sect2 xml:id="releng">
511 <title>Release Engineering and Integration</title>
513 <para role="merged">The supported version of
514 the <application>GNOME</application> desktop environment
515 (<package>x11/gnome2</package>) has been
516 updated from 2.20.1 to 2.22.</para>
521 <title>Documentation</title>
528 <sect1 xml:id="upgrade">
529 <title>Upgrading from previous releases of &os;</title>
531 <para arch="amd64,i386">Beginning with &os; 6.2-RELEASE,
532 binary upgrades between RELEASE versions (and snapshots of the
533 various security branches) are supported using the
534 &man.freebsd-update.8; utility. The binary upgrade procedure will
535 update unmodified userland utilities, as well as unmodified GENERIC or
536 SMP kernels distributed as a part of an official &os; release.
537 The &man.freebsd-update.8; utility requires that the host being
538 upgraded have Internet connectivity.</para>
540 <para>Source-based upgrades (those based on recompiling the &os;
541 base system from source code) from previous versions are
542 supported, according to the instructions in
543 <filename>/usr/src/UPDATING</filename>.</para>
546 <para>Upgrading &os; should, of course, only be attempted after
547 backing up <emphasis>all</emphasis> data and configuration