1 <?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
2 <!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V4.2-Based Extension//EN" [
3 <!ENTITY % entities PUBLIC "-//FreeBSD//ENTITIES DocBook FreeBSD Entity Set//EN">
6 <!ENTITY % release PUBLIC "-//FreeBSD//ENTITIES Release Specification//EN">
9 <!-- Text constants which probably don't need to be changed.-->
11 <!ENTITY % include.historic "IGNORE">
12 <!ENTITY % no.include.historic "IGNORE">
17 <title>&os; &release.current; Release Notes</title>
19 <corpauthor>The &os; Project</corpauthor>
21 <pubdate>$FreeBSD$</pubdate>
35 <holder role="mailto:doc@FreeBSD.org">The &os; Documentation Project</holder>
38 <legalnotice id="trademarks" role="trademarks">
48 <para>The release notes for &os; &release.current; contain a summary
49 of the changes made to the &os; base system on the
50 &release.branch; development line.
51 This document lists applicable security advisories that were issued since
52 the last release, as well as significant changes to the &os;
54 Some brief remarks on upgrading are also presented.</para>
59 <title>Introduction</title>
61 <para>This document contains the release notes for &os;
63 describes recently added, changed, or deleted features of &os;.
64 It also provides some notes on upgrading
65 from previous versions of &os;.</para>
67 <![ %release.type.current [
69 <para>The &release.type; distribution to which these release notes
70 apply represents the latest point along the &release.branch; development
71 branch since &release.branch; was created. Information regarding pre-built, binary
72 &release.type; distributions along this branch
73 can be found at <ulink url="&release.url;"></ulink>.</para>
77 <![ %release.type.snapshot [
79 <para>The &release.type; distribution to which these release notes
80 apply represents a point along the &release.branch; development
81 branch between &release.prev; and the future &release.next;.
83 pre-built, binary &release.type; distributions along this branch
84 can be found at <ulink url="&release.url;"></ulink>.</para>
88 <![ %release.type.release [
90 <para>This distribution of &os; &release.current; is a
91 &release.type; distribution. It can be found at <ulink
92 url="&release.url;"></ulink> or any of its mirrors. More
93 information on obtaining this (or other) &release.type;
94 distributions of &os; can be found in the <ulink
95 url="&url.books.handbook;/mirrors.html"><quote>Obtaining
96 &os;</quote> appendix</ulink> to the <ulink
97 url="&url.books.handbook;/">&os;
98 Handbook</ulink>.</para>
102 <para>All users are encouraged to consult the release errata before
103 installing &os;. The errata document is updated with
104 <quote>late-breaking</quote> information discovered late in the
105 release cycle or after the release. Typically, it contains
106 information on known bugs, security advisories, and corrections to
107 documentation. An up-to-date copy of the errata for &os;
108 &release.current; can be found on the &os; Web site.</para>
113 <title>What's New</title>
115 <para>This section describes
116 the most user-visible new or changed features in &os;
117 since &release.prev;.
118 In general, changes described here are unique to the &release.branch;
119 branch unless specifically marked as &merged; features.
122 <para>Typical release note items
123 document recent security advisories issued after
125 new drivers or hardware support, new commands or options,
126 major bug fixes, or contributed software upgrades. They may also
127 list changes to major ports/packages or release engineering
128 practices. Clearly the release notes cannot list every single
129 change made to &os; between releases; this document focuses
130 primarily on security advisories, user-visible changes, and major
131 architectural improvements.</para>
133 <sect2 id="security">
134 <title>Security Advisories</title>
141 <title>Kernel Changes</title>
143 <para>A new &man.cpuset.2; API has been added
144 for thread to CPU binding and CPU resource grouping and
145 assignment. The &man.cpuset.1; userland utility has been added
146 to allow manipulation of processor sets.</para>
148 <para role="merged">The &man.ddb.4; kernel debugger now has an output capture
149 facility. Input and output from &man.ddb.4; can now be captured
150 to a memory buffer for later inspection using &man.sysctl.8; or
151 a textdump. The new <command>capture</command> command controls
154 <para role="merged">The &man.ddb.4; debugger now supports a simple scripting
155 facility, which supports a set of named scripts consisting of a
156 set of &man.ddb.4; commands. These commands can be managed from
157 within &man.ddb.4; or with the use of the new &man.ddb.8;
158 utility. More details can be found in the &man.ddb.4; manual
161 <para role="merged">The kernel now supports a new textdump format of kernel
162 dumps. A textdump provides higher-level information via
163 mechanically generated/extracted debugging output, rather than a
164 simple memory dump. This facility can be used to generate brief
165 kernel bug reports that are rich in debugging information, but
166 are not dependent on kernel symbol tables or precisely
167 synchronized source code. More information can be found in the
168 &man.textdump.4; manual page.</para>
170 <para>Kernel support for M:N threading has been removed. While
171 the KSE (Kernel Scheduled Entities) project was quite successful
172 in bringing threading to FreeBSD, the M:N approach taken by the
173 KSE library was never developed to its full potential.
174 Backwards compatibility for applications using KSE threading
175 will be provided via &man.libmap.conf.5; for dynamically linked
176 binaries. The &os; Project greatly appreciates the work of
177 &a.julian;, &a.deischen;, and &a.davidxu; on KSE support.</para>
179 <para>The &os; kernel now exports information about certain kernel
180 features via the <varname>kern.features</varname> sysctl tree.
181 The &man.feature.present.3; library call provides a convenient
182 interface for user applications to test the presence of
185 <para arch="amd64">The &os; kernel now has support for large
186 memory page mappings (<quote>superpages</quote>).</para>
188 <para arch="amd64,i386,ia64,powerpc" role="merged">The ULE
189 scheduler is now the default process scheduler
190 in <filename>GENERIC</filename> kernels.</para>
193 <title>Boot Loader Changes</title>
195 <para arch="amd64,i386" role="merged">The BTX kernel used by the boot
196 loader has been changed to invoke BIOS routines from real
197 mode. This change makes it possible to boot &os; from USB
200 <para arch="amd64,i386" role="merged">A new gptboot boot loader has
201 been added to support booting from a GPT labeled disk. A
202 new <command>boot</command> command has been added to
203 &man.gpt.8;, which makes a GPT disk bootable by writing the
204 required bits of the boot loader, creating a new boot
205 partition if required.</para>
210 <title>Hardware Support</title>
212 <para role="merged">The &man.cmx.4; driver, a driver for Omnikey CardMan 4040
213 PCMCIA smartcard readers, has been added.</para>
215 <para>The &man.syscons.4; driver now supports Colemak keyboard layout.</para>
217 <para role="merged">The &man.uslcom.4; driver, a driver for Silicon
218 Laboratories CP2101/CP2102-based USB serial adapters, has been
219 imported from OpenBSD.</para>
222 <title>Multimedia Support</title>
229 <title>Network Interface Support</title>
231 <para>The &man.ale.4; driver has been added to provide support
232 for Atheros AR8121/AR8113/AR8114 Gigabit/Fast Ethernet controllers.</para>
234 <para>The &man.em.4; driver has been split into two drivers
235 with some common parts. The &man.em.4; driver will continue
236 to support adapters up to the 82575, as well as new
237 client/desktop adapters. A new &man.igb.4; driver
238 will support new server adapters.</para>
240 <para>The &man.jme.4; driver has been added to provide support
241 for PCIe network adapters based on JMicron JMC250 Gigabit
242 Ethernet and JMC260 Fast Ethernet controllers.</para>
244 <para>The &man.malo.4; driver has been added to provide
245 support for Marvell Libertas 88W8335 based PCI network
248 <para>The firmware for the &man.mxge.4; driver has been
249 updated from 1.4.25 to 1.4.29.</para>
251 <para>The &man.sf.4; driver has been overhauled to improve its
252 performance and to add support for checksum offloading. It
253 should also work on all architectures.</para>
255 <para>The &man.re.4; driver has been overhauled to fix a
256 number of issues. This driver now has Wake On LAN (WOL)
259 <para>The &man.vr.4; driver has been overhauled to fix a
260 number of outstanding issues. It also now works on all
261 architectures.</para>
263 <para arch="amd64,i386" role="merged">The &man.wpi.4; driver has
264 been updated to include a number of stability fixes.</para>
269 <sect3 id="net-proto">
270 <title>Network Protocols</title>
272 <para>The &man.bpf.4; packet filter and capture facility now
273 supports a zero-copy mode of operation, in which buffers are
274 loaned from a user process to the kernel. This feature can
275 be enabled by setting
276 the <varname>net.bpf.zerocopy_enable</varname> sysctl
277 variable to <literal>1</literal>.</para>
279 <para>ISDN4BSD(I4B), <filename>netatm</filename>, and all
280 related subsystems have been removed due to lack of
281 multi-processor support.</para>
283 <para role="merged">A bug in TCP options padding, where the wrong padding
284 bytes were used, has been fixed.</para>
286 <para role="merged">The IEEE 802.11s element identifiers have
287 been updated to reflect the final version of the amendment. This
288 update breaks compatibility with older mesh setups but is necessary
289 as the previous IDs are used by another amendment leading to
290 unexpected results when trying to associate with an accesspoint
291 using the affected IDs.</para>
296 <title>Disks and Storage</title>
298 <para role="merged">The &man.aac.4; driver now supports volumes larger than
301 <para>The &man.ata.4; driver now supports a spindown command for
302 disks; after a configurable amount of time, if no requests
303 have been received for a disk, the disk will be spun down
304 until the next request. The &man.atacontrol.8; utility now
305 supports a <command>spindown</command> command to configure
308 <para role="merged">The &man.hptrr.4; driver has been updated to version 1.2
309 from Highpoint.</para>
314 <title>File Systems</title>
316 <para>A problem with using &man.mmap.2; on ZFS filesystems has
319 <para>A new kernel-mode NFS lock manager has been added,
320 improving performance and behavior of NFS locking. A new
321 &man.clear.locks.8; command has been added to clear locks held
322 on behalf of an NFS client.</para>
324 <para role="merged">The <application>ZFS</application> file system
325 has been upgraded to version 28. Changes include Data
326 Deduplication, Triple parity RAIDZ, and zfs diff.</para>
331 <sect2 id="userland">
332 <title>Userland Changes</title>
334 <para role="merged">The &man.adduser.8; utility now supports
335 a <option>-M</option> option to set the mode of a new user's
336 home directory.</para>
338 <para>BSD-licensed versions of &man.ar.1; and &man.ranlib.1;,
339 based on <filename>libarchive</filename>, have replaced the GNU
340 Binutils versions of these utilities.</para>
342 <para>BSD-licensed versions of &man.bc.1; and &man.dc.1; have
343 replaced their GNU counterparts.</para>
345 <para role="merged">&man.chflags.1; now supports a <option>-v</option> flag for
346 verbose output and a <option>-f</option> flag to ignore errors
347 with the same semantics as (for example)
348 &man.chmod.1;.</para>
350 <para>For compatibility with other implementations, &man.cp.1; now
351 supports a <option>-a</option> flag, which is equivalent to
352 specifying the <option>-RrP</option> flags.</para>
354 <para>BSD-licensed version of &man.cpio.1; based on
355 <filename>libarchive</filename>, has replaced the GNU cpio.
356 Note that the GNU cpio is still installed as
357 <filename>gcpio</filename>.</para>
359 <para>The &man.env.1; program now supports <option>-u
360 <replaceable>name</replaceable></option>
361 which will completely unset the given variable
362 <replaceable>name</replaceable> by removing it from the environment,
363 instead of just setting it to a null value.</para>
365 <para>The &man.fdopendir.3; library function has been added.</para>
367 <para role="merged">The &man.fetch.3; library now support HTTP 1.1
368 If-Modified-Since behavior. The &man.fetch.1; program now
369 supports <option>-i <replaceable>filename</replaceable></option>
370 which will only download the specified HTTP URL if the content
371 is newer than <replaceable>filename</replaceable>.</para>
373 <para>&man.find.1; has been enhanced by the addition of a number
374 of primaries that were present in GNU find but not &os;
377 <para>&man.kgdb.1; now supports a new <command>add-kld</command>
378 command to make it easier to debug crash dumps with kernel
381 <para>The &man.ls.1; program now supports a <option>-D</option>
382 option to specify a date format string to be used with the long
383 format (<option>-l</option>) output.</para>
385 <para>&man.nc.1; now supports a <option>-O</option> switch to
386 disable the use of TCP options.</para>
388 <para>&man.nc.1;'s <option>-o</option> switch has been deprecated.
389 It will be removed in a future release.</para>
391 <para>The &man.ping6.8; utility now returns <literal>2</literal>
392 when the packet transmission was successful but no responses
393 were received (this is the same behavior as &man.ping.8;).
394 It returned a non-zero value before this change.</para>
396 <para>The &man.procstat.1; utility has been added to display
397 detailed information about processes.</para>
399 <para role="merged">The &man.realpath.1; utility now supports
400 a <option>-q</option> flag to suppress warnings; it now also
401 accepts multiple paths on its command line.</para>
403 <para>&man.sh.1; has many bug fixes, some new features, and will now
404 refuse to parse some invalid scripts. Additionally, it now
405 has filename completion and defaults to the "emacs" editing
408 <para>The &man.split.1; utility now supports a <option>-n</option>
409 flag to split a file into a certain number of chunks.</para>
411 <para>The &man.tar.1; utility now supports a <option>-Z</option>
412 flag to enable &man.compress.1;-style
413 compression/decompression.</para>
415 <para>The &man.tar.1; utility now supports a
416 <option>--numeric-owner</option> flag to ignore user/group names
417 on create and extract.</para>
419 <para>The &man.tar.1; utility now supports an
420 <option>-S</option> flag to sparsify files on extraction.</para>
422 <para>The &man.tar.1; utility now supports a <option>-s</option>
423 flag to substitute filenames based on the specified regular
426 <para>The &man.tcgetsid.3; library function has been added to
427 return the process group ID for the session leader for the
428 controlling terminal. It is defined in IEEE Std 1003.1-2001
431 <para>&man.top.1; now supports a <option>-P</option> flag to
432 provide per-CPU usage statistics.</para>
434 <para>&man.zdump.8; is now working properly on 64 bit architectures.
437 <para>&man.traceroute.8; now has the ability to print the AS
438 number for each hop with the new <option>-a</option> switch; a
439 new <option>-A</option> option allows selecting a particular
442 <para>&man.traceroute6.8; now supports a <option>-U</option> flag
443 to send probe packets with no upper-layer protocol, rather than
444 the usual UDP probe packets.</para>
446 <sect3 id="rc-scripts">
447 <title><filename>/etc/rc.d</filename> Scripts</title>
455 <title>Contributed Software</title>
457 <para role="merged"><application>AMD</application> has been updated from 6.0.10
460 <para role="merged"><application>awk</application> has been updated from 1 May
461 2007 release to the 23 October 2007 release.</para>
463 <para role="merged"><application>bzip2</application> has been updated from 1.0.4
466 <para><application>CVS</application> has been updated from 1.11.17
467 to a post-1.11.22 snapshot from 10 March 2008.</para>
469 <para><application>FILE</application> has been updated from 4.23
472 <para><application>hostapd</application> has been
473 updated from 0.5.8 to 0.5.10.</para>
475 <para><application>IPFilter</application> has been updated from
476 4.1.23 to 4.1.28.</para>
478 <para><application>less</application> has been updated from
481 <para><application>ncurses</application> has been updated from
482 5.6-20061217 to 5.6-20080503.</para>
484 <para role="merged"><application>OpenSSH</application> has been updated
485 from 4.5p1 to 5.1p1.</para>
487 <para role="merged"><application>OpenPAM</application> has been updated from the
488 Figwort release to the Hydrangea release.</para>
490 <para role="merged"><application>sendmail</application> has been updated from
491 8.14.1 to 8.14.5.</para>
493 <para role="merged">The timezone database has been updated from
494 the <application>tzdata2008h</application> release to
495 the <application>tzdata2009m</application> release.</para>
497 <para>The stdtime part of libc, &man.zdump.8 and &man.zic.8
498 have been updated from the <application>tzcode2004a</application>
499 release to the <application>tzcode2009h</application> release.
500 If you have upgraded from source or via the &man.freebsd-update.8,
501 then please run &man.tzsetup.8 to install a new /etc/localtime.
504 <para><application>WPA Supplicant</application> has been
505 updated from 0.5.8 to 0.5.10.</para>
507 <para role="merged"><application>xz</application> has been updated
508 from snapshot as of 12 April 2010 to 5.0.0.</para>
513 <title>Ports/Packages Collection Infrastructure</title>
515 <para>The &man.pkg.create.1; utility now supports
516 <option>-n</option>. When this option is specified and a
517 package tarball exists, it will not be overwritten. This is
518 useful when multiple packages are saved with several consecutive
519 runs of &man.pkg.create.1; with the <option>-Rb</option>
522 <para>The pkg_sign and pkg_check utilities for cryptographically
523 signing &os; packages have been removed. They were only useful
524 for packages compressed using &man.gzip.1;; however
525 &man.bzip2.1; compression has been the norm for some time
531 <title>Release Engineering and Integration</title>
533 <para role="merged">The supported version of
534 the <application>GNOME</application> desktop environment
535 (<filename role="package">x11/gnome2</filename>) has been
536 updated from 2.20.1 to 2.22.</para>
541 <title>Documentation</title>
549 <title>Upgrading from previous releases of &os;</title>
551 <para arch="amd64,i386">Beginning with &os; 6.2-RELEASE,
552 binary upgrades between RELEASE versions (and snapshots of the
553 various security branches) are supported using the
554 &man.freebsd-update.8; utility. The binary upgrade procedure will
555 update unmodified userland utilities, as well as unmodified GENERIC or
556 SMP kernels distributed as a part of an official &os; release.
557 The &man.freebsd-update.8; utility requires that the host being
558 upgraded have Internet connectivity.</para>
560 <para>Source-based upgrades (those based on recompiling the &os;
561 base system from source code) from previous versions are
562 supported, according to the instructions in
563 <filename>/usr/src/UPDATING</filename>.</para>
566 <para>Upgrading &os; should, of course, only be attempted after
567 backing up <emphasis>all</emphasis> data and configuration