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">
6 <!ENTITY % sponsor PUBLIC "-//FreeBSD//ENTITIES Sponsor Specification//EN" "sponsor.ent">
8 <!ENTITY % vendor PUBLIC "-//FreeBSD//ENTITIES Vendor Specification//EN" "vendor.ent">
11 <article xmlns="http://docbook.org/ns/docbook"
12 xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0">
15 <title>&os; &release.current; Release Notes</title>
18 <orgname>The &os; Project</orgname>
21 <pubdate>$FreeBSD$</pubdate>
39 <holder role="mailto:doc@FreeBSD.org">The &os; Documentation
43 <legalnotice xml:id="trademarks" role="trademarks">
53 <para>The release notes for &os; &release.current; contain
54 a summary of the changes made to the &os; base system on the
55 &release.branch; development line. This document lists
56 applicable security advisories that were issued since the last
57 release, as well as significant changes to the &os; kernel and
58 userland. Some brief remarks on upgrading are also
63 <sect1 xml:id="intro">
64 <title>Introduction</title>
66 <para>This document contains the release notes for &os;
67 &release.current;. It describes recently added, changed, or
68 deleted features of &os;. It also provides some notes on
69 upgrading from previous versions of &os;.</para>
71 <para releasetype="current">The &release.type; distribution to
72 which these release notes apply represents the latest point
73 along the &release.branch; development branch since
74 &release.branch; was created. Information regarding pre-built,
75 binary &release.type; distributions along this branch can be
77 xlink:href="&release.url;">&release.url;</uri>.</para>
79 <para releasetype="snapshot">The &release.type; distribution to
80 which these release notes apply represents a point along the
81 &release.branch; development branch between &release.prev; and
82 the future &release.next;. Information regarding pre-built,
83 binary &release.type; distributions along this branch can be
85 xlink:href="&release.url;">&release.url;</uri>.</para>
87 <para releasetype="release">This distribution of &os;
88 &release.current; is a &release.type; distribution. It can be
89 found at <uri xlink:href="&release.url;">&release.url;</uri> or
90 any of its mirrors. More information on obtaining this (or
91 other) &release.type; distributions of &os; can be found in the
93 xlink:href="&url.books.handbook;/mirrors.html"><quote>Obtaining
94 &os;</quote> appendix</link> to the <link
95 xlink:href="&url.books.handbook;/">&os;
96 Handbook</link>.</para>
98 <para>All users are encouraged to consult the release errata
99 before installing &os;. The errata document is updated with
100 <quote>late-breaking</quote> information discovered late in the
101 release cycle or after the release. Typically, it contains
102 information on known bugs, security advisories, and corrections
103 to documentation. An up-to-date copy of the errata for &os;
104 &release.current; can be found on the &os; Web site.</para>
108 <title>What's New</title>
110 <para>This section describes the most user-visible new or changed
111 features in &os; since &release.prev;.</para>
113 <para>Typical release note items document recent security
114 advisories issued after &release.prev;, new drivers or hardware
115 support, new commands or options, major bug fixes, or
116 contributed software upgrades. They may also list changes to
117 major ports/packages or release engineering practices. Clearly
118 the release notes cannot list every single change made to &os;
119 between releases; this document focuses primarily on security
120 advisories, user-visible changes, and major architectural
123 <sect2 xml:id="security">
124 <title>Security Advisories</title>
130 <sect2 xml:id="kernel">
131 <title>Kernel Changes</title>
133 <para revision="260431">A new &man.sysctl.8;,
134 <literal>kern.panic_reboot_wait_time</literal>, has been
135 added, which allows controlling how long the system will wait
136 after &man.panic.9; before rebooting.</para>
138 <para revision="262861">The &man.vt.4; driver has been merged
139 from &os;-CURRENT. To enable &man.vt.4;, enter
140 <literal>set kern.vty=vt</literal> at the &man.loader.8;
141 prompt during boot, or add <literal>kern.vty=vt</literal> to
142 &man.loader.conf.5; and reboot the system.</para>
144 <para revision="263122">Support for &man.hwpmc.4; has been added
145 for &powerpc; 970 class processors.</para>
147 <para revision="263197">Support for ADT7460 and ADT7467 fan
148 controllers found in newer PowerBooks™ and
149 iBooks™ has been added to the &man.iicbus.4;
152 <para revision="263256">A panic triggered by removing
153 a &man.urtwn.4; device has been fixed.</para>
155 <para revision="263799">A potential deadlock in the &man.usb.4;
156 stack triggered by detaching USB devices that create character
157 devices has been fixed.</para>
159 <para revision="263869">Support for &amd; Family 16h sensor
160 devices has been added to &man.amdtemp.4;.</para>
162 <para revision="265610">The &man.uslcom.4; driver has been
163 updated to support 26 new devices.</para>
165 <para revision="266165">A kernel bug that inhibited proper
166 functionality of the <literal>dev.cpu.0.freq</literal>
167 &man.sysctl.8; on &intel; processors with Turbo
168 Boost™ enabled has been fixed.</para>
170 <para revision="266436">The &man.uart.4; driver has been
171 updated to include support for the &intel; Lynx Point
172 KT <acronym>AMT</acronym> serial port.</para>
174 <para revision="266594">The <literal>radeonkms(4)</literal>
175 driver has been updated to include 32-bit &man.ioctl.2;
176 support, allowing 32-bit applications to run on a 64-bit
179 <para revision="266718">A bug that would prevent
180 a &man.jail.8; from setting the correct IPv4 source address
181 with some operations that required
182 <literal>security.jail.allow_raw_sockets</literal> has been
185 <para revision="266911">The &man.hwpmc.4; driver has been
186 updated to support core events from the Atom™
187 Silvermont architecture.</para>
189 <para revision="268046">The &man.oce.4; driver has been updated
190 with vendor-supplied fixes for big endian support, and 20GB/s
191 and 25GB/s link speeds.</para>
193 <para revision="270630">The &os; virtual memory subsystem
194 has been updated to implement <quote>fast path</quote> for
195 the page fault handler.</para>
197 <para revision="271069">The &man.asmc.4; driver has been updated
198 to support the &apple; Mac Mini 3,1.</para>
200 <para revision="271111">The &os;/&arch.powerpc64; default kernel
201 configuration, <filename>GENERIC64</filename>, has been
202 updated to enable the &man.vt.4; console driver for the
203 Sony® Playstation 3™ platform.</para>
205 <para revision="271116" contrib="sponsor" sponsor="&ff;">The
206 &os;/&arch.powerpc; <literal>ofwfb</literal> driver, used to
207 provide a graphics console when the &man.vt.4; console driver
208 is used, has been modified to work with the <filename
209 role="package">x11-drivers/xf86-video-scfb</filename>
213 <para>If using an <acronym>ATI</acronym> graphics card with
214 the &man.vt.4; driver, the <filename
215 role="package">x11-servers/xorg-server</filename> package
216 must be updated to version 1.12.4_8 or newer.</para>
219 <para revision="271128" contrib="sponsor" sponsor="&ff;">Several
220 performance enchancements to the &man.vt.4; driver have been
221 merged from &os;-CURRENT.</para>
223 <para revision="271153">The default stack size
224 (<literal>KSTACK_PAGES</literal>) has been increased from
225 <literal>4</literal> to <literal>8</literal> for the
226 &arch.powerpc64; architecture.</para>
228 <sect3 xml:id="kernel-virtualization">
229 <title>Virtualization Support</title>
231 <para revision="259450">Support for µsoft; Hyper-V
232 has been added to &os;/i386 as loadable modules, however
233 not available in the <filename>GENERIC</filename> kernel
234 configuration.</para>
236 <para revision="261090">The &man.bhyve.4; hypervisor now
237 supports soft power-off functionality via the ACPI S5
240 <para revision="267399">Support for &os;/i386 guests has been
241 added to &man.bhyve.4;.</para>
243 <para revision="267427">Support for virtualized
244 <literal>XSAVE</literal> has been added to &man.bhyve.4;,
245 allowing guest operating systems to use
246 <literal>XSAVE</literal> and
247 <literal>XSAVE</literal>-enabled features, such as
248 <acronym>AVX</acronym>.</para>
250 <para revision="268932">The &man.bhyve.4; hypervisor now
251 supports booting from a &man.zfs.8; filesystem.</para>
253 <para revision="268933">A new driver, &man.virtio_random.4;,
254 has been added, which allows &os; virtual machines to
255 harvest entropy from the hypervisor.</para>
257 <para revision="270159">The &man.bhyve.4; hypervisor has been
258 synced with the version in &os;-CURRENT.</para>
260 <para>A number of enhancements have been added, and several
261 bug fixes, including:</para>
265 <para>Post-mortem debugging has been added when
266 a guest virtual machine exits with an
267 <quote><acronym>EPT</acronym> Misconfiguration</quote>
272 <para>The hypervisor &man.virtio.4; <acronym>API</acronym>
273 has been expanded from 32- to 64-bit.</para>
277 <para>Support for identifying capabilities of the virtual
278 <acronym>CPU</acronym> has been added.</para>
282 <para>Support for emulating legacy x86 task
283 switching has been added.</para>
287 <para>Support to list the VT-x features in base kernel
288 &man.dmesg.8; has been added.</para>
292 <para>Support for extended PCI configuration space
293 has been added.</para>
298 <sect3 xml:id="kernel-arm">
299 <title>ARM Support</title>
301 <para revision="259355">The <filename>WANDBOARD</filename>
302 kernel configuration file has been added.</para>
304 <para revision="265067">Boot devices may now be specified by
305 setting a u-boot environment variable. If a boot device is
306 not specified, the probe mechanism will be used. To specify
307 the boot device, set the
308 <literal>loaderdev=<replaceable>device</replaceable></literal>
309 u-boot environment variable.</para>
311 <para revision="266000">The <literal>nexus(4)</literal> driver
312 has been updated to include <quote>Flattened Device
313 Tree</quote> support, replacing the &man.fdtbus.4; driver
314 in most cases.</para>
316 <para revision="266105">The &man.gpioiic.4; and
317 &man.gpioled.4; have been merged from &os;-CURRENT.</para>
319 <para>Support for hardware floating point was added to the
320 kernel, and enabled by default in the configuration files
321 for all platforms that contain the required hardware.</para>
323 <para><application>C++</application> exception handling now
324 works with <application>GCC</application>.</para>
326 <para>Support for <acronym>SMP</acronym> was added to the
327 kernel, and enabled by default in the configuration files
328 for all platforms that contain multi-core CPUs.</para>
330 <para>Support was added for:</para>
334 <para>CHROMEBOOK (Samsung Exynos 5250)</para>
338 <para>COLIBRI (Freescale Vybrid)</para>
342 <para>COSMIC (Freescale Vybrid)</para>
346 <para>IMX53-QSB (Freescale i.MX53)</para>
350 <para>QUARTZ (Freescale Vybrid)</para>
354 <para>RADXA (Rockchip rk30xx)</para>
358 <para>WANDBOARD (Freescale i.MX6)</para>
362 <para>An <acronym>I2C</acronym> driver was added for
363 the RaspberryPi.</para>
365 <para>Drivers have been added to support <acronym>TI</acronym>
366 platforms, such as BEAGLEBONE and PANDABOARD:</para>
370 <para>PRUSS (Programmable Realtime Unit Subsystem)</para>
374 <para>MBOX (Mailbox hardware)</para>
378 <para>SDHCI (new faster driver for
379 <acronym>MMC</acronym>/<acronym>SD</acronym>
384 <para>PPS (Pulse Per Second input on a
385 <acronym>GPIO</acronym>/timer pin)</para>
389 <para>PWM (Pulse Width Modulation output)</para>
393 <para>ADC (Analog to Digital converter)</para>
398 <sect3 xml:id="boot">
399 <title>Boot Loader Changes</title>
401 <para revision="262701">A kernel selection menu has been added
402 to &man.loader.8;. If the <quote>beastie menu</quote> is
403 enabled, the kernel to boot may be selected from the kernel
404 selection menu. Additional kernels may be listed in
405 &man.loader.conf.5; as a comma- or space-separated list. By
406 default, <literal>kernel</literal> and
407 <literal>kernel.old</literal> are listed.</para>
409 <para revision="271130" contrib="sponsor" sponsor="&ff;">The
410 <filename class="directory">sys/boot/</filename> sources
411 have been rearranged, moving &man.libstand.3; to a directory
412 indicating the library is built as 32-bit.</para>
414 <para revision="271135" contrib="sponsor" sponsor="&ff;">The
415 &man.libstand.3; library has been updated to produce
416 a 64-bit shared library for the &os;/&arch.amd64; and
417 &os;/&arch.powerpc64; architectures.</para>
419 <para revision="271135" contrib="sponsor"
420 sponsor="&ff;">Initial support for <acronym>UEFI</acronym>
421 boot has been added.</para>
423 <para revision="271136" contrib="sponsor" sponsor="&ff;">Three
424 new files are installed to <filename
425 class="directory">/boot</filename>, supporting
426 <acronym>UEFI</acronym> boot:</para>
430 <para><filename>boot1.efi</filename>: The
431 <acronym>UEFI</acronym> first stage bootstrap
436 <para><filename>boot1.efifat</filename>:
437 A <acronym>FAT</acronym> filesystem image containing
438 an <acronym>EFI</acronym> system partition.</para>
442 <para><filename>loader.efi</filename>: The third stage
443 bootstrap file.</para>
448 <sect3 xml:id="proc">
449 <title>Hardware Support</title>
454 <title>Multimedia Support</title>
460 <sect4 xml:id="net-if">
461 <title>Network Interface Support</title>
463 <para revision="259453">Support for Ralink RT5370 and
464 RT5372 chipsets has been added to the &man.run.4;
467 <para revision="260120">Firmware for the &man.run.4; driver
468 has been updated to version 0.33.</para>
470 <para revision="261868">Support for the Ralink RT3593
471 chipset has been added to the &man.run.4; driver.</para>
473 <para revision="261972">The &man.nve.4; driver is now
474 deprecated, and the &man.nfe.4; driver should be used
477 <para revision="262137">Support for the &man.axge.4; driver
478 has been added. This driver supports the ASIX AX88178A
479 and AX88179 USB ethernet adapters. The AX88178A supports
480 USB 2.0, and the AX88179 supports USB 2.0 and 3.0.</para>
482 <para revision="262363">The &man.urndis.4; driver has been
483 imported from OpenBSD.</para>
485 <para revision="264866">Support for multiple
486 transmitter/receiver queues has been added to the
487 &man.vmx.4; driver.</para>
490 <para>The &os; guest operating system must have
491 <acronym>MSIX</acronym> enabled as a prerequisite for
492 multiple queues.</para>
495 <para revision="265345">Support for the ASUS USB-N10 Nano
496 wireless card has been added to the &man.urtwn.4;
499 <para revision="266212">Transmission checksum offloading has
500 been disabled for the RTL8168C and RTL8168CP chipsets in
501 the &man.re.4; driver for TCP and UDP frames. This is
502 due to a report of UDP datagrams with IP options
503 generating corrupt frames.</para>
505 <para revision="266578">Preliminary support has been added
506 to the &man.urtwn.4; driver for the Realtek RTL8188EUS and
507 RTL8188ETV chipsets.</para>
509 <para revision="267694">A bug in the fast receiver buffer
510 recycle path has been fixed in the &man.cxgbe.4;
513 <para revision="267849" contrib="vendor"
514 vendor="&chelsio;">The bundled &man.cxgbe.4; firmware for
515 T4 and T5 cards has been updated to version
518 <para revision="269196">The &man.em.4; driver has been
519 updated to version 7.4.2.</para>
521 <para revision="269975">The &man.ixgbe.4; tunables have been
522 renamed to match their &man.sysctl.8; counterparts:</para>
524 <informaltable frame="none" pgwide="0">
526 <colspec colwidth="1*"/>
527 <colspec colwidth="1*"/>
530 <entry>Old Name</entry>
531 <entry>New Name</entry>
537 <entry><literal>hw.ixgbe.enable_aim</literal></entry>
538 <entry><literal>hw.ix.enable_aim</literal></entry>
542 <entry><literal>hw.ixgbe.max_interrupt_rate</literal></entry>
543 <entry><literal>hw.ix.max_interrupt_rate</literal></entry>
547 <entry><literal>hw.ixgbe.rx_process_limit</literal></entry>
548 <entry><literal>hw.ix.rx_process_limit</literal></entry>
552 <entry><literal>hw.ixgbe.tx_process_limit</literal></entry>
553 <entry><literal>hw.ix.tx_process_limit</literal></entry>
557 <entry><literal>hw.ixgbe.enable_msix</literal></entry>
558 <entry><literal>hw.ix.enable_msix</literal></entry>
562 <entry><literal>hw.ixgbe.num_queues</literal></entry>
563 <entry><literal>hw.ix.num_queues</literal></entry>
567 <entry><literal>hw.ixgbe.txd</literal></entry>
568 <entry><literal>hw.ix.txd</literal></entry>
572 <entry><literal>hw.ixgbe.rxd</literal></entry>
573 <entry><literal>hw.ix.rxd</literal></entry>
577 <entry><literal>hw.ixgbe.unsupported_sfp</literal></entry>
578 <entry><literal>hw.ix.unsupported_sfp</literal></entry>
584 <para>Be sure to update &man.loader.conf.5; if using the
585 old tunables before upgrading to
586 &os; &release.current;.</para>
588 <para revision="270061">The &man.if.nf10bmac.4; driver has
589 been merged from &os;-CURRENT to support the NetFPGA-10G
590 Embedded CPU Ethernet Core.</para>
592 <para revision="270297">The &man.cxgbe.4; driver has been
593 updated to support &man.netmap.4; for the T5 10G/40G
596 <para revision="270509">The &man.vtnet.4; driver has been
597 updated to support &man.netmap.4;.</para>
599 <para revision="270514">The &man.urtwn.4; driver has been
600 updated to support the ASUS USB-AC51 wireless card.</para>
602 <para revision="270631">The &intel; XL710 ethernet
603 controller driver, <literal>ixlv(4)</literal>, has been
604 merged from &os;-CURRENT.</para>
608 <sect3 xml:id="net-proto">
609 <title>Network Protocols</title>
611 <para revision="265946">Support for the UDP-Lite protocol
612 (RFC 3828) has been added to the IPv4 and IPv6
615 <para revision="267771">A bug in &man.sctp.4; that would allow
616 two listening sockets bound to the same port has been
619 <para contrib="sponsor" sponsor="&ix;">Kernel RPC code, which
620 is a base of NFS server took multiple optimizations, that
621 significantly improved its performance and
622 <acronym>SMP</acronym> scapability.</para>
624 <para revision="269065" contrib="sponsor" sponsor="&ff;">The
625 <acronym>iSCSI</acronym> initiator has been updated to
626 support redirection handling when an
627 <acronym>iSCSI</acronym> device is configured with multiple
628 <acronym>IP</acronym> addresses across different network
629 interfaces. Previously, clients connecting to
630 such <acronym>iSCSI</acronym> devices could require
631 additional client-side configuration.</para>
633 <para revision="265523" contrib="sponsor" sponsor="&ff;">A new
635 <literal>kern.iscsi.fail_on_disconnection</literal>, has
636 been added, which allows <acronym>iSCSI</acronym> clients to
637 remove the attached disk device when the connection to the
638 target is dropped, where previously I/O would stop until the
639 connection is restored.</para>
641 <para revision="265524" contrib="sponsor" sponsor="&ff;">The
642 <acronym>iSCSI</acronym> transmit code has been optimized
643 to coalesce <acronym>PDUs</acronym> and avoid lock
646 <para revision="265524" contrib="sponsor"
647 sponsor="&ix;">Several performance optimizations have been
648 made to the <acronym>iSCSI</acronym> subsystem, including
649 deferring wakeup until enough data has been received to
650 read or write a file, reducing <acronym>CPU</acronym> usage
651 and throughput performance with large I/O workloads.</para>
654 <sect3 xml:id="disks">
655 <title>Disks and Storage</title>
657 <para revision="260385" contrib="sponsor" sponsor="&ix;">The
658 &man.geom.4; subsystem has been updated to support I/O
659 direct dispatch. When safety requirements are met, it
660 enables avoiding passing I/O requests to GEOM
661 <literal>g_up</literal>/<literal>g_down</literal> thread,
662 executing them directly in the caller context, avoiding
664 <literal>g_up</literal>/<literal>g_down</literal> threads,
665 plus avoid several context switches per I/O.</para>
667 <para revision="260385" contrib="sponsor" sponsor="&ix;">The
668 &man.geom.4; RAID driver has been
669 updated to support unmapped I/O.</para>
671 <para revision="260387" contrib="sponsor" sponsor="&ix;">The
672 &man.cam.4; subsystem has been updated to support
673 finer-grained locking, direct dispatch and multi-queue,
674 which combined with &man.geom.4; direct dispatch, reduces
675 lock congestion and improves <acronym>SMP</acronym>
676 scalability of the SCSI/ATA stack.</para>
678 <para revision="260478">The &man.geom.8;
679 <literal>GEOM_MULTIPATH</literal> class has been updated to
680 support automatic live partition resizing.</para>
682 <para revision="260857">The &man.virtio_blk.4; driver has been
683 updated to support unmapped I/O.</para>
685 <para revision="260858">The &man.virtio_scsi.4; driver has
686 been updated to support unmapped I/O.</para>
688 <para revision="264522">Support for LUN-based CD changers has
689 been removed from the &man.cd.4; driver.</para>
691 <para revision="264732">Support for
692 <literal>BIO_DELETE</literal> has been added to &man.zfs.8;
693 <literal>zvol</literal> volumes.</para>
695 <para revision="264734">Support for 9th generation HP host bus
696 adapter cards has been added to &man.ciss.4;.</para>
698 <para revision="265388" contrib="sponsor" sponsor="&lsi;">The
699 &man.mpr.4; device has been added,
700 providing support for LSI Fusion-MPT 3 12Gb SCSI/SATA
703 <para revision="265678">A new <literal>zvol</literal> property
704 <literal>volmode</literal> and &man.sysctl.8;
705 <literal>vfs.zfs.vol.mode</literal> has been added to allow
706 switching <literal>zvol</literal> between three different
707 ways of exposing it to a user: <literal>geom</literal>,
708 <literal>dev</literal> and <literal>none</literal>.</para>
710 <para revision="265922" contrib="sponsor" sponsor="&lsi;">The
711 &man.mrsas.4; driver has been added, providing support for
712 LSI MegaRAID SAS controllers. The &man.mfi.4; driver will
713 attach to the controller, by default. To enable
714 &man.mrsas.4; add <literal>hw.mfi.mrsas_enable=1</literal>
715 to <filename>/boot/loader.conf</filename>, which turns off
716 &man.mfi.4; device probing.</para>
719 <para>At this time, the &man.mfiutil.8; utility and the &os;
720 version of <application>MegaCLI</application> and
721 <application>StorCli</application> do not work with
722 &man.mrsas.4;.</para>
725 <para revision="266608">Fixed accounting of
726 <literal>BIO_FLUSH</literal> operation in &man.geom.8;
727 <literal>GEOM_DISK</literal> class</para>
729 <para revision="266610">The &man.gstat.8; utility now has an
730 <literal>-o</literal> option, to display
731 <quote>other</quote> operations, such as
732 <literal>BIO_FLUSH</literal>.</para>
734 <para revision="267084">The &man.mfi.4; driver has been
735 updated to include support for unmapped I/O.</para>
737 <para revision="267457">The &man.hpt27xx.4; driver has been
738 updated with various vendor-supplied bug fixes.</para>
740 <para revision="270130" contrib="sponsor"
741 sponsor="&citrix.rd;">Support for unmapped I/O has been
742 added to the &man.xen.4; <literal>blkfront</literal>
745 <para revision="259328" contrib="sponsor" sponsor="&ff;">The
746 &man.geom.8; <literal>label</literal> class is now aware of
747 resized partitions. This corrects an issue where
748 <command>geom resize</command> would resize the partition,
749 but the label provider in <filename
750 class="directory">/dev/gptid/</filename> would not be
753 <para revision="260502">The &man.gmirror.8;
754 utility now has a <literal>resize</literal> command, making
755 it easier to resize the size of a mirror when all of its
756 components have been replaced.</para>
758 <para revision="262967">Support for MegaRAID Fury cards has
759 been added to the &man.mfi.4; driver.</para>
761 <para revision="263024">The &man.aacraid.4; driver has been
762 updated to version 3.2.5.</para>
764 <para revision="265536">The <literal>GEOM_VINUM</literal>
765 option is now able to be built both directly into the kernel
766 or as a &man.kldload.8; loadable module.</para>
768 <para revision="265912">The &man.geom.8;
769 <literal>GEOM_PART</literal> class has been updated to
770 support automatic partition resizing. Changes to the
771 partition size are not saved to disk until
772 <command>gpart commit</command> is run, and prior to saving,
773 can be reverted with <command>gpart undo</command>.</para>
775 <para revision="266220">The &man.geom.uncompress.4; module is
776 built by default which, similar to &man.geom.uzip.4;,
777 provides support for compressed, read-only disk
780 <para revision="268091">Support for the
781 <literal>disklabel64</literal> partitioning scheme has been
782 added to &man.gpart.8;.</para>
784 <para revision="270552">A new &man.sysctl.8; and
785 &man.loader.8; tunable,
786 <literal>kern.geom.part.mbr.enforce_chs</literal> has been
787 added to the &man.geom.8; <literal>MBR</literal> partition
788 class. When set to a non-zero value,
789 <literal>GEOM_PART_MBR</literal> will automatically
790 recalculate the user-specified offset and size for alignment
791 with the disk geometry.</para>
793 <para contrib="sponsor" sponsor="&ix;">Many improvements to
794 the CAM Target Layer (CTL):</para>
797 <para>Support for <literal>UNMAP</literal>, <literal>WRITE
798 SAME</literal>, <literal>COMPARE AND WRITE</literal>,
799 <literal>XCOPY</literal> and some other SCSI commands
800 was added to support VMWare VAAI and Microsoft ODX
801 storage acceleration.</para>
804 <para revision="265642">The
805 <literal>READ</literal>/<literal>WRITE</literal> size
806 limitations were removed by supporting multiple
807 data moves per command.</para>
810 <para revision="268556">Finer-grained per-LUN locking and
811 multiple worker threads for better
812 <acronym>SMP</acronym> scapability.</para>
815 <para revision="269297">Memory consumption reduced by
816 several times by disabling some never used
817 functionality.</para>
820 <para revision="269298">The maximum number of
821 <acronym>SCSI</acronym> ports increased from 32 to
825 <para revision="269429">Improved <literal>zvol</literal>
826 integration for better performance.</para>
830 <para revision="270810" contrib="vendor"
831 vendor="&highpoint;">The &man.hptnr.4; driver has been
832 updated to version 1.0.1.</para>
836 <title>File Systems</title>
838 <para revision="260338">The
839 <literal>vfs.zfs.zio.use_uma</literal> &man.sysctl.8; has
840 been re-enabled. On multi-CPU machines with enough RAM,
841 this can easily double &man.zfs.8; performance or reduce CPU
842 usage in half. It was originally disabled due to memory and
843 <acronym>KVA</acronym> exhaustion problem reports, which
844 should be resolved due to several change in the VM
847 <para revision="260178" contrib="vendor"
848 vendor="&netflix;">A new flag, <literal>-R</literal>,
849 has been added to the &man.fsck.ffs.8; utility. When used,
850 &man.fsck.ffs.8; will restart itself when too many critical
851 errors have been detected.</para>
853 <para revision="263407">The &man.zfs.8; filesystem has been
854 updated to implement <quote>bookmarks</quote>. See
855 &man.zfs.8; for further details.</para>
857 <para revision="266122">The &man.zfs.8; filesystem has been
858 updated to allow tuning the minimum <quote>ashift</quote>
859 value when creating new top-level virtual devices (vdevs).
860 To set the minimum ashift value, for example when creating
861 a &man.zpool.8; on <quote>Advanced Format</quote> drives,
862 set the <literal>vfs.zfs.min_auto_ashift</literal>
863 &man.sysctl.8; accordingly.</para>
865 <para revision="266612">The <literal>libzfs</literal> thread
866 pool <acronym>API</acronym> has been imported from
867 OpenSolaris, and adapted for &os;. This change allows
868 parallel disk scanning, which can reduce &man.zpool.8;
869 overall import time in some workloads.</para>
871 <para revision="269651">The &man.restore.8; utility has been
872 updated to prevent assertion failures when restoring
873 a <acronym>UFS</acronym> filesystem dump to
874 a <acronym>ZFS</acronym> filesystem by writing restored
875 files in block sizes that are a multiple of 1024.</para>
877 <para revision="269774">Two &man.sysctl.8;s have been added
878 to the &man.zfs.8; filesystem:</para>
883 <literal>vfs.zfs.mg_fragmentation_threshold</literal>: The
884 percentage of the metaslab group size that should be
885 considered eligible for allocation, unless all metaslab
886 groups within the metaslab class have also crossed this
892 <literal>vfs.zfs.metaslab.fragmentation_threshold</literal>: The
893 maximum percentage of metaslab fragmentation level to
894 keep their active state</para>
898 <para revision="269846">The default &man.zfs.8;
899 <acronym>ARC</acronym> hash table size has been increased,
900 and a new &man.loader.8; tunable,
901 <literal>vfs.zfs.arc_average_blocksize</literal>, has been
902 added. Previously, the hash table could be too small, which
903 would lead to long hash chains and limit performance for
905 <literal>vfs.zfs.arc_average_blocksize</literal> tunable
906 allows overriding the default block size. The previous
907 default was 65536, and default of the new &man.loader.8;
908 tunable is 8192.</para>
910 <para revision="270157">The Fast File System
911 (<acronym>FFS</acronym>) has been updated to support
912 multi-threaded soft updates. Previously, soft updates were
913 handled by a single thread, and as of this change, now have
914 one thread per <acronym>FFS</acronym> mountpoint.</para>
916 <para revision="270892" contrib="sponsor" sponsor="&ff;">The
917 new filesystem automount facility, &man.autofs.5;, has been
918 merged from &os;-CURRENT. The new &man.autofs.5; facility
919 is similar to that found in other &unix;-like operating
920 systems, such as OS X™ and Solaris™. The
921 &man.autofs.5; facility uses a &sun;-compatible
922 &man.auto.master.5; configuration file, and is administered
923 with the &man.automount.8; userland utility, and the
924 &man.automountd.8; and &man.autounmountd.8; daemons.</para>
928 <sect2 xml:id="userland">
929 <title>Userland Changes</title>
931 <para revision="260177" contrib="sponsor"
932 sponsor="&netflix;">A new flag is added to &man.camcontrol.8;,
933 <literal>-b</literal>, which outputs the existing buses and
934 their parents.</para>
936 <para revision="262075">The &man.newsyslog.8; utility has been
937 updated to rotate files based on the actual file size instead
938 of the blocks on disk. This matches the behavior documented
939 in &man.newsyslog.conf.5;.</para>
941 <para revision="262384">The location of the &man.rctl.8;
942 configuration file can now be overridden in &man.rc.conf.5;.
943 To use a non-default location, set
944 <literal>rctl_rules</literal> in &man.rc.conf.5; to the
945 location of the file.</para>
947 <para revision="262855">The <application>ATF</application> test
948 suite has been updated to version 0.20. The test suite is
949 disabled by default in &os; 10.1, and can be enabled by
950 adding <literal>WITH_TESTS=yes</literal> to
951 &man.src.conf.5;.</para>
953 <para revision="263019">The <literal>libucl</literal> library
954 (Unified Configuration Library) has been merged from
957 <para revision="263020">The &man.pkg.7; bootstrapping utility
958 has been synced with the version in &os;-CURRENT.</para>
960 <para revision="263403">The &man.zfs.8; userland utility has
961 been updated to include aliases for
962 <command>snapshot</command>, which allows use of <command>zfs
963 list -t snap</command> and <command>zfs
964 snap</command>.</para>
966 <para revision="263405">The &man.zfs.8; userland utility has
967 been updated to include a new flag to <command>zfs
968 list</command>, <literal>-p</literal>, which when specified,
969 prints the output in a parsable format.</para>
971 <para revision="263783">The Blowfish password format
972 implementation updated. Support for $2b$ has
973 been added, allowing use of passwords greater than 256
974 characters long.</para>
976 <para revision="264497">The &man.iconv.3; library has been
977 updated to match NetBSD, providing several bug fixes.</para>
979 <para revision="265265">The &man.date.1; utility has been
980 updated to include a new flag, <literal>-R</literal>, which
981 prints the date and time output as specified in RFC
984 <para revision="265533">The &man.bc.1; utility has been updated
985 to version 1.1, in sync with the version in OpenBSD.</para>
987 <para revision="265604" contrib="vendor"
988 vendor="&netflix;">The &man.pmcstat.8; utility has been
989 updated to include a new flag, <literal>-a</literal>, which
990 when specified, produces a full stack track on the sampled
993 <para revision="265701">The &man.netstat.8; and &man.route.8;
994 utilities have been updated to include a shorthand equivalent
995 to the <literal>-f inet</literal> and <literal>-f
996 inet6</literal> address specifiers, <literal>-4</literal>
997 and <literal>-6</literal>, respectively.</para>
999 <para revision="265879">The &man.crypt.3; library now defaults
1000 to SHA512 for password hashing.</para>
1002 <para revision="266014">The &man.gvinum.8; utility has been
1003 updated to allow forceful configuration reset with the
1004 <literal>-f</literal> flag. Additionally, a bug that would
1005 prevent <literal>-f</literal> from properly creating
1006 a &man.gvinum.8; configuration has been fixed.</para>
1008 <para revision="266029">The &man.login.conf.5; file now takes
1009 precedence over the shell-specific environment files. In
1010 particular, the <literal>PATH</literal>,
1011 <literal>BLOCKSIZE</literal> variables are commented from
1012 <filename>/usr/share/skel/dot.profile</filename>, and the
1013 <literal>path</literal>, <literal>BLOCKSIZE</literal>, and
1014 <literal>umask</literal> variables have been commented from
1015 <filename>/usr/share/skel/dot.cshrc</filename>.</para>
1017 <para revision="266272">The &man.binmiscctl.8; userland utility
1018 and related image activator features have been merged from
1019 &os;-CURRENT.</para>
1021 <para revision="266279">The &man.ps.1; utility has been
1022 updated to include the <literal>-J</literal> flag, used to
1023 filter output by matching &man.jail.8; IDs and names.
1024 Additionally, argument <literal>0</literal> can be used to
1025 <literal>-J</literal> to only list processes running on the
1028 <para revision="266280">The &man.top.1; utility has been updated
1029 to filter by &man.jail.8; ID or name, in followup to the
1030 &man.ps.1; change in <literal>r265229</literal>.</para>
1032 <para revision="266610">The &man.gstat.8; utility has been
1033 updated to include a new flag, <literal>-o</literal>. When
1034 set, &man.gstat.8; will display statistics for operations
1035 such as <literal>BIO_FLUSH</literal>.</para>
1037 <para revision="266632">The &man.fetch.3; library has been
1038 updated to look for root <acronym>SSL</acronym> certificates
1039 in <filename class="directory">/usr/local/etc/ssl/</filename>
1041 class="directory">/etc/ssl/</filename>.</para>
1043 <para revision="266715">The &man.clang.1;/llvm suite has been
1044 updated to version 3.4.1.</para>
1046 <para revision="266816">The Blowfish password format
1047 has been changed to $2b$ by default.</para>
1049 <para revision="266888">The amount of data collected for
1050 &man.hwpmc.4; has been updated to work with modern processors
1051 and larger amounts of available memory.</para>
1053 <para revision="266890">The &man.pmcstat.8; utility has been
1054 updated to include a new flag, <literal>-l</literal>, which
1055 ends event collection after the specified number of
1058 <para revision="266953">The &man.mergemaster.8; utility has
1059 been updated to avoid printing
1060 <quote><filename>/var/tmp/temproot</filename>
1061 disappeared</quote> if there is nothing to compare.</para>
1063 <para revision="267056">The &os; installer, &man.bsdinstall.8;,
1064 has been updated to include optional
1065 &man.geli.8;-encrypted or &man.gmirror.8;-mirrored swap
1066 devices when installing onto a full &man.zfs.8; filesystem.
1067 Additionally, the parent &man.zfs.8; dataset is now configured
1068 with <literal>lz4</literal> compression enabled.</para>
1070 <para revision="267113">The default &man.newsyslog.conf.5; now
1071 includes files in the
1072 <filename>/etc/newsyslog.conf.d/</filename> and
1073 <filename>/usr/local/etc/newsyslog.conf.d/</filename>
1074 directories by default for &man.newsyslog.8;.</para>
1076 <para revision="267161">The &man.realpath.1; utility has been
1077 updated to return <literal>ENOTDIR</literal> on paths
1078 components <quote>.</quote> and <quote>..</quote> that are
1079 not directories, such as <filename
1080 class="directory">/dev/null/.</filename> or <filename
1081 class="directory">/dev/null/..</filename>.</para>
1083 <para revision="267236">A new flag, <quote>onifconsole</quote>
1084 has been added to <filename>/etc/ttys</filename>. This allows
1085 the system to provide a login prompt via serial console if the
1086 device is an active kernel console, otherwise it is equivalent
1087 to <literal>off</literal>.</para>
1089 <para revision="267341">Support for legacy
1090 <acronym>PCI</acronym> devices has been removed from
1091 &man.bhyve.8;.</para>
1093 <para revision="267450">The &man.bhyve.8; userland utility
1094 has been updated to include SMBIOS support. A new flag has
1095 been added, <literal>-U</literal>, which allows specifying the
1096 UUID of the guest in the System Information structure.</para>
1098 <para revision="267734">The &os; Project has migrated
1099 from the <application>GNATS</application> bug tracking system
1100 to <application>Bugzilla</application>. The &man.send-pr.1;
1101 utility used for submitting problem reports has been replaced
1102 with a stub shell script that instructs to use the Bugzilla
1103 web interface.</para>
1105 <para revision="267747">The &man.patch.1; utility has been
1106 updated to include a <literal>--dry-run</literal> flag, which
1107 is equivalent to <literal>--check</literal> and
1108 <literal>-C</literal>.</para>
1110 <para revision="267878">A bug in &man.bsdgrep.1; that would
1111 prevent patterns from being matched under certain conditions
1112 has been fixed.</para>
1114 <para revision="267979">The &man.procstat.1; utility has been
1115 updated to include two new flags, <literal>-r</literal> and
1116 <literal>-H</literal>. When <literal>-r</literal> is
1117 specified, &man.procstat.1; will print current resource usage
1118 about the process(es). When <literal>-H</literal> is
1119 specified, &man.procstat.1; will print information about
1120 threads rather than the process(es).</para>
1123 <para>The <literal>-H</literal> flag is currently only used
1124 with <literal>-r</literal> to display resource usage for
1125 individual threads, rather than the entire process.</para>
1128 <para revision="268019">The &man.sed.1; utility has been
1129 updated to include a new flag, <literal>-u</literal>, which
1130 enables unbuffered output when specified.</para>
1132 <para revision="268161">The &man.mkimg.1; utility has been
1133 merged from &os;-CURRENT.</para>
1135 <para revision="268700" contrib="sponsor"
1136 sponsor="&spectralogic;">The &man.camcontrol.8; has been
1137 updated to include a new <literal>persist</literal> command,
1138 which allows issuing <command>SCSI PERSISTENT RESERVE
1139 IN</command> and <command>SCSI PERSISTENT RESERVE
1140 OUT</command>.</para>
1142 <para revision="268791">The &man.gstat.8; utility has been
1143 updated to include a new flag, <literal>-p</literal>, which
1144 displays only physical providers when specified.</para>
1146 <para revision="268903">The &man.kldstat.8; utility has been
1147 updated to allow <literal>-q</literal> to be specified when
1148 also specifying <literal>-n
1149 <replaceable>module.ko</replaceable></literal>.</para>
1151 <para revision="269177">The &man.mkimg.1; utility has been
1152 updated to include support for both fixed- and
1153 dynamically-allocated images for the <acronym>VHD</acronym>
1154 and <acronym>VMDK</acronym> formats.</para>
1156 <para revision="269220">The &man.random.4; entropy collection
1157 script, <filename>/usr/libexec/save-entropy</filename>, no
1158 longer runs within &man.jail.8; environments.</para>
1160 <para revision="269397">The &man.bhyve.8; wrapper script,
1161 <filename>/usr/share/examples/bhyve/vmrun.sh</filename>,
1162 has been synced with &os;-CURRENT.</para>
1164 <para>This update includes:</para>
1168 <para>A new flag, <literal>-e</literal>, has been added,
1169 which is used to set &man.loader.8; environment
1174 <para>A new flag, <literal>-C</literal>, has been added,
1175 which is used to specify the guest console device.</para>
1179 <para>A new flag, <literal>-H</literal>, has been added,
1180 which is used to pass the host path to
1181 &man.bhyveload.8;.</para>
1185 <para>Support for multiple disk and &man.tap.4; devices
1186 has been added.</para>
1190 <para>The <literal>-I</literal> flag has been
1195 <para revision="269398">The &man.nfsd.8; server update to 4.1,
1196 adding support for RFC5661, has merged from
1197 &os;-CURRENT.</para>
1199 <para revision="269432" arch="ia64">The serial terminals
1200 <filename>ttyu0</filename> and <filename>ttyu1</filename> have
1201 been updated to <literal>onifconsole</literal> by default in
1202 &man.ttys.5;, which either can be the serial console,
1203 depending on the platform.</para>
1205 <para revision="269800">The &man.ping6.8; utility has been
1206 updated to reset <literal>itimer</literal> when the maximum
1207 number of packets to send have been reached. This prevents
1208 &man.ping6.8; from exiting when the interval in set to a small
1209 value and a low number of packets to send has been
1212 <para revision="269805">The &man.jail.8; utility has been
1213 updated to support extra &man.ifconfig.8; arguments for the
1214 <literal>ip4.addr</literal> and <literal>ip6.addr</literal>
1215 parameters. This change allows &man.carp.4; interfaces to
1216 be used within the &man.jail.8;.</para>
1218 <para revision="269946">Support for generating and compiling
1219 <acronym>USDT</acronym> <application>DTrace</application>
1220 probes has been improved. <application>DTrace</application>
1221 <acronym>USDT</acronym> files are now handled similar to
1222 &man.lex.1; and &man.yacc.1; files, meaning support for
1223 handling <application>D</application> files as part of the
1224 build process is built into the <literal>SRCS</literal>
1225 &man.make.1; environment variable.</para>
1227 <para revision="269968">The &man.iscsictl.8; utility has been
1228 updated to include a new flag, <literal>-M</literal>, which
1229 allows modifying the <acronym>iSCSI</acronym> session
1230 parameters without requiring the session to be removed and
1233 <para revision="270043">The &man.mount.nfs.8; utility has been
1234 updated to support specifying the NFS version as
1235 a <literal>key=<replaceable>value</replaceable></literal> pair
1236 argument to the <literal>-o</literal> flag. For example, to
1237 specify NFS version 4, the syntax to use is
1238 <literal>-o vers=4</literal>.</para>
1240 <para revision="270242" contrib="sponsor"
1241 sponsor="&spectralogic;">The &man.devd.8; client socket type
1242 has been changed to <literal>SOCK_SEQPACKET</literal>,
1243 providing sequential packet support.</para>
1245 <para revision="270401">Support for the <quote>account</quote>
1246 facility has been added to the &man.pam.group.8;
1249 <para revision="270890">The &man.pathchk.1; utility has been
1250 updated to ensure bytes greater than or equal to 128 are
1251 considered non-portable.</para>
1253 <para revision="270997" contrib="vendor" vendor="&freenas;">The
1254 &man.zdb.8; utility is now included in the set of applications
1255 installed in the <filename
1256 class="directory">/rescue</filename> environment, making it
1257 possible to examine &man.zfs.8; filesystems when <filename
1258 class="directory">/usr</filename> is unavailable.</para>
1260 <para>Several <literal>libc</literal> improvements have been
1261 merged from illumos™ and &apple;, providing better
1262 internationalization support and &posix; compliance.</para>
1264 <sect3 xml:id="rc-scripts">
1265 <title><filename>/etc/rc.d</filename> Scripts</title>
1267 <para revision="264438">The <filename>network.subr</filename>
1268 &man.rc.8; script has been updated to loosen the requirement
1269 of listing network aliases in numeric order. Previously,
1271 <literal>_alias<replaceable>2</replaceable></literal>
1272 would not be created if
1273 <literal>_alias<replaceable>1</replaceable></literal> was
1276 <para revision="268098">The &man.service.8; utility has been
1277 updated to check that the &man.rc.d.8; directory exists
1278 before traversing the directory.</para>
1280 <para revision="259141">A regression introduced in
1281 &os; 10.0-RELEASE that would prevent proper IPv6
1282 allocation via the &man.jail.8; &man.rc.8; startup script
1283 has been fixed.</para>
1285 <para revision="264438">The &man.rc.8; restriction requiring
1286 &man.mdconfig.8; devices defined in &man.rc.conf.5; to be
1287 listed sequentially has been removed.</para>
1289 <para revision="262566">The &man.sshd.8; &man.rc.d.8; startup
1290 script now generates <literal>ED25519</literal> &man.sshd.8;
1291 host keys if keys do not already exist when
1292 <literal>ssh_keygen_alg()</literal> is invoked.</para>
1294 <para revision="271095">Support for &man.vt.4; keyboard maps
1295 has been added to the <filename>syscons</filename>
1296 &man.rc.d.8; startup script.</para>
1300 <sect2 xml:id="contrib">
1301 <title>Contributed Software</title>
1303 <para revision="263285">The &man.xz.1; utility has been updated
1304 to a post-5.0.5 snapshot.</para>
1306 <para revision="264377"><application>OpenSSH</application> has
1307 been updated to version 6.6p1.</para>
1309 <para revision="264911">The &man.nc.1; utility has been updated
1310 to match the version in OpenBSD 5.5.</para>
1312 <para revision="266692"><application>Sendmail</application>
1313 has been updated to 8.14.9.</para>
1315 <para revision="268515">The &man.file.1; utility and
1316 &man.libmagic.3; library have been updated to 5.19.</para>
1318 <para revision="268899">The &man.byacc.1; parser has been
1319 updated to version 20140422.</para>
1321 <para revision="269024" contrib="sponsor"
1322 sponsor="&darpa_afrl;">The &man.lldb.1; debugging library has
1323 been updated to the r202189 snapshot.</para>
1325 <para revision="269257">The &man.unbound.8; caching resolver and
1326 <literal>ldns</literal> have been updated to version
1329 <para revision="269686"><application>OpenSSL</application> has
1330 been updated to version 1.0.1i.</para>
1332 <para revision="269847">The <quote>lite</quote> version of
1333 <application>Subversion</application> included in the
1334 &os; base system and its dependencies have been
1339 <para><application>apr</application> has been
1340 updated to version 1.5.1.</para>
1344 <para><application>apr-util</application> has been
1345 updated to version 1.5.3.</para>
1349 <para><application>serf</application> has been
1350 updated to version 1.3.7.</para>
1354 <para><application>svnlite</application> has been
1355 updated to version 1.8.10.</para>
1359 <para revision="270026">The &man.nvi.1; editor has been
1360 update to version 2.1.2-c80f493b038.</para>
1362 <para revision="270031">The &man.fparseln.3; library has
1363 been updated to version 1.7.</para>
1365 <para revision="270415">The <application>lukemftpd</application>
1366 <acronym>FTP</acronym> server has been removed from the
1367 &os; base system.</para>
1369 <para revision="270817">The timezone database has been updated
1370 to version tzdata2014f.</para>
1373 <sect2 xml:id="ports">
1374 <title>Ports/Packages Collection Infrastructure</title>
1380 <sect2 xml:id="releng">
1381 <title>Release Engineering and Integration</title>
1383 <para revision="263028">The &man.services.mkdb.8; utility has
1384 been updated to include endianness awareness, allowing the
1385 <filename>services.db</filename> database to be created as
1386 part of the release build, regardless of native- or
1387 cross-built releases.</para>
1390 <sect2 xml:id="doc">
1391 <title>Documentation</title>
1398 <sect1 xml:id="upgrade">
1399 <title>Upgrading from Previous Releases of &os;</title>
1401 <para arch="amd64,i386">Binary upgrades between RELEASE versions
1402 (and snapshots of the various security branches) are supported
1403 using the &man.freebsd-update.8; utility. The binary upgrade
1404 procedure will update unmodified userland utilities, as well as
1405 unmodified <filename>GENERIC</filename> kernel distributed as
1406 a part of an official &os; release. The &man.freebsd-update.8;
1407 utility requires that the host being upgraded have Internet
1408 connectivity.</para>
1410 <para>Source-based upgrades (those based on recompiling the &os;
1411 base system from source code) from previous versions are
1412 supported, according to the instructions in
1413 <filename>/usr/src/UPDATING</filename>.</para>
1416 <para>Upgrading &os; should only be attempted after
1417 backing up <emphasis>all</emphasis> data and configuration