1 <!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [
2 <!ENTITY % articles.ent PUBLIC "-//FreeBSD//ENTITIES DocBook FreeBSD Articles Entity Set//EN">
5 <!ENTITY % release PUBLIC "-//FreeBSD//ENTITIES Release Specification//EN">
8 <!-- Text constants which probably don't need to be changed.-->
10 <!ENTITY % include.historic "IGNORE">
11 <!ENTITY % no.include.historic "IGNORE">
16 <title>&os; &release.current; Release Notes</title>
18 <corpauthor>The &os; Project</corpauthor>
20 <pubdate>$FreeBSD$</pubdate>
34 <holder role="mailto:doc@FreeBSD.org">The &os; Documentation Project</holder>
37 <legalnotice id="trademarks" role="trademarks">
47 <para>The release notes for &os; &release.current; contain a summary
48 of the changes made to the &os; base system on the
49 &release.branch; development line.
50 This document lists applicable security advisories that were issued since
51 the last release, as well as significant changes to the &os;
53 Some brief remarks on upgrading are also presented.</para>
58 <title>Introduction</title>
60 <para>This document contains the release notes for &os;
62 describes recently added, changed, or deleted features of &os;.
63 It also provides some notes on upgrading
64 from previous versions of &os;.</para>
66 <![ %release.type.current [
68 <para>The &release.type; distribution to which these release notes
69 apply represents the latest point along the &release.branch; development
70 branch since &release.branch; was created. Information regarding pre-built, binary
71 &release.type; distributions along this branch
72 can be found at <ulink url="&release.url;"></ulink>.</para>
76 <![ %release.type.snapshot [
78 <para>The &release.type; distribution to which these release notes
79 apply represents a point along the &release.branch; development
80 branch between &release.prev; and the future &release.next;.
82 pre-built, binary &release.type; distributions along this branch
83 can be found at <ulink url="&release.url;"></ulink>.</para>
87 <![ %release.type.release [
89 <para>This distribution of &os; &release.current; is a
90 &release.type; distribution. It can be found at <ulink
91 url="&release.url;"></ulink> or any of its mirrors. More
92 information on obtaining this (or other) &release.type;
93 distributions of &os; can be found in the <ulink
94 url="&url.books.handbook;/mirrors.html"><quote>Obtaining
95 &os;</quote> appendix</ulink> to the <ulink
96 url="&url.books.handbook;/">&os;
97 Handbook</ulink>.</para>
101 <para>All users are encouraged to consult the release errata before
102 installing &os;. The errata document is updated with
103 <quote>late-breaking</quote> information discovered late in the
104 release cycle or after the release. Typically, it contains
105 information on known bugs, security advisories, and corrections to
106 documentation. An up-to-date copy of the errata for &os;
107 &release.current; can be found on the &os; Web site.</para>
112 <title>What's New</title>
114 <para>This section describes
115 the most user-visible new or changed features in &os;
116 since &release.prev;.
117 In general, changes described here are unique to the &release.branch;
118 branch unless specifically marked as &merged; features.
121 <para>Typical release note items
122 document recent security advisories issued after
124 new drivers or hardware support, new commands or options,
125 major bug fixes, or contributed software upgrades. They may also
126 list changes to major ports/packages or release engineering
127 practices. Clearly the release notes cannot list every single
128 change made to &os; between releases; this document focuses
129 primarily on security advisories, user-visible changes, and major
130 architectural improvements.</para>
132 <sect2 id="security">
133 <title>Security Advisories</title>
140 <title>Kernel Changes</title>
142 <para>A new &man.cpuset.2; API has been added
143 for thread to CPU binding and CPU resource grouping and
144 assignment. The &man.cpuset.1; userland utility has been added
145 to allow manipulation of processor sets.</para>
147 <para role="merged">The &man.ddb.4; kernel debugger now has an output capture
148 facility. Input and output from &man.ddb.4; can now be captured
149 to a memory buffer for later inspection using &man.sysctl.8; or
150 a textdump. The new <command>capture</command> command controls
153 <para role="merged">The &man.ddb.4; debugger now supports a simple scripting
154 facility, which supports a set of named scripts consisting of a
155 set of &man.ddb.4; commands. These commands can be managed from
156 within &man.ddb.4; or with the use of the new &man.ddb.8;
157 utility. More details can be found in the &man.ddb.4; manual
160 <para role="merged">The kernel now supports a new textdump format of kernel
161 dumps. A textdump provides higher-level information via
162 mechanically generated/extracted debugging output, rather than a
163 simple memory dump. This facility can be used to generate brief
164 kernel bug reports that are rich in debugging information, but
165 are not dependent on kernel symbol tables or precisely
166 synchronized source code. More information can be found in the
167 &man.textdump.4; manual page.</para>
169 <para>Kernel support for M:N threading has been removed. While
170 the KSE (Kernel Scheduled Entities) project was quite successful
171 in bringing threading to FreeBSD, the M:N approach taken by the
172 KSE library was never developed to its full potential.
173 Backwards compatibility for applications using KSE threading
174 will be provided via &man.libmap.conf.5; for dynamically linked
175 binaries. The &os; Project greatly appreciates the work of
176 &a.julian;, &a.deischen;, and &a.davidxu; on KSE support.</para>
178 <para>The &os; kernel now exports information about certain kernel
179 features via the <varname>kern.features</varname> sysctl tree.
180 The &man.feature.present.3; library call provides a convenient
181 interface for user applications to test the presence of
184 <para arch="amd64">The &os; kernel now has support for large
185 memory page mappings (<quote>superpages</quote>).</para>
187 <para arch="amd64,i386,ia64,powerpc" role="merged">The ULE
188 scheduler is now the default process scheduler
189 in <filename>GENERIC</filename> kernels.</para>
192 <title>Boot Loader Changes</title>
194 <para arch="amd64,i386" role="merged">The BTX kernel used by the boot
195 loader has been changed to invoke BIOS routines from real
196 mode. This change makes it possible to boot &os; from USB
199 <para arch="amd64,i386" role="merged">A new gptboot boot loader has
200 been added to support booting from a GPT labeled disk. A
201 new <command>boot</command> command has been added to
202 &man.gpt.8;, which makes a GPT disk bootable by writing the
203 required bits of the boot loader, creating a new boot
204 partition if required.</para>
209 <title>Hardware Support</title>
211 <para role="merged">The &man.cmx.4; driver, a driver for Omnikey CardMan 4040
212 PCMCIA smartcard readers, has been added.</para>
214 <para>The &man.syscons.4; driver now supports Colemak keyboard layout.</para>
216 <para role="merged">The &man.uslcom.4; driver, a driver for Silicon
217 Laboratories CP2101/CP2102-based USB serial adapters, has been
218 imported from OpenBSD.</para>
221 <title>Multimedia Support</title>
228 <title>Network Interface Support</title>
230 <para>The &man.ale.4; driver has been added to provide support
231 for Atheros AR8121/AR8113/AR8114 Gigabit/Fast Ethernet controllers.</para>
233 <para>The &man.em.4; driver has been split into two drivers
234 with some common parts. The &man.em.4; driver will continue
235 to support adapters up to the 82575, as well as new
236 client/desktop adapters. A new &man.igb.4; driver
237 will support new server adapters.</para>
239 <para>The &man.jme.4; driver has been added to provide support
240 for PCIe network adapters based on JMicron JMC250 Gigabit
241 Ethernet and JMC260 Fast Ethernet controllers.</para>
243 <para>The &man.malo.4; driver has been added to provide
244 support for Marvell Libertas 88W8335 based PCI network
247 <para>The firmware for the &man.mxge.4; driver has been
248 updated from 1.4.25 to 1.4.29.</para>
250 <para>The &man.sf.4; driver has been overhauled to improve its
251 performance and to add support for checksum offloading. It
252 should also work on all architectures.</para>
254 <para>The &man.re.4; driver has been overhauled to fix a
255 number of issues. This driver now has Wake On LAN (WOL)
258 <para>The &man.vr.4; driver has been overhauled to fix a
259 number of outstanding issues. It also now works on all
260 architectures.</para>
262 <para arch="amd64,i386" role="merged">The &man.wpi.4; driver has
263 been updated to include a number of stability fixes.</para>
268 <sect3 id="net-proto">
269 <title>Network Protocols</title>
271 <para>The &man.bpf.4; packet filter and capture facility now
272 supports a zero-copy mode of operation, in which buffers are
273 loaned from a user process to the kernel. This feature can
274 be enabled by setting
275 the <varname>net.bpf.zerocopy_enable</varname> sysctl
276 variable to <literal>1</literal>.</para>
278 <para>ISDN4BSD(I4B), <filename>netatm</filename>, and all
279 related subsystems have been removed due to lack of
280 multi-processor support.</para>
282 <para role="merged">A bug in TCP options padding, where the wrong padding
283 bytes were used, has been fixed.</para>
288 <title>Disks and Storage</title>
290 <para role="merged">The &man.aac.4; driver now supports volumes larger than
293 <para>The &man.ata.4; driver now supports a spindown command for
294 disks; after a configurable amount of time, if no requests
295 have been received for a disk, the disk will be spun down
296 until the next request. The &man.atacontrol.8; utility now
297 supports a <command>spindown</command> command to configure
300 <para role="merged">The &man.hptrr.4; driver has been updated to version 1.2
301 from Highpoint.</para>
306 <title>File Systems</title>
308 <para>A problem with using &man.mmap.2; on ZFS filesystems has
311 <para>A new kernel-mode NFS lock manager has been added,
312 improving performance and behavior of NFS locking. A new
313 &man.clear.locks.8; command has been added to clear locks held
314 on behalf of an NFS client.</para>
316 <para role="merged">The <application>ZFS</application> file system
317 has been upgraded to version 14. Additional changes include
318 support for NFSv4 ACLs, a speedup of zfs send and an improved L2ARC.
319 New statistics for prefetch and L2ARC have been introduced.</para>
324 <sect2 id="userland">
325 <title>Userland Changes</title>
327 <para role="merged">The &man.adduser.8; utility now supports
328 a <option>-M</option> option to set the mode of a new user's
329 home directory.</para>
331 <para>BSD-licensed versions of &man.ar.1; and &man.ranlib.1;,
332 based on <filename>libarchive</filename>, have replaced the GNU
333 Binutils versions of these utilities.</para>
335 <para>BSD-licensed versions of &man.bc.1; and &man.dc.1; have
336 replaced their GNU counterparts.</para>
338 <para role="merged">&man.chflags.1; now supports a <option>-v</option> flag for
339 verbose output and a <option>-f</option> flag to ignore errors
340 with the same semantics as (for example)
341 &man.chmod.1;.</para>
343 <para>For compatiblity with other implementations, &man.cp.1; now
344 supports a <option>-a</option> flag, which is equivalent to
345 specifying the <option>-RrP</option> flags.</para>
347 <para>BSD-licensed version of &man.cpio.1; based on
348 <filename>libarchive</filename>, has replaced the GNU cpio.
349 Note that the GNU cpio is still installed as
350 <filename>gcpio</filename>.</para>
352 <para>The &man.env.1; program now supports <option>-u
353 <replaceable>name</replaceable></option>
354 which will completely unset the given variable
355 <replaceable>name</replaceable> by removing it from the environment,
356 instead of just setting it to a null value.</para>
358 <para>The &man.fdopendir.3; library function has been added.</para>
360 <para role="merged">The &man.fetch.3; library now support HTTP 1.1
361 If-Modified-Since behavior. The &man.fetch.1; program now
362 supports <option>-i <replaceable>filename</replaceable></option>
363 which will only download the specified HTTP URL if the content
364 is newer than <replaceable>filename</replaceable>.</para>
366 <para>&man.find.1; has been enhanced by the addition of a number
367 of primaries that were present in GNU find but not &os;
370 <para>&man.jexec.8; now supports <option>-h
371 <replaceable>hostname</replaceable></option> option to specify the
372 jail where the command will be executed.</para>
374 <para>&man.kgdb.1; now supports a new <command>add-kld</command>
375 command to make it easier to debug crash dumps with kernel
378 <para>The &man.ls.1; program now supports a <option>-D</option>
379 option to specify a date format string to be used with the long
380 format (<option>-l</option>) output.</para>
382 <para>&man.nc.1; now supports a <option>-O</option> switch to
383 disable the use of TCP options.</para>
385 <para>&man.nc.1;'s <option>-o</option> switch has been deprecated.
386 It will be removed in a future release.</para>
388 <para>The &man.ping6.8; utility now returns <literal>2</literal>
389 when the packet transmission was successful but no responses
390 were received (this is the same behavior as &man.ping.8;).
391 It returned a non-zero value before this change.</para>
393 <para>The &man.procstat.1; utility has been added to display
394 detailed information about processes.</para>
396 <para role="merged">The &man.realpath.1; utility now supports
397 a <option>-q</option> flag to suppress warnings; it now also
398 accepts multiple paths on its command line.</para>
400 <para>The &man.split.1; utility now supports a <option>-n</option>
401 flag to split a file into a certain number of chunks.</para>
403 <para>The &man.tar.1; utility now supports a <option>-Z</option>
404 flag to enable &man.compress.1;-style
405 compression/decompression.</para>
407 <para>The &man.tar.1; utility now supports a
408 <option>--numeric-owner</option> flag to ignore user/group names
409 on create and extract.</para>
411 <para>The &man.tar.1; utility now supports an
412 <option>-S</option> flag to sparsify files on extraction.</para>
414 <para>The &man.tar.1; utility now supports a <option>-s</option>
415 flag to substitute filenames based on the specified regular
418 <para>The &man.tcgetsid.3; library function has been added to
419 return the process group ID for the session leader for the
420 controlling terminal. It is defined in IEEE Std 1003.1-2001
423 <para>&man.top.1; now supports a <option>-P</option> flag to
424 provide per-CPU usage statistics.</para>
426 <para>&man.zdump.8; is now working properly on 64 bit architectures.
429 <para>&man.traceroute.8; now has the ability to print the AS
430 number for each hop with the new <option>-a</option> switch; a
431 new <option>-A</option> option allows selecting a particular
434 <para>&man.traceroute6.8; now supports a <option>-U</option> flag
435 to send probe packets with no upper-layer protocol, rather than
436 the usual UDP probe packets.</para>
438 <sect3 id="rc-scripts">
439 <title><filename>/etc/rc.d</filename> Scripts</title>
447 <title>Contributed Software</title>
449 <para role="merged"><application>AMD</application> has been updated from 6.0.10
452 <para role="merged"><application>awk</application> has been updated from 1 May
453 2007 release to the 23 October 2007 release.</para>
455 <para role="merged"><application>bzip2</application> has been updated from 1.0.4
458 <para><application>CVS</application> has been updated from 1.11.17
459 to a post-1.11.22 snapshot from 10 March 2008.</para>
461 <para><application>FILE</application> has been updated from 4.23
464 <para><application>hostapd</application> has been
465 updated from 0.5.8 to 0.5.10.</para>
467 <para><application>IPFilter</application> has been updated from
468 4.1.23 to 4.1.28.</para>
470 <para><application>less</application> has been updated from
473 <para><application>ncurses</application> has been updated from
474 5.6-20061217 to 5.6-20080503.</para>
476 <para role="merged"><application>OpenSSH</application> has been updated
477 from 4.5p1 to 5.1p1.</para>
479 <para role="merged"><application>OpenPAM</application> has been updated from the
480 Figwort release to the Hydrangea release.</para>
482 <para role="merged"><application>sendmail</application> has been updated from
483 8.14.1 to 8.14.5.</para>
485 <para role="merged">The timezone database has been updated from
486 the <application>tzdata2008h</application> release to
487 the <application>tzdata2009m</application> release.</para>
489 <para>The stdtime part of libc, &man.zdump.8 and &man.zic.8
490 have been updated from the <application>tzcode2004a</application>
491 release to the <application>tzcode2009h</application> release.
492 If you have upgraded from source or via the &man.freebsd-update.8,
493 then please run &man.tzsetup.8 to install a new /etc/localtime.
496 <para><application>WPA Supplicant</application> has been
497 updated from 0.5.8 to 0.5.10.</para>
499 <para role="merged"><application>xz</application> has been updated
500 from snapshot as of 12 April 2010 to 5.0.0.</para>
505 <title>Ports/Packages Collection Infrastructure</title>
507 <para>The &man.pkg.create.1; utility now supports
508 <option>-n</option>. When this option is specified and a
509 package tarball exists, it will not be overwritten. This is
510 useful when multiple packages are saved with several consecutive
511 runs of &man.pkg.create.1; with the <option>-Rb</option>
514 <para>The pkg_sign and pkg_check utilities for cryptographically
515 signing &os; packages have been removed. They were only useful
516 for packages compressed using &man.gzip.1;; however
517 &man.bzip2.1; compression has been the norm for some time
523 <title>Release Engineering and Integration</title>
525 <para role="merged">The supported version of
526 the <application>GNOME</application> desktop environment
527 (<filename role="package">x11/gnome2</filename>) has been
528 updated from 2.20.1 to 2.22.</para>
533 <title>Documentation</title>
541 <title>Upgrading from previous releases of &os;</title>
543 <para arch="amd64,i386">Beginning with &os; 6.2-RELEASE,
544 binary upgrades between RELEASE versions (and snapshots of the
545 various security branches) are supported using the
546 &man.freebsd-update.8; utility. The binary upgrade procedure will
547 update unmodified userland utilities, as well as unmodified GENERIC or
548 SMP kernels distributed as a part of an official &os; release.
549 The &man.freebsd-update.8; utility requires that the host being
550 upgraded have Internet connectivity.</para>
552 <para>An older form of binary upgrade is supported through the
553 <command>Upgrade</command> option from the main &man.sysinstall.8;
554 menu on CDROM distribution media. This type of binary upgrade
555 may be useful on non-&arch.i386;, non-&arch.amd64; machines
556 or on systems with no Internet connectivity.</para>
558 <para>Source-based upgrades (those based on recompiling the &os;
559 base system from source code) from previous versions are
560 supported, according to the instructions in
561 <filename>/usr/src/UPDATING</filename>.</para>
564 <para>Upgrading &os; should, of course, only be attempted after
565 backing up <emphasis>all</emphasis> data and configuration