1 <?xml version="1.0" encoding="iso-8859-1"?>
2 <!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V4.5-Based Extension//EN"
3 "../../../share/xml/freebsd45.dtd" [
4 <!ENTITY % release PUBLIC "-//FreeBSD//ENTITIES Release Specification//EN" "release.ent">
10 <title>&os; &release.current; Release Notes</title>
12 <corpauthor>The &os; Project</corpauthor>
14 <pubdate>$FreeBSD$</pubdate>
18 <holder role="mailto:doc@FreeBSD.org">The &os; Documentation Project</holder>
21 <legalnotice id="trademarks" role="trademarks">
31 <para>The release notes for &os; &release.current; contain a summary
32 of the changes made to the &os; base system on the
33 &release.branch; development line.
34 This document lists applicable security advisories that were issued since
35 the last release, as well as significant changes to the &os;
37 Some brief remarks on upgrading are also presented.</para>
42 <title>Introduction</title>
44 <para>This document contains the release notes for &os;
45 &release.current;. It describes recently added, changed, or
46 deleted features of &os;. It also provides some notes on
47 upgrading from previous versions of &os;.</para>
49 <para>This distribution of &os; &release.current; is a
50 &release.type; distribution. It can be found at <ulink
51 url="&release.url;"></ulink> or any of its mirrors. More
52 information on obtaining this (or other) &release.type;
53 distributions of &os; can be found in the <ulink
54 url="&url.books.handbook;/mirrors.html"><quote>Obtaining
55 &os;</quote> appendix</ulink> to the <ulink
56 url="&url.books.handbook;/">&os; Handbook</ulink>.</para>
58 <para>All users are encouraged to consult the release errata before
59 installing &os;. The errata document is updated with
60 <quote>late-breaking</quote> information discovered late in the
61 release cycle or after the release. Typically, it contains
62 information on known bugs, security advisories, and corrections to
63 documentation. An up-to-date copy of the errata for &os;
64 &release.current; can be found on the &os; Web site.</para>
68 <title>What's New</title>
70 <para>This section describes the most user-visible new or changed
71 features in &os; since &release.prev;.</para>
73 <para>Typical release note items document recent security
74 advisories issued after &release.prev;, new drivers or hardware
75 support, new commands or options, major bug fixes, or
76 contributed software upgrades. They may also list changes to
77 major ports/packages or release engineering practices. Clearly
78 the release notes cannot list every single change made to &os;
79 between releases; this document focuses primarily on security
80 advisories, user-visible changes, and major architectural
84 <title>Security Advisories</title>
86 <para>Problems described in the following security advisories have
87 been fixed. For more information, consult the individual
88 advisories available from
89 <ulink url="http://security.FreeBSD.org/"></ulink>.</para>
91 <informaltable frame="none" pgwide="1">
93 <colspec colwidth="1*" />
94 <colspec colwidth="1*" />
95 <colspec colwidth="3*" />
98 <entry>Advisory</entry>
106 <entry>No security advisories to display.</entry>
107 <entry> </entry>
108 <entry> </entry>
116 <title>Kernel Changes</title>
118 <para revision="232728">The &os; Jail subsystem now supports
119 mounting &man.devfs.5;, &man.nullfs.5;, and ZFS filesystem
120 inside a jail. New &man.jail.8; parameters
121 <varname>allow.mount.devfs</varname>,
122 <varname>allow.mount.nullfs</varname>, and
123 <varname>allow.mount.zfs</varname> to control the per-jail
124 capabilities have been added. All of them are disabled by
127 <para revision="234167">A new &man.loader.8; tunable
128 <varname>kern.eventtimer.activetick</varname> has been added.
129 This tunable specifies whether each hardclock tick should
130 be run on every active CPU or only one. By setting it to
131 <literal>0</literal>, the total number of interrupts can be reduced
132 on SMP machines. The default value is
133 <literal>1</literal>.</para>
135 <para revision="229723">The &man.posix.fadvise.2; system call
136 has been implemented. This is a function similar to
137 &man.madvise.2; except that it operates on a file descriptor
138 instead of a memory region.</para>
140 <para revision="237795">The &man.filemon.4; pseudo-device has
141 been added. This allows a process to collect file operations
142 data of its children.</para>
144 <para revision="235413">The &man.sysctl.8; variable
145 <varname>kern.stop_scheduler_on_panic</varname> is now set to
146 <literal>1</literal> by default.</para>
148 <para revision="231907" arch="powerpc">&os;/powerpc64 now
149 supports kernel profiling by using &man.kgmon.8;.</para>
151 <para revision="231145">The &os; Linux ABI compatibility layer
152 now supports the <function>linux_fadvise64()</function> and
153 <function>linux_fadvise64_64()</function> system calls.</para>
155 <para revision="230266">The default value of the &man.loader.8;
156 tunable <varname>hw.memtest.tests</varname> is now
157 automatically set to <literal>0</literal> when &os; is running
158 on a virtual machine.</para>
160 <para revision="234075">A new &man.loader.8; tunable
161 <varname>kern.msgbuf_show_timestamp</varname> has been added.
162 When it is enabled, a timestamp is added to each line of the
163 system message buffer. The default value is
164 <literal>0</literal> (disabled).</para>
166 <para revision="230320">The &man.null.4; and &man.zero.4; pseudo
167 device driver now supports non-blocking mode via the &man.fcntl.2;
170 <para revision="233599">The &os; &man.sched.ule.4; scheduler has
171 been improved for CPU load balancing on SMT (Simultaneous
172 MultiThreading) CPUs. It gives a 10-15% performance improvement
173 when the number of threads is lesser than the number of
176 <para revision="235992"
177 arch="sparc64">The <literal>PREEMPTION</literal> kernel option is
178 now enabled in the <filename>GENERIC</filename> kernel.</para>
180 <para revision="230039">A new &man.sysctl.8; variable
181 <varname>security.bsd.unprivileged_idprio</varname> has been
182 added. This variable controls whether non-root users can set
183 an idle priority or not. This is disabled by default.</para>
185 <para revision="228445">The &man.splash.4; screen interface now
186 supports ASCII art in <application>TheDraw</application>
190 <title>Boot Loader Changes</title>
192 <para revision="230065">The &man.boot0cfg.8; utility now
193 supports configuration of PXE boot via the
194 <filename>boot0</filename> boot block temporarily on the
195 next boot. The slice number <literal>6</literal> or a
196 keyword <literal>PXE</literal> can be specified to enable
197 PXE boot using the <option>-s</option> option.</para>
199 <para revision="231287">The &os; &man.boot.8; block now
200 supports <filename>/boot/config</filename> in addition to
201 <filename>/boot.config</filename> as the boot block
202 parameter file. When both of them exist, the former will be
205 <para revision="234693">The <filename>gptboot</filename> boot
206 block now reads the backup GPT header from the last LBA only
207 when the primary GPT header and tables are invalid. This
208 mitigates interoperability issues with some &man.geom.4;
209 providers like <literal>MIRROR</literal> which use the last
210 LBA for the metadata.</para>
212 <para revision="237766">The <filename>zfsboot</filename> boot
213 block and <filename>zfsloader</filename> support
214 filesystems within a ZFS storage pool. In
215 <filename>zfsloader</filename>, the ZFS device name format is now
216 <literal>zfs:<replaceable>pool</replaceable>/<replaceable>fs</replaceable></literal>
217 and the fully qualified file path format is
218 <literal>zfs:<replaceable>pool</replaceable>/<replaceable>fs</replaceable>:/<replaceable>path/to/file</replaceable></literal>.
219 The <filename>zfsboot</filename> boot block accepts the
220 kernel/loader name in the format
221 <literal><replaceable>pool</replaceable>:<replaceable>fs</replaceable>:<replaceable>path/to/file</replaceable></literal>
223 <literal><replaceable>pool</replaceable>:<replaceable>path/to/file</replaceable></literal>.
224 In the latter case a default filesystem is used (the pool
225 root or a filesystem with the <literal>bootfs</literal> property). The
226 <filename>zfsboot</filename> boot block passes
227 the GUIDs of the selected
228 storage pool and dataset to <filename>zfsloader</filename>
229 to be used as its defaults.</para>
231 <para revision="236076" arch="sparc64">&os;/sparc64 now
232 supports booting from ZFS via the <filename>zfsboot</filename> boot block and
233 <filename>zfsloader</filename>. For example, the following commands create a
234 mirrored storage pool <literal>rpool</literal> consisting of
235 <literal>da0a</literal> and <literal>da0b</literal> and
236 configure the storage pool as the root filesystem:</para>
238 <screen>&prompt.root; gpart create -s vtoc8 da0
239 &prompt.root; gpart add -t freebsd-zfs -s 10g da0
240 &prompt.root; gpart add -t freebsd-swap -s 10g da0
241 &prompt.root; gpart add -t freebsd-zfs -s 10g da0
242 &prompt.root; zpool create rpool mirror da0a da0b
243 &prompt.root; zpool set bootfs=rpool rpool
244 &prompt.root; zpool export rpool
245 &prompt.root; gpart bootcode -p /boot/zfsboot da0
246 &prompt.root; sysctl kern.geom.debugflags=0x10
247 &prompt.root; dd if=/boot/zfsloader of=/dev/da0a bs=512 oseek=1024 conv=notrunc
248 &prompt.root; dd if=/boot/zfsloader of=/dev/da0b bs=512 oseek=1024 conv=notrunc
249 &prompt.root; zpool import rpool
250 &prompt.root; cp -p /boot/zfs/zpool.cache /rpool/boot/zfs/zpool.cache
251 &prompt.root; zfs set mountpoint=/ rpool</screen>
255 <title>Hardware Support</title>
257 <para revision="230751" arch="powerpc">The &man.abtn.4;
258 driver, which supports ADB keyboards found on Apple laptops,
259 has been added.</para>
261 <para revision="233798" arch="amd64">A workaround for Erratum
262 721 for AMD Processor Family 10h and 12h has been
263 implemented. Under a highly specific and detailed set of
264 internal timing conditions, the processor may incorrectly
265 update the stack pointer after a long series of push and/or
266 near-call instructions, or a long series of pop and/or
267 near-return instructions.</para>
269 <para revision="232677" arch="powerpc">The atibl(4) driver,
270 which supports backlight control of ATI graphics chips on
271 PowerBooks and iBooks, has been added.</para>
273 <para revision="229858">The &man.acpi.wmi.4; driver now
274 supports attaching multiple instances.</para>
276 <para revision="230290" arch="powerpc">The adm1030(4) driver
277 for G4 MDD fans now shows its PWM parameter in the device's
278 &man.sysctl.8; variable.</para>
280 <para revision="234559" arch="arm">The cesa(4) driver for the
281 Marvell crypto engine and security accelerator has been
284 <para revision="230305" arch="powerpc">The &man.hwpmc.4;
285 driver now supports PowerPC G4+ (MPC745x/MPC744x).</para>
287 <para revision="234046" arch="amd64,i386">The &man.hwpmc.4;
288 driver now supports the Intel Sandy Bridge
289 microarchitecture.</para>
291 <para revision="236238">The &man.hwpmc.4; driver now supports
292 software events. Simultaneous usage of software PMC and
293 hardware PMC is allowed.</para>
295 <para revision="236078">The pcf8563(4) driver for the NXP
296 (Philips) PCF8563 RTC has been added.</para>
298 <para revision="233471" arch="powerpc">&os;/powerpc now
299 supports the PWM-controlled fans found on the PowerMac SMU (System
300 Management Unit).</para>
302 <para revision="236081" arch="arm">&os;/arm now supports the Atmel
303 SAM9XE family of microcontrollers.</para>
305 <para revision="230754,233950">The following &man.sysctl.8;
306 variables have been added: <varname>kern.proc.env</varname>
307 for environment strings, <varname>kern.proc.auxv</varname>
308 for ELF auxiliary vectors from a process's stack,
309 <varname>kern.proc.groups</varname> for process groups,
310 <varname>kern.proc.rlimit</varname> for process resource
311 limits, <varname>kern.proc.ps_strings</varname> for the
312 ps_strings location, and <varname>kern.proc.osrel</varname> for
313 the osreldate of the process's binary.</para>
315 <para revision="229100,229369">The &man.usb.4; driver now
316 handles suspend and resume correctly with no need to reload
317 the kernel module.</para>
319 <para revision="230302">A bug in the &man.xhci.4; (USB 3.0)
320 driver has been fixed. It did not work with USB 3.0
323 <para revision="229927">The &man.viawd.4; driver, which
324 supports the watchdog timer found in VIA south bridges (VT8251,
325 CX700, VX800, VX855, VX900), has been added.</para>
327 <para revision="235926">The &man.wbwd.4; driver, which
328 supports the watchdog timer found in Winbond Super I/O chips,
329 has been added.</para>
332 <title>Multimedia Support</title>
334 <para revision="236926,236927,239965">The drm2(4) Intel GPU driver,
335 which supports GEM and KMS and works with new generations of
336 GPUs such as IronLake, SandyBridge, and IvyBridge, has been
337 added. The &man.agp.4; driver now supports SandyBridge
338 and IvyBridge CPU northbridges.</para>
340 <para revision="232798">The &man.snd.hda.4; driver has been
341 updated. It now supports and provides HDMI, new volume control,
342 automatic recording source selection, runtime
343 reconfiguration, more then 4 PCM devices on a controller,
344 multichannel recording, additional playback/record
345 streams, higher bandwidth, and more informative device
348 <para revision="233165">The &man.snd.hdspe.4; driver has
349 been added. This supports RME HDSPe AIO and RayDAT sound
352 <para revision="230964,230985,231047,235769">GPL-licensed
353 headers in the &man.snd.emu10kx.4;, &man.snd.maestro3.4;,
354 and &man.snd.csa.4; drivers have been replaced with
355 BSD-licensed one. These drivers are now fully
356 BSD-licensed and included in the <filename>GENERIC</filename>
357 kernel on &os;/amd64 and &os;/i386.</para>
361 <title>Network Interface Support</title>
363 <para revision="229520">A bug in the &man.ae.4; driver which could
364 prevent it from working under certain conditions has been
367 <para revision="229106">The &man.axe.4; driver now supports
368 TX/RX checksum offloading support for the ASIX AX88772B
371 <para>The &man.bce.4; driver has been improved:</para>
375 <para revision="229864">Unnecessary link up/down has
376 been eliminated.</para>
380 <para revision="236216">A bug has been fixed which could
381 prevent IPMI from working when the interface was
382 marked as down.</para>
386 <para revision="235818">It now supports remote PHYs,
387 which allow the controller to perform MDIO type accesses
388 to a remote transceiver by using message pages defined
389 through MRBE (MultiRate Backplane Ethernet). This is
390 found on machines such as the Dell PowerEdge M610
395 <para>The &man.bge.4; and brgphy(4) drivers have been
400 <para revision="229350">A bug which could prevent
401 DMA functionality from working correctly has been
406 <para revision="233495">It now works with a PCI-X BCM 5704
407 controller that is connected to AMD-8131 PCI-X bridge.</para>
411 <para revision="229357,229867,232134">It now supports
412 the BCM 5720 and BCM 5720C PHY, and the BCM 57780 1000BASE-T
413 media interface.</para>
417 <para revision="231734">It now supports a &man.loader.8;
419 <varname>dev.bge.<replaceable>N</replaceable>.msi</varname>
420 to control the use of MSI. The default value is
421 <literal>1</literal> (enabled).</para>
425 <para revision="231093,237925">The &man.cxgbe.4; and
426 &man.cxgb.4; drivers have been updated to firmware version
427 1.5.2.0. They now support device configuration via a
428 plain text configuration file, IPv6 hardware checksumming,
429 IPv6 TSO and LRO, a <literal>loadfw</literal> command in the
430 cxgbetool(8) utility which allows installing a firmware to
431 the card, and &man.sysctl.8; variables under
432 <varname>dev.t4nex.<replaceable>N</replaceable>.misc</varname>
433 for various information.</para>
435 <para revision="229334">The &man.dc.4; driver now supports
436 NVIDIA (ULi) M5261/M5263 PCI FastEthernet controllers, which
437 are found on the ULi M1563 South Bridge and M1689 Bridge.</para>
439 <para revision="229711,229717,229720">The &man.et.4; driver
440 now works on all platforms. A bug which could prevent
441 &man.altq.4; support from working has been fixed. A new
442 &man.sysctl.8; variable under
443 <varname>dev.et.<replaceable>N</replaceable>.stats</varname>
444 has been added for hardware MAC statistics.</para>
446 <para revision="238262">The &man.igb.4; driver has been
447 updated to version 2.3.4. It now supports newer i210/i211
450 <para revision="233838,235843">The &man.iwn.4; driver now
451 supports Intel Centrino Wireless-N + WiMAX 6150 and
452 Wireless-N 100/130 series.</para>
454 <para revision="230709">The &man.miibus.4; bus driver now
455 supports device hints
456 <varname>hint.miibus.<replaceable>N</replaceable>.phymask</varname>
457 for PHY addresses being probed. This is useful to manually
458 probe PHYs which do not implement basic the register set of
459 IEEE 802.3. Also, the &man.miibus.4; driver has been
460 changed to a hinted bus, allowing to add child devices via
461 hints and to set their attach arguments in addition to
462 automatically-probed PHYs.</para>
464 <para revision="229524">The &man.msk.4; driver now uses 64-bit
465 DMA addressing on 64-bit platforms.</para>
467 <para revision="236413">The &man.mxge.4; driver has been
468 updated to firmware version 1.4.55 from Myricom.</para>
470 <para revision="232137">The nsphyter(4) driver now supports
471 National DP83849.</para>
473 <para revision="231663">The &man.oce.4; driver, which
474 supports Emulex OneConnect 10Gbit Ethernet cards, has been
477 <para revision="236004">The &man.ral.4; driver now supports
478 Ralink RT2800 and RT3000 chipsets.</para>
480 <para revision="229529,231731">The &man.re.4; driver now
481 supports the RTL8411 PCIe Gigabit Ethernet controller. A bug
482 which could prevent WoL (Wake-on-LAN) from working on
483 RTL8168E has been fixed.</para>
485 <para revision="234028">The &man.runfw.4; firmware has been
486 updated to version 0.236.</para>
488 <para revision="228100">The &man.sfxge.4; driver, which
489 supports 10Gb Ethernet adapters based on Solarflare SFC9000
490 family controllers, has been added.</para>
492 <para revision="233485">The smcphy(4) driver now supports the
493 Seeq Technology 80220 PHY. This is found on Adaptec
494 AIC-6915 Starfire Ethernet controllers supported by the
495 &man.sf.4; driver.</para>
497 <para revision="229417,229438">The &man.ti.4; driver now
498 supports the &man.altq.4; framework, reporting link-state
499 changes, and &man.sysctl.8; variables under
500 <varname>dev.ti.<replaceable>N</replaceable></varname> for
501 interrupt moderation parameters.</para>
503 <para revision="229441">A bug in the &man.ti.4; driver which could
504 prevent it from working correctly with the <literal>PAE</literal>
505 kernel option has been fixed.</para>
507 <para revision="229540">The &man.vge.4; driver has been
508 updated to improve its link establishment and link-state
511 <para revision="229641">The &man.vr.4; driver now enables
512 flow control capability in the PHY drivers.</para>
514 <para revision="231697">The &man.xnb.4; Xen Paravirtualized
515 Backend Ethernet Driver (netback) has been updated. This is
516 attached via the newbus framework and works properly in both
517 HVM and PVM mode.</para>
521 <sect3 id="net-proto">
522 <title>Network Protocols</title>
524 <para revision="236051">The &man.if.bridge.4; pseudo-interface
525 now supports reporting link-state changes depending on the status
526 of the member interfaces.</para>
528 <para revision="234597">The <literal>table</literal> argument
529 in the &man.ipfw.4; packet filter rule syntax now supports
530 IP address, interface name, port number, and jail ID. The
531 following syntax is valid:</para>
533 <programlisting>skipto tablearg ip from any to any via table(42) in</programlisting>
535 <para>The &os; &man.ip6.4; protocol stack has been improved in terms
536 of its performance. Benchmarking can be found at <ulink
537 url="http://people.freebsd.org/~bz/bench/"></ulink>.</para>
539 <para revision="232292">The &os; &man.ip6.4; protocol stack now
540 supports multiple FIBs.</para>
542 <para revision="230604">An IPv6 default route configured via
543 Router Advertisement messages is now reinstalled correctly
544 when the default route is manually removed and then another
545 RA message is received for the same route.</para>
547 <para revision="227885">A bug which could return an incorrect
548 value for the <literal>IPV6_MULTICASE_HOPS</literal> socket option
549 has been fixed.</para>
551 <para revision="231768">A new &man.sysctl.3; name
552 <literal>NET_RT_IFLISTL</literal> has been added. This
553 queries the address list and works on extended and
554 extensible structures <varname>if_msghdrl</varname> and
555 <varname>ifa_msghdrl</varname> without breaking the
558 <para revision="231650,235527">The &man.netmap.4; fast packet
559 I/O framework has been added. The &man.em.4;, lem(4),
560 &man.igb.4;, and &man.re.4; drivers now support this
561 framework. The technical details can be found at <ulink
562 url="http://info.iet.unipi.it/~luigi/netmap/"></ulink>.</para>
564 <para revision="231045">The &os; &man.sctp.4; protocol stack now
565 supports a new &man.sysctl.8; variable
566 <varname>net.inet.sctp.blackhole</varname>. If this is set
567 to <literal>1</literal>, no <literal>ABORT</literal> is sent
568 back in response to an incoming <literal>INIT</literal>. If
569 this is set to <literal>2</literal>, no
570 <literal>ABORT</literal> is sent back in response to an
571 out-of-the-blue packet. If set to <literal>0</literal>
572 (the default), <literal>ABORT</literal>s are sent.</para>
574 <para revision="231049">A bug which could cause a system panic
575 when <literal>SCTP_RECVINFO</literal> or
576 <literal>SCTP_NXTINFO</literal> is specified to the
577 &man.getsockopt.2; system call has been fixed.</para>
579 <para revision="231070,231140">The &os; &man.sctp.4; protocol stack now
580 supports the <literal>SCTP_REMOTE_UDP_ENCAPS_PORT</literal>
581 socket option.</para>
583 <para revision="232805">The <literal>SO_PROTOCOL</literal> and
584 <literal>SO_PROTOTYPE</literal> socket options have been
585 added. These return the socket protocol number.</para>
587 <para revision="232945">The <literal>TCP_KEEPINIT</literal>,
588 <literal>TCP_KEEPIDLE</literal>,
589 <literal>TCP_KEEPINTVL</literal>, and
590 <literal>TCP_KEEPCNT</literal> socket options have been
591 added. These allow controlling initial timeout, idle time,
592 idle resend interval, and idle send count on a per-socket
597 <title>Disks and Storage</title>
599 <para revision="240758">The &man.arcmsr.4; driver has been
600 updated to version 1.20.00.25.</para>
602 <para revision="229291">The &man.ahci.4; driver now supports a
603 new &man.loader.8; tunable <varname>hw.ahci.force</varname>.
604 This controls whether it attempts to attach an AHCI-capable
605 device even if it is configured to use legacy emulation.
606 This is enabled by default.</para>
608 <para revision="231251">The new &man.cam.4;-based &man.ata.4;
609 driver now supports old &man.loader.8; tunables
610 <varname>hw.ata.ata_dma</varname> and
611 <varname>hw.ata.atapi_dma</varname>, for backward
612 compatibility.</para>
614 <para revision="236778">The &man.cam.4; driver now supports
615 SEMB (SATA Enclosure Management Bridge) devices, which are
616 equivalent to the SCSI SES/SAF-TE devices.</para>
618 <para revision="236765">A new &man.sysctl.8; variable
619 <varname>kern.cam.pmp.hide_special</varname> has been added.
620 This controls whether special PMP ports such as PMP (Port
621 MultiPlier) configuration or SEMB (SATA Enclosure Management
622 Bridge) will be exposed or hidden. The default value is
623 <literal>1</literal> (hidden).</para>
625 <para revision="231772">The ctl(4) driver, which supports
626 &man.cam.4; Target Layer and &man.ctladm.8;, a userland
627 control utility, have been added. ctl(4) is a disk and
628 processor device emulation subsystem supporting tagged
629 queuing, SCSI task attribute, SCSI implicit command
630 ordering, full task management, multiple ports, multiple
631 simultaneous initiators, multiple simultaneous backing
632 stores, mode sense/select, and error injection
635 <para revision="230014">The &man.cd.4; driver now supports
636 Audio CDs in the same way as &man.acd.4; did. It will
637 report a 2352-byte sector size to the &man.geom.4; subsystem and use
638 the <literal>READ CD</literal> command for reading the data.
639 This fixes an interoperability issue with <filename
640 role="package">multimedia/vlc</filename>.</para>
642 <para revision="236677">The &man.da.4; driver now supports
643 <literal>BIO_DELETE</literal>. To select the method, a new
644 &man.sysctl.8; variable
645 <varname>kern.cam.da.<replaceable>N</replaceable>.delete_method</varname>
646 has been added for each device instance. The following
647 values are supported:</para>
649 <informaltable frame="none" pgwide="1">
654 <entry>Method</entry>
661 <entry>no provisioning support reported by the device</entry>
665 <entry>DISABLE</entry>
666 <entry>provisioning support was disabled because of errors</entry>
671 <entry>WRITE SAME (10) command to write zeroes</entry>
676 <entry>WRITE SAME (10) command with UNMAP bit set</entry>
681 <entry>use WRITE SAME (16) command with UNMAP bit set</entry>
686 <entry>use UNMAP command (equivalent of the ATA DSM TRIM command)</entry>
692 <para>When it was <literal>NONE</literal>, the device did not
693 report logical block provisioning support via respective
694 VPD pages. One can set a specific method for testing and it
695 will be disabled automatically when not supported on the
698 <para revision="238500">The <application>MIRROR</application>
699 &man.geom.4; class now supports
700 <literal>BIO_DELETE</literal>. This means the
701 <literal>TRIM</literal> command will be issued on
702 supported devices when deleting data.</para>
704 <para revision="229303,234916">The
705 <application>MULTIPATH</application> &man.geom.4; class has
706 been updated. It now supports Active/Active mode,
707 Active/Read mode as hybrid of Active/Active and
708 Active/Passive, keeping a failed path without removing the
709 geom provider, manual configuration without on-disk
710 metadata, and <command>add</command>,
711 <command>remove</command>, <command>fail</command>,
712 <command>restore</command>, <command>configure</command>
713 subcommands in the &man.gmultipath.8; utility to manage the
714 configured paths.</para>
716 <para revision="234406">The
717 <application>PART_LDM</application> &man.geom.4; class has
718 been added. This partition scheme has support for Logical Disk
719 Manager, which is also known as dynamic volumes in Microsoft
720 Windows NT. Note that JBOD, RAID0, and RAID5 volumes are
721 not supported yet.</para>
723 <para revision="230763">The <application>PART_MBR</application>
724 &man.geom.4; class now allows a primary or extended Linux
725 swap partition to be used as the system dump device.</para>
727 <para revision="235877" arch="amd64,i386">The
728 <application>RAID</application> &man.geom.4; class is now
729 included in the <filename>GENERIC</filename> kernel.</para>
731 <para revision="230244">The <application>RAID</application>
732 &man.geom.4; class now supports disks with over 2TB capacity
733 for the Intel metadata format.</para>
735 <para revision="235874">The <application>RAID</application>
736 &man.geom.4; class now supports the DDF metadata format, which
737 is defined in the SNIA Common RAID Disk Data Format
738 Specification v2.0.</para>
740 <para revision="235483">The
741 <application>UNCOMPRESS</application> &man.geom.4; class and
742 the &man.mkulzma.8; utility have been added. This class
743 supports lzma compressed images like the
744 <application>UZIP</application> &man.geom.4; class and the
745 &man.mkuzip.8; utility.</para>
747 <para revision="229975" arch="amd64,i386">The &man.hpt27xx.4;
748 driver has been added. This supports HighPoint RocketRAID
749 27xx-based SAS 6Gb/s HBA.</para>
751 <para revision="231689" arch="amd64,i386">The &man.isci.4;
752 driver, which supports the integrated SAS controller in the
753 Intel C600 (Patsburg) chipset, has been added.</para>
755 <para revision="230019">Bugs in &man.isp.4; target mode have
758 <para revision="230775">The &man.ixgbe.4; driver now supports
759 the Intel X540 adapter.</para>
761 <para revision="227533">A bug in the &man.mfi.4; driver has been
762 fixed. It could cause some inconsistencies due to missed
763 interrupt acknowledgements and output the following log
766 <screen>mfi0: COMMAND 0xffffffXXXXXXXXXX TIMEOUT AFTER XX SECONDS</screen>
768 <para revision="229611,234429">The &man.mfi.4; driver now
769 supports single-message MSI, and Drake Skinny and
770 Thunderbolt cards. The &man.loader.8; tunable
771 <varname>hw.mfi.msi</varname> has been added and it is
772 enabled by default.</para>
774 <para revision="230920,231679,237876">The &man.mps.4; driver
775 has been updated to version 14.00.00.01-fbsd. This now
776 supports Integrated RAID, WarpDrive controllers, WRITE12 and
777 READ12 for direct I/O, SCSI protection information (EEDP),
778 Transport Level Retries (TLR) for tape drives, and LSI's
779 userland utility.</para>
781 <para revision="232562">A bug in the &man.mpt.4; driver has
782 been fixed. It could attempt to attach MegaRAID cards which
783 should be handled by the &man.mfi.4; driver.</para>
785 <para revision="229107">The &man.usb.4; storage device driver
786 now enables power save mode by default.</para>
790 <title>File Systems</title>
792 <para>The &os; NFS filesystem has been improved:</para>
796 <para revision="233326">It now supports a timeout on
797 positive name cache entries on the client side. A new
798 mount option <varname>nametimeo</varname> has been added
799 and set to <literal>60</literal> (in seconds) by
804 <para revision="234740">A memory leak when a ZFS volume is
805 exported via the &os; NFS server has been fixed.</para>
809 <para revision="233730">A bug has been fixed. When a
810 process writes to an mmap-backed file on an NFS
811 filesystem, flushing changes to the data could fail
812 under some circumstances such as errors due to
813 permission mismatch, and this failure could not be detected
814 as an error. A new &man.sysctl.8; variable
815 <varname>vfs.nfs.nfs_keep_dirty_on_error</varname> has
816 been added to control the behavior on the client side
817 related to this issue. When this is set to
818 <literal>1</literal>, the pages where a write operation
819 failed are kept dirty. The default value is set to
820 <literal>0</literal>.</para>
824 <para revision="229799">The &man.nfsv4.4; filesystem now
825 supports a &man.sysctl.8; variable
826 <varname>vfs.nfsd.disable_checkutf8</varname>. This
827 disables the check for UTF-8 compliance in
828 filenames. This is disabled by default. Note that
829 enabling this may help wht some interoperability issues but
830 results in an NFSv4 server that is not RFC 3530
835 <para revision="234511">The &man.tmpfs.5; filesystem is not an
836 experimental implementation anymore.</para>
838 <para revision="234849">The &man.tmpfs.5; filesystem now
839 supports a &man.sysctl.8; variable
840 <varname>vfs.tmpfs.memory_reserved</varname> to set the amount
841 of required free pages when &man.tmpfs.5; attempts to
842 allocate a new node.</para>
844 <para revision="229578,232328">&os;'s ZFS filesystem has been
845 updated by merging improvements from the illumos project. The
846 following changes are made:</para>
849 <listitem><para>New properties, <literal>clones</literal> and
850 <literal>written</literal>, have been added.</para></listitem>
852 <listitem><para>The &man.zfs.8; <command>send</command> command
853 now reports an estimated size of the stream.</para></listitem>
855 <listitem><para>The &man.zfs.8; <command>destroy</command> command
856 now reports an estimate of the space which would be reclaimed,
857 when <option>-n</option> is specified.</para></listitem>
859 <listitem><para>The &man.zfs.8; <command>get</command> command now
860 supports the <option>-t <replaceable>type</replaceable></option>
861 flag to specify the data type.</para></listitem>
864 <para revision="227705">A simple script
865 <filename>zfsboottest.sh</filename> has been added to the
866 source tree. This checks if the system is configured
867 correctly when using ZFS as the root filesystem. The script
869 <filename>/usr/src/tools/tools/zfsboottest.sh</filename> and
870 it uses the <filename>zfsboottest</filename> binary program in the
871 same directory.</para>
873 <para>The binary program can be built and installed by the
874 following command:</para>
876 <screen>&prompt.root; cd /usr/src/tools/tools/zfsboottest
878 &prompt.root; make install</screen>
880 <para>After that, the following command can be used to check the
881 system. <replaceable>poolname</replaceable> is the ZFS
882 storage pool name to boot:</para>
884 <screen>&prompt.root; sh /usr/src/tools/tools/zfsboottest/zfsboottest.sh <replaceable>poolname</replaceable></screen>
886 <para>The &man.sysctl.8; variable
887 <varname>vfs.zfs.txg.timeout</varname> has been changed from
888 read-only to writable.</para>
892 <sect2 id="userland">
893 <title>Userland Changes</title>
895 <para revision="238481">&man.auth.conf.5; has been removed
896 because it was deprecated years ago.</para>
898 <para revision="237740">The &man.camcontrol.8; utility now
899 supports a <command>fwdownload</command> subcommand for firmware
900 update on SCSI devices from Hitachi, HP, IBM, Plextor,
901 Quantum, and Seagate. This subcommand will reprogram the
902 firmware on devices connected over an ATA/SATA transport.</para>
904 <para revision="230597">The &man.dhclient.8; utility now
905 supports <literal>domain-search</literal> (option number 119,
906 described in RFC 3397). This allows a DHCP server to publish
907 a list of implicit domain suffixes used during name lookup.
908 If this option is specified, a <literal>search</literal>
909 keyword will be added to
910 <filename>/etc/resolv.conf</filename>.</para>
912 <para revision="230047">The &man.dump.8; utility now uses 53
913 characters for the device names in
914 <filename>/etc/dumpdates</filename>. This was previously limited to 32
917 <para revision="235253">The &man.fetch.1; utility now correctly
918 supports a percent-encoded user and password part in a
921 <para revision="230410">The &man.fdlopen.3; function has been
922 implemented. This is an interface for &man.rtld.1; to load a
923 shared object by file descriptor.</para>
925 <para revision="229845">The &man.fopen.3; function now supports
926 the <option>x</option> (an exclusive create-and-open mode) option
927 in the ISO/IEC 9899:2011 and C11 standards.</para>
929 <para revision="234023">A bug in the &man.gcc.1; compiler has
930 been fixed. It could lead to incorrect calculations when
931 <option>-ffast-math</option> is specified.</para>
933 <para revision="229509">The &man.hastd.8; daemon now supports
934 specifying the filename of its process ID file in
935 &man.hast.conf.5;.</para>
937 <para revision="231221">The &man.ifconfig.8; utility now
938 supports a <literal>vlanhwcsum</literal> parameter to set or
939 reset checksum offloading capability on VLANs.</para>
941 <para revision="238872">A bug in the &man.ifconfig.8; utility
942 which could display an error message in a jail with no IPv6
943 support has been fixed.</para>
945 <para revision="232486">The &man.ifconfig.8; utility now
946 supports a <literal>carp state <replaceable>state</replaceable></literal>
948 the state to <literal>backup</literal> or
949 <literal>master</literal> forcibly.</para>
951 <para revision="235839">The &man.jail.8; utility now supports a
952 configuration file (&man.jail.conf.5;) for complex
953 configurations.</para>
955 <para revision="237789">The &man.kdump.1; utility now supports a
956 <option>-p <replaceable>pid</replaceable></option> option to
957 accept either a process ID or a thread ID.</para>
959 <para revision="236118">The &man.kenv.1; utility now supports a
960 <option>-v</option> flag to display an entry in
961 <literal>name=value</literal> format, and a <option>-N</option>
962 flag to display only the name.</para>
964 <para revision="233560">The &man.kldload.8; utility now supports a
965 <option>-n</option> flag to ignore the error status when the
966 specified module is already loaded.</para>
968 <para revision="237738"><application>libedit</application> has
969 been updated to a NetBSD snapshot as of 28 December,
972 <para revision="236523">&man.libmap.conf.5; now supports
973 <literal>include</literal> and <literal>includedir</literal>
974 directives. They allow to include specified files for the
975 configuration.</para>
977 <para revision="234372">Lock handling performance in the
978 <application>libthr</application> pthread library has been
979 improved. It now works 10 times faster especially under the
980 condition that a mutex is heavily contested.</para>
982 <para revision="235798">A new C++ stack has been imported. This
983 consists of <application>libcxxrt</application>, originally
984 developed by a &os; developer under contract by PathScale and
985 open sourced by the &os; and NetBSD foundations, and
986 <application>libc++</application> from the LLVM project.
987 <application>libcxxrt</application> is a drop-in replacement
988 for GNU <application>libsupc++</application>, which implements
989 the C++ runtime support for features such as run-time type
990 information, dynamic casting, thread-safe static initializer,
991 and exceptions. <application>libc++</application> implements
992 the C++11 standard library, and will replace GNU
993 <application>libstdc++</application> in a future release. In
994 9.1-RELEASE, <application>libstdc++</application> is still
995 installed as standard and now dynamically links against
996 <application>libsupc++</application>. This allows libraries
997 linking <application>libstdc++</application> and
998 <application>libc++</application> to both be used in the same
999 program, to aid migration.</para>
1001 <para revision="230919">The &man.limits.1; utility now supports
1002 a <option>-P <replaceable>pid</replaceable></option> option to
1003 control limits for the specified process.</para>
1005 <para revision="237731">The &man.pciconf.8; utility now supports a
1006 <option>-e</option> flag to display PCI error details in
1007 listing mode. When this is specified, the status of any error
1008 bits in the PCI status register and PCI-express device status
1009 register will be displayed. It also lists any errors
1010 indicated by version 1 of PCI-express Advanced Error Reporting
1013 <para revision="229710">The &man.procstat.1; utility now shows the
1014 superpage mapping flag when displaying process virtual memory
1017 <para revision="230917,230918">The &man.procstat.1; utility now
1018 supports an <option>-e</option> flag to display process
1019 environment variables, an <option>-x</option> flag to display
1020 ELF auxiliary vectors, and an <option>-l</option> flag to
1021 display resource limits.</para>
1023 <para revision="234535">A bug in the &man.remquo.3; functions
1024 where the quotient did not always have the correct sign when
1025 the remainder was <literal>0</literal>, and another bug that
1026 the remainder and quotient were both off by a bit in certain
1027 cases involving subnormal remainders, have been fixed. Note
1028 that these bugs affected all platforms except amd64 and
1031 <para revision="231579">The &man.rtld.1; run-time linker now
1032 supports GCC's RELRO (RElocation Read-Only). This prevents the
1033 GOT (Global Offset Table) from being overwritten.</para>
1035 <para revision="235396">The &man.rtld.1; run-time linker now
1036 supports a GNU hash section (<literal>DT_GNU_HASH</literal>),
1037 which is a replacement of optional ELF hash section.</para>
1039 <para revision="235139">The &man.setbuf.1; utility and
1040 <application>libstdbuf</application> library have been added.
1041 This controls the default buffering behavior of standard
1042 stdio streams.</para>
1044 <para revision="227702">The &man.top.1; utility now correctly
1045 supports per-thread I/O statistics of ZFS in the <option>-m
1046 io</option> option.</para>
1048 <para revision="234330">The &man.unzip.1; utility now supports a
1049 <option>-Z</option> option for zipinfo.</para>
1051 <para revision="235785">The &man.xlocale.3; API has been
1052 implemented. This consists of <literal>_l</literal>-suffixed
1053 versions of various standard library functions that use the
1054 global locale, making them take an explicit locale parameter
1055 and allowing thread-safe extended locale support. Most of
1056 these APIs are required for IEEE Std 1003.1-2008 (POSIX.1-2008
1057 or ISO/IEC 9945:2009) compatibility, and are required by
1058 <application>libc++</application> and recent versions of
1059 <application>GNOME</application>. This implementation also
1060 supports several extensions for compatibility with Apple
1061 <application>Darwin</application>.</para>
1063 <sect3 id="periodic-scripts">
1064 <title>&man.periodic.8; Scripts</title>
1066 <para revision="231721">A new variable
1067 <varname>daily_status_zfs_zpool_list_enable</varname> has
1068 been added. It controls whether or not to list all of the ZFS
1069 pools in <filename>periodic/daily/404.status-zfs</filename>.
1070 The default value is <literal>YES</literal>.</para>
1072 <para revision="229381">The default value of
1073 <varname>daily_scrub_zfs_default_threshold</varname> used in
1074 <filename>periodic/daily/800.scrub-zfs</filename> is now set
1078 <sect3 id="rc-scripts">
1079 <title>&man.rc.8; Scripts</title>
1081 <para revision="227607">The <filename>rc.d/nfsd</filename> script
1082 now sets the <varname>vfs.nfsd.server_max_nfsvers</varname>
1083 &man.sysctl.8; variable to <literal>4</literal> when
1084 <varname>nfsv4_server_enable</varname> is set to
1085 <literal>YES</literal>.</para>
1087 <para revision="242189">A backwards compatibility issue when
1088 both <literal>ipv6_enable=YES</literal> and
1089 <literal>ipv6_gateway_enable=YES</literal> are defined at
1090 the same time has been fixed.</para>
1094 <sect2 id="contrib">
1095 <title>Contributed Software</title>
1097 <para revision="241417"><application>ISC BIND</application> has
1098 been updated to version 9.8.3-P4.</para>
1100 <para revision="236018">The
1101 <application>compiler-rt</application> library, which provides
1102 low-level target-specific interfaces such as functions in
1103 <application>libgcc</application>, has been updated to
1104 revision 147467.</para>
1106 <para revision="237983"><application>file</application>
1107 (&man.file.1;) has been updated to version 5.11.</para>
1109 <para revision="230237">GNU &man.gperf.1; has been updated to
1110 version 3.0.3 (the latest GPLv2-licensed version).</para>
1112 <para revision="229588"><application>libarchive</application>,
1113 &man.bsdtar.1;, and &man.cpio.1; have been updated to version
1116 <para revision="236167">The <application>libpcap</application>
1117 library has been updated to 1.2.1.</para>
1119 <para revision="229551"><application>libstdc++</application>
1120 has been updated to revision 135556 of the
1121 <literal>gcc-4_2-branch</literal> (the last LGPLv2-licensed
1124 <para revision="236144">The <application>LLVM</application>
1125 compiler infrastructure and <application>clang</application>,
1126 a C language family front-end, version 3.1 have been imported.
1127 Note that it is not used for building the &os; base system by
1130 <para revision="235971">The <literal>netcat</literal> utility
1131 has been updated to version 5.1.</para>
1133 <para revision="237998"><application>OpenSSL</application> has
1134 been updated to version 0.9.8x.</para>
1136 <para revision="249865">The <application>sendmail</application>
1137 (&man.sendmail.8;) utility has been updated to version 8.14.7.</para>
1139 <para revision="236192">The <application>tcpdump</application>
1140 (&man.tcpdump.1;) utility has been updated to version 4.2.1.</para>
1142 <para revision="232633">The <application>TENEX C
1143 shell</application> (&man.tcsh.1;) has been updated to version
1146 <para revision="233447">The <application>timezone</application>
1147 database has been updated to the
1148 <application>tzdata2012a</application> release.</para>
1150 <para revision="237691">The <application>zlib</application>
1151 library has been updated to version 1.2.7.</para>
1155 <title>Release Engineering and Integration</title>
1157 <para>The supported version of the
1158 <application>KDE</application> desktop environment (<filename
1159 role="package">x11/kde4</filename>) has been updated to
1162 <para revision="234055" arch="powerpc">Issues where the &os;
1163 installation CDROM image caused a panic, and was not
1164 recognized on OpenBIOS-based environments like QEMU, have been
1169 <sect1 id="upgrade">
1170 <title>Upgrading from previous releases of &os;</title>
1173 <title>Upgrading using &man.freebsd-update.8; or a source-based
1176 <para arch="amd64,i386">Beginning with &os; 6.2-RELEASE, binary
1177 upgrades between RELEASE versions (and snapshots of the
1178 various security branches) are supported using the
1179 &man.freebsd-update.8; utility. The binary upgrade procedure
1180 will update unmodified userland utilities, as well as an
1181 unmodified <filename>GENERIC</filename> kernel, distributed as
1182 a part of an official &os; release. The
1183 &man.freebsd-update.8; utility requires that the host being
1184 upgraded have Internet connectivity.</para>
1186 <para>Source-based upgrades (those based on recompiling the &os;
1187 base system from source code) from previous versions are
1188 supported using to the instructions in
1189 <filename>/usr/src/UPDATING</filename>.</para>
1191 <para>For more specific information about upgrading
1192 instructions, see <ulink
1193 url="http://www.FreeBSD.org/releases/9.1R/installation.html"></ulink>.</para>
1196 <para>Upgrading &os; should, of course, only be attempted
1197 after backing up <emphasis>all</emphasis> data and
1198 configuration files.</para>
1203 <title id="upgrade-pitfalls">User-visible incompatibilities</title>
1205 <para>FreeBSD 9.0 and later have several incompatibilities in
1206 system configuration which you might want to know before
1207 upgrading your system. <emphasis>Please read this section and
1209 url="http://www.freebsd.org/releases/9.0R/relnotes-detailed.html#UPGRADE">Upgrading
1210 Section in 9.0-RELEASE Release Notes</ulink> carefully before
1211 submitting a problem report and/or posting a question to the
1212 FreeBSD mailing lists.</emphasis></para>