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>
32 <holder role="mailto:doc@FreeBSD.org">The &os; Documentation Project</holder>
35 <legalnotice id="trademarks" role="trademarks">
45 <para>The release notes for &os; &release.current; contain a summary
46 of the changes made to the &os; base system on the
47 &release.branch; development line.
48 This document lists applicable security advisories that were issued since
49 the last release, as well as significant changes to the &os;
51 Some brief remarks on upgrading are also presented.</para>
56 <title>Introduction</title>
58 <para>This document contains the release notes for &os;
60 describes recently added, changed, or deleted features of &os;.
61 It also provides some notes on upgrading
62 from previous versions of &os;.</para>
64 <![ %release.type.current [
66 <para>The &release.type; distribution to which these release notes
67 apply represents the latest point along the &release.branch; development
68 branch since &release.branch; was created. Information regarding pre-built, binary
69 &release.type; distributions along this branch
70 can be found at <ulink url="&release.url;"></ulink>.</para>
74 <![ %release.type.snapshot [
76 <para>The &release.type; distribution to which these release notes
77 apply represents a point along the &release.branch; development
78 branch between &release.prev; and the future &release.next;.
80 pre-built, binary &release.type; distributions along this branch
81 can be found at <ulink url="&release.url;"></ulink>.</para>
85 <![ %release.type.release [
87 <para>This distribution of &os; &release.current; is a
88 &release.type; distribution. It can be found at <ulink
89 url="&release.url;"></ulink> or any of its mirrors. More
90 information on obtaining this (or other) &release.type;
91 distributions of &os; can be found in the <ulink
92 url="&url.books.handbook;/mirrors.html"><quote>Obtaining
93 &os;</quote> appendix</ulink> to the <ulink
94 url="&url.books.handbook;/">&os;
95 Handbook</ulink>.</para>
99 <para>All users are encouraged to consult the release errata before
100 installing &os;. The errata document is updated with
101 <quote>late-breaking</quote> information discovered late in the
102 release cycle or after the release. Typically, it contains
103 information on known bugs, security advisories, and corrections to
104 documentation. An up-to-date copy of the errata for &os;
105 &release.current; can be found on the &os; Web site.</para>
110 <title>What's New</title>
112 <para>This section describes
113 the most user-visible new or changed features in &os;
114 since &release.prev;.
115 In general, changes described here are unique to the &release.branch;
116 branch unless specifically marked as &merged; features.
119 <para>Typical release note items
120 document recent security advisories issued after
122 new drivers or hardware support, new commands or options,
123 major bug fixes, or contributed software upgrades. They may also
124 list changes to major ports/packages or release engineering
125 practices. Clearly the release notes cannot list every single
126 change made to &os; between releases; this document focuses
127 primarily on security advisories, user-visible changes, and major
128 architectural improvements.</para>
130 <sect2 id="security">
131 <title>Security Advisories</title>
138 <title>Kernel Changes</title>
140 <para>A new &man.cpuset.2; API has been added
141 for thread to CPU binding and CPU resource grouping and
142 assignment. The &man.cpuset.1; userland utility has been added
143 to allow manipulation of processor sets.</para>
145 <para role="merged">The &man.ddb.4; kernel debugger now has an output capture
146 facility. Input and output from &man.ddb.4; can now be captured
147 to a memory buffer for later inspection using &man.sysctl.8; or
148 a textdump. The new <command>capture</command> command controls
151 <para role="merged">The &man.ddb.4; debugger now supports a simple scripting
152 facility, which supports a set of named scripts consisting of a
153 set of &man.ddb.4; commands. These commands can be managed from
154 within &man.ddb.4; or with the use of the new &man.ddb.8;
155 utility. More details can be found in the &man.ddb.4; manual
158 <para role="merged">The kernel now supports a new textdump format of kernel
159 dumps. A textdump provides higher-level information via
160 mechanically generated/extracted debugging output, rather than a
161 simple memory dump. This facility can be used to generate brief
162 kernel bug reports that are rich in debugging information, but
163 are not dependent on kernel symbol tables or precisely
164 synchronized source code. More information can be found in the
165 &man.textdump.4; manual page.</para>
167 <para>Kernel support for M:N threading has been removed. While
168 the KSE (Kernel Scheduled Entities) project was quite successful
169 in bringing threading to FreeBSD, the M:N approach taken by the
170 kse library was never developed to its full potential.
171 Backwards compatibility for applications using KSE threading
172 will be provided via &man.libmap.conf.5; for dynamically linked
173 binaries. The &os; Project greatly appreciates the work of
174 &a.julian;, &a.deischen;, and &a.davidxu; on KSE support.</para>
176 <para>The &os; kernel now exports information about certain kernel
177 features via the <varname>kern.features</varname> sysctl tree.
178 The &man.feature.present.3; library call provides a convenient
179 interface for user applications to test the presence of
182 <para arch="amd64">The &os; kernel now has support for large
183 memory page mappings (<quote>superpages</quote>).</para>
185 <para arch="amd64,i386,ia64,powerpc" role="merged">The ULE
186 scheduler is now the default process scheduler
187 in <filename>GENERIC</filename> kernels.</para>
190 <title>Boot Loader Changes</title>
192 <para arch="amd64,i386" role="merged">The BTX kernel used by the boot
193 loader has been changed to invoke BIOS routines from real
194 mode. This change makes it possible to boot &os; from USB
197 <para arch="amd64,i386" role="merged">A new gptboot boot loader has
198 been added to support booting from a GPT labeled disk. A
199 new <command>boot</command> command has been added to
200 &man.gpt.8;, which makes a GPT disk bootable by writing the
201 required bits of the boot loader, creating a new boot
202 partition if required.</para>
207 <title>Hardware Support</title>
209 <para role="merged">The &man.cmx.4; driver, a driver for Omnikey CardMan 4040
210 PCMCIA smartcard readers, has been added.</para>
212 <para>The &man.syscons.4; driver now supports Colemak keyboard layout.</para>
214 <para role="merged">The &man.uslcom.4; driver, a driver for Silicon
215 Laboratories CP2101/CP2102-based USB serial adapters, has been
216 imported from OpenBSD.</para>
219 <title>Multimedia Support</title>
226 <title>Network Interface Support</title>
228 <para>The &man.em.4; driver has been split into two drivers
229 with some common parts. The &man.em.4; driver will continue
230 to support adapters up to the 82575, as well as new
231 client/desktop adapters. A new igb driver
232 will support new server adapters.</para>
234 <para>The &man.jme.4; driver has been added to provide support
235 for PCIe network adapters based on JMicron JMC250 Gigabit
236 Ethernet and JMC260 Fast Ethernet controllers.</para>
238 <para>The &man.malo.4; driver has been added to provide
239 support for Marvell Libertas 88W8335 based PCI network
242 <para>The firmware for the &man.mxge.4; driver has been
243 updated from 1.4.25 to 1.4.29.</para>
245 <para>The &man.sf.4; driver has been overhauled to improve its
246 performance and to add support for checksum offloading. It
247 should also work on all architectures.</para>
249 <para>The &man.re.4; driver has been overhauled to fix a
250 number of issues. This driver now has Wake On LAN (WOL)
253 <para>The &man.vr.4; driver has been overhauled to fix a
254 number of outstanding issues. It also now works on all
255 architectures.</para>
257 <para arch="amd64,i386" role="merged">The &man.wpi.4; driver has
258 been updated to include a number of stability fixes.</para>
263 <sect3 id="net-proto">
264 <title>Network Protocols</title>
266 <para>The &man.bpf.4; packet filter and capture facility now
267 supports a zero-copy mode of operation, in which buffers are
268 loaned from a user process to the kernel. This feature can
269 be enabled by setting
270 the <varname>net.bpf.zerocopy_enable</varname> sysctl
271 variable to <literal>1</literal>.</para>
273 <para>ISDN4BSD(I4B), <filename>netatm</filename>, and all
274 related subsystems have been removed due to lack of
275 multi-processor support.</para>
277 <para role="merged">A bug in TCP options padding, where the wrong padding
278 bytes were used, has been fixed.</para>
283 <title>Disks and Storage</title>
285 <para role="merged">The &man.aac.4; driver now supports volumes larger than
288 <para>The &man.ata.4; driver now supports a spindown command for
289 disks; after a configurable amount of time, if no requests
290 have been received for a disk, the disk will be spun down
291 until the next request. The &man.atacontrol.8; utility now
292 supports a <command>spindown</command> command to configure
295 <para role="merged">The &man.hptrr.4; driver has been updated to version 1.2
296 from Highpoint.</para>
301 <title>File Systems</title>
303 <para>A problem with using &man.mmap.2; on ZFS filesystems has
306 <para>A new kernel-mode NFS lock manager has been added,
307 improving performance and behavior of NFS locking. A new
308 &man.clear.locks.8; command has been added to clear locks held
309 on behalf of an NFS client.</para>
314 <sect2 id="userland">
315 <title>Userland Changes</title>
317 <para role="merged">The &man.adduser.8; utility now supports
318 a <option>-M</option> option to set the mode of a new user's
319 home directory.</para>
321 <para>BSD-licensed versions of &man.ar.1; and &man.ranlib.1;,
322 based on <filename>libarchive</filename>, have replaced the GNU
323 Binutils versions of these utilities.</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 compatiblity 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>&man.find.1; has been enhanced by the addition of a number
348 of primaries that were present in GNU find but not &os;
351 <para>&man.jexec.8; now supports <option>-h
352 <replaceable>hostname</replaceable></option> option to specify the
353 jail where the command will be executed.</para>
355 <para>&man.kgdb.1; now supports a new <command>add-kld</command>
356 command to make it easier to debug crash dumps with kernel
359 <para>The &man.ls.1; program now supports a <option>-D</option>
360 option to specify a date format string to be used with the long
361 format (<option>-l</option>) output.</para>
363 <para>&man.nc.1; now supports a <option>-O</option> switch to
364 disable the use of TCP options.</para>
366 <para>The &man.ping6.8; utility now returns <literal>2</literal>
367 when the packet transmission was successful but no responses
368 were received (this is the same behavior as &man.ping.8;).
369 It returned a non-zero value before this change.</para>
371 <para>The &man.procstat.1; utility has been added to display
372 detailed information about processes.</para>
374 <para role="merged">The &man.realpath.1; utility now supports
375 a <option>-q</option> flag to suppress warnings; it now also
376 accepts multiple paths on its command line.</para>
378 <para>The &man.split.1; utility now supports a <option>-n</option>
379 flag to split a file into a certain number of chunks.</para>
381 <para>The &man.tar.1; utility now supports a <option>-Z</option>
382 flag to enable &man.compress.1;-style
383 compression/decompression.</para>
385 <para>The &man.tar.1; utility now supports a
386 <option>--numeric-owner</option> flag to ignore user/group names
387 on create and extract.</para>
389 <para>The &man.tar.1; utility now supports an
390 <option>-S</option> flag to sparsify files on extraction.</para>
392 <para>The &man.tar.1; utility now supports a <option>-s</option>
393 flag to substitute filenames based on the specified regular
396 <para>The &man.tcgetsid.3; library function has been added to
397 return the process group ID for the session leader for the
398 controlling terminal. It is defined in IEEE Std 1003.1-2001
401 <para>&man.top.1; now supports a <option>-P</option> flag to
402 provide per-CPU usage statistics.</para>
404 <para>&man.traceroute.8; now has the ability to print the AS
405 number for each hop with the new <option>-a</option> switch; a
406 new <option>-A</option> option allows selecting a particular
409 <para>&man.traceroute6.8; now supports a <option>-U</option> flag
410 to send probe packets with no upper-layer protocol, rather than
411 the usual UDP probe packets.</para>
413 <sect3 id="rc-scripts">
414 <title><filename>/etc/rc.d</filename> Scripts</title>
422 <title>Contributed Software</title>
424 <para role="merged"><application>AMD</application> has been updated from 6.0.10
427 <para role="merged"><application>awk</application> has been updated from 1 May
428 2007 release to the 23 October 2007 release.</para>
430 <para role="merged"><application>bzip2</application> has been updated from 1.0.4
433 <para><application>CVS</application> has been updated from 1.11.17
434 to a post-1.11.22 snapshot from 10 March 2008.</para>
436 <para><application>hostapd</application> has been
437 updated from 0.5.8 to 0.5.10.</para>
439 <para><application>IPFilter</application> has been updated from
440 4.1.23 to 4.1.28.</para>
442 <para><application>less</application> has been updated from
445 <para><application>ncurses</application> has been updated from
446 5.6-20061217 to 5.6-20080503.</para>
448 <para role="merged"><application>OpenSSH</application> has been updated
449 from 4.5p1 to 5.1p1.</para>
451 <para role="merged"><application>OpenPAM</application> has been updated from the
452 Figwort release to the Hydrangea release.</para>
454 <para role="merged"><application>sendmail</application> has been updated from
455 8.14.1 to 8.14.3.</para>
457 <para role="merged">The timezone database has been updated from
458 the <application>tzdata2008b</application> release to
459 the <application>tzdata2008h</application> release.</para>
461 <para><application>WPA Supplicant</application> has been
462 updated from 0.5.8 to 0.5.10.</para>
467 <title>Ports/Packages Collection Infrastructure</title>
469 <para>The &man.pkg.create.1; utility now supports
470 <option>-n</option>. When this option is specified and a
471 package tarball exists, it will not be overwritten. This is
472 useful when multiple packages are saved with several consecutive
473 runs of &man.pkg.create.1; with the <option>-Rb</option>
476 <para>The pkg_sign and pkg_check utilities for cryptographically
477 signing &os; packages have been removed. They were only useful
478 for packages compressed using &man.gzip.1;; however
479 &man.bzip2.1; compression has been the norm for some time
485 <title>Release Engineering and Integration</title>
487 <para role="merged">The supported version of
488 the <application>GNOME</application> desktop environment
489 (<filename role="package">x11/gnome2</filename>) has been
490 updated from 2.20.1 to 2.22.</para>
495 <title>Documentation</title>
503 <title>Upgrading from previous releases of &os;</title>
505 <para arch="amd64,i386">Beginning with &os; 6.2-RELEASE,
506 binary upgrades between RELEASE versions (and snapshots of the
507 various security branches) are supported using the
508 &man.freebsd-update.8; utility. The binary upgrade procedure will
509 update unmodified userland utilities, as well as unmodified GENERIC or
510 SMP kernels distributed as a part of an official &os; release.
511 The &man.freebsd-update.8; utility requires that the host being
512 upgraded have Internet connectivity.</para>
514 <para>An older form of binary upgrade is supported through the
515 <command>Upgrade</command> option from the main &man.sysinstall.8;
516 menu on CDROM distribution media. This type of binary upgrade
517 may be useful on non-&arch.i386;, non-&arch.amd64; machines
518 or on systems with no Internet connectivity.</para>
520 <para>Source-based upgrades (those based on recompiling the &os;
521 base system from source code) from previous versions are
522 supported, according to the instructions in
523 <filename>/usr/src/UPDATING</filename>.</para>
526 <para>Upgrading &os; should, of course, only be attempted after
527 backing up <emphasis>all</emphasis> data and configuration