]> CyberLeo.Net >> Repos - FreeBSD/releng/7.2.git/blob - release/doc/en_US.ISO8859-1/relnotes/article.sgml
Change the current working directory to be inside the jail created by
[FreeBSD/releng/7.2.git] / release / doc / en_US.ISO8859-1 / relnotes / article.sgml
1 <!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [
2 <!ENTITY % articles.ent PUBLIC "-//FreeBSD//ENTITIES DocBook FreeBSD Articles Entity Set//EN">
3 %articles.ent;
4
5 <!ENTITY % release PUBLIC "-//FreeBSD//ENTITIES Release Specification//EN">
6 %release;
7 ]>
8
9 <article>
10   <articleinfo>
11     <title>&os; &release.current; Release Notes</title>
12
13     <corpauthor>The &os; Project</corpauthor>
14
15     <pubdate>$FreeBSD$</pubdate>
16
17     <copyright>
18       <year>2000</year>
19       <year>2001</year>
20       <year>2002</year>
21       <year>2003</year>
22       <year>2004</year>
23       <year>2005</year>
24       <year>2006</year>
25       <year>2007</year>
26       <year>2008</year>
27       <year>2009</year>
28       <holder role="mailto:doc@FreeBSD.org">The &os; Documentation Project</holder>
29     </copyright>
30
31     <legalnotice id="trademarks" role="trademarks">
32       &tm-attrib.freebsd;
33       &tm-attrib.ibm;
34       &tm-attrib.ieee;
35       &tm-attrib.intel;
36       &tm-attrib.microsoft;
37       &tm-attrib.sparc;
38       &tm-attrib.general;
39     </legalnotice>
40
41     <abstract>
42       <para>The release notes for &os; &release.current; contain a summary
43         of the changes made to the &os; base system on the
44         &release.branch; development line.
45         This document lists applicable security advisories that were issued since
46         the last release, as well as significant changes to the &os;
47         kernel and userland.
48         Some brief remarks on upgrading are also presented.</para>
49     </abstract>
50   </articleinfo>
51
52   <sect1 id="intro">
53     <title>Introduction</title>
54
55     <para>This document contains the release notes for &os;
56       &release.current;.  It
57       describes recently added, changed, or deleted features of &os;.
58       It also provides some notes on upgrading
59       from previous versions of &os;.</para>
60
61 <![ %release.type.current [
62
63     <para>The &release.type; distribution to which these release notes
64       apply represents the latest point along the &release.branch; development
65       branch since &release.branch; was created.  Information regarding pre-built, binary
66       &release.type; distributions along this branch
67       can be found at <ulink url="&release.url;"></ulink>.</para>
68
69 ]]>
70
71 <![ %release.type.snapshot [
72
73     <para>The &release.type; distribution to which these release notes
74       apply represents a point along the &release.branch; development
75       branch between &release.prev; and the future &release.next;.
76       Information regarding
77       pre-built, binary &release.type; distributions along this branch
78       can be found at <ulink url="&release.url;"></ulink>.</para>
79
80 ]]>
81
82 <![ %release.type.release [
83
84     <para>This distribution of &os; &release.current; is a
85       &release.type; distribution.  It can be found at <ulink
86       url="&release.url;"></ulink> or any of its mirrors.  More
87       information on obtaining this (or other) &release.type;
88       distributions of &os; can be found in the <ulink
89       url="&url.books.handbook;/mirrors.html"><quote>Obtaining
90       &os;</quote> appendix</ulink> to the <ulink
91       url="&url.books.handbook;/">&os; Handbook</ulink>.</para>
92
93 ]]>
94
95     <para>All users are encouraged to consult the release errata before
96       installing &os;.  The errata document is updated with
97       <quote>late-breaking</quote> information discovered late in the
98       release cycle or after the release.  Typically, it contains
99       information on known bugs, security advisories, and corrections to
100       documentation.  An up-to-date copy of the errata for &os;
101       &release.current; can be found on the &os; Web site.</para>
102   </sect1>
103
104   <sect1 id="new">
105     <title>What's New</title>
106
107     <para>This section describes the most user-visible new or changed
108       features in &os; since &release.prev;.</para>
109
110     <para>Typical release note items document recent security
111       advisories issued after &release.prev;, new drivers or hardware
112       support, new commands or options, major bug fixes, or
113       contributed software upgrades.  They may also list changes to
114       major ports/packages or release engineering practices.  Clearly
115       the release notes cannot list every single change made to &os;
116       between releases; this document focuses primarily on security
117       advisories, user-visible changes, and major architectural
118       improvements.</para>
119
120     <sect2 id="security">
121       <title>Security Advisories</title>
122
123       <para>Problems described in the following security advisories have
124         been fixed.  For more information, consult the individual
125         advisories available from
126         <ulink url="http://security.FreeBSD.org/"></ulink>.</para>
127
128       <informaltable frame="none" pgwide="0">
129         <tgroup cols="3">
130           <colspec colwidth="1*">
131           <colspec colwidth="1*">
132           <colspec colwidth="3*">
133             <thead>
134               <row>
135                 <entry>Advisory</entry>
136                 <entry>Date</entry>
137                 <entry>Topic</entry>
138               </row>
139             </thead>
140
141             <tbody>
142               <row>
143                 <entry><ulink url="http://security.freebsd.org/advisories/FreeBSD-SA-09:01.lukemftpd.asc"
144                               >SA-09:01.lukemftpd</ulink></entry>
145                 <entry>07&nbsp;January&nbsp;2009</entry>
146                 <entry><para>Cross-site request forgery in
147                   &man.lukemftpd.8;</para></entry>
148               </row>
149
150               <row>
151                 <entry><ulink url="http://security.freebsd.org/advisories/FreeBSD-SA-09:02.openssl.asc"
152                               >SA-09:02.openssl</ulink></entry>
153                 <entry>07&nbsp;January&nbsp;2009</entry>
154                 <entry><para>OpenSSL incorrectly checks for malformed
155                   signatures</para></entry>
156               </row>
157
158               <row>
159                 <entry><ulink url="http://security.freebsd.org/advisories/FreeBSD-SA-09:03.ntpd.asc"
160                               >SA-09:03.ntpd</ulink></entry>
161                 <entry>13&nbsp;January&nbsp;2009</entry>
162                 <entry><para>ntpd cryptographic signature
163                   bypass</para></entry>
164               </row>
165
166               <row>
167                 <entry><ulink url="http://security.freebsd.org/advisories/FreeBSD-SA-09:04.bind.asc"
168                               >SA-09:04.bind</ulink></entry>
169                 <entry>13&nbsp;January&nbsp;2009</entry>
170                 <entry><para>BIND DNSSEC incorrect checks for
171                   malformed signatures</para></entry>
172               </row>
173
174               <row>
175                 <entry><ulink url="http://security.freebsd.org/advisories/FreeBSD-SA-09:05.telnetd.asc"
176                               >SA-09:05.telnetd</ulink></entry>
177                 <entry>16&nbsp;February&nbsp;2009</entry>
178                 <entry><para>telnetd code execution
179                   vulnerability</para></entry>
180               </row>
181
182               <row>
183                 <entry><ulink url="http://security.freebsd.org/advisories/FreeBSD-SA-09:06.ktimer.asc"
184                               >SA-09:06.ktimer</ulink></entry>
185                 <entry>23&nbsp;March&nbsp;2009</entry>
186                 <entry><para>Local privilege escalation</para></entry>
187               </row>
188
189               <row>
190                 <entry><ulink url="http://security.freebsd.org/advisories/FreeBSD-SA-09:07.libc.asc"
191                               >SA-09:07.libc</ulink></entry>
192                 <entry>04&nbsp;April&nbsp;2009</entry>
193                 <entry><para>Information leak in &man.db.3;</para></entry>
194               </row>
195
196               <row>
197                 <entry><ulink url="http://security.freebsd.org/advisories/FreeBSD-SA-09:08.openssl.asc"
198                               >SA-09:08.openssl</ulink></entry>
199                 <entry>22&nbsp;April&nbsp;2009</entry>
200                 <entry><para>Remotely exploitable crash in
201                   OpenSSL</para></entry>
202               </row>
203             </tbody>
204         </tgroup>
205       </informaltable>
206     </sect2>
207
208     <sect2 id="kernel">
209       <title>Kernel Changes</title>
210
211       <para>The &man.ddb.8; kernel debugger now supports a
212         <command>show mount</command> subcommand.</para>
213
214       <para>The &os; DTrace subsystem now supports a probe for
215         process execution.</para>
216
217       <para arch="amd64">The &os; kernel virtual address space has
218         been increased to 6GB.  This allows subsystems to use larger
219         virtual memory space than before.  For example, &man.zfs.8;
220         adaptive replacement cache (ARC) requires large kernel memory
221         space to cache file system data, so it benefits from the
222         increased address space.  Note that the ceiling on the kernel
223         map size is now 60% of the size rather than an absolute
224         quantity.</para>
225
226       <para>The &man.jail.8; subsystem has been updated.  Changes include:</para>
227
228       <itemizedlist>
229         <listitem>
230           <para>Multiple addresses of both IPv4 and IPv6 per jail has
231             been supported.  It is even possible to have jails without
232             an IP address at all, which basically gives one a chrooted
233             environment with restricted process view and no
234             networking.</para>
235         </listitem>
236
237         <listitem>
238           <para>SCTP (&man.sctp.4;) with IPv6 in jails has been
239             implemented.</para>
240         </listitem>
241
242         <listitem>
243           <para>Specific CPU binding by using &man.cpuset.1; has been
244             implemented.  Note that the current implementation allows
245             the superuser inside of the jail to change the CPU
246             bindings specified.  This behavior will be fixed in the
247             next release.</para>
248         </listitem>
249
250         <listitem>
251           <para>A &man.jail.8; can start with a specific route
252             FIB now.</para>
253         </listitem>
254
255         <listitem>
256           <para>A <literal>show jails</literal> subcommand in
257             &man.ddb.8; has been added.</para>
258         </listitem>
259
260         <listitem>
261           <para>Compatibility support which permits 32-bit jail
262             binaries to be used on 64-bit systems to manage jails has
263             been added.</para>
264         </listitem>
265
266         <listitem>
267           <para>Note that both version numbers of
268             <literal>jail</literal> and <literal>prison</literal> in
269             the &man.jail.8; have been updated for the new
270             features.</para>
271         </listitem>
272       </itemizedlist>
273
274       <para>The &man.kld.4; now supports installing 32-bit system
275         calls to the &os; system call translation layer from kernel
276         modules.</para>
277
278       <para>The &man.ktr.4; now supports a new KTR tracepoint in the
279         <literal>KTR_CALLOUT</literal> class to note when a callout
280         routine finishes executing.</para>
281
282       <para>Types of variables used to track the amount of allocated
283         System V shared memory have been changed from
284         <literal>int</literal> to <literal>size_t</literal>.  This
285         makes it possible to use more than 2 GB of memory for shared
286         memory segments on 64-bit architectures.  Please note the new
287         BUGS section in &man.shmctl.2; and
288         <filename>/usr/src/UPDATING</filename> for limitations of this
289         temporary solution.</para>
290
291       <para>The &man.sysctl.3; leaf nodes have a flag to tag
292         themselves as MPSAFE now.</para>
293
294       <para>The &os; 32-bit system call translation layer now
295         supports installing 32-bit system calls for
296         <literal>VFS_AIO</literal>.</para>
297
298       <para arch="amd64,i386">The &os; virtual memory subsystem now
299         supports fully transparent use of
300         <application>superpages</application> for application memory;
301         application memory pages are dynamically promoted to or
302         demoted from superpages without any modification to
303         application code.  This change offers the benefit of large
304         page sizes such as improved virtual memory efficiency and
305         reduced TLB (translation lookaside buffer) misses without
306         downsides like application changes and virtual memory
307         inflexibility.  This is disabled by default and can be enabled
308         by setting a loader tunable
309         <varname>vm.pmap.pg_ps_enabled</varname> to
310         <literal>1</literal>.</para>
311
312       <sect3 id="boot">
313         <title>Boot Loader Changes</title>
314
315         <para>The &man.boot.8; now supports 4-byte volume ID that
316           certain versions of &windows; put into the MBR and invoking
317           PXE by pressing F6 key on some supported BIOSes.</para>
318
319         <para arch="i386">The &man.boot.8; BTX loader has been
320           improved.  This fixes several boot issues on recent machines
321           reported for 7.1-RELEASE and before.</para>
322
323         <para>The &man.loader.8; is now able to obtain DHCP options
324           from network boot via &man.kenv.2; variables.</para>
325
326         <para>A bug in the &man.loader.8; has been fixed.  Now the
327           following line works as expected:</para>
328
329         <programlisting>loader_conf_files="<replaceable>foo</replaceable> <replaceable>bar</replaceable> ${<replaceable>variable</replaceable>}"</programlisting>
330       </sect3>
331
332       <sect3 id="proc">
333         <title>Hardware Support</title>
334
335         <para arch="sparc64">The &os; now supports Ultra SPARC III
336           (Cheetah) processor family.</para>
337
338         <para>The &man.acpi.4; subsystem now supports a &man.sysctl.8;
339           variable <varname>debug.batt.batt_sleep_ms</varname>.  On
340           some laptops with smart batteries, enabling battery
341           monitoring software causes keystrokes from &man.atkbd.4; to
342           be lost.  This sysctl variable adds a delay in millisecond
343           to the status checking code as a workaround.</para>
344
345         <para>The &man.acpi.asus.4; driver now supports Asus A8Sr
346           notebooks.</para>
347
348         <para arch="powerpc">Support for the AltiVec, a floating point
349           and integer SIMD instruction set has been added.</para>
350
351         <para>The &man.cpuctl.4; driver, which provides a special
352           device <filename>/dev/cpuctl</filename> as an interface to
353           the system CPU has been added.  The &man.cpuctl.4;
354           functionality includes the ability to retrieve CPUID
355           information, read/write machine specific registers (MSR),
356           and perform CPU firmware updates.</para>
357
358         <para>The &man.cpufreq.4; driver now supports an
359           <varname>hw.est.msr_info</varname> loader tunable.  When
360           this is set to <literal>1</literal>, it attempts to build a
361           simple list containing just the high and low frequencies if
362           it cannot obtain a frequency list from either ACPI or the
363           static tables.  This is disabled by default.</para>
364
365         <para arch="amd64,i386">CPU frequency change notifiers are now
366           disabled when the TSC is P-state invariant.  Also, a new
367           loader tunable
368           <varname>kern.timecounter.invariant_tsc</varname> has been
369           added to force this behavior by setting it to
370           non-zero.</para>
371
372         <para>The &man.atkbd.4; driver now disables the interrupt
373           handler which is called from the keyboard callback function
374           when polled mode is enabled.  This fixes the problem of
375           duplicated/missing characters at the mountroot prompt on
376           multi CPU systems while &man.kbdmux.4; is enabled.</para>
377
378         <para>In the &man.pci.4; subsystem INTx is now disabled when
379           MSI/MSIX is enabled.  This change fixes interrupt storm
380           related issues.</para>
381
382         <para arch="sparc64">The schizo(4) driver for Schizo
383           Fireplane/Safari to PCI 2.1 and Tomatillo JBus to PCI 2.2
384           bridges has been added.</para>
385
386         <para>The &man.u3g.4; driver for USB based 3G cards and
387           dongles including Vodafone Mobile Connect Card 3G, Qualcomm
388           CDMA MSM, Huawei E220, Novatel U740, Sierra MC875U, and so
389           on has been added.  This provides support for the multiple
390           USB-to-serial interfaces exposed by many 3G USB/PC Card
391           modems, and the device is accessed through the &man.ucom.4;
392           driver which makes it behave like a &man.tty.4;.</para>
393
394         <para>The &man.sched.ule.4; scheduler now supports a loader
395           tunable <varname>machdep.hyperthreading_enabled</varname> as
396           the &man.sched.4bsd.4; does.  Note that it cannot be
397           modified at run-time.</para>
398
399         <sect4 id="mm">
400           <title>Multimedia Support</title>
401
402           <para>The &man.agp.4; driver now supports Intel G4X series
403             graphics chipsets.</para>
404
405           <para>The DRM, a kernel module named Direct Rendering
406             Manager that gives direct hardware access to DRI clients,
407             has been updated.  Support for AMD/ATI r500, r600, r700,
408             and IGP based chips, XGI V3XE/V5/V8, and Intel i915
409             chipsets has been improved.</para>
410
411           <para>A new loader tunable <varname>hw.drm.msi</varname> has
412             been added to control if DRM uses MSI or not.  This is set
413             to <literal>1</literal> (enabled) by default.</para>
414
415           <para>The snd_au88x0(4) driver for Aureal Vortex
416             1/2/Advantage PCI has been removed because this was
417             broken for a long time.</para>
418
419           <para>The &man.snd.hda.4; driver has been updated.  This
420             changes include support for multiple codec per HDA bus,
421             multiple functional groups per codec, multiple audio
422             devices per functional group, digital (SPDIF/HDMI) audio
423             input/output, suspend/resume, and part of multichannel
424             audio.</para>
425
426           <para>Note that due to added HDMI audio and logical audio
427             devices support, the updated driver often provides several
428             PCM devices.  This means that in some cases the system
429             default audio device no longer corresponds to the users's
430             habitual audio connectors.  In such cases the default
431             device can be specified in audio applications' setup or
432             defined globally via <varname>hw.snd.default_unit
433             sysctl</varname>, as described in the &man.sound.4; manual
434             page.</para>
435         </sect4>
436
437         <sect4 id="net-if">
438           <title>Network Interface Support</title>
439
440           <para>The &man.ae.4; driver now supports WoL
441             (Wake on LAN).</para>
442
443           <para arch="amd64,i386">The &man.ale.4; driver is now
444             included in the <filename>GENERIC</filename>
445             kernel.</para>
446
447           <para>The &man.ath.hal.4;, Atheros Hardware Access Layer,
448             has been updated to the open source version.</para>
449
450           <para>The &man.axe.4; driver has been improved in
451             performance by eliminating extra context switches and now
452             supports Apple USB Ethernet adapter.</para>
453
454           <para>The &man.bce.4; driver's firmware has been updated to
455             the latest version (4.6.X).</para>
456
457           <para>The ciphy(4) driver now supports Vitesse VSC8211
458             PHY.</para>
459
460           <para>The &man.cxgb.4; driver has been updated to firmware
461             revision 4.7 and now supports hardware MAC
462             statistics.</para>
463
464           <para>The &man.fxp.4; driver has been improved.  Changes include:</para>
465
466           <itemizedlist>
467             <listitem>
468               <para>The checksum offload feature can be controlled by
469                 &man.ifconfig.8; now.</para>
470             </listitem>
471
472             <listitem>
473               <para>Rx checksum offload support for 82559 or later
474                 controllers has been added.</para>
475             </listitem>
476
477             <listitem>
478               <para>TSO (TCP Segmentation Offload) support for 82550
479                 and 82551 controllers has been added.</para>
480             </listitem>
481
482             <listitem>
483               <para>WoL (Wake on LAN) support for 82550, 82551, 82558,
484                 and 82559-based controllers has been added.  Note that
485                 ICH based controllers are treated as 82559, and 82557,
486                 earlier revisions of 82558, and 82559ER have no WoL
487                 capability.</para>
488             </listitem>
489
490             <listitem>
491               <para>VLAN hardware tag insertion/stripping support and
492                 Tx/Rx checksum offload for VLAN frames support have
493                 been added.  Note that the VLAN hardware assistance is
494                 available only on 82550 or 82551-based
495                 controllers.</para>
496             </listitem>
497           </itemizedlist>
498
499           <para>A bug in the &man.igb.4; driver, which prevents the
500             loader tunable <varname>hw.igb.ave_latency</varname> from
501             working, has been fixed.</para>
502
503           <para>The &man.ixgbe.4; driver has been updated to
504             version 1.7.4.</para>
505
506           <para>The &man.jme.4; driver now supports newer JMicron
507             JMC250/JMC260 revisions.</para>
508
509           <para>The &man.msk.4; driver has been improved.  An issue
510             which makes it hang up in a certain condition has been
511             fixed.  Hardware MAC statistics support has been added
512             and users can get the information via sysctl variables
513             named
514             <varname>dev.msk.<replaceable>N</replaceable>.stats</varname>.</para>
515
516           <para>The &man.mxge.4; driver now supports some newer
517             revisions and 10GBASE-LRM and 10GBASE-Twinax media
518             types.</para>
519
520           <para>The &man.nfe.4; driver now supports hardware MAC
521             statistics.</para>
522
523           <para>The &man.re.4; driver has been improved.  It now
524             detects the link status.  A new loader tunable
525             <varname>hw.re.prefer_iomap</varname> has been added, to
526             disable memory register mapping.  This tunable is
527             <literal>0</literal> for all controllers except RTL8169SC
528             family.</para>
529
530           <para>The &man.rl.4; driver has been improved.  It now
531             detects the link status and a bug which prevents it from
532             working on systems with more than 4GB memory has been
533             fixed.</para>
534
535           <para>A bug in &man.sis.4; on VLAN tagged frame handling has
536             been fixed.</para>
537
538           <para>The &man.txp.4; driver now works on all supported
539             architectures.  Support has been added for &man.altq.4;,
540             WoL, checksum offload when VLAN enabled, and link state
541             change handling has been improved, and new sysctl
542             variables
543             <varname>dev.txp.<replaceable>N</replaceable>.stats</varname>
544             for MAC statistics have been added.  New sysctl variables
545             <varname>dev.txp.<replaceable>N</replaceable>.process_limit</varname>
546             has been added, to control how many received frames should
547             be served in Rx handler (set to 64 by default and valid
548             ranges are 16 to 128 in unit of frames).  The firmware has
549             been updated to the latest version.</para>
550         </sect4>
551       </sect3>
552
553       <sect3 id="net-proto">
554         <title>Network Protocols</title>
555
556         <para>IPv4 source address selection for unbound sockets has
557           been implemented as follows:</para>
558
559         <orderedlist>
560           <listitem>
561             <para>If we found a route, use the address corresponding
562               to the outgoing interface.</para>
563           </listitem>
564
565           <listitem>
566             <para>Otherwise we assume the foreign address is reachable
567               on a directly connected network and try to find a
568               corresponding interface to take the source address
569               from.</para>
570           </listitem>
571
572           <listitem>
573             <para>As a last resort use the default jail address.</para>
574           </listitem>
575         </orderedlist>
576
577         <para>This also changes the semantics of selecting the IP for
578           processes within a &man.jail.8; as it now uses the same
579           logic as outside the &man.jail.8;.</para>
580
581         <para>The TCP MD5 Signature Option (RFC 2385) for IPv6 has
582           been implemented in the same way it has been implemented for
583           IPv4.</para>
584
585         <para>The &man.ng.netflow.4; Netgraph node now includes
586          support for generating egress netflow instead or in addition
587          to ingress.  An <literal>NGM_NETFLOW_SETCONFIG</literal>
588          control message has been added to control the new
589          functionality.</para>
590
591         <para>The &man.tap.4; Ethernet tunnel software network
592           interface now supports a new <literal>TAPGIFNAME</literal>
593           character device ioctl.  This is a convenient shortcut to
594           obtain the network interface name using a file descriptor to
595           a character device.</para>
596
597         <para>The &man.tap.4; now supports
598           <literal>SIOCSIFMTU</literal> ioctl to set a higher MTU than
599           1500 (ETHERMTU).  This allows &man.tap.4; devices to be
600           added to the same bridge (which requires all interface
601           members to have the same MTU) with an interface configured
602           for jumbo frames.</para>
603
604         <para>The domains list for handling the list of supported
605           domains in the &man.unix.4; (UNIX domain protocol family)
606           subsystem is now MPSAFE.</para>
607       </sect3>
608
609       <sect3 id="disks">
610         <title>Disks and Storage</title>
611
612         <para>The &man.ata.4; driver now supports Marvell PATA M88SX6121.</para>
613
614         <para>The &man.ata.4; driver now recognizes nForce MCP67 and
615           MCP73 SATA controllers as AHCI.</para>
616
617         <para>The &man.ataraid.4; driver now includes preliminary support
618           for DDF metadata found on Adaptec HostRAID controllers.
619           Note that spares and rebuilds are not supported yet.</para>
620
621         <para>The &man.cam.4; SCSI subsystem now supports a new sysctl
622           variable <varname>kern.cam.cd.retry_count</varname>.  This
623           controls the number of retries for the CD media.  When
624           trying to read scratched or damaged CDs and DVDs, the
625           default mechanism is sub-optimal, and programs like
626           <application>ddrescue</application> do much better if you
627           turn off the retries entirely since their algorithms do it
628           by themselves.  This value is set to <literal>4</literal>
629           (for a total of 5 attempts) by default.  Setting it to
630           <literal>0</literal> turns off all retry attempts.</para>
631
632         <para>A bug in the &man.ciss.4; driver which caused low
633           <quote>max device openings</quote> count and led to poor
634           performance has been fixed.</para>
635
636         <para>The &man.glabel.8; GEOM class now supports a new
637           UFS-based label called <literal>ufsid</literal> that can be
638           used to reference UFS-carrying devices by the unique file
639           system ID.  This file system ID is automatically generated
640           and detected when the &man.glabel.8; GEOM class is enabled.  An
641           example of this new label is:
642           <filename>/dev/ufsid/48e69c8b5c8e1b43</filename>.  The
643           benefit of using GEOM labels in general is to avoid problems
644           of device renaming when shifting drives or
645           controllers.</para>
646
647         <para>The &man.gjournal.8; GEOM class now supports the root
648           file system.  Previously, an unclean shutdown would make it
649           impossible to mount the root file system at boot.</para>
650
651         <para>The &man.gpart.8; utility has been updated.  The APM
652           scheme now supports Tivo Series 1 partitions (read only), a
653           new EBR scheme to support Extended Boot Records has been
654           added, the BSD scheme now support bootcode, and bugs in the
655           PC98 and VTOC8 schemes have been fixed.</para>
656
657         <para>An issue in &man.gvinum.8; with access permissions
658           to underlying disks used by a gvinum plex has been fixed.
659           If the plex is a raid5 plex and is being written to, parity data might
660           have to be read from the underlying disks, requiring them to be opened for
661           reading as well as writing.</para>
662
663         <para>The &man.hptmv.4; driver has been updated to version
664           1.16 from the vendor.</para>
665
666         <para>The &man.mmc.4; and &man.mmcsd.4; drivers now support MMC
667           and SDHC cards, high speed timing, wide bus, and multiblock
668           transfers.</para>
669
670         <para arch="sparc64">The &man.mpt.4; driver is now in the
671           <filename>GENERIC</filename> kernel.</para>
672
673         <para>The &man.sdhci.4; driver has been added.  This supports
674           PCI devices with class 8 and subclass 5 according to the SD
675           Host Controller Specification.</para>
676
677         <para>The &man.sdhci.4; driver now supports kernel dumping and
678           a sysctl variable <varname>hw.sdhci.debug</varname> for debug
679           level.</para>
680
681         <para>The &man.twa.4; driver now supports 64-bit DMA.</para>
682
683         <para>The &man.mmc.4; &man.mmcsd.4;, and &man.sdhci.4; driver
684           are now included as kernel modules.</para>
685       </sect3>
686
687       <sect3 id="fs">
688         <title>File Systems</title>
689
690         <para>The semantics of &man.acl.3; extended access control
691           lists has been changed as follows:</para>
692
693         <itemizedlist>
694           <listitem>
695             <para>The inode modification time (mtime) is not updated
696               when extended attributes are added, modified, or removed.</para>
697           </listitem>
698
699           <listitem>
700             <para>The inode access time (atime) is not updated
701               when extended attributes are queried.</para>
702           </listitem>
703         </itemizedlist>
704
705         <para>The &os; NFS file system now supports a sysctl variable
706           <varname>vfs.nfs.prime_access_cache</varname> to determine
707           whether or not <function>nfs_getattr()</function> will use
708           an ACCESS RPC to prime the access cache instead of a simple
709           GETATTR RPC.  This is because on many NFS servers an ACCESS
710           RPC is much more expensive to service than a GETATTR RPC for
711           files in an NFSv3 mount.  The sysctl variable is enabled by
712           default to maintain the previous behavior.</para>
713
714         <para>The &os; UDF file system now supports a fifo.</para>
715
716         <para>The shared vnode locking for pathname lookups in
717           the &man.VFS.9; subsystem has been improved.  This is disabled
718           by default.  Setting a sysctl variable
719           <varname>vfs.lookup_shared</varname> to <literal>1</literal>
720           enables it for better performance.  Note that the
721           <literal>LOOKUP_SHARED</literal> kernel option equivalent to
722           the sysctl variable has been removed.</para>
723       </sect3>
724     </sect2>
725
726     <sect2 id="userland">
727       <title>Userland Changes</title>
728
729       <para>A bug in the &man.atacontrol.8; utility, which prevents it
730         from working when <filename>/usr</filename> is not mounted or
731         invoked from <filename>/rescue</filename>, has been
732         fixed.</para>
733
734       <para>The &man.btpand.8; daemon from NetBSD has been added.
735         This daemon provides support for Bluetooth Network Access
736         Point (NAP), Group Ad-hoc Network (GN) and Personal Area
737         Network User (PANU) profiles.</para>
738
739       <para>The &man.ncal.1; utility now supports multibyte
740         characters.</para>
741
742       <para>The &man.config.8; utility now supports
743         multiple <varname>makeoption</varname> lines.</para>
744
745       <para>The &man.csup.1; utility now supports CVSMode to fetch a
746         complete CVS repository.  Note that the rsync transfer mode is
747         currently disabled.</para>
748
749       <para>The &man.dirname.1; utility now accepts multiple arguments
750         in the same way that &man.basename.1; does.</para>
751
752       <para>The &man.du.1; utility now supports an <option>-l</option>
753         flag.  When specified, the &man.du.1; utility counts a file
754         with multiple hard links as multiple different files.</para>
755
756       <para>The &man.du.1; utility now supports an <option>-A</option> flag
757         to display the apparent size instead of the disk usage.  This can be
758         helpful when operating on compressed volumes or sparse files.</para>
759
760       <para>The &man.du.1; utility now supports a <option>-B
761         <replaceable>blocksize</replaceable></option> option to
762         calculate block counts in blocks of
763         <replaceable>blocksize</replaceable> bytes.  This is different
764         from the <option>-k</option> or <option>-m</option> options or
765         setting <varname>BLOCKSIZE</varname> and gives an estimate of
766         how much space the examined file hierarchy would require on a
767         file system with the given
768         <replaceable>blocksize</replaceable>.  Unless in
769         <option>-A</option> mode, <replaceable>blocksize</replaceable>
770         is rounded up to the next multiple of 512.</para>
771
772       <para>The &man.dumpfs.8; utility now supports an
773         <option>-f</option> flag, which causes it to list all free
774         fragments in the file system by fragment (block) number.  This
775         new mode does the necessary arithmetic to generate absolute
776         fragment numbers rather than the cg-relative numbers printed
777         in the default mode.</para>
778
779       <para>If <option>-f</option> is passed once, contiguous fragment
780         ranges are collapsed into an X-Y format as free block lists
781         are currently printed in regular dumpfs output.  If specified
782         twice, all block numbers are printed individually, allowing
783         both compact and more script-friendly representation.</para>
784
785       <para>The &man.fetch.1; utility now supports an
786         <option>-i</option> flag which supports the If-Modified-Since
787         HTTP 1.1 request.  If specified it will cause the file to be
788         downloaded only if it is more recent than the mtime of the
789         local file.  Also, <application>libfetch</application> now
790         accepts the mtime in the url structure and a flag to indicate
791         when this behavior is desired.</para>
792
793       <para>The &man.fsck.8; utility now supports a
794         <option>-C</option> flag for <literal>check clean</literal>
795         mode.  This checks if the file system was dismounted cleanly
796         first and then skip file system checks if true.  Otherwise it
797         does full checks.</para>
798
799       <para>The &man.fsck.8; utility now supports a
800         <option>-D</option> flag for damaged recovery mode, which will
801         enable certain aggressive operations that can make
802         &man.fsck.8; to survive with file systems that has very
803         serious data damage.  This is a useful last resort when on
804         disk data damage is very serious and causes &man.fsck.8; to
805         crash.</para>
806
807       <para>The &man.getaddrinfo.3; function now supports SCTP.</para>
808
809       <para>A bug was fixed in the &man.ipfw.8; utility which displays
810         extra messages for a NAT rule even when a <option>-q</option>
811         flag is specified.</para>
812
813       <para>The &man.ln.1; utility now supports a <option>-w</option>
814         flag to check if the source file actually exists.  When the
815         flag is specified and the file does not exist, &man.ln.1; will
816         issue a warning message.</para>
817
818       <para>The &man.make.1; utility now supports a
819         <option>-p</option> flag to print the input graph only,
820         without executing any commands.  The output is the same as
821         <option>-d g1</option>.  When combined with <option>-f
822         /dev/null</option>, only the built-in rules of make are
823         displayed.</para>
824
825       <para>The &man.make.1; utility now supports a
826         <option>-Q</option> flag to cause file banners not to be
827         generated in addition to the same effect of a
828         <option>-q</option> flag when a <option>-j</option> option is
829         specified.</para>
830
831       <para>The &man.make.1; utility now supports the
832         <varname>.MAKE.JOB.PREFIX</varname> variable.  If
833         <option>-j</option> and <option>-v</option> are specified, its
834         output for each target is prefixed with a token <literal>---
835           <replaceable>target</replaceable> ---</literal> the first part
836         of which can be controlled via the variable.</para>
837
838       <para>The &man.make.1; utility now supports
839         <varname>.MAKE.PID</varname> and <varname>.MAKE.PPID</varname>
840         variable.  These are set to process ID of the &man.make.1;
841         process and its parent process respectively.</para>
842
843       <para>The &man.makefs.8; utility to create a file system image
844         from a directory tree has been added.</para>
845
846       <para>The &man.mergemaster.8; utility now supports an
847         <option>-F</option> option to automatically install files that
848         differ only in their version control ID strings.</para>
849
850       <para>The &man.mount.8; utility now supports an <option>-o
851         mountprog=<replaceable>/somewhere/mount_xxx</replaceable></option>
852         option to force it to use the specified program to mount the
853         file system instead of calling &man.nmount.2; directly.  This
854         is useful when you want to use third party programs such as
855         FUSE, for example.</para>
856
857       <para>The &man.netstat.1; utility now reports &man.unix.4;
858         sockets' listen queue statistics when an <option>-L</option>
859         flag is specified.</para>
860
861       <para>A bug in the &man.netstat.1; utility has been fixed.  It
862         crashed with the following options in the previous
863         versions:</para>
864
865       <screen>&prompt.user; netstat -m -N foo</screen>
866
867       <para>A bug in the &man.netstat.1; utility has been fixed.  The
868         <option>-ss</option> option now works in the icmp6 section as
869         expected.</para>
870
871       <para>The &man.pciconf.8; utility now supports a
872         <option>-b</option> flag, which lists any base address
873         registers (BAR) that are assigned resources for each
874         device.</para>
875
876       <para>The &man.powerd.8; program has been improved.  Changes
877         include reasonable CPU load estimation on SMP systems and a
878         new mode named as <literal>hiadaptive</literal> for AC-powered
879         systems.  The <literal>hiadaptive</literal> mode raises the
880         CPU frequency twice as fast as <literal>adaptive</literal>, it
881         drops the CPU frequency 4 times slower, prefers twice lower
882         CPU load and has an additional delay before leaving the
883         highest frequency after the period of maximum load.</para>
884
885       <para>The &man.stat.1; utility now displays an octal
886         representation of suid, sgid and sticky bits when the
887         <option>-x</option> flag is specified.</para>
888
889       <para>The &man.strndup.3; function has been added.</para>
890
891       <para>The &man.wc.1; utility now supports an <option>-L</option>
892         flag to output the number of characters in the longest input
893         line.</para>
894
895       <para>A bug in the &man.rpc.yppasswdd.8; program, which causes
896         it to leave a zombie process when a password or default shell
897         is changed, has been fixed.</para>
898
899 <!--
900       <sect3 id="rc-scripts">
901         <title><filename>/etc/rc.d</filename> Scripts</title>
902
903         <para></para>
904       </sect3>
905 -->
906     </sect2>
907
908     <sect2 id="contrib">
909       <title>Contributed Software</title>
910
911       <para><application>ISC BIND</application> has been updated to
912         version 9.4.3-P2.</para>
913
914       <para>The timezone database has been updated from
915         the <application>tzdata2008h</application> release to
916         the <application>tzdata2009f</application> release.</para>
917     </sect2>
918
919     <sect2 id="ports">
920       <title>Ports/Packages Collection Infrastructure</title>
921
922       <para>A bug in the &man.pkg.create.1; utility, which prevents
923         the <option>-n</option> flag from working has been
924         fixed.</para>
925
926       <para>The &os; Ports Collection now supports multiple
927         &man.make.1; jobs in some supported ports.  This is
928         automatically enabled when a port is marked as
929         <varname>MAKE_JOBS_SAFE</varname> and improves CPU utilization
930         at the build stage by passing an option
931         <option>-j<replaceable>X</replaceable></option> to the top
932         level <filename>Makefile</filename> from the vendor.  The
933         number <replaceable>X</replaceable> is set to the number of
934         CPUs by default, and can be set by users via a &man.make.1;
935         variable <varname>MAKE_JOBS_NUMBER</varname>.  For more
936         details, see <filename>ports/Mk/bsd.port.mk</filename>.</para>
937     </sect2>
938
939     <sect2 id="releng">
940       <title>Release Engineering and Integration</title>
941
942       <para>The supported version of
943         the <application>GNOME</application> desktop environment
944         (<filename role="package">x11/gnome2</filename>) has been
945         updated from 2.22 to 2.26.</para>
946
947       <para>The supported version of
948         the <application>KDE</application> desktop environment has
949         been updated from 3.5.10 (<filename
950         role="package">x11/kde3</filename>) to 4.2.2 (<filename
951         role="package">x11/kde4</filename>).</para>
952     </sect2>
953
954 <!--
955     <sect2 id="doc">
956       <title>Documentation</title>
957
958       <para></para>
959     </sect2>
960 -->
961   </sect1>
962
963   <sect1 id="upgrade">
964     <title>Upgrading from previous releases of &os;</title>
965
966     <para arch="amd64,i386">Beginning with &os; 6.2-RELEASE, binary
967       upgrades between RELEASE versions (and snapshots of the various
968       security branches) are supported using the
969       &man.freebsd-update.8; utility.  The binary upgrade procedure
970       will update unmodified userland utilities, as well as unmodified
971       GENERIC or SMP kernels distributed as a part of an official &os;
972       release.  The &man.freebsd-update.8; utility requires that the
973       host being upgraded has Internet connectivity.</para>
974
975     <para>An older form of binary upgrade is supported through the
976       <command>Upgrade</command> option from the main
977       &man.sysinstall.8; menu on CDROM distribution media.  This type
978       of binary upgrade may be useful on non-&arch.i386;,
979       non-&arch.amd64; machines or on systems with no Internet
980       connectivity.</para>
981
982     <para>Source-based upgrades (those based on recompiling the &os;
983       base system from source code) from previous versions are
984       supported, according to the instructions in
985       <filename>/usr/src/UPDATING</filename>.</para>
986
987     <important>
988       <para>Upgrading &os; should, of course, only be attempted after
989         backing up <emphasis>all</emphasis> data and configuration
990         files.</para>
991     </important>
992   </sect1>
993 </article>