%release; ]>
&os; &release.current; Release Notes The &os; Project $FreeBSD$ 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 The &os; Documentation Project &tm-attrib.freebsd; &tm-attrib.ibm; &tm-attrib.ieee; &tm-attrib.intel; &tm-attrib.sparc; &tm-attrib.general; The release notes for &os; &release.current; contain a summary of the changes made to the &os; base system on the &release.branch; development line. This document lists applicable security advisories that were issued since the last release, as well as significant changes to the &os; kernel and userland. Some brief remarks on upgrading are also presented. Introduction This document contains the release notes for &os; &release.current;. It describes recently added, changed, or deleted features of &os;. It also provides some notes on upgrading from previous versions of &os;. The &release.type; distribution to which these release notes apply represents the latest point along the &release.branch; development branch since &release.branch; was created. Information regarding pre-built, binary &release.type; distributions along this branch can be found at &release.url;. The &release.type; distribution to which these release notes apply represents a point along the &release.branch; development branch between &release.prev; and the future &release.next;. Information regarding pre-built, binary &release.type; distributions along this branch can be found at &release.url;. This distribution of &os; &release.current; is a &release.type; distribution. It can be found at &release.url; or any of its mirrors. More information on obtaining this (or other) &release.type; distributions of &os; can be found in the Obtaining &os; appendix to the &os; Handbook. All users are encouraged to consult the release errata before installing &os;. The errata document is updated with late-breaking information discovered late in the release cycle or after the release. Typically, it contains information on known bugs, security advisories, and corrections to documentation. An up-to-date copy of the errata for &os; &release.current; can be found on the &os; Web site. What's New This section describes the most user-visible new or changed features in &os; since &release.prev;. In general, changes described here are unique to the &release.branch; branch unless specifically marked as &merged; features. Typical release note items document recent security advisories issued after &release.prev;, new drivers or hardware support, new commands or options, major bug fixes, or contributed software upgrades. They may also list changes to major ports/packages or release engineering practices. Clearly the release notes cannot list every single change made to &os; between releases; this document focuses primarily on security advisories, user-visible changes, and major architectural improvements. Security Advisories Kernel Changes The maximum amount of memory the &os; kernel can address has been increased from 1TB to 4TB. A new &man.cpuset.2; API has been added for thread to CPU binding and CPU resource grouping and assignment. The &man.cpuset.1; userland utility has been added to allow manipulation of processor sets. The &man.ddb.4; kernel debugger now has an output capture facility. Input and output from &man.ddb.4; can now be captured to a memory buffer for later inspection using &man.sysctl.8; or a textdump. The new capture command controls this feature. The &man.ddb.4; debugger now supports a simple scripting facility, which supports a set of named scripts consisting of a set of &man.ddb.4; commands. These commands can be managed from within &man.ddb.4; or with the use of the new &man.ddb.8; utility. More details can be found in the &man.ddb.4; manual page. The kernel now supports a new textdump format of kernel dumps. A textdump provides higher-level information via mechanically generated/extracted debugging output, rather than a simple memory dump. This facility can be used to generate brief kernel bug reports that are rich in debugging information, but are not dependent on kernel symbol tables or precisely synchronized source code. More information can be found in the &man.textdump.4; manual page. Kernel support for M:N threading has been removed. While the KSE (Kernel Scheduled Entities) project was quite successful in bringing threading to FreeBSD, the M:N approach taken by the KSE library was never developed to its full potential. Backwards compatibility for applications using KSE threading will be provided via &man.libmap.conf.5; for dynamically linked binaries. The &os; Project greatly appreciates the work of &a.julian;, &a.deischen;, and &a.davidxu; on KSE support. The &os; kernel now exports information about certain kernel features via the kern.features sysctl tree. The &man.feature.present.3; library call provides a convenient interface for user applications to test the presence of features. The &os; kernel now has support for large memory page mappings (superpages). The ULE scheduler is now the default process scheduler in GENERIC kernels. Boot Loader Changes The BTX kernel used by the boot loader has been changed to invoke BIOS routines from real mode. This change makes it possible to boot &os; from USB devices. A new gptboot boot loader has been added to support booting from a GPT labeled disk. A new boot command has been added to &man.gpt.8;, which makes a GPT disk bootable by writing the required bits of the boot loader, creating a new boot partition if required. Hardware Support The &man.cmx.4; driver, a driver for Omnikey CardMan 4040 PCMCIA smartcard readers, has been added. The &man.syscons.4; driver now supports Colemak keyboard layout. The &man.uslcom.4; driver, a driver for Silicon Laboratories CP2101/CP2102-based USB serial adapters, has been imported from OpenBSD. Multimedia Support Support for version 2.0 of the USB Audio reference design has been added. New devices should support higher bandwidth, increased sampling frequency and wider dynamic range. Network Interface Support The &man.ale.4; driver has been added to provide support for Atheros AR8121/AR8113/AR8114 Gigabit/Fast Ethernet controllers. The &man.em.4; driver has been split into two drivers with some common parts. The &man.em.4; driver will continue to support adapters up to the 82575, as well as new client/desktop adapters. A new &man.igb.4; driver will support new server adapters. The &man.jme.4; driver has been added to provide support for PCIe network adapters based on JMicron JMC250 Gigabit Ethernet and JMC260 Fast Ethernet controllers. The &man.malo.4; driver has been added to provide support for Marvell Libertas 88W8335 based PCI network adapters. The firmware for the &man.mxge.4; driver has been updated from 1.4.25 to 1.4.29. The &man.sf.4; driver has been overhauled to improve its performance and to add support for checksum offloading. It should also work on all architectures. The &man.re.4; driver has been overhauled to fix a number of issues. This driver now has Wake On LAN (WOL) support. The &man.vr.4; driver has been overhauled to fix a number of outstanding issues. It also now works on all architectures. The &man.wpi.4; driver has been updated to include a number of stability fixes. Network Protocols &man.carp.4; has been rewritten to make addresses more sane from the viewpoint of routing daemons such as quagga/zebra. It also brings support for a single redundant address on the subnet (carpdev), switching state with ifconfig, better locking and using modern kernel interfaces to allocate multicast memberships. The &man.pf.4; firewall now supports fine-grain locking and better utilization on multi-cpu machines resulting in significant improvements in performance. Support for up to 65536 routing tables has been introduced. Support for setting/matching differentiated services codepoints (DSCP) in IP header has been added to &man.ipfw.8;. Disks and Storage The &man.aac.4; driver now supports volumes larger than 2TB in size. The &man.ata.4; driver now supports a spindown command for disks; after a configurable amount of time, if no requests have been received for a disk, the disk will be spun down until the next request. The &man.atacontrol.8; utility now supports a spindown command to configure this feature. The &man.hptrr.4; driver has been updated to version 1.2 from Highpoint. File Systems A new kernel-based iSCSI target and initiator has been added UFS filesystems can now be enlarged with &man.growfs.8; while mounted read-write. This is especially useful for virtual machines, allowing the addition of more harddrive space without interruption of service. A state of the art FUSE implementation is now part of the base system. It allows the use of nearly all fusefs file systems Support for the high performance LZ4 compression algorithm has been added to ZFS. LZ4 is usually faster and can achieve a higher compression ratio than LZJB, the default compression algorithm Support for L2ARC compression has been added to ZFS. ZFS will now compare the checksums of incoming writes to the checksum of the existing on-disk data and avoid issuing any write I/O for data that has not changed. This will reduce I/O as well as space usage because if the old block is referenced by a snapshot, both copies of the block are kept even though both contain the same data. Userland Changes The &man.adduser.8; utility now supports a option to set the mode of a new user's home directory. BSD-licensed versions of &man.ar.1; and &man.ranlib.1;, based on libarchive, have replaced the GNU Binutils versions of these utilities. BSD-licensed versions of &man.bc.1; and &man.dc.1; have replaced their GNU counterparts. &man.chflags.1; now supports a flag for verbose output and a flag to ignore errors with the same semantics as (for example) &man.chmod.1;. For compatibility with other implementations, &man.cp.1; now supports a flag, which is equivalent to specifying the flags. BSD-licensed version of &man.cpio.1; based on libarchive, has replaced the GNU cpio. Note that the GNU cpio is still installed as gcpio. The &man.env.1; program now supports which will completely unset the given variable name by removing it from the environment, instead of just setting it to a null value. The &man.fdopendir.3; library function has been added. The &man.fetch.3; library now support HTTP 1.1 If-Modified-Since behavior. The &man.fetch.1; program now supports which will only download the specified HTTP URL if the content is newer than filename. &man.find.1; has been enhanced by the addition of a number of primaries that were present in GNU find but not &os; &man.find.1;. &man.kgdb.1; now supports a new add-kld command to make it easier to debug crash dumps with kernel modules. The &man.ls.1; program now supports a option to specify a date format string to be used with the long format () output. &man.nc.1; now supports a switch to disable the use of TCP options. &man.nc.1;'s switch has been deprecated. It will be removed in a future release. The &man.ping6.8; utility now returns 2 when the packet transmission was successful but no responses were received (this is the same behavior as &man.ping.8;). It returned a non-zero value before this change. The &man.procstat.1; utility has been added to display detailed information about processes. The &man.realpath.1; utility now supports a flag to suppress warnings; it now also accepts multiple paths on its command line. &man.sh.1; has many bug fixes, some new features, and will now refuse to parse some invalid scripts. Additionally, it now has filename completion and defaults to the "emacs" editing mode. The &man.split.1; utility now supports a flag to split a file into a certain number of chunks. The &man.tar.1; utility now supports a flag to enable &man.compress.1;-style compression/decompression. The &man.tar.1; utility now supports a flag to ignore user/group names on create and extract. The &man.tar.1; utility now supports an flag to sparsify files on extraction. The &man.tar.1; utility now supports a flag to substitute filenames based on the specified regular expression. The &man.tcgetsid.3; library function has been added to return the process group ID for the session leader for the controlling terminal. It is defined in IEEE Std 1003.1-2001 (POSIX). &man.top.1; now supports a flag to provide per-CPU usage statistics. &man.zdump.8; is now working properly on 64 bit architectures. &man.traceroute.8; now has the ability to print the AS number for each hop with the new switch; a new option allows selecting a particular WHOIS server. &man.traceroute6.8; now supports a flag to send probe packets with no upper-layer protocol, rather than the usual UDP probe packets. <filename>/etc/rc.d</filename> Scripts Contributed Software AMD has been updated from 6.0.10 to 6.1.5. awk has been updated from 1 May 2007 release to the 23 October 2007 release. bzip2 has been updated from 1.0.4 to 1.0.5. CVS has been removed from the base system, but is still available from ports FILE has been updated from 4.23 to 5.03. hostapd has been updated from 0.5.8 to 0.5.10. IPFilter has been updated from 4.1.23 to 4.1.28. less has been updated from v408 to v429. ncurses has been updated from 5.6-20061217 to 5.6-20080503. OpenSSH has been updated from 4.5p1 to 5.1p1. OpenPAM has been updated from the Figwort release to the Hydrangea release. sendmail has been updated from 8.14.1 to 8.14.7. The timezone database has been updated from the tzdata2008h release to the tzdata2009m release. The stdtime part of libc, &man.zdump.8; and &man.zic.8; have been updated from the tzcode2004a release to the tzcode2009h release. If you have upgraded from source or via the &man.freebsd-update.8;, then please run &man.tzsetup.8; to install a new /etc/localtime. WPA Supplicant has been updated from 0.5.8 to 0.5.10. xz has been updated from snapshot as of 12 April 2010 to 5.0.0. Ports/Packages Collection Infrastructure The &man.pkg.create.1; utility now supports . When this option is specified and a package tarball exists, it will not be overwritten. This is useful when multiple packages are saved with several consecutive runs of &man.pkg.create.1; with the options. The pkg_sign and pkg_check utilities for cryptographically signing &os; packages have been removed. They were only useful for packages compressed using &man.gzip.1;; however &man.bzip2.1; compression has been the norm for some time now. Release Engineering and Integration The supported version of the GNOME desktop environment (x11/gnome2) has been updated from 2.20.1 to 2.22. Documentation Upgrading from previous releases of &os; Beginning with &os; 6.2-RELEASE, binary upgrades between RELEASE versions (and snapshots of the various security branches) are supported using the &man.freebsd-update.8; utility. The binary upgrade procedure will update unmodified userland utilities, as well as unmodified GENERIC or SMP kernels distributed as a part of an official &os; release. The &man.freebsd-update.8; utility requires that the host being upgraded have Internet connectivity. Source-based upgrades (those based on recompiling the &os; base system from source code) from previous versions are supported, according to the instructions in /usr/src/UPDATING. Upgrading &os; should, of course, only be attempted after backing up all data and configuration files.