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>
33 <holder role="mailto:doc@FreeBSD.org">The &os; Documentation Project</holder>
36 <legalnotice id="trademarks" role="trademarks">
46 <para>The release notes for &os; &release.current; contain a summary
47 of the changes made to the &os; base system on the
48 &release.branch; development line.
49 This document lists applicable security advisories that were issued since
50 the last release, as well as significant changes to the &os;
52 Some brief remarks on upgrading are also presented.</para>
57 <title>Introduction</title>
59 <para>This document contains the release notes for &os;
61 describes recently added, changed, or deleted features of &os;.
62 It also provides some notes on upgrading
63 from previous versions of &os;.</para>
65 <![ %release.type.current [
67 <para>The &release.type; distribution to which these release notes
68 apply represents the latest point along the &release.branch; development
69 branch since &release.branch; was created. Information regarding pre-built, binary
70 &release.type; distributions along this branch
71 can be found at <ulink url="&release.url;"></ulink>.</para>
75 <![ %release.type.snapshot [
77 <para>The &release.type; distribution to which these release notes
78 apply represents a point along the &release.branch; development
79 branch between &release.prev; and the future &release.next;.
81 pre-built, binary &release.type; distributions along this branch
82 can be found at <ulink url="&release.url;"></ulink>.</para>
86 <![ %release.type.release [
88 <para>This distribution of &os; &release.current; is a
89 &release.type; distribution. It can be found at <ulink
90 url="&release.url;"></ulink> or any of its mirrors. More
91 information on obtaining this (or other) &release.type;
92 distributions of &os; can be found in the <ulink
93 url="&url.books.handbook;/mirrors.html"><quote>Obtaining
94 &os;</quote> appendix</ulink> to the <ulink
95 url="&url.books.handbook;/">&os;
96 Handbook</ulink>.</para>
100 <para>All users are encouraged to consult the release errata before
101 installing &os;. The errata document is updated with
102 <quote>late-breaking</quote> information discovered late in the
103 release cycle or after the release. Typically, it contains
104 information on known bugs, security advisories, and corrections to
105 documentation. An up-to-date copy of the errata for &os;
106 &release.current; can be found on the &os; Web site.</para>
111 <title>What's New</title>
113 <para>This section describes
114 the most user-visible new or changed features in &os;
115 since &release.prev;.
116 In general, changes described here are unique to the &release.branch;
117 branch unless specifically marked as &merged; features.
120 <para>Typical release note items
121 document recent security advisories issued after
123 new drivers or hardware support, new commands or options,
124 major bug fixes, or contributed software upgrades. They may also
125 list changes to major ports/packages or release engineering
126 practices. Clearly the release notes cannot list every single
127 change made to &os; between releases; this document focuses
128 primarily on security advisories, user-visible changes, and major
129 architectural improvements.</para>
131 <sect2 id="security">
132 <title>Security Advisories</title>
139 <title>Kernel Changes</title>
141 <para>A new &man.cpuset.2; API has been added
142 for thread to CPU binding and CPU resource grouping and
143 assignment. The &man.cpuset.1; userland utility has been added
144 to allow manipulation of processor sets.</para>
146 <para role="merged">The &man.ddb.4; kernel debugger now has an output capture
147 facility. Input and output from &man.ddb.4; can now be captured
148 to a memory buffer for later inspection using &man.sysctl.8; or
149 a textdump. The new <command>capture</command> command controls
152 <para role="merged">The &man.ddb.4; debugger now supports a simple scripting
153 facility, which supports a set of named scripts consisting of a
154 set of &man.ddb.4; commands. These commands can be managed from
155 within &man.ddb.4; or with the use of the new &man.ddb.8;
156 utility. More details can be found in the &man.ddb.4; manual
159 <para role="merged">The kernel now supports a new textdump format of kernel
160 dumps. A textdump provides higher-level information via
161 mechanically generated/extracted debugging output, rather than a
162 simple memory dump. This facility can be used to generate brief
163 kernel bug reports that are rich in debugging information, but
164 are not dependent on kernel symbol tables or precisely
165 synchronized source code. More information can be found in the
166 &man.textdump.4; manual page.</para>
168 <para>Kernel support for M:N threading has been removed. While
169 the KSE (Kernel Scheduled Entities) project was quite successful
170 in bringing threading to FreeBSD, the M:N approach taken by the
171 KSE library was never developed to its full potential.
172 Backwards compatibility for applications using KSE threading
173 will be provided via &man.libmap.conf.5; for dynamically linked
174 binaries. The &os; Project greatly appreciates the work of
175 &a.julian;, &a.deischen;, and &a.davidxu; on KSE support.</para>
177 <para>The &os; kernel now exports information about certain kernel
178 features via the <varname>kern.features</varname> sysctl tree.
179 The &man.feature.present.3; library call provides a convenient
180 interface for user applications to test the presence of
183 <para arch="amd64">The &os; kernel now has support for large
184 memory page mappings (<quote>superpages</quote>).</para>
186 <para arch="amd64,i386,ia64,powerpc" role="merged">The ULE
187 scheduler is now the default process scheduler
188 in <filename>GENERIC</filename> kernels.</para>
191 <title>Boot Loader Changes</title>
193 <para arch="amd64,i386" role="merged">The BTX kernel used by the boot
194 loader has been changed to invoke BIOS routines from real
195 mode. This change makes it possible to boot &os; from USB
198 <para arch="amd64,i386" role="merged">A new gptboot boot loader has
199 been added to support booting from a GPT labeled disk. A
200 new <command>boot</command> command has been added to
201 &man.gpt.8;, which makes a GPT disk bootable by writing the
202 required bits of the boot loader, creating a new boot
203 partition if required.</para>
208 <title>Hardware Support</title>
210 <para role="merged">The &man.cmx.4; driver, a driver for Omnikey CardMan 4040
211 PCMCIA smartcard readers, has been added.</para>
213 <para>The &man.syscons.4; driver now supports Colemak keyboard layout.</para>
215 <para role="merged">The &man.uslcom.4; driver, a driver for Silicon
216 Laboratories CP2101/CP2102-based USB serial adapters, has been
217 imported from OpenBSD.</para>
220 <title>Multimedia Support</title>
227 <title>Network Interface Support</title>
229 <para>The &man.ale.4; driver has been added to provide support
230 for Atheros AR8121/AR8113/AR8114 Gigabit/Fast Ethernet controllers.</para>
232 <para>The &man.em.4; driver has been split into two drivers
233 with some common parts. The &man.em.4; driver will continue
234 to support adapters up to the 82575, as well as new
235 client/desktop adapters. A new &man.igb.4; driver
236 will support new server adapters.</para>
238 <para>The &man.jme.4; driver has been added to provide support
239 for PCIe network adapters based on JMicron JMC250 Gigabit
240 Ethernet and JMC260 Fast Ethernet controllers.</para>
242 <para>The &man.malo.4; driver has been added to provide
243 support for Marvell Libertas 88W8335 based PCI network
246 <para>The firmware for the &man.mxge.4; driver has been
247 updated from 1.4.25 to 1.4.29.</para>
249 <para>The &man.sf.4; driver has been overhauled to improve its
250 performance and to add support for checksum offloading. It
251 should also work on all architectures.</para>
253 <para>The &man.re.4; driver has been overhauled to fix a
254 number of issues. This driver now has Wake On LAN (WOL)
257 <para>The &man.vr.4; driver has been overhauled to fix a
258 number of outstanding issues. It also now works on all
259 architectures.</para>
261 <para arch="amd64,i386" role="merged">The &man.wpi.4; driver has
262 been updated to include a number of stability fixes.</para>
267 <sect3 id="net-proto">
268 <title>Network Protocols</title>
270 <para>The &man.bpf.4; packet filter and capture facility now
271 supports a zero-copy mode of operation, in which buffers are
272 loaned from a user process to the kernel. This feature can
273 be enabled by setting
274 the <varname>net.bpf.zerocopy_enable</varname> sysctl
275 variable to <literal>1</literal>.</para>
277 <para>ISDN4BSD(I4B), <filename>netatm</filename>, and all
278 related subsystems have been removed due to lack of
279 multi-processor support.</para>
281 <para role="merged">A bug in TCP options padding, where the wrong padding
282 bytes were used, has been fixed.</para>
287 <title>Disks and Storage</title>
289 <para role="merged">The &man.aac.4; driver now supports volumes larger than
292 <para>The &man.ata.4; driver now supports a spindown command for
293 disks; after a configurable amount of time, if no requests
294 have been received for a disk, the disk will be spun down
295 until the next request. The &man.atacontrol.8; utility now
296 supports a <command>spindown</command> command to configure
299 <para role="merged">The &man.hptrr.4; driver has been updated to version 1.2
300 from Highpoint.</para>
305 <title>File Systems</title>
307 <para>A problem with using &man.mmap.2; on ZFS filesystems has
310 <para>A new kernel-mode NFS lock manager has been added,
311 improving performance and behavior of NFS locking. A new
312 &man.clear.locks.8; command has been added to clear locks held
313 on behalf of an NFS client.</para>
318 <sect2 id="userland">
319 <title>Userland Changes</title>
321 <para role="merged">The &man.adduser.8; utility now supports
322 a <option>-M</option> option to set the mode of a new user's
323 home directory.</para>
325 <para>BSD-licensed versions of &man.ar.1; and &man.ranlib.1;,
326 based on <filename>libarchive</filename>, have replaced the GNU
327 Binutils versions of these utilities.</para>
329 <para role="merged">&man.chflags.1; now supports a <option>-v</option> flag for
330 verbose output and a <option>-f</option> flag to ignore errors
331 with the same semantics as (for example)
332 &man.chmod.1;.</para>
334 <para>For compatiblity with other implementations, &man.cp.1; now
335 supports a <option>-a</option> flag, which is equivalent to
336 specifying the <option>-RrP</option> flags.</para>
338 <para>BSD-licensed version of &man.cpio.1; based on
339 <filename>libarchive</filename>, has replaced the GNU cpio.
340 Note that the GNU cpio is still installed as
341 <filename>gcpio</filename>.</para>
343 <para>The &man.env.1; program now supports <option>-u
344 <replaceable>name</replaceable></option>
345 which will completely unset the given variable
346 <replaceable>name</replaceable> by removing it from the environment,
347 instead of just setting it to a null value.</para>
349 <para>The &man.fdopendir.3; library function has been added.</para>
351 <para role="merged">The &man.fetch.3; library now support HTTP 1.1
352 If-Modified-Since behavior. The &man.fetch.1; program now
353 supports <option>-i <replaceable>filename</replaceable></option>
354 which will only download the specified HTTP URL if the content
355 is newer than <replaceable>filename</replaceable>.</para>
357 <para>&man.find.1; has been enhanced by the addition of a number
358 of primaries that were present in GNU find but not &os;
361 <para>&man.jexec.8; now supports <option>-h
362 <replaceable>hostname</replaceable></option> option to specify the
363 jail where the command will be executed.</para>
365 <para>&man.kgdb.1; now supports a new <command>add-kld</command>
366 command to make it easier to debug crash dumps with kernel
369 <para>The &man.ls.1; program now supports a <option>-D</option>
370 option to specify a date format string to be used with the long
371 format (<option>-l</option>) output.</para>
373 <para>&man.nc.1; now supports a <option>-O</option> switch to
374 disable the use of TCP options.</para>
376 <para>The &man.ping6.8; utility now returns <literal>2</literal>
377 when the packet transmission was successful but no responses
378 were received (this is the same behavior as &man.ping.8;).
379 It returned a non-zero value before this change.</para>
381 <para>The &man.procstat.1; utility has been added to display
382 detailed information about processes.</para>
384 <para role="merged">The &man.realpath.1; utility now supports
385 a <option>-q</option> flag to suppress warnings; it now also
386 accepts multiple paths on its command line.</para>
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 id="rc-scripts">
427 <title><filename>/etc/rc.d</filename> Scripts</title>
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.3.</para>
473 <para role="merged">The timezone database has been updated from
474 the <application>tzdata2008h</application> release to
475 the <application>tzdata2009j</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>
490 <title>Ports/Packages Collection Infrastructure</title>
492 <para>The &man.pkg.create.1; utility now supports
493 <option>-n</option>. When this option is specified and a
494 package tarball exists, it will not be overwritten. This is
495 useful when multiple packages are saved with several consecutive
496 runs of &man.pkg.create.1; with the <option>-Rb</option>
499 <para>The pkg_sign and pkg_check utilities for cryptographically
500 signing &os; packages have been removed. They were only useful
501 for packages compressed using &man.gzip.1;; however
502 &man.bzip2.1; compression has been the norm for some time
508 <title>Release Engineering and Integration</title>
510 <para role="merged">The supported version of
511 the <application>GNOME</application> desktop environment
512 (<filename role="package">x11/gnome2</filename>) has been
513 updated from 2.20.1 to 2.22.</para>
518 <title>Documentation</title>
526 <title>Upgrading from previous releases of &os;</title>
528 <para arch="amd64,i386">Beginning with &os; 6.2-RELEASE,
529 binary upgrades between RELEASE versions (and snapshots of the
530 various security branches) are supported using the
531 &man.freebsd-update.8; utility. The binary upgrade procedure will
532 update unmodified userland utilities, as well as unmodified GENERIC or
533 SMP kernels distributed as a part of an official &os; release.
534 The &man.freebsd-update.8; utility requires that the host being
535 upgraded have Internet connectivity.</para>
537 <para>An older form of binary upgrade is supported through the
538 <command>Upgrade</command> option from the main &man.sysinstall.8;
539 menu on CDROM distribution media. This type of binary upgrade
540 may be useful on non-&arch.i386;, non-&arch.amd64; machines
541 or on systems with no Internet connectivity.</para>
543 <para>Source-based upgrades (those based on recompiling the &os;
544 base system from source code) from previous versions are
545 supported, according to the instructions in
546 <filename>/usr/src/UPDATING</filename>.</para>
549 <para>Upgrading &os; should, of course, only be attempted after
550 backing up <emphasis>all</emphasis> data and configuration