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 arch="amd64">The maximum amount of memory the &os; kernel
124 can address has been increased from 1TB to 4TB.</para>
126 <para>A new &man.cpuset.2; API has been added
127 for thread to CPU binding and CPU resource grouping and
128 assignment. The &man.cpuset.1; userland utility has been added
129 to allow manipulation of processor sets.</para>
131 <para role="merged">The &man.ddb.4; kernel debugger now has an output capture
132 facility. Input and output from &man.ddb.4; can now be captured
133 to a memory buffer for later inspection using &man.sysctl.8; or
134 a textdump. The new <command>capture</command> command controls
137 <para role="merged">The &man.ddb.4; debugger now supports a simple scripting
138 facility, which supports a set of named scripts consisting of a
139 set of &man.ddb.4; commands. These commands can be managed from
140 within &man.ddb.4; or with the use of the new &man.ddb.8;
141 utility. More details can be found in the &man.ddb.4; manual
144 <para role="merged">The kernel now supports a new textdump format of kernel
145 dumps. A textdump provides higher-level information via
146 mechanically generated/extracted debugging output, rather than a
147 simple memory dump. This facility can be used to generate brief
148 kernel bug reports that are rich in debugging information, but
149 are not dependent on kernel symbol tables or precisely
150 synchronized source code. More information can be found in the
151 &man.textdump.4; manual page.</para>
153 <para>Kernel support for M:N threading has been removed. While
154 the KSE (Kernel Scheduled Entities) project was quite successful
155 in bringing threading to FreeBSD, the M:N approach taken by the
156 KSE library was never developed to its full potential.
157 Backwards compatibility for applications using KSE threading
158 will be provided via &man.libmap.conf.5; for dynamically linked
159 binaries. The &os; Project greatly appreciates the work of
160 &a.julian;, &a.deischen;, and &a.davidxu; on KSE support.</para>
162 <para>The &os; kernel now exports information about certain kernel
163 features via the <varname>kern.features</varname> sysctl tree.
164 The &man.feature.present.3; library call provides a convenient
165 interface for user applications to test the presence of
168 <para arch="amd64">The &os; kernel now has support for large
169 memory page mappings (<quote>superpages</quote>).</para>
171 <para arch="amd64,i386,ia64,powerpc" role="merged">The ULE
172 scheduler is now the default process scheduler
173 in <filename>GENERIC</filename> kernels.</para>
175 <sect3 xml:id="boot">
176 <title>Boot Loader Changes</title>
178 <para arch="amd64,i386" role="merged">The BTX kernel used by the boot
179 loader has been changed to invoke BIOS routines from real
180 mode. This change makes it possible to boot &os; from USB
183 <para arch="amd64,i386" role="merged">A new gptboot boot loader has
184 been added to support booting from a GPT labeled disk. A
185 new <command>boot</command> command has been added to
186 &man.gpt.8;, which makes a GPT disk bootable by writing the
187 required bits of the boot loader, creating a new boot
188 partition if required.</para>
192 <sect3 xml:id="proc">
193 <title>Hardware Support</title>
195 <para role="merged">The &man.cmx.4; driver, a driver for Omnikey CardMan 4040
196 PCMCIA smartcard readers, has been added.</para>
198 <para>The &man.syscons.4; driver now supports Colemak keyboard layout.</para>
200 <para role="merged">The &man.uslcom.4; driver, a driver for Silicon
201 Laboratories CP2101/CP2102-based USB serial adapters, has been
202 imported from OpenBSD.</para>
205 <title>Multimedia Support</title>
207 <para>Support for version 2.0 of the USB Audio reference design
208 has been added. New devices should support higher bandwidth,
209 increased sampling frequency and wider dynamic range.</para>
213 <sect4 xml:id="net-if">
214 <title>Network Interface Support</title>
216 <para>The &man.ale.4; driver has been added to provide support
217 for Atheros AR8121/AR8113/AR8114 Gigabit/Fast Ethernet controllers.</para>
219 <para>The &man.em.4; driver has been split into two drivers
220 with some common parts. The &man.em.4; driver will continue
221 to support adapters up to the 82575, as well as new
222 client/desktop adapters. A new &man.igb.4; driver
223 will support new server adapters.</para>
225 <para>The &man.jme.4; driver has been added to provide support
226 for PCIe network adapters based on JMicron JMC250 Gigabit
227 Ethernet and JMC260 Fast Ethernet controllers.</para>
229 <para>The &man.malo.4; driver has been added to provide
230 support for Marvell Libertas 88W8335 based PCI network
233 <para>The firmware for the &man.mxge.4; driver has been
234 updated from 1.4.25 to 1.4.29.</para>
236 <para>The &man.sf.4; driver has been overhauled to improve its
237 performance and to add support for checksum offloading. It
238 should also work on all architectures.</para>
240 <para>The &man.re.4; driver has been overhauled to fix a
241 number of issues. This driver now has Wake On LAN (WOL)
244 <para>The &man.vr.4; driver has been overhauled to fix a
245 number of outstanding issues. It also now works on all
246 architectures.</para>
248 <para arch="amd64,i386" role="merged">The &man.wpi.4; driver has
249 been updated to include a number of stability fixes.</para>
254 <sect3 xml:id="net-proto">
255 <title>Network Protocols</title>
257 <para>&man.carp.4; has been rewritten to make addresses
258 more sane from the viewpoint of routing daemons such as
259 quagga/zebra. It also brings support for a single redundant
260 address on the subnet (carpdev), switching state with
261 ifconfig, better locking and using modern kernel
262 interfaces to allocate multicast memberships.</para>
264 <para>The &man.pf.4; firewall now supports fine-grain locking
265 and better utilization on multi-cpu machines resulting in
266 significant improvements in performance.</para>
268 <para>Support for up to 65536 routing tables has been
271 <para>Support for setting/matching differentiated services
272 codepoints (DSCP) in IP header has been added to
277 <sect3 xml:id="disks">
278 <title>Disks and Storage</title>
280 <para role="merged">The &man.aac.4; driver now supports volumes larger than
283 <para>The &man.ata.4; driver now supports a spindown command for
284 disks; after a configurable amount of time, if no requests
285 have been received for a disk, the disk will be spun down
286 until the next request. The &man.atacontrol.8; utility now
287 supports a <command>spindown</command> command to configure
290 <para role="merged">The &man.hptrr.4; driver has been updated to version 1.2
291 from Highpoint.</para>
296 <title>File Systems</title>
298 <para>A new kernel-based iSCSI target and initiator has been
301 <para>UFS filesystems can now be enlarged with &man.growfs.8; while
302 mounted read-write. This is especially useful for virtual
303 machines, allowing the addition of more harddrive space without
304 interruption of service.</para>
306 <para>A state of the art FUSE implementation is now part of the
307 base system. It allows the use of nearly all fusefs file
310 <para>Support for the high performance LZ4 compression algorithm
311 has been added to ZFS. LZ4 is usually faster and can achieve a
312 higher compression ratio than LZJB, the default compression
315 <para>Support for L2ARC compression has been added to ZFS.</para>
317 <para>ZFS will now compare the checksums of incoming writes to
318 the checksum of the existing on-disk data and avoid issuing any
319 write I/O for data that has not changed. This will reduce I/O
320 as well as space usage because if the old block is referenced
321 by a snapshot, both copies of the block are kept even though
322 both contain the same data.</para>
328 <sect2 xml:id="userland">
329 <title>Userland Changes</title>
331 <para role="merged">The &man.adduser.8; utility now supports
332 a <option>-M</option> option to set the mode of a new user's
333 home directory.</para>
335 <para>BSD-licensed versions of &man.ar.1; and &man.ranlib.1;,
336 based on <filename>libarchive</filename>, have replaced the GNU
337 Binutils versions of these utilities.</para>
339 <para>BSD-licensed versions of &man.bc.1; and &man.dc.1; have
340 replaced their GNU counterparts.</para>
342 <para role="merged">&man.chflags.1; now supports a <option>-v</option> flag for
343 verbose output and a <option>-f</option> flag to ignore errors
344 with the same semantics as (for example)
345 &man.chmod.1;.</para>
347 <para>For compatibility with other implementations, &man.cp.1; now
348 supports a <option>-a</option> flag, which is equivalent to
349 specifying the <option>-RrP</option> flags.</para>
351 <para>BSD-licensed version of &man.cpio.1; based on
352 <filename>libarchive</filename>, has replaced the GNU cpio.
353 Note that the GNU cpio is still installed as
354 <filename>gcpio</filename>.</para>
356 <para>The &man.env.1; program now supports <option>-u
357 <replaceable>name</replaceable></option>
358 which will completely unset the given variable
359 <replaceable>name</replaceable> by removing it from the environment,
360 instead of just setting it to a null value.</para>
362 <para>The &man.fdopendir.3; library function has been added.</para>
364 <para role="merged">The &man.fetch.3; library now support HTTP 1.1
365 If-Modified-Since behavior. The &man.fetch.1; program now
366 supports <option>-i <replaceable>filename</replaceable></option>
367 which will only download the specified HTTP URL if the content
368 is newer than <replaceable>filename</replaceable>.</para>
370 <para>&man.find.1; has been enhanced by the addition of a number
371 of primaries that were present in GNU find but not &os;
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>&man.sh.1; has many bug fixes, some new features, and will now
401 refuse to parse some invalid scripts. Additionally, it now
402 has filename completion and defaults to the "emacs" editing
405 <para>The &man.split.1; utility now supports a <option>-n</option>
406 flag to split a file into a certain number of chunks.</para>
408 <para>The &man.tar.1; utility now supports a <option>-Z</option>
409 flag to enable &man.compress.1;-style
410 compression/decompression.</para>
412 <para>The &man.tar.1; utility now supports a
413 <option>--numeric-owner</option> flag to ignore user/group names
414 on create and extract.</para>
416 <para>The &man.tar.1; utility now supports an
417 <option>-S</option> flag to sparsify files on extraction.</para>
419 <para>The &man.tar.1; utility now supports a <option>-s</option>
420 flag to substitute filenames based on the specified regular
423 <para>The &man.tcgetsid.3; library function has been added to
424 return the process group ID for the session leader for the
425 controlling terminal. It is defined in IEEE Std 1003.1-2001
428 <para>&man.top.1; now supports a <option>-P</option> flag to
429 provide per-CPU usage statistics.</para>
431 <para>&man.zdump.8; is now working properly on 64 bit architectures.
434 <para>&man.traceroute.8; now has the ability to print the AS
435 number for each hop with the new <option>-a</option> switch; a
436 new <option>-A</option> option allows selecting a particular
439 <para>&man.traceroute6.8; now supports a <option>-U</option> flag
440 to send probe packets with no upper-layer protocol, rather than
441 the usual UDP probe packets.</para>
443 <sect3 xml:id="rc-scripts">
444 <title><filename>/etc/rc.d</filename> Scripts</title>
451 <sect2 xml:id="contrib">
452 <title>Contributed Software</title>
454 <para role="merged"><application>AMD</application> has been updated from 6.0.10
457 <para role="merged"><application>awk</application> has been updated from 1 May
458 2007 release to the 23 October 2007 release.</para>
460 <para role="merged"><application>bzip2</application> has been updated from 1.0.4
463 <para><application>CVS</application> has been removed from the
464 base system, but is still available from ports</para>
466 <para><application>FILE</application> has been updated from 4.23
469 <para><application>hostapd</application> has been
470 updated from 0.5.8 to 0.5.10.</para>
472 <para><application>IPFilter</application> has been updated from
473 4.1.23 to 4.1.28.</para>
475 <para><application>less</application> has been updated from
478 <para><application>ncurses</application> has been updated from
479 5.6-20061217 to 5.6-20080503.</para>
481 <para role="merged"><application>OpenSSH</application> has been updated
482 from 4.5p1 to 5.1p1.</para>
484 <para role="merged"><application>OpenPAM</application> has been updated from the
485 Figwort release to the Hydrangea release.</para>
487 <para role="merged"><application>sendmail</application> has been updated from
488 8.14.1 to 8.14.7.</para>
490 <para role="merged">The timezone database has been updated from
491 the <application>tzdata2008h</application> release to
492 the <application>tzdata2009m</application> release.</para>
494 <para>The stdtime part of libc, &man.zdump.8; and &man.zic.8;
495 have been updated from the <application>tzcode2004a</application>
496 release to the <application>tzcode2009h</application> release.
497 If you have upgraded from source or via the &man.freebsd-update.8;,
498 then please run &man.tzsetup.8; to install a new /etc/localtime.
501 <para><application>WPA Supplicant</application> has been
502 updated from 0.5.8 to 0.5.10.</para>
504 <para role="merged"><application>xz</application> has been updated
505 from snapshot as of 12 April 2010 to 5.0.0.</para>
509 <sect2 xml:id="ports">
510 <title>Ports/Packages Collection Infrastructure</title>
512 <para>The &man.pkg.create.1; utility now supports
513 <option>-n</option>. When this option is specified and a
514 package tarball exists, it will not be overwritten. This is
515 useful when multiple packages are saved with several consecutive
516 runs of &man.pkg.create.1; with the <option>-Rb</option>
519 <para>The pkg_sign and pkg_check utilities for cryptographically
520 signing &os; packages have been removed. They were only useful
521 for packages compressed using &man.gzip.1;; however
522 &man.bzip2.1; compression has been the norm for some time
527 <sect2 xml:id="releng">
528 <title>Release Engineering and Integration</title>
530 <para role="merged">The supported version of
531 the <application>GNOME</application> desktop environment
532 (<package>x11/gnome2</package>) has been
533 updated from 2.20.1 to 2.22.</para>
538 <title>Documentation</title>
545 <sect1 xml:id="upgrade">
546 <title>Upgrading from previous releases of &os;</title>
548 <para arch="amd64,i386">Beginning with &os; 6.2-RELEASE,
549 binary upgrades between RELEASE versions (and snapshots of the
550 various security branches) are supported using the
551 &man.freebsd-update.8; utility. The binary upgrade procedure will
552 update unmodified userland utilities, as well as unmodified GENERIC or
553 SMP kernels distributed as a part of an official &os; release.
554 The &man.freebsd-update.8; utility requires that the host being
555 upgraded have Internet connectivity.</para>
557 <para>Source-based upgrades (those based on recompiling the &os;
558 base system from source code) from previous versions are
559 supported, according to the instructions in
560 <filename>/usr/src/UPDATING</filename>.</para>
563 <para>Upgrading &os; should, of course, only be attempted after
564 backing up <emphasis>all</emphasis> data and configuration