http://www.freebsd.org/relnotes/CURRENT/relnotes/article.html
The FreeBSD Project
Copyright © 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
2008, 2009 The FreeBSD Documentation Project
$FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/article.sgml,v
1.1099 2009/01/09 03:52:12 murray Exp $
FreeBSD is a registered trademark of the FreeBSD Foundation.
IBM, AIX, EtherJet, Netfinity, OS/2, PowerPC, PS/2, S/390, and ThinkPad are trademarks
of International Business Machines Corporation in the United States, other countries, or
both.
IEEE, POSIX, and 802 are registered trademarks of Institute of Electrical and
Electronics Engineers, Inc. in the United States.
Intel, Celeron, EtherExpress, i386, i486, Itanium, Pentium, and Xeon are trademarks or
registered trademarks of Intel Corporation or its subsidiaries in the United States and
other countries.
Sparc, Sparc64, SPARCEngine, and UltraSPARC are trademarks of SPARC International, Inc
in the United States and other countries. Products bearing SPARC trademarks are based
upon architecture developed by Sun Microsystems, Inc.
Many of the designations used by manufacturers and sellers to distinguish their
products are claimed as trademarks. Where those designations appear in this document, and
the FreeBSD Project was aware of the trademark claim, the designations have been followed
by the “™” or the “®” symbol.
The release notes for FreeBSD 8.0-CURRENT contain a summary of the changes made to the
FreeBSD base system on the 8-CURRENT development line. This document lists applicable
security advisories that were issued since the last release, as well as significant
changes to the FreeBSD kernel and userland. Some brief remarks on upgrading are also
presented.
This document contains the release notes for FreeBSD 8.0-CURRENT. It describes
recently added, changed, or deleted features of FreeBSD. It also provides some notes on
upgrading from previous versions of FreeBSD.
The snapshot distribution to which these release notes apply represents the latest
point along the 8-CURRENT development branch since 8-CURRENT was created. Information
regarding pre-built, binary snapshot distributions along this branch can be found at
[url]http://www.FreeBSD.org/snapshots/[/url].
All users are encouraged to consult the release errata before installing FreeBSD. 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 FreeBSD 8.0-CURRENT can be found on the FreeBSD Web site.
This section describes the most user-visible new or changed features in FreeBSD since
7.0-RELEASE. In general, changes described here are unique to the 8-CURRENT branch unless
specifically marked as MERGED features.
Typical release note items document recent security advisories issued after
7.0-RELEASE, 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 FreeBSD between releases; this document focuses primarily on security advisories,
user-visible changes, and major architectural improvements.
A new
cpuset(2) API
has been added for thread to CPU binding and CPU resource grouping and assignment. The
cpuset(1)
userland utility has been added to allow manipulation of processor sets.
The
ddb(4) kernel
debugger now has an output capture facility. Input and output from
ddb(4) can now be
captured to a memory buffer for later inspection using
sysctl(8) or a
textdump. The new
capture command controls this feature.
[MERGED]
The
ddb(4) debugger now
supports a simple scripting facility, which supports a set of named scripts consisting of
a set of
ddb(4) commands.
These commands can be managed from within
ddb(4) or with the
use of the new
ddb(8) utility. More
details can be found in the
ddb(4) manual page.
[MERGED]
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
textdump(4)
manual page. [MERGED]
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
libmap.conf(5)
for dynamically linked binaries. The FreeBSD Project greatly appreciates the work of
Julian Elischer
<[email]julian@FreeBSD.org[/email]>
, Daniel Eischen
<[email]deischen@FreeBSD.org[/email]>
, and David Xu
<[email]davidxu@FreeBSD.org[/email]>
on KSE support.
The FreeBSD kernel now exports information about certain kernel features via the
kern.features
sysctl tree. The
feature_present(3) library call provides a
convenient interface for user applications to test the presence of features.
[amd64] The FreeBSD kernel now has support for large memory page mappings
(“superpages”).
[amd64, i386, ia64, powerpc] The ULE scheduler is now the default process scheduler in
GENERIC kernels. [MERGED]
[amd64, i386] 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 FreeBSD from USB devices.
[MERGED]
[amd64, i386] A new gptboot boot loader has been added to support booting from a GPT
labeled disk. A new
boot command has been added to
gpt(8), which makes a
GPT disk bootable by writing the required bits of the boot loader, creating a new boot
partition if required. [MERGED]
The
cmx(4) driver, a
driver for Omnikey CardMan 4040 PCMCIA smartcard readers, has been added. [MERGED]
The
syscons(4)
driver now supports Colemak keyboard layout.
The
uslcom(4)
driver, a driver for Silicon Laboratories CP2101/CP2102-based USB serial adapters, has
been imported from OpenBSD. [MERGED]
The
ale(4) driver has
been added to provide support for Atheros AR8121/AR8113/AR8114 Gigabit/Fast Ethernet
controllers.
The
em(4) driver has been
split into two drivers with some common parts. The
em(4) driver will
continue to support adapters up to the 82575, as well as new client/desktop adapters. A
new
igb(4) driver will
support new server adapters.
The
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
malo(4) driver has
been added to provide support for Marvell Libertas 88W8335 based PCI network
adapters.
The firmware for the
mxge(4) driver has
been updated from 1.4.25 to 1.4.29.
The
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
re(4) driver has been
overhauled to fix a number of issues. This driver now has Wake On LAN (WOL) support.
The
vr(4) driver has been
overhauled to fix a number of outstanding issues. It also now works on all
architectures.
[amd64, i386] The
wpi(4) driver has
been updated to include a number of stability fixes. [MERGED]
The
bpf(4) packet filter
and capture facility now supports a zero-copy mode of operation, in which buffers are
loaned from a user process to the kernel. This feature can be enabled by setting the
net.bpf.zerocopy_enable
sysctl variable to
1.
ISDN4BSD(I4B), netatm, and all related subsystems have been
removed due to lack of multi-processor support.
A bug in TCP options padding, where the wrong padding bytes were used, has been fixed.
[MERGED]
The
aac(4) driver now
supports volumes larger than 2TB in size. [MERGED]
The
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
atacontrol(8)
utility now supports a
spindown command to configure this
feature.
The
hptrr(4) driver
has been updated to version 1.2 from Highpoint. [MERGED]
A problem with using
mmap(2) on ZFS
filesystems has been fixed.
A new kernel-mode NFS lock manager has been added, improving performance and behavior
of NFS locking. A new
clear_locks(8)
command has been added to clear locks held on behalf of an NFS client.
The
adduser(8)
utility now supports a
-M
option to set the mode of a new
user's home directory. [MERGED]
BSD-licensed versions of
ar(1) and
ranlib(1), based
on
libarchive, have replaced the GNU Binutils versions of these
utilities.
chflags(1) now
supports a
-v
flag for verbose output and a
-f
flag to ignore errors with the same semantics as (for example)
chmod(1).
[MERGED]
For compatiblity with other implementations,
cp(1) now supports a
-a
flag, which is equivalent to specifying the
-RrP
flags.
BSD-licensed version of
cpio(1) based on
libarchive, has replaced the GNU cpio. Note that the GNU cpio is
still installed as
gcpio.
The
env(1) program now
supports
-u name
which
will completely unset the given variable
name by
removing it from the environment, instead of just setting it to a null value.
The
fetch(3) library
now support HTTP 1.1 If-Modified-Since behavior. The
fetch(1) program
now supports
-i filename
which will only download the specified HTTP URL if the content is newer than
filename. [MERGED]
find(1) has been
enhanced by the addition of a number of primaries that were present in GNU find but not
FreeBSD
find(1).
jexec(8) now
supports
-h hostname
option to specify the jail where the command will be executed.
kgdb(1) now supports
a new
add-kld command to make it easier to debug crash dumps
with kernel modules.
The
ls(1) program now
supports a
-D
option to specify a date format string to be
used with the long format (
-l
) output.
nc(1) now supports a
-O
switch to disable the use of TCP options.
The
ping6(8) utility
now returns
2 when the packet transmission was successful but no
responses were received (this is the same behavior as
ping(8)). It returned
a non-zero value before this change.
The
procstat(1)
utility has been added to display detailed information about processes.
The
realpath(1)
utility now supports a
-q
flag to suppress warnings; it now
also accepts multiple paths on its command line. [MERGED]
The
split(1) utility
now supports a
-n
flag to split a file into a certain number
of chunks.
The
tar(1) utility now
supports a
-Z
flag to enable
compress(1)-style compression/decompression.
The
tar(1) utility now
supports a
--numeric-owner
flag to ignore user/group names on
create and extract.
The
tar(1) utility now
supports an
-S
flag to sparsify files on extraction.
The
tar(1) utility now
supports a
-s
flag to substitute filenames based on the
specified regular expression.
The
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).
top(1) now supports a
-P
flag to provide per-CPU usage statistics.
traceroute(8)
now has the ability to print the AS number for each hop with the new
-a
switch; a new
-A
option allows
selecting a particular WHOIS server.
traceroute6(8)
now supports a
-U
flag to send probe packets with no
upper-layer protocol, rather than the usual UDP probe packets.
AMD has been updated from 6.0.10 to 6.1.5. [MERGED]
awk has been updated from 1 May 2007 release to the 23
October 2007 release. [MERGED]
bzip2 has been updated from 1.0.4 to 1.0.5. [MERGED]
CVS has been updated from 1.11.17 to a post-1.11.22
snapshot from 10 March 2008.
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 v416.
ncurses has been updated from 5.6-20061217 to
5.6-20080503.
OpenSSH has been updated from 4.5p1 to 5.1p1. [MERGED]
OpenPAM has been updated from the Figwort release to the
Hydrangea release. [MERGED]
sendmail has been updated from 8.14.1 to 8.14.3.
[MERGED]
The timezone database has been updated from the tzdata2008b
release to the tzdata2008h release. [MERGED]
WPA Supplicant has been updated from 0.5.8 to 0.5.10.
The
pkg_create(1)
utility now supports
-n
. 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
pkg_create(1)
with the
-Rb
options.
The pkg_sign and pkg_check utilities for cryptographically signing FreeBSD packages
have been removed. They were only useful for packages compressed using
gzip(1); however
bzip2(1)
compression has been the norm for some time now.
The supported version of the
GNOME desktop environment (
x11/gnome2) has been updated from 2.20.1 to 2.22. [MERGED]
[amd64, i386] Beginning with FreeBSD 6.2-RELEASE, binary upgrades between RELEASE
versions (and snapshots of the various security branches) are supported using the
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 FreeBSD release. The
freebsd-update(8) utility requires that the host
being upgraded have Internet connectivity.
An older form of binary upgrade is supported through the
Upgrade option from the main
sysinstall(8)
menu on CDROM distribution media. This type of binary upgrade may be useful on non-i386,
non-amd64 machines or on systems with no Internet connectivity.
Source-based upgrades (those based on recompiling the FreeBSD base system from source
code) from previous versions are supported, according to the instructions in /usr/src/UPDATING.
Important: Upgrading FreeBSD should, of course, only be attempted after backing
up all data and configuration
files.