From owner-svn-doc-all@FreeBSD.ORG Tue Jan 14 01:04:44 2014 Return-Path: Delivered-To: svn-doc-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 5504F2EE; Tue, 14 Jan 2014 01:04:44 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 3D07F1CD6; Tue, 14 Jan 2014 01:04:44 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0E14iDn083756; Tue, 14 Jan 2014 01:04:44 GMT (envelope-from gjb@svn.freebsd.org) Received: (from gjb@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0E14ibi083754; Tue, 14 Jan 2014 01:04:44 GMT (envelope-from gjb@svn.freebsd.org) Message-Id: <201401140104.s0E14ibi083754@svn.freebsd.org> From: Glen Barber Date: Tue, 14 Jan 2014 01:04:44 +0000 (UTC) To: doc-committers@freebsd.org, svn-doc-all@freebsd.org, svn-doc-head@freebsd.org Subject: svn commit: r43493 - head/en_US.ISO8859-1/htdocs/releases/10.0R X-SVN-Group: doc-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-doc-all@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the entire doc trees \(except for " user" , " projects" , and " translations" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Jan 2014 01:04:44 -0000 Author: gjb Date: Tue Jan 14 01:04:43 2014 New Revision: 43493 URL: http://svnweb.freebsd.org/changeset/doc/43493 Log: Regen after r260616. Approved by: re (implicit) Sponsored by: The FreeBSD Foundation Modified: head/en_US.ISO8859-1/htdocs/releases/10.0R/relnotes.html Modified: head/en_US.ISO8859-1/htdocs/releases/10.0R/relnotes.html ============================================================================== --- head/en_US.ISO8859-1/htdocs/releases/10.0R/relnotes.html Tue Jan 14 00:26:19 2014 (r43492) +++ head/en_US.ISO8859-1/htdocs/releases/10.0R/relnotes.html Tue Jan 14 01:04:43 2014 (r43493) @@ -1,5 +1,6 @@ -FreeBSD 10.0-RELEASE Release Notes

FreeBSD 10.0-RELEASE Release Notes

The FreeBSD Project

FreeBSD is a registered trademark of +FreeBSD 10.0-RELEASE Release Notes

FreeBSD 10.0-RELEASE Release Notes

The FreeBSD Project

FreeBSD is a registered trademark of the FreeBSD Foundation.

IBM, AIX, OS/2, PowerPC, PS/2, S/390, and ThinkPad are trademarks of International Business Machines Corporation in the @@ -17,66 +18,63 @@ 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.

Last modified on 2014-01-14 by gjb.
Abstract

The release notes for FreeBSD 10.0-RELEASE contain a summary - of the changes made to the FreeBSD base system on the - 10.0-STABLE 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.


1. Introduction

This document contains the release notes for FreeBSD - 10.0-RELEASE. It - describes recently added, changed, or deleted features of FreeBSD. - It also provides some notes on upgrading - from previous versions of FreeBSD.

The latest, up-to-date version of the release notes are - available online at http://www.FreeBSD.org/releases/10.0R/relnotes.html.

The snapshot distribution to which these release notes - apply represents a point along the 10.0-STABLE development - branch between 10.0-CURRENT and the future 10.1-RELEASE. - Information regarding - pre-built, binary snapshot distributions along this branch - can be found at http://www.FreeBSD.org/releases/.

All users are encouraged to consult the release errata before + ® symbol.

Last modified on 2014-01-14 by gjb.
Abstract

The release notes for FreeBSD 10.0-RELEASE contain + a summary of the changes made to the FreeBSD base system on the + 10.0-STABLE 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.


1. Introduction

This document contains the release notes for FreeBSD + 10.0-RELEASE. It describes recently added, changed, or + deleted features of FreeBSD. It also provides some notes on + upgrading from previous versions of FreeBSD.

The latest, up-to-date version of the release notes are + available online at http://www.FreeBSD.org/releases/10.0R/relnotes.html.

The snapshot distribution to + which these release notes apply represents a point along the + 10.0-STABLE development branch between 10.0-CURRENT and the + future 10.1-RELEASE. Information regarding pre-built, binary + snapshot distributions along this branch can be found at + http://www.FreeBSD.org/releases/.

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 - 10.0-RELEASE can be found on the FreeBSD Web site.

2. What's New

This section describes - the most user-visible new or changed features in FreeBSD - since 10.0-CURRENT. - In general, changes described here are unique to the 10.0-STABLE - branch unless specifically marked as MERGED features. -

Typical release note items - document recent security advisories issued after - 10.0-CURRENT, - 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.

2.1. Security Advisories

No security advisories.

2.2. Kernel Changes

The use of unmapped VMIO buffers eliminates the need to perform - TLB shootdown for mapping on buffer creation and reuse, greatly reducing the - amount of IPIs for shootdown on big-SMP machines and eliminating up to 25-30% - of the system time on i/o intensive workloads.

The maximum amount of memory the FreeBSD kernel - can address has been increased from 1TB to 4TB.

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.

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.

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.

Kernel support for M:N threading has been removed. While + 10.0-RELEASE can be found on the FreeBSD Web site.

2. What's New

This section describes the most user-visible new or changed + features in FreeBSD since 10.0-CURRENT. In general, changes + described here are unique to the 10.0-STABLE branch unless + specifically marked as MERGED features.

Typical release note items document recent security advisories + issued after 10.0-CURRENT, 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.

2.1. Security Advisories

No security advisories.

2.2. Kernel Changes

The use of unmapped VMIO buffers + eliminates the need to perform TLB shootdown for mapping on + buffer creation and reuse, greatly reducing the amount of IPIs + for shootdown on big-SMP machines and eliminating up to 25-30% + of the system time on i/o intensive workloads.

The maximum amount of memory + the FreeBSD kernel can address has been increased from 1TB to + 4TB.

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.

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.

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.

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. @@ -93,58 +91,68 @@ in GENERIC kernels.

Support was added for the new Intel on-CPU Bull Mountain random number generator, found on IvyBridge and supposedly later CPUs, - accessible with the RDRAND instruction.

2.2.1. Virtualization support

The BSD Hypervisor, bhyve(8) is included - with FreeBSD. bhyve(8) requires Intel CPUs with VT-x and Extended Page Table (EPT) - support. These features are on all Nehalem models and beyond - (e.g. Nehalem and newer), but not on the lower-end Atom CPUs.

virtio(4) support has been added. virtio(4) is the - name for the paravirtualization interface developed for the Linux KVM, but - since adopted to other virtual machine hypervisors (with the notable exception of Xen). - This work brings in a BSD-licensed clean-room implementation of the virtio kernel drivers - for disk IO (virtio_blk(4) and virtio_scsi(4)), network IO (vtnet(4)), - memory ballooning (virtio_balloon(4)), and PCI. - Tested with on Qemu/KVM, VirtualBox, and bhyve(4).

Paravirtualized drivers which - support Microsoft Hyper-V have been imported and made - part of the amd64 GENERIC kernel. For i386, these drivers are not part of - GENERIC, so the following lines must be added to - /boot/loader.conf to load these drivers: -

hv_ata_pci_disengage_load="YES"
+      accessible with the RDRAND instruction.

2.2.1. Virtualization support

The BSD Hypervisor, + bhyve(8) is included with FreeBSD. bhyve(8) requires + Intel CPUs with VT-x and Extended Page Table (EPT) support. + These features are on all Nehalem models and beyond (e.g. + Nehalem and newer), but not on the lower-end Atom CPUs.

virtio(4) support has been added. + virtio(4) is the name for the paravirtualization + interface developed for the Linux KVM, but since adopted to + other virtual machine hypervisors (with the notable exception + of Xen). This work brings in a BSD-licensed clean-room + implementation of the virtio kernel drivers for disk IO + (virtio_blk(4) and virtio_scsi(4)), network IO + (vtnet(4)), memory ballooning (virtio_balloon(4)), + and PCI. Tested with on Qemu/KVM, VirtualBox, and + bhyve(4).

Paravirtualized + drivers which support Microsoft Hyper-V have been imported and + made part of the amd64 GENERIC kernel. For i386, these + drivers are not part of GENERIC, so the following lines must + be added to /boot/loader.conf to load + these drivers:

hv_ata_pci_disengage_load="YES"
 hv_netsvc_load="YES"
 hv_utils_load="YES"
-hv_vmbus_load="YES"

Alternatively, the Hyper-V drivers can be added to the i386 - kernel by adding device hyperv to the kernel config, and then - recompiling the kernel. Please refer to - FreeBSD and Microsoft Windows Server Hyper-V support - for full instructions on how to set up Hyper-V support under FreeBSD.

The vmx(4) driver has been added. - vmx(4) is a VMware VMXNET3 ethernet driver ported from - OpenBSD.

Xen PVHVM virtualization is now - part of the GENERIC kernel.

2.2.2. ARM support

Raspberry PI support has been added. - Refer to these setup instructions - and this quick start - guide.

The default ABI on ARM is now the ARM EABI. This brings a number of - improvements and allows future support for VFP and Thumb-2.

ARM support has been greatly improved, including support - for ARMv6 and ARMv7, SMP and thread-local storage (TLS). - Additionally support for some newer SoC like the MV78x60 and OMAP4 was added. - See the announcement - for further details.

Superpages support on ARM has been added. Superpages support - provides improved performance and scalability by allowing TLB - translations to dynamically cover large physical memory regions. - All ARMv6 and ARMv7-based platforms can take advantage of this feature. - See the ARM Superpages status - page for further details.

2.2.3. Boot Loader Changes

The BTX kernel used by the boot - loader has been changed to invoke BIOS routines from real +hv_vmbus_load="YES"

Alternatively, the Hyper-V drivers can be added to the + i386 kernel by adding device hyperv to the + kernel config, and then recompiling the kernel. Please refer + to FreeBSD + and Microsoft Windows Server Hyper-V support for full + instructions on how to set up Hyper-V support under + FreeBSD.

The vmx(4) driver has been added. + vmx(4) is a VMware VMXNET3 ethernet driver ported from + OpenBSD.

Xen PVHVM + virtualization is now part of the GENERIC kernel.

2.2.2. ARM support

Raspberry PI support has been added. + Refer to these setup + instructions and this quick + start guide.

The default ABI on ARM is now the ARM + EABI. This brings a number of improvements and allows future + support for VFP and Thumb-2.

ARM support has been greatly improved, + including support for ARMv6 and ARMv7, SMP and thread-local + storage (TLS). Additionally support for some newer SoC like + the MV78x60 and OMAP4 was added. See the announcement + for further details.

Superpages support on ARM has been + added. Superpages support provides improved performance and + scalability by allowing TLB translations to dynamically cover + large physical memory regions. All ARMv6 and ARMv7-based + platforms can take advantage of this feature. See the ARM + Superpages status page for further details.

2.2.3. 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 FreeBSD from USB - devices.

A new gptboot(8) boot loader has - been added to support booting from a GPT labeled disk. A - new boot command has been added to - gpart(8), which makes a GPT disk bootable by writing the - required bits of the boot loader, creating a new boot - partition if required.

2.2.4. Hardware Support

The cmx(4) driver, a driver for Omnikey CardMan 4040 - PCMCIA smartcard readers, has been added.

The syscons(4) driver now supports the Colemak keyboard layout.

The uslcom(4) driver, a driver for Silicon - Laboratories CP2101/CP2102-based USB serial adapters, has been - imported from OpenBSD.

2.2.4.1. 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.

2.2.4.2. Network Interface Support

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 + devices.

A new gptboot(8) boot + loader has been added to support booting from a GPT labeled + disk. A new boot command has been added to + gpart(8), which makes a GPT disk bootable by writing the + required bits of the boot loader, creating a new boot + partition if required.

2.2.4. Hardware Support

The cmx(4) driver, a driver for Omnikey + CardMan 4040 PCMCIA smartcard readers, has been added.

The syscons(4) driver now supports the Colemak + keyboard layout.

The uslcom(4) driver, a driver for + Silicon Laboratories CP2101/CP2102-based USB serial adapters, + has been imported from OpenBSD.

2.2.4.1. 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.

2.2.4.2. Network Interface Support

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 @@ -160,114 +168,131 @@ hv_vmbus_load="YES"

Alternativ support.

The vr(4) driver has been overhauled to fix a number of outstanding issues. It also now works on all architectures.

The wpi(4) driver has - been updated to include a number of stability fixes.

The cxgbe(4) driver has been updated to support - 40G/10G Ethernet NICs based on Chelsio's Terminator 5 (T5) ASIC.

The if_cxgbe(4) driver has been added. This is an - experimental iWARP/RDMA driver - (kernel verbs only) for Chelsio's T4 and T5 based cards.

The Open Fabrics Enterprise Distribution (OFED) and - OFED Infiniband core has been - updated to the same version as supplied by Linux version 3.7

The Mellanox Infiniband driver has been updated to firmware - version 2.30.3200 for ConnectX3 NICs. Support has been added for ConnectX3 VPI NICs, where - each port can be used as Infiniband 56 GB/s or Ethernet 40 GB/s. Support has been added - for dynamically loading kernel modules for Infiniband core (ibcore) and - IP over Infiniband (ipoib).

netmap(4) has been added. netmap(4) is a framework for - high-performance direct-to-hardware packet IO, offering low latency and high PPS - rates to userland applications while bypassing any kernel-side packet processing. - With netmap(4) it is trivially possible to fully saturate a 10 Gbps network interface with - minimal packet sizes. For more information, see: - Netmap Project.

2.2.5. Network Protocols

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(8), better locking and using modern kernel - interfaces to allocate multicast memberships. - Configuration of the CARP protocol via ifconfig(8) has changed, as well as the format - of CARP events submitted to devd(8). See carp(4) - for more information. The arpbalance feature of carp(4) is currently - not supported anymore.

The 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 - ipfw(8).

2.2.6. Disks and Storage

The aac(4) driver now supports volumes larger than - 2TB in size.

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.

nvme(4) has been added and provides NVM Express support. - NVM Express is an optimized register interface, command set and feature set of - PCI Express (PCIe)-based Solid-State Drives (SSDs). For more information, - see nvmexpress.org.

2.2.7. File Systems

A new kernel-based iSCSI target and initiator has been - added.

UFS filesystems can now be enlarged with 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.

2.2.7.1. ZFS

bsdinstall(8) now supports installing - ZFS on the root file system. It includes a single configuration menu - that allows you to select all of the required details, including - which drives to use, what ZFS RAID level to use (taking into consideration - the selected number of drives), GPT or MBR, GELI encryption, forcing 4K sectors, - pool name, etc.

TRIM support has been added for - ZFS.

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.

The zio nop-write improvement from Illumos - was imported into FreeBSD. To reduce I/O, nop-write skips overwriting - data if the (cryptographically secure) checksum of new data - matches the checksum of existing data. It also saves space if - snapshots are in use. This improvement only works on - datasets with enabled compression, disabled deduplication and - sha256 checksums. 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.

2.3. Userland Changes

On platforms where clang(1) is the default + been updated to include a number of stability fixes.

The cxgbe(4) driver has been + updated to support 40G/10G Ethernet NICs based on Chelsio's + Terminator 5 (T5) ASIC.

The if_cxgbe(4) driver has been + added. This is an experimental iWARP/RDMA driver (kernel + verbs only) for Chelsio's T4 and T5 based cards.

The Open Fabrics Enterprise + Distribution (OFED) and OFED Infiniband core has been + updated to the same version as supplied by Linux version + 3.7

The Mellanox Infiniband driver has + been updated to firmware version 2.30.3200 for ConnectX3 + NICs. Support has been added for ConnectX3 VPI NICs, where + each port can be used as Infiniband 56 GB/s or Ethernet 40 + GB/s. Support has been added for dynamically loading kernel + modules for Infiniband core (ibcore) and IP over Infiniband + (ipoib).

netmap(4) has been added. + netmap(4) is a framework for high-performance + direct-to-hardware packet IO, offering low latency and high + PPS rates to userland applications while bypassing any + kernel-side packet processing. With netmap(4) it is + trivially possible to fully saturate a 10 Gbps network + interface with minimal packet sizes. For more information, + see: Netmap + Project.

2.2.5. Network Protocols

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(8), better locking and using modern kernel + interfaces to allocate multicast memberships. Configuration + of the CARP protocol via ifconfig(8) has changed, as well + as the format of CARP events submitted to devd(8). See + carp(4) for more information. The arpbalance feature of + carp(4) is currently not supported anymore.

The 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 ipfw(8).

2.2.6. Disks and Storage

The aac(4) driver now supports volumes + larger than 2TB in size.

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.

nvme(4) has been added and provides + NVM Express support. NVM Express is an optimized register + interface, command set and feature set of PCI Express + (PCIe)-based Solid-State Drives (SSDs). For more information, + see nvmexpress.org.

2.2.7. File Systems

A new kernel-based iSCSI target and + initiator has been added.

UFS filesystems can now be enlarged with + 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.

2.2.7.1. ZFS

bsdinstall(8) now supports installing + ZFS on the root file system. It includes a single + configuration menu that allows you to select all of the + required details, including which drives to use, what ZFS + RAID level to use (taking into consideration the selected + number of drives), GPT or MBR, GELI encryption, forcing 4K + sectors, pool name, etc.

TRIM support has been added for + ZFS.

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.

The zio nop-write improvement from + Illumos was imported into FreeBSD. To reduce I/O, nop-write + skips overwriting data if the (cryptographically secure) + checksum of new data matches the checksum of existing data. + It also saves space if snapshots are in use. This + improvement only works on datasets with enabled compression, + disabled deduplication and sha256 checksums. 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.

2.3. Userland Changes

On platforms where clang(1) is the default system compiler (such as i386, amd64, arm), GCC and GNU libstdc++ are no longer built by default. clang(1) and libc++ from LLVM are used on these platforms by instead. GCC 4.2.1 and libstdc++ are still built and used by default on pc98 and all other platforms where clang(1) - is not the default system compiler. -

clang(1) and llvm have been updated to - version 3.3 release. Please refer to - - Clang 3.3 Release Notes.

BIND has been replaced by unbound(8) for - local DNS resolution in the base system. With this change, nslookup - and dig are no longer a part of the base system. Users should - instead use host(1) and drill(1) Alternatively, - nslookup and dig can be obtained by installing the - dns/bind-tools port.

sysinstall has been removed from the base system. - Auxiliary libraries and tools used by sysinstall such as libdisk, libftpio, - and sade have also been removed. sysinstall has been replaced by - bsdinstall(8) and bsdconfig(8).

freebsd-version(1) has been added. This tool - makes a best effort to determine the version and patch level of - the installed kernel and userland.

GNU patch has been removed from the base system, and replaced - by a BSD-licensed patch(1) program.

GNU sort has been removed from the base system, and replaced - by a BSD-licensed sort(1) program.

Berkely yacc (byacc) has been imported - from invisible island. - This brings bison compatibilities to yacc(1) while preserving full - backwards compatibility with previous version of yacc(1).

lex(1) has been replaced by flex 2.5.37.

make(1) has been replaced with the - Portable BSD make tool (bmake) from NetBSD.

The adduser(8) utility now supports + is not the default system compiler.

clang(1) and llvm have been updated to + version 3.3 release. Please refer to + Clang 3.3 Release Notes.

BIND has been replaced by + unbound(8) for local DNS resolution in the base system. + With this change, nslookup and dig are no longer a part of the + base system. Users should instead use host(1) and + drill(1) Alternatively, nslookup and dig can be obtained by + installing the dns/bind-tools port.

sysinstall has been removed from the base + system. Auxiliary libraries and tools used by sysinstall such + as libdisk, libftpio, and sade have also been removed. + sysinstall has been replaced by bsdinstall(8) and + bsdconfig(8).

freebsd-version(1) has been added. + This tool makes a best effort to determine the version and patch + level of the installed kernel and userland.

GNU patch has been removed from the base + system, and replaced by a BSD-licensed patch(1) + program.

GNU sort has been removed from the base + system, and replaced by a BSD-licensed sort(1) + program.

Berkely yacc (byacc) has been imported + from invisible + island. This brings bison compatibilities to + yacc(1) while preserving full backwards compatibility with + previous version of yacc(1).

lex(1) has been replaced by flex + 2.5.37.

make(1) has been replaced with the + Portable BSD make tool (bmake) from + NetBSD.

The adduser(8) utility now supports a -M option to set the mode of a new user's home directory.

BSD-licensed versions of ar(1) and ranlib(1), - based on libarchive(3), have replaced the GNU - Binutils versions of these utilities.

BSD-licensed versions of bc(1) and dc(1) have - replaced their GNU counterparts.

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).

For compatibility with other implementations, cp(1) now + based on libarchive(3), have replaced the GNU Binutils + versions of these utilities.

BSD-licensed versions of bc(1) and dc(1) have + replaced their GNU counterparts.

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).

For compatibility 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(3), has replaced the GNU cpio. - Note that the GNU cpio is still installed as + libarchive(3), 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 fdopendir(3) library function has been added.

The fetch(3) library now supports HTTP 1.1 - If-Modified-Since behavior. The fetch(1) program now + 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 fdopendir(3) library function has been + added.

The fetch(3) library now supports 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.

find(1) has been enhanced by the addition of a number @@ -284,10 +309,10 @@ hv_vmbus_load="YES"

Alternativ 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.

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 split(1) utility now supports a -n + accepts multiple paths on its command line.

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 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 @@ -299,8 +324,8 @@ hv_vmbus_load="YES"

Alternativ 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.

zdump(8) is now working properly on 64-bit architectures. -

traceroute(8) now has the ability to print the AS + provide per-CPU usage statistics.

zdump(8) is now working properly on 64-bit + architectures.

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 @@ -317,43 +342,51 @@ hv_vmbus_load="YES"

Alternativ shutdown script

The following rc(8) scripts have been removed:

rc(8) Script

Reason

encswap

Replaced by swap and swaplate

named

Removed with BIND

swap1

Replaced by swap and - swaplate

2.4. Contributed Software

jemalloc(3) has been updated to 3.4.0. - See this link - for more details.

AMD has been updated from 6.0.10 - to 6.1.5.

awk has been updated from the 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 Collection.

Subversion has been imported into the base system and - is installed as svnlite. svnlite - should only be used for checking out the FreeBSD source trees and committing, and does not - replace the full Subversion port.

file has been updated to 5.11.

hostapd has been - updated from 0.5.8 to 0.5.10.

IPFilter has been updated to 5.1.2.

less has been updated to - v458.

ncurses has been updated - to 5.7-20081102.

OpenSSH has been updated - to 6.4.

OpenPAM has been updated to - the Micrampelis release.

sendmail has been updated from - 8.14.1 to 8.14.7.

The timezone database has been updated from + swaplate

2.4. Contributed Software

jemalloc(3) has been updated to + 3.4.0. See this + link for more details.

AMD has been + updated from 6.0.10 to 6.1.5.

awk has been + updated from the 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 + Collection.

Subversion has been imported into the base + system and is installed as svnlite. + svnlite should only be used for + checking out the FreeBSD source trees and committing, and does not + replace the full Subversion port.

file has been + updated to 5.11.

hostapd has + been updated from 0.5.8 to 0.5.10.

IPFilter has been updated to + 5.1.2.

less has been + updated to v458.

ncurses has been updated to + 5.7-20081102.

OpenSSH has been + updated to 6.4.

OpenPAM has + been updated to the Micrampelis 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, zdump(8) and zic(8) - have been updated from the tzcode2004a + the tzdata2009m release.

The stdtime part of libc, zdump(8) and zic(8) have + been updated from the tzcode2004a release to the tzcode2009h release. - If you have upgraded from source or via the freebsd-update(8), - then please run tzsetup(8) to install a new /etc/localtime. -

WPA Supplicant has been - updated to 2.0.

xz has been updated - from snapshot as of 12 April 2010 to 5.0.0.

nvi(1) has been updated to 2.1.2.

nvi(1) supports wide-character locales.

2.5. Ports/Packages Collection Infrastructure

The pkg_add, pkg_create, pkg_delete, pkg_info, - pkg_updating, and pkg_version utilities have been removed. - pkg(7) must now be used to install binary packages. pkg(7) - is the next generation FreeBSD package manager, also referred to as pkgng.

2.6. Release Engineering and Integration

The supported version of + If you have upgraded from source or via the + freebsd-update(8), then please run tzsetup(8) to + install a new /etc/localtime.

WPA Supplicant + has been updated to 2.0.

xz has been updated + from snapshot as of 12 April 2010 to 5.0.0.

nvi(1) has been updated + to 2.1.2.

nvi(1) supports wide-character + locales.

2.5. Ports/Packages Collection Infrastructure

The pkg_add, pkg_create, pkg_delete, + pkg_info, pkg_updating, and pkg_version utilities have been + removed. pkg(7) must now be used to install binary + packages. pkg(7) is the next generation FreeBSD package + manager, also referred to as pkgng.

2.6. Release Engineering and Integration

The supported version of the GNOME desktop environment (x11/gnome2) has been - updated from 2.20.1 to 2.22.

3. Upgrading from previous releases of FreeBSD

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 + updated from 2.20.1 to 2.22.

3. Upgrading from previous releases of FreeBSD

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.

Source-based upgrades (those based on recompiling the FreeBSD base system from source code) from previous versions are supported, according to the instructions in