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" revision="245652">The BSD Hypervisor, &man.bhyve.8; is included
124 with &os;. &man.bhyve.8; requires Intel CPUs with VT-x and Extended Page Table (EPT)
125 support. These features are on all Nehalem models and beyond
126 (e.g. Nehalem and newer), but not on the lower-end Atom CPUs.</para>
128 <para revision="227652">&man.virtio.4; support has been added. &man.virtio.4; is the
129 name for the paravirtualization interface developed for the Linux KVM, but
130 since adopted to other virtual machine hypervisors (with the notable exception of Xen).
131 This work brings in a BSD-licensed clean-room implementation of the virtio kernel drivers
132 for disk IO (&man.virtio_blk.4; and &man.virtio_scsi.4;), network IO (&man.vtnet.4;),
133 memory ballooning (&man.virtio_balloon.4;), and PCI.
134 Tested with on Qemu/KVM, VirtualBox, and &man.bhyve.4;.</para>
136 <para arch="amd64">The maximum amount of memory the &os; kernel
137 can address has been increased from 1TB to 4TB.</para>
139 <para>A new &man.cpuset.2; API has been added
140 for thread to CPU binding and CPU resource grouping and
141 assignment. The &man.cpuset.1; userland utility has been added
142 to allow manipulation of processor sets.</para>
144 <para role="merged">The &man.ddb.4; kernel debugger now has an output capture
145 facility. Input and output from &man.ddb.4; can now be captured
146 to a memory buffer for later inspection using &man.sysctl.8; or
147 a textdump. The new <command>capture</command> command controls
150 <para role="merged">The &man.ddb.4; debugger now supports a simple scripting
151 facility, which supports a set of named scripts consisting of a
152 set of &man.ddb.4; commands. These commands can be managed from
153 within &man.ddb.4; or with the use of the new &man.ddb.8;
154 utility. More details can be found in the &man.ddb.4; manual
157 <para role="merged">The kernel now supports a new textdump format of kernel
158 dumps. A textdump provides higher-level information via
159 mechanically generated/extracted debugging output, rather than a
160 simple memory dump. This facility can be used to generate brief
161 kernel bug reports that are rich in debugging information, but
162 are not dependent on kernel symbol tables or precisely
163 synchronized source code. More information can be found in the
164 &man.textdump.4; manual page.</para>
166 <para>Kernel support for M:N threading has been removed. While
167 the KSE (Kernel Scheduled Entities) project was quite successful
168 in bringing threading to FreeBSD, the M:N approach taken by the
169 KSE library was never developed to its full potential.
170 Backwards compatibility for applications using KSE threading
171 will be provided via &man.libmap.conf.5; for dynamically linked
172 binaries. The &os; Project greatly appreciates the work of
173 &a.julian;, &a.deischen;, and &a.davidxu; on KSE support.</para>
175 <para>The &os; kernel now exports information about certain kernel
176 features via the <varname>kern.features</varname> sysctl tree.
177 The &man.feature.present.3; library call provides a convenient
178 interface for user applications to test the presence of
181 <para arch="amd64">The &os; kernel now has support for large
182 memory page mappings (<quote>superpages</quote>).</para>
184 <para arch="amd64,i386,ia64,powerpc" role="merged">The ULE
185 scheduler is now the default process scheduler
186 in <filename>GENERIC</filename> kernels.</para>
188 <sect3 xml:id="boot">
189 <title>Boot Loader Changes</title>
191 <para arch="amd64,i386" role="merged">The BTX kernel used by the boot
192 loader has been changed to invoke BIOS routines from real
193 mode. This change makes it possible to boot &os; from USB
196 <para arch="amd64,i386" role="merged">A new gptboot boot loader has
197 been added to support booting from a GPT labeled disk. A
198 new <command>boot</command> command has been added to
199 &man.gpt.8;, which makes a GPT disk bootable by writing the
200 required bits of the boot loader, creating a new boot
201 partition if required.</para>
205 <sect3 xml:id="proc">
206 <title>Hardware Support</title>
208 <para role="merged">The &man.cmx.4; driver, a driver for Omnikey CardMan 4040
209 PCMCIA smartcard readers, has been added.</para>
211 <para>The &man.syscons.4; driver now supports Colemak keyboard layout.</para>
213 <para role="merged">The &man.uslcom.4; driver, a driver for Silicon
214 Laboratories CP2101/CP2102-based USB serial adapters, has been
215 imported from OpenBSD.</para>
218 <title>Multimedia Support</title>
220 <para revision="240609">Support for version 2.0 of the USB Audio reference design
221 has been added. New devices should support higher bandwidth,
222 increased sampling frequency and wider dynamic range.</para>
226 <sect4 xml:id="net-if">
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>
264 <para revision="254738">The &man.vmx.4; driver has been added.
265 &man.vmx.4; is a VMware VMXNET3 ethernet driver ported from
268 <para revision="248925">The &man.cxgbe.4; driver has been updated to support
269 40G/10G Ethernet NICs based on Chelsio's Terminator 5 (T5) ASIC.</para>
271 <para revision="256694">The iw_cxgbe driver has been added. This is an
272 experimental iWARP/RDMA driver
273 (kernel verbs only) for Chelsio's T4 and T5 based cards.</para>
275 <para revision="255932">The Open Fabrics Enterprise Distribution (OFED) and
276 OFED Infiniband core has been
277 updated to the same version as supplied by Linux version 3.7</para>
279 <para revision="255932">The Mellanox Infiniband driver has been updated to firmware
280 version 2.30.3200 for ConnectX3 NICs. Support has been added for ConnectX3 VPI NICs, where
281 each port can be used as Infiniband 56 GB/s or Ethernet 40 GB/s. Support has been added
282 for dynamically loading kernel modules for Infiniband core (ibcore) and
283 IP over Infiniband (ipoib).</para>
288 <sect3 xml:id="net-proto">
289 <title>Network Protocols</title>
291 <para revision="228571">&man.carp.4; has been rewritten to make addresses
292 more sane from the viewpoint of routing daemons such as
293 quagga/zebra. It also brings support for a single redundant
294 address on the subnet (carpdev), switching state with
295 &man.ifconfig.8;, better locking and using modern kernel
296 interfaces to allocate multicast memberships.
297 Configuration of the CARP protocol via &man.ifconfig.8; has changed, as well as format
298 of CARP events submitted to &man.devd.8; has changed. See &man.carp.4;
299 for more information. The arpbalance feature of &man.carp.4; is currently
300 not supported anymore.</para>
302 <para revision="240233">The &man.pf.4; firewall now supports fine-grain locking
303 and better utilization on multi-cpu machines resulting in
304 significant improvements in performance.</para>
306 <para revision="250700">Support for up to 65536 routing tables has been
309 <para revision="248552">Support for setting/matching differentiated services
310 codepoints (DSCP) in IP header has been added to
315 <sect3 xml:id="disks">
316 <title>Disks and Storage</title>
318 <para role="merged">The &man.aac.4; driver now supports volumes larger than
321 <para>The &man.ata.4; driver now supports a spindown command for
322 disks; after a configurable amount of time, if no requests
323 have been received for a disk, the disk will be spun down
324 until the next request. The &man.atacontrol.8; utility now
325 supports a <command>spindown</command> command to configure
328 <para role="merged">The &man.hptrr.4; driver has been updated to version 1.2
329 from Highpoint.</para>
334 <title>File Systems</title>
336 <para revision="255570">A new kernel-based iSCSI target and initiator has been
339 <para revision="243246">UFS filesystems can now be enlarged with &man.growfs.8; while
340 mounted read-write. This is especially useful for virtual
341 machines, allowing the addition of more harddrive space without
342 interruption of service.</para>
344 <para revision="241519">A state of the art FUSE implementation is now part of the
345 base system. It allows the use of nearly all fusefs file
348 <sect4 xml:id="fs-zfs">
351 <para revision="240868">TRIM support has been added for
354 <para revision="246586">Support for the high performance LZ4 compression algorithm
355 has been added to ZFS. LZ4 is usually faster and can achieve a
356 higher compression ratio than LZJB, the default compression
359 <para revision="252140">Support for L2ARC compression has been added to ZFS.</para>
361 <para revision="243524">The zio nop-write improvement from Illumos
362 was imported into &os;. To reduce I/O, nop-write skips overwriting
363 data if the checksum (cryptographically secure) of new data
364 matches the checksum of existing data. It also saves space if
365 snapshots are in use. This improvement only works only on
366 datasets with enabled compression, disabled deduplication and
367 sha256 checksums.</para>
369 <para>ZFS will now compare the checksums of incoming writes to
370 the checksum of the existing on-disk data and avoid issuing any
371 write I/O for data that has not changed. This will reduce I/O
372 as well as space usage because if the old block is referenced
373 by a snapshot, both copies of the block are kept even though
374 both contain the same data.</para>
382 <sect2 xml:id="userland">
383 <title>Userland Changes</title>
385 <para revision="255321">On platforms where &man.clang.1; is the default
386 system compiler, (such as i386, amd64, arm) GCC and GNU libstdc++ are no
387 longer built by default. &man.clang.1; and libc++ from LLVM are used on
388 these platforms by instead. GCC 4.2.1 and libstdc++ are still built
389 and used by default on pc98 and all other platforms where &man.clang.1;
390 is not the default system compiler.
393 <para revision="251662">&man.clang.1; and llvm have been updated to
394 version 3.3 release. Please refer to
395 <link xlink:href="http://llvm.org/releases/3.3/tools/clang/docs/ReleaseNotes.html">
396 Clang 3.3 Release Notes.</link></para>
398 <para role="merged" revision="255949">BIND has been replaced by &man.unbound.8; for
399 local dns resolution in the base system. With this change, nslookup
400 and dig are no longer a part of the base system. Users should
401 instead use &man.host.1; and &man.drill.1; Alternatively,
402 nslookup and dig can be obtained by installing the
403 dns/bind-tools port.</para>
405 <para role="merged">The &man.adduser.8; utility now supports
406 a <option>-M</option> option to set the mode of a new user's
407 home directory.</para>
409 <para>BSD-licensed versions of &man.ar.1; and &man.ranlib.1;,
410 based on <filename>libarchive</filename>, have replaced the GNU
411 Binutils versions of these utilities.</para>
413 <para>BSD-licensed versions of &man.bc.1; and &man.dc.1; have
414 replaced their GNU counterparts.</para>
416 <para role="merged">&man.chflags.1; now supports a <option>-v</option> flag for
417 verbose output and a <option>-f</option> flag to ignore errors
418 with the same semantics as (for example)
419 &man.chmod.1;.</para>
421 <para>For compatibility with other implementations, &man.cp.1; now
422 supports a <option>-a</option> flag, which is equivalent to
423 specifying the <option>-RrP</option> flags.</para>
425 <para>BSD-licensed version of &man.cpio.1; based on
426 <filename>libarchive</filename>, has replaced the GNU cpio.
427 Note that the GNU cpio is still installed as
428 <filename>gcpio</filename>.</para>
430 <para>The &man.env.1; program now supports <option>-u
431 <replaceable>name</replaceable></option>
432 which will completely unset the given variable
433 <replaceable>name</replaceable> by removing it from the environment,
434 instead of just setting it to a null value.</para>
436 <para>The &man.fdopendir.3; library function has been added.</para>
438 <para role="merged">The &man.fetch.3; library now support HTTP 1.1
439 If-Modified-Since behavior. The &man.fetch.1; program now
440 supports <option>-i <replaceable>filename</replaceable></option>
441 which will only download the specified HTTP URL if the content
442 is newer than <replaceable>filename</replaceable>.</para>
444 <para>&man.find.1; has been enhanced by the addition of a number
445 of primaries that were present in GNU find but not &os;
448 <para>&man.kgdb.1; now supports a new <command>add-kld</command>
449 command to make it easier to debug crash dumps with kernel
452 <para>The &man.ls.1; program now supports a <option>-D</option>
453 option to specify a date format string to be used with the long
454 format (<option>-l</option>) output.</para>
456 <para>&man.nc.1; now supports a <option>-O</option> switch to
457 disable the use of TCP options.</para>
459 <para>&man.nc.1;'s <option>-o</option> switch has been deprecated.
460 It will be removed in a future release.</para>
462 <para>The &man.ping6.8; utility now returns <literal>2</literal>
463 when the packet transmission was successful but no responses
464 were received (this is the same behavior as &man.ping.8;).
465 It returned a non-zero value before this change.</para>
467 <para>The &man.procstat.1; utility has been added to display
468 detailed information about processes.</para>
470 <para role="merged">The &man.realpath.1; utility now supports
471 a <option>-q</option> flag to suppress warnings; it now also
472 accepts multiple paths on its command line.</para>
474 <para>&man.sh.1; has many bug fixes, some new features, and will now
475 refuse to parse some invalid scripts. Additionally, it now
476 has filename completion and defaults to the "emacs" editing
479 <para>The &man.split.1; utility now supports a <option>-n</option>
480 flag to split a file into a certain number of chunks.</para>
482 <para>The &man.tar.1; utility now supports a <option>-Z</option>
483 flag to enable &man.compress.1;-style
484 compression/decompression.</para>
486 <para>The &man.tar.1; utility now supports a
487 <option>--numeric-owner</option> flag to ignore user/group names
488 on create and extract.</para>
490 <para>The &man.tar.1; utility now supports an
491 <option>-S</option> flag to sparsify files on extraction.</para>
493 <para>The &man.tar.1; utility now supports a <option>-s</option>
494 flag to substitute filenames based on the specified regular
497 <para>The &man.tcgetsid.3; library function has been added to
498 return the process group ID for the session leader for the
499 controlling terminal. It is defined in IEEE Std 1003.1-2001
502 <para>&man.top.1; now supports a <option>-P</option> flag to
503 provide per-CPU usage statistics.</para>
505 <para>&man.zdump.8; is now working properly on 64 bit architectures.
508 <para>&man.traceroute.8; now has the ability to print the AS
509 number for each hop with the new <option>-a</option> switch; a
510 new <option>-A</option> option allows selecting a particular
513 <para>&man.traceroute6.8; now supports a <option>-U</option> flag
514 to send probe packets with no upper-layer protocol, rather than
515 the usual UDP probe packets.</para>
517 <sect3 xml:id="rc-scripts">
518 <title><filename>/etc/rc.d</filename> Scripts</title>
525 <sect2 xml:id="contrib">
526 <title>Contributed Software</title>
528 <para role="merged"><application>AMD</application> has been updated from 6.0.10
531 <para role="merged"><application>awk</application> has been updated from 1 May
532 2007 release to the 23 October 2007 release.</para>
534 <para role="merged"><application>bzip2</application> has been updated from 1.0.4
537 <para><application>CVS</application> has been removed from the
538 base system, but is still available from ports</para>
540 <para><application>FILE</application> has been updated from 4.23
543 <para><application>hostapd</application> has been
544 updated from 0.5.8 to 0.5.10.</para>
546 <para><application>IPFilter</application> has been updated from
547 4.1.23 to 4.1.28.</para>
549 <para><application>less</application> has been updated from
552 <para><application>ncurses</application> has been updated from
553 5.6-20061217 to 5.6-20080503.</para>
555 <para role="merged"><application>OpenSSH</application> has been updated
556 from 4.5p1 to 5.1p1.</para>
558 <para role="merged"><application>OpenPAM</application> has been updated from the
559 Figwort release to the Hydrangea release.</para>
561 <para role="merged"><application>sendmail</application> has been updated from
562 8.14.1 to 8.14.7.</para>
564 <para role="merged">The timezone database has been updated from
565 the <application>tzdata2008h</application> release to
566 the <application>tzdata2009m</application> release.</para>
568 <para>The stdtime part of libc, &man.zdump.8; and &man.zic.8;
569 have been updated from the <application>tzcode2004a</application>
570 release to the <application>tzcode2009h</application> release.
571 If you have upgraded from source or via the &man.freebsd-update.8;,
572 then please run &man.tzsetup.8; to install a new /etc/localtime.
575 <para><application>WPA Supplicant</application> has been
576 updated from 0.5.8 to 0.5.10.</para>
578 <para role="merged"><application>xz</application> has been updated
579 from snapshot as of 12 April 2010 to 5.0.0.</para>
583 <sect2 xml:id="ports">
584 <title>Ports/Packages Collection Infrastructure</title>
586 <para revision="257444">The pkg_add, pkg_create, pkg_delete, pkg_info,
587 pkg_updating, and pkg_version utilities have been removed.
588 &man.pkg.7; must now be used to install binary packages. &man.pkg.7;
589 is the next generation &os; package manager, also referred to as "pkgng".</para>
593 <sect2 xml:id="releng">
594 <title>Release Engineering and Integration</title>
596 <para role="merged">The supported version of
597 the <application>GNOME</application> desktop environment
598 (<package>x11/gnome2</package>) has been
599 updated from 2.20.1 to 2.22.</para>
604 <title>Documentation</title>
611 <sect1 xml:id="upgrade">
612 <title>Upgrading from previous releases of &os;</title>
614 <para arch="amd64,i386">Beginning with &os; 6.2-RELEASE,
615 binary upgrades between RELEASE versions (and snapshots of the
616 various security branches) are supported using the
617 &man.freebsd-update.8; utility. The binary upgrade procedure will
618 update unmodified userland utilities, as well as unmodified GENERIC or
619 SMP kernels distributed as a part of an official &os; release.
620 The &man.freebsd-update.8; utility requires that the host being
621 upgraded have Internet connectivity.</para>
623 <para>Source-based upgrades (those based on recompiling the &os;
624 base system from source code) from previous versions are
625 supported, according to the instructions in
626 <filename>/usr/src/UPDATING</filename>.</para>
629 <para>Upgrading &os; should, of course, only be attempted after
630 backing up <emphasis>all</emphasis> data and configuration