]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - release/doc/en_US.ISO8859-1/relnotes/article.sgml
This commit was generated by cvs2svn to compensate for changes in r162735,
[FreeBSD/FreeBSD.git] / release / doc / en_US.ISO8859-1 / relnotes / article.sgml
1 <articleinfo>
2   <title>&os;/&arch; &release.current; Release Notes</title>
3
4   <corpauthor>The &os; Project</corpauthor>
5
6   <pubdate>$FreeBSD$</pubdate>
7
8   <copyright>
9     <year>2000</year>
10     <year>2001</year>
11     <year>2002</year>
12     <year>2003</year>
13     <year>2004</year>
14     <year>2005</year>
15     <year>2006</year>
16     <holder role="mailto:doc@FreeBSD.org">The &os; Documentation Project</holder>
17   </copyright>
18
19   <legalnotice id="trademarks" role="trademarks">
20     &tm-attrib.freebsd;
21     &tm-attrib.ibm;
22     &tm-attrib.ieee;
23     &tm-attrib.intel;
24     &tm-attrib.sparc;
25     &tm-attrib.general;
26   </legalnotice>
27
28   <abstract>
29     <para>The release notes for &os; &release.current; contain a summary
30       of the changes made to the &os; base system on the
31       &release.branch; development line.
32       This document lists applicable security advisories that were issued since
33       the last release, as well as significant changes to the &os;
34       kernel and userland.
35       Some brief remarks on upgrading are also presented.</para>
36   </abstract>
37 </articleinfo>
38
39 <sect1 id="intro">
40   <title>Introduction</title>
41
42   <para>This document contains the release notes for &os;
43     &release.current; on the &arch.print; hardware platform.  It
44     describes recently added, changed, or deleted features of &os;.
45     It also provides some notes on upgrading
46     from previous versions of &os;.</para>
47
48 <![ %release.type.current [
49
50   <para>The &release.type; distribution to which these release notes
51     apply represents the latest point along the &release.branch; development
52     branch since &release.branch; was created.  Information regarding pre-built, binary
53     &release.type; distributions along this branch
54     can be found at <ulink url="&release.url;"></ulink>.</para>
55
56 ]]>
57
58 <![ %release.type.snapshot [
59
60   <para>The &release.type; distribution to which these release notes
61     apply represents a point along the &release.branch; development
62     branch between &release.prev; and the future &release.next;.
63     Information regarding
64     pre-built, binary &release.type; distributions along this branch
65     can be found at <ulink url="&release.url;"></ulink>.</para>
66
67 ]]>
68
69 <![ %release.type.release [
70
71   <para>This distribution of &os; &release.current; is a
72     &release.type; distribution.  It can be found at <ulink
73     url="&release.url;"></ulink> or any of its mirrors.  More
74     information on obtaining this (or other) &release.type;
75     distributions of &os; can be found in the <ulink
76     url="&url.books.handbook;/mirrors.html"><quote>Obtaining
77     &os;</quote> appendix</ulink> to the <ulink
78     url="&url.books.handbook;/">&os;
79     Handbook</ulink>.</para>
80
81 ]]>
82
83   <para>All users are encouraged to consult the release errata before
84     installing &os;.  The errata document is updated with
85     <quote>late-breaking</quote> information discovered late in the
86     release cycle or after the release.  Typically, it contains
87     information on known bugs, security advisories, and corrections to
88     documentation.  An up-to-date copy of the errata for &os;
89     &release.current; can be found on the &os; Web site.</para>
90
91 </sect1>
92
93 <sect1 id="new">
94   <title>What's New</title>
95
96   <para>This section describes
97     the most user-visible new or changed features in &os;
98     since &release.prev;.
99     In general, changes described here are unique to the &release.branch;
100     branch unless specifically marked as &merged; features.
101   </para>
102
103   <para>Typical release note items
104     document recent security advisories issued after
105     &release.prev;,
106     new drivers or hardware support, new commands or options,
107     major bug fixes, or contributed software upgrades.  They may also
108     list changes to major ports/packages or release engineering
109     practices.  Clearly the release notes cannot list every single
110     change made to &os; between releases; this document focuses
111     primarily on security advisories, user-visible changes, and major
112     architectural improvements.</para>
113
114   <sect2 id="security">
115     <title>Security Advisories</title>
116
117     <para>A temporary file vulnerability in &man.texindex.1;, which
118       could allow a local attacker to overwrite files in the context
119       of a user running the &man.texindex.1; utility, has been fixed.
120       For more details see security advisory <ulink
121       url="http://security.FreeBSD.org/advisories/FreeBSD-SA-06:01.texindex.asc">FreeBSD-SA-06:01.texindex</ulink>. &merged;</para>
122
123     <para>A temporary file vulnerability in the &man.ee.1; text
124       editor, which could allow a local attacker to overwrite files in
125       the context of a user running &man.ee.1;, has been fixed.  For
126       more details see security advisory <ulink
127       url="http://security.FreeBSD.org/advisories/FreeBSD-SA-06:02.ee.asc">FreeBSD-SA-06:02.ee</ulink>. &merged;</para>
128
129     <para>Several vulnerabilities in the &man.cpio.1; utility have
130       been corrected.  For more
131       details see security advisory <ulink
132       url="http://security.FreeBSD.org/advisories/FreeBSD-SA-06:03.cpio.asc">FreeBSD-SA-06:03.cpio</ulink>. &merged;</para>
133
134     <para>An error in &man.ipfw.4; IP fragment handling, which could
135       cause a crash, has been fixed.  For more
136       details see security advisory <ulink
137       url="http://security.FreeBSD.org/advisories/FreeBSD-SA-06:04.ipfw.asc">FreeBSD-SA-06:04.ipfw</ulink>. &merged;</para>
138
139     <para>A potential buffer overflow in the IEEE 802.11 scanning code
140       has been corrected.  For more
141       details see security advisory <ulink
142       url="http://security.FreeBSD.org/advisories/FreeBSD-SA-06:05.80211.asc">FreeBSD-SA-06:05.80211</ulink>. &merged;</para>
143
144     <para>Two instances in which portions of kernel memory could be
145       disclosed to users have been fixed.  For more details see
146       security advisory <ulink
147       url="http://security.FreeBSD.org/advisories/FreeBSD-SA-06:06.kmem.asc">FreeBSD-SA-06:06.kmem</ulink>. &merged;</para>
148
149     <para>A logic bug in the IP fragment handling in &man.pf.4;, which
150       could cause a crash under certain circumstances, has been fixed.
151       For more details see security advisory <ulink
152       url="http://security.FreeBSD.org/advisories/FreeBSD-SA-06:07.pf.asc">FreeBSD-SA-06:07.pf</ulink>. &merged;</para>
153
154     <para>A logic bug in the NFS server code, which could cause a crash when
155       the server received a message with a zero-length payload, has been fixed.
156       For more details see security advisory <ulink
157       url="http://security.FreeBSD.org/advisories/FreeBSD-SA-06:10.nfs.asc">FreeBSD-SA-06:10.nfs</ulink>. &merged;</para>
158
159     <para>A programming error in the &man.fast.ipsec.4; implementation
160       results in the sequence number associated with a Security
161       Association not being updated, allowing packets to unconditionally
162       pass sequence number verification checks, has been fixed.
163       For more details see security advisory <ulink
164       url="http://security.FreeBSD.org/advisories/FreeBSD-SA-06:11.ipsec.asc">FreeBSD-SA-06:11.ipsec</ulink>. &merged;</para>
165
166     <para>A logic bug that could cause &man.opiepasswd.1; to allow an unprivileged
167       user to configure OPIE authentication for the root user under certain
168       circumstances, has been fixed.
169       For more details see security advisory <ulink
170       url="http://security.FreeBSD.org/advisories/FreeBSD-SA-06:12.opie.asc">FreeBSD-SA-06:12.opie</ulink>. &merged;</para>
171
172     <para>An asynchronous signal handling vulnerability in &man.sendmail.8;,
173       which could allow a remote attacker to execute arbitrary code with the
174       privileges of the user running sendmail, typically root, has been fixed.
175       For more details see security advisory <ulink
176       url="http://security.FreeBSD.org/advisories/FreeBSD-SA-06:13.sendmail.asc">FreeBSD-SA-06:13.sendmail</ulink>. &merged;</para>
177
178     <para arch="i386,amd64">An information disclosure issue found in the
179       &os; kernel running on 7th- and 8th-generation AMD processors
180       has been fixed.  For more details see security advisory <ulink
181        url="http://security.FreeBSD.org/advisories/FreeBSD-SA-06:14.fpu.asc">FreeBSD-SA-06:14.fpu</ulink>. &merged;</para>
182
183     <para>A bug in &man.ypserv.8;, which effectively disabled the
184       <filename>/var/yp/securenets</filename> access control mechanism,
185       has been corrected.  More details are available in security
186       advisory
187       <ulink url="http://security.FreeBSD.org/advisories/FreeBSD-SA-06:15.ypserv.asc">FreeBSD-SA-06:15.ypserv</ulink>. &merged;</para>
188
189     <para>A bug in the smbfs file system, which could allow an
190       attacker to escape out of &man.chroot.2 environments on an smbfs
191       mounted filesystem, has been fixed.  For more details, see
192       security advisory
193       <ulink url="http://security.FreeBSD.org/advisories/FreeBSD-SA-06:16.smbfs.asc">FreeBSD-SA-06:16.smbfs</ulink>. &merged;</para>
194
195     <para>A potential denial of service problem in &man.sendmail.8;
196       caused by excessive recursion which leads to stack
197       exhaustion when attempting delivery of a malformed
198       MIME message, has been fixed.  For more details,
199       see security advisory <ulink
200       url="http://security.FreeBSD.org/advisories/FreeBSD-SA-06:17.sendmail.asc">FreeBSD-SA-06:17.sendmail</ulink>. &merged;</para>
201
202     <para>A potential buffer overflow condition in &man.sppp.4; has
203       been corrected.  For more details, see security advisory
204       <ulink url="http://security.FreeBSD.org/advisories/FreeBSD-SA-06:18.ppp.asc">FreeBSD-SA-06:18.ppp</ulink>. &merged;</para>
205
206     <para>An OpenSSL bug related to validation of PKCS#1 v1.5
207       signatures has been fixed.  For more details, see security
208       advisory
209       <ulink url="http://security.FreeBSD.org/advisories/FreeBSD-SA-06:19.openssl.asc">FreeBSD-SA-06:19.openssl</ulink>. &merged;</para>
210
211     <para>A potential denial of service attack against &man.named.8;
212       has been fixed.  For more details, see security advisory
213       <ulink url="http://security.FreeBSD.org/advisories/FreeBSD-SA-06:20.bind.asc">FreeBSD-SA-06:20.bind</ulink>. &merged;</para>
214
215     <para>Several programming errors have been fixed in &man.gzip.1;.
216       They could have the effect of causing a crash or an infinite
217       loop when decompressing files.  More information can be found in
218       security advisory
219       <ulink url="http://security.FreeBSD.org/advisories/FreeBSD-SA-06:21.gzip.asc">FreeBSD-SA-06:21.gzip</ulink>. &merged;</para>
220
221     <para>Multiple errors in the OpenSSL &man.crypto.3; library have
222       been fixed.  Potential effects are varied, and are documented in
223       more detail in security advisory
224       <ulink url="http://security.FreeBSD.org/advisories/FreeBSD-SA-06:23.openssl.asc">FreeBSD-SA-06:23.openssl</ulink>. &merged;</para>
225
226   </sect2>
227
228   <sect2 id="kernel">
229     <title>Kernel Changes</title>
230
231     <para>&man.acpi.4; now has basic support for the HPET time counter.</para>
232
233     <para>The &man.acpi.ibm.4; driver now supports setting the fan control
234       mode to manual or automatic, and adjusting the fan speed if the
235       fan control mode is manual.  To enable manual control of the fan speed,
236       the sysctl variable <varname>dev.acpi_ibm.<replaceable>0</replaceable>.fan</varname>
237       needs to be set to zero (manual).  This should only be used with
238       extreme precaution, as disabling automatic fan control might
239       overheat the hardware and lead to permanent damage.</para>
240
241     <para>The &man.apm.4; suspend/resume support has been improved.</para>
242
243     <para>Security event auditing is now supported in the &os; kernel,
244       and is enabled by the <literal>AUDIT</literal> kernel
245       configuration option.  More information can be found in the
246       &man.audit.4; manual page.</para>
247
248     <para>The <literal>options COMPAT_43</literal> kernel
249       configuration option has been deemed unnecessary and has been
250       removed from <filename>GENERIC</filename> and related kernel
251       configurations.  This change may result in a small performance
252       increase for some workloads.</para>
253
254     <para>The &man.ddb.4; debugger now provides the <literal>show lock</literal>
255       command.  If the argument has a valid lock class,
256       this displays various information about the lock and calls a
257       new function pointer in lock_class (lc_ddb_show) to dump class-specific
258       information about the lock as well (such as the owner of a mutex or
259       xlock'ed sx lock).  &merged;</para>
260
261     <para>The &man.ddb.4; debugger now provides the <literal>show sleepq</literal>
262       command.  This takes a wait channel as an argument and looks
263       for a sleep queue associated with that wait channel.</para>
264
265     <para><filename>DEFAULTS</filename> kernel configuration files
266       for each platform have been added.  These files contain
267       directives that are implicitly included in all kernel
268       configurations, and generally include basic, mandatory
269       functionality for each platform.  &merged;</para>
270
271     <para>A bug in file descriptor handling such that a simple
272       <literal>close(0); dup(fd)</literal> sequence does not return
273       descriptor <literal>0</literal> in some cases, has been fixed.</para>
274
275     <para>The &man.firmware.9; subsystem has been added.  This
276       subsystem provides a mechanism
277       to load binary data into the kernel via a specially crafted module.
278       &merged;</para>
279
280     <para>The &man.gdb.1; remote debugging interface now supports
281       copying console messages to a remote debugger instance.
282       To enable this, set <literal>debug.gdbcons="1"</literal>
283       in <filename>loader.conf</filename>, enter <literal>boot -d;
284         gdb; step</literal> from the loader prompt,
285       then attach &man.gdb.1; from a remote machine.
286       The sysctl variable <varname>debug.gdbcons</varname> can be
287       used to turn on/off this functionality.</para>
288
289     <para>&man.hwpmc.4; and &man.pmcstat.8; now support profiling
290       of dynamically loaded kernel modules and
291       shared objects loaded with &man.dlopen.3;.
292       &man.pmcstat.8; can now log over a network socket
293       to a remote host.</para>
294
295     <para>The &man.random.4; entropy device driver is now MPSAFE.
296       &merged;</para>
297
298     <para>&os; now supports concurrent &man.read.2;/&man.readv.2;
299       access to a file.</para>
300
301     <para>The experimental CORE process scheduler has been added,
302       enabled with the <literal>options SCHED_CORE</literal> kernel
303       configuration option.  It is forked from the &man.sched.ule.4;
304       scheduler, but
305       with a different algorithm for detecting an interactive process.
306       More information can be found in the &man.sched.core.4; manual
307       page.</para>
308
309     <para>The <literal>SIGCHLD</literal> signal queuing has been
310       added.  For each child process whose status has been changed,
311       a <literal>SIGCHLD</literal> instance is queued.  If the signal is still pending,
312       and the process changed status several times, the signal information
313       is updated to reflect the latest process status.
314       There is a loader tunable <varname>kern.sigqueue.queue_sigchild</varname>
315       which can control the behavior, setting it to zero disables the
316       <literal>SIGCHLD</literal> queuing feature.</para>
317
318     <para arch="amd64,i386">Instead of including all of physical
319       memory in a kernel crash dump, the kernel now defaults to dumping only pages that are
320       actively mapped into kernel virtual memory.  A new
321       <varname>debug.minidump</varname> sysctl variable
322       can be used to turn off this behavior when set to zero. &merged;</para>
323
324     <para>A new sysctl variable <varname>kern.malloc_stats</varname>
325       has been added.  This allows exporting of kernel malloc
326       statistics via a binary structure stream.</para>
327
328     <para>A new sysctl variable <varname>kern.forcesigexit</varname>
329       has been added.  This forces a process
330       to sigexit if a trap signal is being held by the current thread or
331       ignored by the current process.  It is enabled by default.</para>
332
333     <para arch="alpha">Support for Linux emulation on the Alpha
334       platform has been removed, due to the lack of a
335       <filename>linux_base</filename> port that both supports the
336       Alpha architecture and is in good working condition.</para>
337
338     <para>The pcvt(4) driver, an alternative to &man.syscons.4;,
339       has been removed, as it had fallen out of sync with the rest
340       of the kernel.</para>
341
342     <para>RedZone, a buffer corruption protection for the kernel &man.malloc.9;
343       facility has been implemented.  This detects both buffer underflows and
344       overflows at runtime on &man.free.9; and &man.realloc.9;,
345       and prints backtraces from where memory was allocated and from where
346       it was freed.  For more details, see the &man.redzone.9; manual page.</para>
347
348     <para>A new sysctl variable <varname>security.mac.biba.interfaces_equal</varname>
349       which makes all network interfaces be created with the label
350       <literal>biba/equal(equal-equal)</literal>, has been added.
351       This is useful where programs such as &man.dhclient.8; and &man.ppp.8;.
352       which initialize network interfaces do not have any labeling support.
353       This variable is set as <literal>0</literal> (disabled) by default.
354       &merged;</para>
355
356     <para>A new sysctl variable <varname>vm.zone_stats</varname>
357       has been added.  This allows to export &man.uma.9; allocator
358       statistics via a binary structure stream.</para>
359
360     <para>The sysctl variable <varname>hw.pci.do_powerstate</varname>
361       has been changed from a boolean to a range.
362       <literal>0</literal> means no power management,
363       <literal>1</literal> means conservative power management which
364       any device class that has caused problems is added to the watch list,
365       <literal>2</literal> means aggressive power management where
366       any device class that is not fundamental to the system is added to the list,
367       and <literal>3</literal> means power them all down unconditionally.
368       The default is <literal>1</literal>.</para>
369
370     <para arch="ia64">The <filename>GENERIC</filename> kernel now enables
371       SMP support by default.</para>
372
373     <para>Sample kernel configuration files
374       <filename>src/sys/<replaceable>arch</replaceable>/conf/MAC</filename>
375       for the Mandatory Access Control framework have been added.</para>
376
377     <para><varname>POSIX_TIMERS</varname> support has been updated to 200112L.</para>
378
379     <para>An experimental support for POSIX message queue has been
380       implemented.</para>
381
382     <para>&os; now runs on the Xbox, whose architecture is nearly identical
383       to the i386.  For details of the latest development, see
384       <ulink url="http://www.FreeBSD.org/platforms/xbox.html"></ulink>.
385       &merged; </para>
386
387     <sect3 id="boot">
388       <title>Boot Loader Changes</title>
389
390       <para>A new option <option>-S</option>,
391         which allows setting the <filename>boot2</filename>
392         serial console speed in the <filename>/boot.config</filename>
393         file or on the <prompt>boot:</prompt> prompt line,
394         has been added.</para>
395
396       <para arch="i386,amd64">A new loader tunable
397         <varname>comconsole_speed</varname> to change
398         the serial console speed has been added.
399         If the previous stage boot loader requested a serial console,
400         then the default speed is determined from the current serial port
401         speed.  Otherwise it is set to 9600 or the value of
402         the <literal>BOOT_COMCONSOLE_SPEED</literal> kernel option.
403         &merged;</para>
404
405       <!-- Above this line, order boot loader changes by keyword-->
406
407       <para arch="pc98">A bootable CDROM loader has been implemented
408         for the pc98 platform. &merged;</para>
409
410       <para arch="i386">A bug in the i386 boot loader, which could
411         cause filesystem corruption if
412         a <filename>nextboot.conf</filename> file was used and landed
413         after cylinder 1023, has been fixed.</para>
414
415     </sect3>
416
417     <sect3 id="proc">
418       <title>Hardware Support</title>
419
420       <para>The &man.amdsmb.4; driver has been added.  It provides
421         support for the AMD-8111 SMBus 2.0 controller. &merged;</para>
422
423       <para>The &man.cardbus.4;, &man.pccard.4;,
424         &man.pccbb.4;, and &man.exca.4; drivers are now buildable
425         as kernel modules.</para>
426
427       <para>An &man.acpi.dock.4; driver has been added to provide
428         support for controlling laptop docking station functions via
429         ACPI.</para>
430
431       <para>The &man.acpi.thermal.4; driver now supports
432         passive cooling. &merged;</para>
433
434       <para>The &man.acpi.thermal.4; driver now supports overriding
435         the <literal>_PSV</literal>, <literal>_HOT</literal>, and
436         <literal>_CRT</literal> temperature values.</para>
437
438 <!-- The following note should remain MI (i.e. don't set arch="alpha") --
439   -- because the alpha docs will be disappearing at some point before --
440   -- 7.0-RELEASE. -->
441     <para>Support for the alpha architecture has been removed.  Alpha
442       support will remain on the RELENG_5 and RELENG_6 codelines.</para>
443
444       <para>The &man.cardbus.4; driver now supports
445         <filename>/dev/cardbus<replaceable>%d</replaceable>.cis</filename>.</para>
446
447       <para arch="i386,pc98">The &man.ce.4; driver,
448         which supports Cronyx Tau-PCI/32 adapters, has been added.
449         &merged;</para>
450
451       <para>The <literal>est</literal> &man.cpufreq.4; driver now supports
452         frequency control for the VIA C7-M family of processors.</para> 
453
454       <para>Support for the PadLock Security Co-processor in VIA C3,
455         Eden, and C7
456         processors has been added to the &man.crypto.9; subsystem.
457         More information can be found in the &man.padlock.4; manual
458         page.
459         &merged;</para>
460
461       <para>A bug which prevented the &man.ichsmb.4; kernel module
462         from unloading has been fixed.</para>
463
464       <para arch="i386,amd64">Dual-core processors (such as the Intel
465         Core Duo) now have both cores available for use by
466         default in SMP-enabled kernels. &merged;</para>
467
468       <para arch="i386,amd64">&man.ipmi.4;, an OpenIPMI compatible driver,
469         has been added.
470         OpenIPMI (Intelligent Platform Management Interface) is an open
471         standard designed to enable remote monitoring and control of server,
472         networking and telecommunication platforms. &merged;</para>
473
474       <para>The &man.kbdmux.4; driver has been integrated into &man.syscons.4; and
475         the <devicename>kbd</devicename> device driver.
476         By default &man.syscons.4; will look for the &man.kbdmux.4;
477         keyboard first, and then, if not found, look for any keyboard.
478         Switching to &man.kbdmux.4; can be done at boot time by loading
479         the <literal>kbdmux</literal> kernel module via &man.loader.8;,
480         or at runtime via &man.kldload.8; and releasing the active
481         keyboard.  &merged;</para>
482
483       <para arch="amd64,i386">The &man.kbdmux.4; driver is now included in the
484         <filename>GENERIC</filename> kernel by default.
485         Also, the <quote>Boot FreeBSD with USB keyboard</quote>
486         menu item in the boot loader menu has been removed
487         since this fixes USB keyboard probing problems.
488         &merged;</para>
489
490       <para>The &man.nfsmb.4; driver, which supports the NVIDIA nForce
491         2/3/4 SMBus 2.0 controller, has been added.  &merged;</para>
492
493       <para arch="ia64">The loader tunable <varname>debug.mpsafevfs</varname>
494         is set to <literal>1</literal> by default.</para>
495
496       <para>The &man.sab.4; driver has been removed (it has been
497         superceded by the &man.scc.4; driver).</para>
498
499       <para>The &man.scc.4; driver has been added.
500         This provides generic support for serial communications
501         controllers and delegates the control over each channel
502         and mode to a subordinate driver such as &man.uart.4;.</para>
503
504       <para arch="amd64">The smbios(4) driver support for amd64 has been
505         added.</para>
506
507       <para>The tnt4882(4) driver, which supports the National Instruments
508         PCI-GPIB card, has been added.</para>
509
510       <para arch="alpha,amd64,i386,ia64,sparc64">The &man.uart.4; driver has been included in the
511         <filename>GENERIC</filename> kernel by default.
512         When both &man.sio.4; and &man.uart.4; can handle a given serial port,
513         &man.sio.4; will claim it.</para>
514
515       <para>The &man.uart.4; driver now supports LOM (Lights Out Management)
516         and RSC (Remote System Control) devices as consoles.</para>
517
518       <para arch="i386">A new loader tunable
519         <varname>hw.apic.enable_extint</varname> has been added.
520         This tunable can be used to disable masking of the ExtINT pin on the first
521         I/O APIC.  At least one chipset for the Intel Pentium III seems
522         to need this, even though all of the pins in the 8259As are masked.
523         The default is still to mask the ExtINT pin.</para>
524
525       <para arch="i386">Support has been improved for
526         so-called <quote>legacy-free</quote> hardware, in particular,
527         i386 systems without AT-style keyboard controllers such as the
528         Macbook Pro. &merged;</para>
529
530       <sect4 id="mm">
531         <title>Multimedia Support</title>
532
533         <para>The &man.agp.4; driver now supports ATI AGP chipsets.
534           &merged;</para>
535
536         <para>The new midi(4) driver which is based on NetBSD's one
537           has been added.  This supports &man.snd.cmi.4; and
538           &man.snd.emu10k1.4; drivers.</para>
539
540         <para>The &man.sound.4; driver now supports
541           wider range sampling rate, multiple precisions choice,
542           and 24/32 bit PCM format conversion.  &merged;</para>
543
544         <para>The &man.snd.als4000.4; driver is now MPSAFE.  &merged;</para>
545
546         <para>The &man.snd.atiixp.4; driver has been added.
547           This supports ATI IXP 200/300/400 series audio controllers.  &merged;</para>
548
549         <para>The &man.snd.atiixp.4; driver now supports
550           suspend and resume features.</para>
551
552         <para>The &man.snd.cmi.4; driver is now MPSAFE.</para>
553
554         <para>The &man.snd.emu10kx.4; driver has been added.  It
555           supports Creative SoundBlaster Live! and Audigy series sound
556           cards with optional pseudo-multichannel playback.</para>
557
558         <para>The &man.snd.envy24.4; driver has been added to support
559           the Envy24 series of audio chips.</para>
560
561         <para>The &man.snd.es137x.4; driver is now MPSAFE.  &merged;</para>
562
563         <para>The &man.snd.ich.4; driver is now MPSAFE.  &merged;</para>
564
565         <para>The &man.snd.solo.4; driver is now MPSAFE.  &merged;</para>
566
567         <para>The &man.snd.via8233.4; driver is now MPSAFE.  &merged;</para>
568
569         <para>The &man.snd.via82c686.4; driver is now MPSAFE.  &merged;</para>
570
571         <para arch="amd64">The &man.speaker.4; driver now supports &os;/amd64.  &merged;</para>
572
573         <para>The &man.uaudio.4; driver now supports 24/32 bit audio
574           formats and conversion.</para>
575       </sect4>
576
577       <sect4 id="net-if">
578         <title>Network Interface Support</title>
579
580         <para>The &man.ath.4; driver has been updated to
581           HAL version 0.9.17.2.  &merged;</para>
582
583         <para arch="amd64,i386,pc98,sparc64">The &man.ath.4;, &man.ath.hal.4;, and
584           <literal>ath_rate_sample</literal> drivers have been
585           included in the <filename>GENERIC</filename> kernel by
586           default. &merged;</para>
587
588         <para arch="amd64,i386">The &man.bce.4; driver, which supports Broadcom
589           NetXtreme II (BCM5706/BCM5708) PCI/PCIe Gigabit Ethernet controllers,
590           has been added.  For more details, see &man.bce.4;. &merged;</para>
591
592         <para>A bug which prevents the &man.bfe.4; driver from working
593           on a system with over 1GB RAM has been fixed.  &merged;</para>
594
595         <para>The &man.bge.4; driver's Jumbo frame support is now MPSAFE.</para>
596
597         <para>The &man.bge.4; driver now supports big-endian
598           architectures such as sparc64.</para>
599
600         <para>The &man.bge.4; driver now supports &man.polling.4; mode.
601           &merged;</para>
602
603         <para>The &man.cm.4; driver is now MPSAFE.</para>
604
605         <para>The &man.dc.4; driver is now MPSAFE. &merged;</para>
606
607         <para>The &man.de.4; driver has been converted to the &man.bus.dma.9;
608           API and is now MPSAFE.</para>
609
610         <para>The &man.ed.4; driver is now MPSAFE.</para>
611
612         <para>The &man.el.4; driver has been removed due to lack of use.</para>
613
614         <para>The &man.em.4; driver now supports big-endian
615           architectures such as sparc64.  &merged;</para>
616
617         <para>The &man.em.4; driver has been updated to
618           version 6.1.4 from Intel.  Among other changes, it now supports
619           80003, 82571, 82571EB and 82572 based adapters, as well as
620           onboard-NICs on ICH8-based motherboards. &merged;</para>
621
622         <para>The &man.em.4; driver now includes
623           initial support for suspend and resume features.</para>
624
625         <para>The performance of the &man.em.4; driver has been improved
626           by using a fast interrupt handler and taskqueue
627           instead of ithread handler.  This change can be disabled
628           by defining <literal>NO_EM_FASTINTR</literal> kernel option
629           for debugging purpose.</para>
630
631         <para>The &man.iwi.4; driver now supports big-endian
632           architectures such as sparc64.</para>
633
634         <para>A number of improvements and bugfixes have been made to the
635           functionality of the &man.iwi.4; driver.  This driver now
636           requires the firmware image in the 
637           <filename role="package">net/iwi-firmware-kmod</filename>
638           port/package; prior versions of this driver used the
639           <filename role="package">net/iwi-firmware</filename>
640           port/package. &merged;</para>
641
642         <para>The &man.le.4; driver, which supports AMD Am7900 LANCE
643           and Am79C9xx PCnet NICs,
644           has been added.  While the &man.lnc.4; driver also supports these
645           NICs, this driver has several advantages over it such as
646           MPSAFE, ALTQ, VLAN_MTU, ifmedia, and 32-bit DMA for PCI
647           variants.  This driver is based on NetBSD's implementation.
648           &merged;</para>
649
650         <para>The &man.lge.4; driver is now MPSAFE. &merged;</para>
651
652         <para>The lnc(4) driver has been removed.  The &man.le.4; and
653           &man.pcn.4; drivers support all devices that were supported
654           by lnc(4).</para>
655
656         <para>The &man.my.4; driver is now MPSAFE. &merged;</para>
657
658         <para>The &man.my.4; driver now supports &man.altq.4;.  &merged;</para>
659
660         <para arch="i386,amd64">The &man.mxge.4; driver,
661           which supports Myricom Myri10GE 10 Gigabit Ethernet
662           adapters, has been added.  For more details, see
663           &man.mxge.4;.</para>
664
665         <para>The &man.nfe.4; driver, an open-source driver for nForce
666           Ethernet devices, has been added, originally from
667           OpenBSD.</para>
668
669         <para>The &man.nve.4; driver has been updated to version 1.0-0310
670           (23-Nov-2005).  It also now has &man.altq.4; support. &merged;</para>
671
672         <para>The &man.pcn.4; driver is now MPSAFE. &merged;</para>
673
674         <para>The &man.re.4; driver now supports the D-Link DGE-528(T)
675           Gigabit Ethernet card.</para>
676
677         <para>The &man.sf.4; driver is now MPSAFE. &merged;</para>
678
679         <para>The &man.sk.4; driver is now MPSAFE. &merged;</para>
680
681         <para>The &man.ste.4; driver is now MPSAFE.  &merged;</para>
682
683         <para>The &man.stge.4; driver has been added.  It supports the
684           Sundance/Tamarack TC9021 Gigabit Ethernet controller and was
685           ported from NetBSD.  &merged;</para>
686
687         <para>The &man.ti.4; driver now supports big-endian
688           architectures such as sparc64.</para>
689
690         <para>The &man.ufoma.4; driver for
691           FOMA (third generation mobile phone system by NTT DoCoMo, Inc.
692           in Japan) has been added.
693           This should support other third generation mobile phones
694           since the driver is based on USB Implementation Guideline
695           from MCPC (Mobile Computing Promotion Consortium) in Japan.</para>
696
697         <para>The vgapci(4) driver has been added.  This is a stub
698           device driver for VGA PCI devices and serves as a bus
699           so that other drivers such as drm(4),
700           &man.acpi.video.4;, and &man.agp.4; can attach to
701           it thus allowing multiple drivers for the same device.</para>
702
703         <para>The &man.wi.4; driver is now buildable as
704           a kernel module.</para>
705
706         <para arch="amd64,i386,pc98">The &man.wlan.wep.4;,
707           &man.wlan.ccmp.4;, and &man.wlan.tkip.4; drivers
708           have been included in the <filename>GENERIC</filename>
709           kernel by default.</para>
710
711         <para>The network interface groups feature has been imported
712           from OpenBSD.  This feature allows an administrator to, for
713           example, apply firewall rules to an entire group of
714           interfaces.  More information can be found in
715           &man.ifconfig.8;.</para>
716
717       </sect4>
718     </sect3>
719
720     <sect3 id="net-proto">
721       <title>Network Protocols</title>
722
723       <para>The &man.arp.4; retransmission algorithm has been
724         rewritten so that ARP requests are retransmitted without
725         suppression, while there is demand for such ARP entry.
726         Due to this change, a sysctl variable
727         <varname>net.link.ether.inet.host_down_time</varname>
728         has been removed.  &merged;</para>
729
730       <para>The &man.arp.4; protocol now supports a sysctl variable
731         <varname>net.link.ether.inet.log_arp_permanent_modify</varname>
732         to suppress logging of attempts to modify
733         permanent ARP entries.  &merged;</para>
734
735       <para arch="amd64,i386,pc98">An experimental BPF Just-In-Time compiler
736         has been implemented for both &man.bpf.4; and &man.ng.bpf.4;.
737         To enable this, the
738         <literal>options BPF_JITTER</literal> kernel option is needed.
739         The <varname>net.bpf_jitter.enable</varname>
740         can be used to disable this feature.</para>
741
742       <para>Multiple copies of a packet received via different
743         &man.bpf.4; listeners now all have identical
744         timestamps. &merged;</para>
745
746       <para>The bridge(4) driver has been removed from the tree.  Its
747         functionality has been completely replaced by
748         &man.if.bridge.4;.</para>
749
750       <para>The &man.enc.4; IPsec filtering pseudo-device has been
751         added.  It allows firewall packages using the &man.pfil.9;
752         framework to examine (and filter) IPsec traffic before
753         outbound encryption and after inbound decryption. &merged;</para>
754
755       <para>The &man.gre.4; driver, which is for GRE encapsulation
756         found in RFC 1701 and RFC 1702, now supports IPv6 over GRE.</para>
757
758       <para>The &man.if.bridge.4; driver now supports
759         creating SPAN ports, which transmit a copy of every frame
760         received by the bridge.  This feature can be enabled
761         by using &man.ifconfig.8;.  &merged;</para>
762
763       <para>The &man.if.bridge.4; driver now supports
764         RFC 3378 EtherIP.  This change makes it possible to
765         add &man.gif.4; interfaces to bridges, which will then
766         send and receive IP protocol 97 packets.
767         Packets are Ethernet frames with an EtherIP header prepended.
768         &merged;</para>
769
770       <para>A hard-coded limit on the number of IPv4 multicast group
771         memberships (formerly 20) has been removed.</para>
772
773       <para>The path MTU discovery for multicast packets in the &os;
774         IPv6 stack has been disabled by default.
775         Path MTU notification from a large number of multicast routers
776         can be a kind of distributed Denial-of-Service attack to a router.
777         This feature can be re-enabled by using a new sysctl variable
778         <varname>net.inet6.ip6.mcast_pmtu</varname>.  &merged;</para>
779
780       <para>The &man.ipfw.4; IP packet filter now supports IPv6.  &merged;</para>
781
782       <para>The &man.ipfw.4; firewall system now supports substitution of the action
783         argument with the value obtained from table lookup,
784         which allows some optimization of rulesets.
785         This is now applicable only to <literal>pipe</literal>,
786         <literal>queue</literal>,
787         <literal>divert</literal>,
788         <literal>tee</literal>,
789         <literal>netgraph</literal>,
790         and <literal>ngtee</literal> rules.  &merged;
791         For example, the following rules will throw different
792         packets to different pipes:</para>
793
794       <programlisting>pipe 1000 config bw 1000Kbyte/s
795 pipe 4000 config bw 4000Kbyte/s
796 table 1 add x.x.x.x 1000
797 table 1 add x.x.x.y 4000
798 pipe tablearg ip from table(1) to any</programlisting>
799
800       <para>The &man.ipfw.4; packet filter now supports
801         <literal>tag</literal> and <literal>untag</literal> rule keywords.
802         When a packet matches a rule with the <literal>tag</literal>
803         keyword, the numeric tag for the given number in the range
804         from 0 to 65535 will be attached to the packet.
805         The tag acts as an internal marker (it is not sent out over
806         the wire) that can be used to identify these packets later on,
807         for example, by using <literal>tagged</literal>
808         rule option.  For more details, see &man.ipfw.8;.</para>
809
810       <para>The <literal>IPFIREWALL_FORWARD_EXTENDED</literal> kernel
811         option has been removed.  This option was used to permit
812         &man.ipfw.4; to redirect packets with local destinations.
813         This behavior is now always enabled when
814         the <literal>IPFIREWALL_FORWARD</literal> kernel option is
815         enabled. &merged;</para>
816
817       <para>The ip6fw(8) packet filter has been removed.  Since &man.ipfw.4; has gained
818         IPv6 support, it should be used instead.  Please note that some rules might need
819         to be adjusted.</para>
820
821       <para>The &man.natm.4;, Native Mode ATM protocol layer is now MPSAFE.</para>
822
823       <para>The &man.ng.iface.4; Netgraph node now supports &man.altq.4;.
824         &merged;</para>
825
826       <para>A bug has been fixed in which NFS over TCP would not reconnect
827         when the server sent a FIN.  This problem had occurred
828         with Solaris NFS servers.  &merged;</para>
829
830       <para>The default retransmit timer for NFS over TCP is now 60 seconds.
831         This change prevents the unnecessary retransmission of
832         non-idempotent NFS requests.  The <varname>nfs_access_cache</varname>
833         variable in &man.rc.conf.5; has also been changed to 60.</para>
834
835       <para>The default minimum number of nfsiod kernel threads
836         (&man.sysctl.8; variable <varname>vfs.nfs.iodmin</varname>)
837         has been changed from 4 to 0.</para>
838
839       <para>The sysctl variables <varname>net.inet.ip.portrange.reservedhigh</varname>
840         and <varname>net.inet.ip.portrange.reservedlow</varname>
841         can be used with IPv6 now. &merged;</para>
842
843       <para>A new sysctl variable <varname>net.inet.icmp.reply_from_interface</varname>
844         has been added.  This allows the &man.icmp.4;
845         reply to non-local packets to be generated with
846         the IP address the packet came through in.
847         This is useful for routers to show in &man.traceroute.8;
848         the actual path a packet has taken instead of
849         the possibly different return path.</para>
850
851       <para>A new sysctl variable <varname>net.inet.icmp.quotelen</varname>
852         has been added.  This allows to change length of
853         the quotation of the original packet in an ICMP reply.
854         The minimum of 8 bytes is internally enforced.
855         The maximum quotation is the remaining space in the
856         reply mbuf.  This option is added in response to the
857         issues raised in I-D
858         <filename>draft-gont-icmp-payload-00.txt</filename>.</para>
859
860       <para>The &man.icmp.4; now always quotes the entire TCP header
861         when responding and allocate an mbuf cluster if needed.
862         This change fixes the TCP issues raised in I-D
863         <filename>draft-gont-icmp-payload-00.txt</filename>.</para>
864
865       <para>A new socket option <literal>IP_MINTTL</literal> has been added.
866         This may be used to set the minimum acceptable
867         TTL a packet must have when received on a socket.
868         All packets with a lower TTL are silently dropped.
869         This works on already connected/connecting and
870         listening sockets for RAW, UDP, and TCP.  This option
871         is only really useful when set to <literal>255</literal>, preventing packets
872         from outside the directly connected networks reaching
873         local listeners on sockets.  Also, this option allows
874         userland implementation of <quote>The Generalized TTL
875           Security Mechanism (GTSM)</quote> found in RFC 3682.</para>
876
877       <para>Stealth forwarding now supports IPv6 as well as IPv4.
878         This behavior can be controlled by using a new sysctl variable
879         <varname>net.inet6.ip6.stealth</varname>.</para>
880
881       <para>The <literal>IPV6_V6ONLY</literal> socket option
882         now works for UDP.</para>
883
884       <para>The TCP bandwidth-delay product limiting feature has
885         been disabled when the RTT is below a certain threshold.
886         This optimization does not make sense on a LAN, as it has
887         trouble figuring out the maximal bandwidth due to the coarse
888         tick granularity.  A new sysctl variable
889         <varname>net.inet.tcp.inflight.rttthresh</varname> specifies
890         the threshold in milliseconds below which this feature
891         will disengage.  It defaults to 10ms.  &merged;</para>
892     </sect3>
893
894     <sect3 id="disks">
895       <title>Disks and Storage</title>
896
897       <para>The &man.aac.4; driver now supports the Adaptec 2610SA SATA-RAID
898         controller in some Hewlett-Packard machines.</para>
899
900       <para>The performance of the &man.amr.4; driver has been improved;
901         it also now supports full 64-bit DMA.  While this feature is
902         enabled by default, this can be forced off by setting the
903         <varname>hw.amr.force_sg32</varname> loader tunable for
904         debugging purpose.
905         &merged;</para>
906
907       <para>The &man.amr.4; driver now supports the &man.ioctl.2; requests
908         necessary for the Linux LSI MegaRaid tools in &os;'s Linux emulation
909         environment.
910         &merged;</para>
911
912       <para>The &man.ata.4; driver now supports a workaround
913         for some controllers whose DMA does not work properly
914         in 48bit mode.  For affected controllers,
915         PIO mode will be used for access to areas beyond 137GB.
916         &merged;</para>
917
918       <para>The &man.ata.4; driver now supports the ITE IT8211F IDE controller,
919         and the Promise PDC40718 and PDC40719 chip found in Promise
920         Fasttrak TX4300.
921         &merged;</para>
922
923       <para>The &man.ata.4; driver now supports DMA for kernel crash dumps,
924         as well as crash dumping to an &man.ataraid.4; device.
925         &merged;</para>
926
927       <para>The &man.ata.4; driver now supports USB mass storage class
928         devices.  To enable it, a line <literal>device atausb</literal>
929         in the kernel configuration file or loading the
930         <filename>atausb</filename> kernel module is needed.
931         Note that this functionality cannot coexist with the
932         &man.umass.4; driver.</para>
933
934       <para>The &man.ataraid.4; driver now supports
935         JMicron ATA RAID metadata.  &merged;</para>
936
937       <para>The <literal>GEOM_LABEL</literal> class now supports
938         Ext2FS, NTFS, and ReiserFS.  &merged;</para>
939
940       <para>The <literal>GEOM_MIRROR</literal> class now supports
941         kernel crash dumps to the GEOM providers.
942         &merged;</para>
943
944       <para>The <literal>GEOM_MIRROR</literal> and <literal>GEOM_RAID3</literal>
945         classes now support sysctl variables
946         <varname>kern.geom.mirror.disconnect_on_failure</varname>
947         and
948         <varname>kern.geom.graid3.disconnect_on_failure</varname>
949         to control whether failed components will be disconnected or not.
950         The default value is <literal>1</literal> to preserve the current
951         behavior, and if it is set to <literal>0</literal> such components
952         are not disconnected and the kernel will try to still use them
953         (only the first error will be logged).
954         This is helpful for the case of multiple broken components (in
955         different places), so actually all data is available.
956         The broken components will be visible in <command>gmirror list</command>
957         or <command>graid3 list</command> output with flag
958         <literal>BROKEN</literal>.
959         &merged;</para>
960
961       <para>The <literal>GEOM_MIRROR</literal> and <literal>GEOM_RAID3</literal>
962         classes now use parallel I/O requests for synchronization
963         to improve the performance.  New sysctl variables
964         <varname>kern.geom.mirror.sync_requests</varname> and
965         <varname>kern.geom.raid3.sync_requests</varname>
966         define how many parallel I/O requests should be used.
967         Also, the sysctl variables
968         <varname>kern.geom.mirror.reqs_per_sync</varname>,
969         <varname>kern.geom.mirror.syncs_per_sec</varname>,
970         <varname>kern.geom.raid3.reqs_per_sync</varname>, and
971         <varname>kern.geom.raid3.syncs_per_sec</varname>
972         are deprecated and have been removed.
973         &merged;</para>
974
975       <para>A new GEOM class <literal>GEOM_ZERO</literal> has been added.
976         It creates a very huge provider (41PB) <filename>/dev/gzero</filename>
977         and is mainly useful for performance testing.
978         On <literal>BIO_READ</literal> request it zero-fills
979         <varname>bio_data</varname> and on <literal>BIO_WRITE</literal>
980         it does nothing.
981         &merged;</para>
982
983       <para>The GEOM class kernel module <filename>g_md.ko</filename>
984         has been renamed to <filename>geom_md.ko</filename>
985         for consistency.</para>
986
987       <para arch="amd64,i386">The &man.hptmv.4; driver has been updated and now supports
988         amd64 as well as PAE.</para>
989
990       <para>The &man.mfi.4; driver, which supports
991         the LSI MegaRAID SAS controller family, has been added.
992         &merged;</para>
993
994       <para>The &man.mpt.4; driver has been updated to support
995         various new features such as RAID volume and RAID member
996         state/settings reporting, periodic volume re-synchronization
997         status reporting, and sysctl variables for volume
998         re-synchronization rate, volume member write cache status,
999         and volume transaction queue depth.</para>
1000
1001       <para>The &man.mpt.4; driver now supports SAS HBA (partially),
1002         64-bit PCI, and large data transfer.</para>
1003
1004       <para>The &man.twa.4; driver has been updated to the 9.3.0.1
1005         release on the 3ware Web site.  &merged;</para>
1006
1007       <para>A new GEOM-based disk encryption facility, GEOM_ELI, has been
1008         added.  It uses the &man.crypto.9; framework for hardware acceleration
1009         and supports different cryptographic algorithms.  See &man.geli.8; for
1010         more information. &merged;</para>
1011
1012       <para>The &man.geli.8; disk encryption system now supports loading keyfiles before the root
1013         file system is mounted.  &merged;
1014         For example, the following entries
1015         can be used in <filename>/boot/loader.conf</filename> to enable
1016         it:</para>
1017
1018       <programlisting>geli_da0_keyfile0_load="YES"
1019 geli_da0_keyfile0_type="da0:geli_keyfile0"
1020 geli_da0_keyfile0_name="/boot/keys/da0.key0"
1021 geli_da0_keyfile1_load="YES"
1022 geli_da0_keyfile1_type="da0:geli_keyfile1"
1023 geli_da0_keyfile1_name="/boot/keys/da0.key1"
1024 geli_da0_keyfile2_load="YES"
1025 geli_da0_keyfile2_type="da0:geli_keyfile2"
1026 geli_da0_keyfile2_name="/boot/keys/da0.key2"
1027
1028 geli_da1s3a_keyfile0_load="YES"
1029 geli_da1s3a_keyfile0_type="da1s3a:geli_keyfile0"
1030 geli_da1s3a_keyfile0_name="/boot/keys/da1s3a.key"</programlisting>
1031
1032       <para>&man.geli.8; is now able to perform data integrity
1033         verification (data authentication) of encrypted data stored on
1034         disk.  Note that the encryption algorithm is now specified to
1035         the &man.geli.8; control program using the <option>-e</option>
1036         option; the <option>-a</option> option is now used to specify
1037         the authentication algorithm. &merged;</para>
1038
1039       <para>The &man.umass.4; driver now supports
1040         <literal>PLAY_MSF</literal>,
1041         <literal>PLAY_TRACK</literal>,
1042         <literal>PLAY_TRACK_REL</literal>,
1043         <literal>PAUSE</literal>,
1044         <literal>PLAY_12</literal> commands so that
1045         the &man.cdcontrol.1; utility can handle a USB CD drive.</para>
1046     </sect3>
1047
1048     <sect3 id="fs">
1049       <title>File Systems</title>
1050
1051       <para arch="amd64,i386,pc98">The &man.linsysfs.5;
1052         pseudo-filesystem driver has been added.
1053         It provides a subset of the
1054         Linux <filename>sys</filename> filesystem, and is required for
1055         the correct operation of some Linux binaries (such as the LSI
1056         MegaRAID SAS utility). &merged;</para>
1057
1058       <para>A part of the FreeBSD NFS subsystem (the interface with
1059         the protocol stack and callouts, the NFS client side) is now MPSAFE.</para>
1060
1061       <para>Initial (read-only) support for SGI's XFS filesystem has been
1062         added.</para>
1063     </sect3>
1064   </sect2>
1065
1066   <sect2 id="userland">
1067     <title>Userland Changes</title>
1068
1069     <para>Padding of <varname>ai_addrlen</varname>
1070       in <varname>struct addrinfo</varname> has been removed,
1071       which was originally for the ABI compatibility.
1072       For example, this change breaks the ABI compatibility of the
1073       &man.getaddrinfo.3; function on 64-bit architectures, including
1074       &os;/amd64, &os;/ia64, and &os;/sparc64.</para>
1075
1076     <para>The &man.asf.8; utility has been revised and extended.  Now
1077       it can operate via several interfaces including &man.kvm.3;,
1078       which supports not only live systems, but also kernel crash dumps.
1079       &merged;</para>
1080
1081     <para>The &man.arp.8; utility now allows the <option>-i</option>
1082       option together with the <option>-d</option> and <option>-a</option> options
1083       to allow all entries for a given interface to be removed.</para>
1084
1085     <para>The OpenBSM userland tools, including &man.audit.8;,
1086       &man.auditd.8;,
1087       &man.auditreduce.1;, and
1088       &man.praudit.1;, have been added. &merged;</para>
1089
1090     <para>The &man.bsdiff.1; and &man.bspatch.1; utilities
1091       have been added.  These are tools for constructing and
1092       applying binary patches.  &merged;</para>
1093
1094     <para>The &man.bsnmpd.1; utility now supports the Host Resources
1095       MIB described in RFC 2790.  &merged;</para>
1096
1097     <para>&man.cached.8; has been added.  It is a daemon that caches
1098       the results of nsswitch lookups (such as those to the password,
1099       group, and services databases) for improved performance.</para>
1100
1101     <para>The &man.cmp.1; utility now supports an <option>-h</option>
1102       flag to compare the symbolic link itself rather than the
1103       file that the link points to. &merged;</para>
1104
1105     <para>The &man.config.8; utility now supports the <literal>nocpu</literal>
1106       directive, which cancels the effect of a
1107       previous <literal>cpu</literal> directive.  &merged;</para>
1108
1109     <para>The &man.config.8; utility now reads <filename>DEFAULTS</filename>
1110       kernel configuration file if it exists in the current directory
1111       before the specified configuration file.  &merged;</para>
1112
1113     <para>The &man.cp.1; utility now supports a <option>-l</option>
1114       option, which causes it to create hardlinks to the source files
1115       instead of copying them. &merged;</para>
1116
1117     <para>The &man.csh.1; utility now supports NLS catalogs.
1118       Note that this requires installing
1119       the <filename role="package">shells/tcsh_nls</filename> port.
1120       &merged;</para>
1121
1122     <para>The &man.csup.1; utility has been imported.
1123       This is an implementation of a CVSup-compatible client written
1124       in the C language.  Note that it currently supports checkout mode
1125       only. &merged;</para>
1126
1127     <para>The &man.dhclient.8; program now sends the host's name in
1128       DHCP requests if it is not specified in the configuration
1129       file. &merged;</para>
1130
1131     <para>The &man.devd.8; utility now supports a <option>-f</option> option
1132       to specify a configuration file.  &merged;</para>
1133
1134     <para>The &man.du.1; program now supports a <option>-n</option>
1135       flag, which causes it to ignore files and directories with
1136       the <literal>nodump</literal> flag set. &merged;</para>
1137
1138     <para>The &man.fsdb.8; utility now supports changing the birth
1139       time of files on UFS2 file systems using the new 
1140       the <literal>btime</literal> command.</para>
1141
1142     <para>The &man.find.1; program now supports <option>-Btime</option>
1143       and other related primaries, which can be used to create expressions
1144       based on a file's creation time. &merged;</para>
1145
1146     <para>A bug in the &man.find.1; program which prevents
1147       numeric arguments for <option>-user</option> and
1148       <option>-group</option> from working as expected
1149       has been fixed.</para>
1150
1151     <para>The &man.freebsd-update.8; utility, a tool for managing
1152       binary updates to the &os; base system, has been added. &merged;</para>
1153
1154     <para>The &man.ftpd.8; utility now creates a PID file
1155       <filename>/var/run/ftpd.pid</filename> even when
1156       no <option>-p</option> option is specified.  &merged;</para>
1157
1158     <para>The &man.gbde.8; utility now supports
1159       <option>-k</option> and <option>-K</option> options
1160       to specify a key file in addition to a passphrase.</para>
1161
1162     <para>The &man.getfacl.1; utility now supports
1163       a <option>-q</option> flag to suppress the per-file header
1164       comment listing the file name, owner, and group.
1165       &merged;</para>
1166
1167     <para>The &man.getent.1; utility has been imported from NetBSD.
1168       It retrieves and displays information from an administrative
1169       database (such as <filename>hosts</filename>) using the lookup
1170       order specified in &man.nsswitch.conf.5;. &merged;</para>
1171
1172     <para>The &man.gpt.8; utility now supports setting GPT partition labels.</para>
1173
1174     <para>The &man.gvinum.8; utility now supports commands
1175       to rename objects and to move a subdisk from
1176       one drive to another.  &merged;</para>
1177
1178     <para>The &man.gvinum.8; utility now supports the
1179       <command>resetconfig</command> sub-command.</para>
1180
1181     <para>An implementation of Generic Security Service API (GSS-API)
1182       version 2 and its C binding described in RFC2743 and RFC2744
1183       has been added.  This is a new extensible GSS-API layer which
1184       can support GSS-API plugins, similar the the Solaris
1185       implementation, and the Kerberos 5 GSS mechanism has
1186       been rewritten as a plugin library for the new implementation.</para>
1187
1188     <para>The &man.hccontrol.8; utility now supports HCI node
1189       autodetection.</para>
1190
1191     <para>The &man.id.1; utility now prints the effective user
1192       ID after the group ID.</para>
1193
1194     <para>The &man.id.1; utility now supports a <option>-A</option>
1195       flag to print process audit properties, including the audit user
1196       id. &merged;</para>
1197
1198     <para>The &man.ifconfig.8; utility now supports
1199       a <option>-k</option> flag to allow printing
1200       potentially sensitive keying material to standard output.
1201       This sensitive information will not be printed by default.</para>
1202
1203     <para>The &man.ifconfig.8; utility now supports a <option>-tunnel</option>
1204       parameter, which is just an alias for <option>deletetunnel</option>,
1205       yet is more convenient and easier to type.</para>
1206
1207     <para>The <option>-vlandev</option> parameter to &man.ifconfig.8;
1208       no longer requires a network interface as its argument.  The
1209       argument still is supported for backward compatibility, but
1210       is now deprecated and its use is discouraged.</para>
1211
1212     <para>The &man.iostat.8; utility now supports
1213       a <option>-x</option> flag (inspired by Solaris) to print
1214       extended disk statistics.  If the new <option>-z</option> flag is
1215       also specified, no output is made for disks with no
1216       activity. &merged;</para>
1217
1218     <para>The &man.ipfwpcap.8; utility has been added; it captures
1219       packets on a &man.divert.4; socket and writes them as
1220       &man.pcap.3; (also known as &man.tcpdump.1;) format data to a
1221       file or pipe.</para>
1222
1223     <para>The &man.jail.8; utility supports a <option>-J
1224         <replaceable>jid_file</replaceable></option> option to
1225       write out a JidFile, similar to a PidFile, containing
1226       the jailid, path, hostname, IP and the command used to start
1227       the jail.  &merged;</para>
1228
1229     <para>The &man.jail.8; program now supports a <option>-s</option>
1230       option to specify a jail's securelevel. &merged;</para>
1231
1232     <para>The &man.jexec.8; utility now supports <option>-u</option>
1233       and <option>-U</option> flags to specify username credentials
1234       under which a command should be executed. &merged;</para>
1235
1236     <para>The &man.kdump.1; program now supports a <option>-H</option>
1237       flag, which causes kdump to print an additional field holding
1238       the threadid.  &merged;</para>
1239
1240     <para>The &man.kdump.1; program now supports a <option>-s</option>
1241       flag to suppress the display of I/O data.  &merged;</para>
1242
1243     <para>The &man.kdump.1; program now supports printing
1244       flags in a system call argument by using symbol names.</para>
1245
1246     <para>The &man.kenv.1; utility now supports a <option>-q</option>
1247       flag to suppress warnings.</para>
1248
1249     <para>&man.kgdb.1; now supports a <option>-w</option>
1250       option to open kmem-based targets in read-write mode.
1251       This allows one to use kgdb on <filename>/dev/mem</filename>
1252       and be able to patch memory on a live system.</para>
1253
1254     <para>The &man.libarchive.3; library now supports
1255       POSIX.1e-style Extended Attributes.</para>
1256
1257     <para>The <application>libc</application> library now includes
1258       initial implementation of symbol maps and symbol version
1259       definitions.</para>
1260
1261     <para>The <application>libedit</application> library has been
1262       updated from the NetBSD source tree as of August 2005.</para>
1263
1264     <para>The <application>libm</application> library now includes
1265       initial implementation of symbol maps and symbol version
1266       definitions.</para>
1267
1268     <para>The &man.libmemstat.3; library has been added.
1269       This is for use by debugging and monitoring applications
1270       in tracking kernel memory statistics.  It provides an
1271       abstracted interface to &man.uma.9; and &man.malloc.9;
1272       statistics, wrapped around the binary stream sysctl variables
1273       for the allocators. &merged;</para>
1274
1275     <para>The &man.ln.1; utility now supports
1276       an <option>-F</option> flag, which deletes existing
1277       empty directories when creating symbolic links.
1278       &merged;</para>
1279
1280     <para>The &man.locate.1; utility now supports
1281       a <option>-0</option> flag to make this utility
1282       interoperable with &man.xargs.1;'s <option>-0</option> flag.
1283       &merged;</para>
1284
1285     <para>The &man.logger.1; utility now supports
1286       a <option>-P</option>, which specifies the port to which syslog
1287       messages should be sent. &merged;</para>
1288
1289     <para>The &man.ls.1; utility now supports
1290       an <option>-I</option> flag to disable the automatic
1291       <option>-A</option> flag for the superuser.  &merged;</para>
1292
1293     <para>The &man.ls.1; utility now supports
1294       an <option>-U</option> flag to use the file creation
1295       time for sorting. &merged;</para>
1296
1297     <para>A new &man.malloc.3; implementation has been introduced.
1298       This implementation, sometimes referred to
1299       as <quote>jemalloc</quote>, was designed to improve the
1300       performance of multi-threaded programs, particularly on SMP
1301       systems, while preserving the performance of single-threaded
1302       programs.  Due to the use of different algorithms and data
1303       structures, jemalloc may expose some previously-unknown bugs in
1304       userland code, although most of the &os; base system and common
1305       ports have been tested and/or fixed.</para>
1306
1307     <para>The &man.mdconfig.8; utility now supports producing
1308       device listings formatted as XML.  Currently, the
1309       <command>list</command> and <command>query</command>
1310       sub-commands support this feature.</para>
1311
1312     <para>The &man.mdconfig.8; utility's <option>-u</option> option
1313       now supports specifying multiple devices separated
1314       by comma character.</para>
1315
1316     <para>The &man.mdmfs.8; utility now supports a <option>-P</option> flag
1317       to allow skipping the &man.newfs.8; process
1318       when using a vnode-backed disk.</para>
1319
1320     <para>The &man.mdmfs.8; utility now supports a <option>-E</option> flag
1321       to allow to specify location of the &man.mdconfig.8;
1322       utility instead of using the default one
1323       (<filename>/sbin/mdconfig</filename>).</para>
1324
1325     <para>A new function &man.memmem.3; has been implemented in
1326       <filename>libc</filename>.  This is the binary equivalent to
1327       &man.strstr.3; and found in <filename>glibc</filename>.</para>
1328
1329     <para>The &man.mergemaster.8; utility now supports
1330       an <option>-A</option> option to explicitly specify
1331       an architecture to pass through to the underlying makefiles.
1332       &merged;</para>
1333
1334     <para>The &man.mount.8; <literal>nodev</literal> option has
1335       been removed.</para>
1336
1337     <para>The &man.mount.8; utility now supports &man.mqueuefs.5;.</para>
1338
1339     <para>A bug which prevents the &man.mount.8; utility from converting
1340       a read-only mount to read-write via <command>mount -u -o rw</command>,
1341       has been fixed.</para>
1342
1343     <para>The &man.mount.8; utility now supports a
1344       <literal>late</literal> keyword in &man.fstab.5;, along with a
1345       corresponding <option>-l</option> command-line option to specify
1346       that these <quote>late</quote> file systems should be
1347       mounted. &merged;</para>
1348
1349     <para>The &man.moused.8; daemon now supports an <option>-H</option> flag
1350       to enable horizontal virtual scrolling similar to the
1351       <option>-V</option> flag for vertical virtual scrolling.
1352       &merged;</para>
1353
1354     <para>The &man.netstat.1; utility now supports an
1355       <option>-h</option> flag for interface stats mode,
1356       which prints all interface statistics in human readable form. &merged;</para>
1357
1358     <para>The &man.netstat.1; utility now supports
1359       printing &man.ipsec.4; protocol statistics if the
1360       kernel was compiled with <literal>FAST_IPSEC</literal>
1361       rather than the KAME IPSEC stack.
1362       Note that the output of <command>netstat -s -p ipsec</command>
1363       differs depending on which stack is compiled into
1364       the kernel since they each keep different statistics.  &merged;</para>
1365
1366     <para>The <filename>/etc/nsswitch.conf</filename> file is now
1367       installed statically instead of being generated on every
1368       reboot.</para>
1369
1370     <para>The &man.periodic.8; daily script now supports
1371       display of the status of &man.gmirror.8;, &man.graid3.8;,
1372       &man.gstripe.8;, and &man.gconcat.8; devices.
1373       Note that these are disabled by default.  &merged;</para>
1374
1375     <para>A new function, &man.pidfile.3;, which provides reliable
1376       pidfiles handling, has been implemented in
1377       <filename>libutil</filename>.  &merged;</para>
1378
1379     <para>The &man.ping.8; utility now supports a <quote>sweeping
1380         ping</quote> in which &man.icmp.4; payload of
1381       packets being sent is increased with given step.
1382       This is useful for testing problematic channels, MTU issues
1383       or traffic policing functions in networks.  &merged;</para>
1384
1385     <para>The &man.pkill.1; utility now supports a
1386       <option>-F</option> option which allows to
1387       restrict matches to a process whose PID is stored in the
1388       pidfile file.  When another new option <option>-L</option>
1389       is also specified, the pidfile file must be locked with the
1390       &man.flock.2; syscall or created with &man.pidfile.3;.</para>
1391
1392     <para>The &man.pkill.1; utility now supports a
1393       <option>-I</option> flag which works like <option>-i</option>
1394       of &man.rm.1;.  When this flag is specified, &man.pkill.1;
1395       will ask for confirmation before sending a signal to
1396       each matching process.</para>
1397
1398     <para>The &man.pkill.1; utility (also known as &man.pgrep.1;) has
1399       been moved from <filename>/usr/bin</filename>
1400       to <filename>/bin</filename> so that it can be used by startup
1401       scripts.  Symbolic links from its former location have been
1402       created for backward compatibliity. &merged;</para>
1403
1404     <para>The &man.powerd.8; program now supports a
1405       <option>-P</option> option, which specifies a pidfile to use.</para>
1406
1407     <para>An extensible implementation of &man.printf.3;, compatible
1408       with GLIBC, has been added to <filename>libc</filename>.  It is
1409       only used if the environment variable
1410       <varname>USE_XPRINTF</varname> is defined, one of the extension
1411       functions is called, or the global variable
1412       <varname>__use_xprintf</varname> is set to a value greater than
1413       <literal>0</literal>.  Five extensions are currently supported:
1414       <literal>%H</literal> (hex dump),
1415       <literal>%T</literal> (<varname>time_t</varname> and
1416       time-related structures),
1417       <literal>%M</literal> (errno message),
1418       <literal>%Q</literal> (double-quoted, escaped string),
1419       <literal>%V</literal> (&man.strvis.3;-format string),
1420       &merged;</para>
1421
1422     <para>The DNS resolver library in &os;'s <application>libc</application>
1423       has been updated to BIND9's one. &merged;</para>
1424
1425     <para>The &man.rfcomm.sppd.1; program now supports service names
1426       in addition to <option>-c</option> option with channel number.
1427       The supported names are: DUN (Dial-Up Networking), FAX (Fax),
1428       LAN (LAN Access Using PPP), and SP (Serial Port).  &merged;</para>
1429
1430     <para>The &man.rpcgen.1; utility now generates headers and stub files
1431       that can be used with ANSI C compilers by default.</para>
1432
1433     <para>The &man.rtld.1; runtime linker now supports ELF symbol versioning
1434       using GNU semantics.  This implementation aims to be compatible
1435       with symbol versioning support as implemented by GNU libc and
1436       documented in <ulink url="http://people.redhat.com/~drepper/symbol-versioning"></ulink>
1437       and LSB 3.0.  Also, <function>dlvsym()</function>
1438       function has been added to
1439       allow lookups for a specific version of a given symbol.</para>
1440
1441     <para>A bug in the &man.sed.1; utility which can cause
1442       incorrect calculation of pattern space length in some cases
1443       has been fixed.</para>
1444
1445     <para>The &man.sh.1; utility now supports a <literal>times</literal>
1446       built-in command. &merged;</para>
1447
1448     <para>The &man.snapinfo.8; utility, which shows snapshot locations
1449       on UFS filesystems, has been added.  &merged;</para>
1450
1451     <para>The &man.strtonum.3; library function has been implemented
1452       based on OpenBSD's implementation.  This is an improved version of
1453       &man.strtoll.3;.  &merged;</para>
1454
1455     <para>The &man.sysctl.8; utility now supports a <option>-q</option>
1456       flag to suppress a limited set of warnings and errors.</para>
1457
1458     <para>The &man.tail.1; utility now supports a <option>-q</option>
1459       flag to suppress header lines when multiple files are
1460       specified. &merged;</para>
1461
1462     <para>The version of tcpslice in the &os; base system has been
1463       removed due to obsolescence.  A more up-to-date version can be
1464       found in the Ports Collection
1465       as <filename role="package">net/tcpslice</filename>.</para>
1466
1467     <para>The &man.time.1; utility now prints the time that a given
1468       command has been running if sent a <literal>SIGINFO</literal> signal.</para>
1469
1470     <para>The &man.traceroute.8; utility now supports
1471       a <option>-e</option> option, which sets a fixed destination
1472       port for probe packets.  This can be useful for tracing behind
1473       packet-filtering firewalls. &merged;</para>
1474
1475     <para>&man.traceroute.8; now decodes the complete set of ICMP
1476       unreachable messages in its output. &merged;</para>
1477
1478     <para>The &man.truss.1; utility now supports an <option>-s</option>
1479       flag for the same functionality as the strace utility
1480       (<filename role="package">devel/strace</filename>).</para>
1481
1482     <para arch="ppc">The &man.truss.1; utility now supports &os;/ppc.</para>
1483
1484     <para>The usbd(8) utility has been removed.
1485       The &man.devd.8; utility and its configuration
1486       file now support functionality which is equivalent to it.</para>
1487
1488     <para>The &man.xargs.1; utility now supports a <option>-r</option>
1489       flag which makes the command execution when the standard input
1490       does not contain any non-whitespace-characters.  &merged;</para>
1491
1492     <para>The shared library version number of all libraries has
1493       been updated due to some possible ABI changes.  The libraries
1494       include: snmp_<replaceable>*</replaceable>, libdialog, libg2c, libobjc,
1495       libreadline, libregex, libstdc++, libkrb5, libalias, libarchive,
1496       libbegemot, libbluetooth, libbsnmp, libbz2, libc_r, libcrypt,
1497       libdevstat, libedit, libexpat, libfetch, libftpio, libgpib,
1498       libipsec, libkiconv, libmagic, libmp, libncp, libncurses,
1499       libnetgraph, libngatm, libopie, libpam, libpthread, libradius,
1500       libsdp, libsmb, libtacplus, libthr, libthread_db, libugidfw,
1501       libusbhid, libutil, libvgl, libwrap, libypclnt, libm, libcrypto,
1502       libssh, and libssl.</para>
1503
1504     <para>The <function>wcsdup()</function> function has been
1505       implemented.  This function is popular in Microsoft and GNU
1506       systems.</para>
1507
1508     <para>The compiler toolchain is now capable of generating
1509       executables for systems using the ARM processor.</para>
1510
1511     <sect3 id="rc-scripts">
1512       <title><filename>/etc/rc.d</filename> Scripts</title>
1513
1514       <para>The <filename>auditd</filename> script for
1515         OpenBSM &man.auditd.8; has been added. &merged;</para>
1516
1517       <para>The <filename>bluetooth</filename> script
1518         has been added.  This script will be called from
1519         &man.devd.8; in response to device attachment/detachment
1520         events and to stop/start particular device without unplugging
1521         it by hand.  The configuration parameters are in
1522         <filename>/etc/defaults/bluetooth.device.conf</filename>,
1523         and can be overridden by using
1524         <filename>/etc/bluetooth/<replaceable>$device</replaceable>.conf</filename>
1525         (where <replaceable>$device</replaceable> is <devicename>ubt0</devicename>,
1526         <devicename>btcc0</devicename>, and so on.)
1527         For more details, see &man.bluetooth.conf.5;.  &merged;</para>
1528
1529       <para>The <filename>ftpd</filename> script for
1530         stand-alone &man.ftpd.8; has been added.</para>
1531
1532       <para>The <filename>gbde_swap</filename> script has
1533         been removed in favor a new <filename>encswap</filename>
1534         script which also supports &man.geli.8; for swap
1535         encryption.</para>
1536
1537       <para>The <filename>geli</filename> and <filename>geli2</filename>
1538         scripts has been added for &man.geli.8; device
1539         configuration on boot.</para>
1540
1541       <para>The <filename>ike</filename> script for
1542         IPsec IKE daemon has been removed because no such daemon
1543         is included in the base system.</para>
1544
1545       <para>The <filename>hcsecd</filename> and
1546         <filename>sdpd</filename> scripts have been added
1547         for &man.hcsecd.8; and &man.sdpd.8; daemons.
1548         These daemons can run even if no Bluetooth devices
1549         are attached to the system, but both daemons depend on
1550         Bluetooth socket layer and thus disabled by default.
1551         Bluetooth sockets layer must be either loaded
1552         as a module or compiled into kernel before the daemons can run.
1553         &merged;</para>
1554
1555       <para>The <filename>hostapd</filename> script for
1556         &man.hostapd.8; has been added.  &merged;</para>
1557
1558       <para>The <filename>mdconfig</filename> script to
1559         handle vnode backed &man.md.4; devices has been added.
1560         This is a replacement of the <filename>ramdisk</filename>
1561         script, and all of variables in <varname>ramdisk_*</varname>
1562         have been changed to <varname>mdconfig_*</varname>.
1563         Also, two new &man.rc.conf.5; variables
1564         <varname>mdconfig_<replaceable>*</replaceable>_files</varname>
1565         and
1566         <varname>mdconfig_<replaceable>*</replaceable>_cmd</varname>
1567         have been added.  For example:</para>
1568
1569       <programlisting>mdconfig_md0="-t malloc -s 10m"
1570 mdconfig_md1="-t vnode -f /var/foo.img"</programlisting>
1571
1572       <para>The <filename>netif</filename> script now supports
1573         <varname>ipv4_addrs_<replaceable>ifn</replaceable></varname>
1574         variables,
1575         which add one or more IPv4 address from a ranged list in
1576         CIDR notation.  &merged;  For example:</para>
1577
1578       <programlisting>ipv4_addrs_ed0="192.168.0.1/24 192.168.1.1-5/28"</programlisting>
1579
1580       <para>The <filename>rcconf.sh</filename> script in <filename>/etc/rc.d</filename>
1581         has been removed and a variable <varname>early_late_divider</varname>,
1582         which designates the script to separate the early and late stages
1583         of the boot process, has been added.</para>
1584
1585       <para>The <filename>rc.initdiskless</filename> script now uses &man.tar.1;
1586         instead of &man.pax.1; because &man.pax.1; needs a writable
1587         temporary directory that may not be available when this script
1588         runs.</para>
1589
1590       <para>The <filename>pccard</filename> script has been removed
1591         since OLDCARD is deprecated.</para>
1592
1593       <para>The <filename>ppp-user</filename> script has been renamed to
1594         <filename>ppp</filename>.  &merged;</para>
1595
1596       <para>The <varname>removable_interfaces</varname> variable
1597         has been removed.</para>
1598
1599       <para>A new keyword <literal>NOAUTO</literal> in
1600         <varname>ifconfig_<replaceable>ifn</replaceable></varname>
1601         has been added. This prevents configuration of an interface
1602         at boot time or via <filename>/etc/pccard_ether</filename>,
1603         and allows <filename>/etc/rc.d/netif</filename>
1604         to be used to start and stop an interface
1605         on a purely manual basis.</para>
1606     </sect3>
1607   </sect2>
1608
1609   <sect2 id="contrib">
1610     <title>Contributed Software</title>
1611
1612     <para><application>Intel ACPI-CA</application>
1613       has been updated to 20051021.</para>
1614
1615     <para><application>BIND</application> has been updated from 9.3.1
1616       to 9.3.2-P1. &merged;</para>
1617
1618     <para><application>BSNMPD</application> has been updated from
1619       1.11 to 1.12.</para>
1620
1621     <para><application>DRM</application> has
1622       been updated to a snapshot from DRI CVS as of 20060517.
1623       &merged;</para>
1624
1625     <para><application>FILE</application> has been updated from 4.12
1626       to 4.17.</para>
1627
1628     <para><application>netcat</application> has been updated from the
1629       version in a 4 February 2005 OpenBSD snapshot to the version
1630       included in OpenBSD 3.9. &merged;</para>
1631
1632     <para><application>GCC</application> has been updated from 3.4.4
1633       to 3.4.6. &merged;</para>
1634
1635     <para><application>GNU Readline library</application> has been
1636       updated from 5.0 to 5.1.</para>
1637
1638     <para><application>GNU Troff</application>
1639       has been updated from version 1.19 to version 1.19.2.
1640       &merged;</para>
1641
1642     <para><application>IPFilter</application> has been updated from
1643       4.1.8 to 4.1.13. &merged;</para>
1644
1645     <para><application>less</application> has been updated from v381
1646       to v394. &merged;</para>
1647
1648     <para><application>libpcap</application> has been updated from
1649       0.9.1 to 0.9.4</para>
1650
1651     <para><application>lukemftpd</application> has been updated from a
1652       snapshot from NetBSD as of 9 August 2004 to a snapshot from
1653       NetBSD as of 31 August 2006. &merged;</para>
1654
1655     <para><application>OpenSSH</application> has been updated from
1656       4.2p1 to 4.3p1.</para>
1657
1658     <para><application>OpenSSL</application> has been updated from
1659       0.9.7e to 0.9.8b.</para>
1660
1661     <para><application>hostapd</application>
1662       has been updated from version 0.3.9 to version 0.4.8.
1663       &merged;</para>
1664
1665     <para><application>sendmail</application> has been updated from
1666       8.13.4 to 8.13.8. &merged;</para>
1667
1668     <para><application>tcpdump</application> has been updated from
1669       3.9.1 to 3.9.4</para>
1670
1671     <para>The timezone database has been updated from the
1672       <application>tzdata2005l</application> release to the
1673       <application>tzdata2006g</application> release. &merged;</para>
1674
1675     <para><application>tip</application> has been updated to a
1676       snapshot from OpenBSD as of 20060831.</para>
1677
1678     <para>TrustedBSD <application>OpenBSM</application>,
1679       version 1.0 alpha 10, an implementation of the documented Sun Basic
1680       Security Module (BSM) Audit API and file format, as well as local
1681       extensions to support the Mac OS X and &os; operating systems
1682       has been added.  This also includes command line tools for audit
1683       trail reduction and conversion to text, as well as documentation
1684       of the commands, file format, and APIs.
1685       For this functionality, the <literal>AUDIT</literal> kernel option,
1686       <filename>/var/audit</filename> directory, and
1687       <literal>audit</literal> group have been added. &merged;</para>
1688
1689     <para><application>WPA Supplicant</application>
1690       has been updated from version 0.3.9 to version 0.4.8.
1691       &merged;</para>
1692
1693     <para><application>zlib</application>
1694       has been updated from version 1.2.2 to version 1.2.3.</para>
1695   </sect2>
1696
1697   <sect2 id="ports">
1698     <title>Ports/Packages Collection Infrastructure</title>
1699
1700     <para>&man.pkg.add.1; now supports an <option>-F</option>
1701       flag to disable checking whether the same package is already
1702       installed or not. &merged;</para>
1703
1704     <para>The &man.pkg.add.1; program now supports an <option>-P</option>
1705       flag, which is the same as the <option>-p</option> flag
1706       except that the given prefix is also used recursively for the
1707       dependency packages if any.  &merged;</para>
1708
1709     <para>The &man.pkg.add.1; and &man.pkg.create.1; utilities now support
1710       a <option>-K</option> flag to save packages to the current directory
1711       (or <varname>PKGDIR</varname> if defined) by default.
1712       &merged;</para>
1713
1714     <para>The &man.pkg.create.1; program now supports an <option>-x</option>
1715       flag to support basic regular expressions for package name,
1716       an <option>-E</option> flag for extended regular
1717       expressions, and a <option>-G</option> for exact matching.  &merged;</para>
1718
1719     <para>The &man.pkg.version.1; utility now supports an <option>-o</option>
1720       flag to show the origin recorded on package generation
1721       instead of the package name, and an <option>-O</option> flag
1722       to list packages with a specific registered origin.
1723       &merged;</para>
1724
1725     <para>The &man.portsnap.8; utility (<filename>sysutils/portsnap</filename>)
1726       has been added into the &os; base system.  This is a secure,
1727       easy to use, fast, lightweight, and generally good way for
1728       users to keep their ports trees up to date.  &merged;</para>
1729
1730     <para>A incorrect handling of <varname>HTTP_PROXY_AUTH</varname>
1731       in the &man.portsnap.8; utility has been fixed.  &merged;</para>
1732
1733     <para>The startup scripts from the <varname>local_startup</varname>
1734       directory now evaluated by using &man.rcorder.8; with scripts
1735       in the base system.  &merged;</para>
1736
1737     <para>The suffix of startup scripts from the Ports Collection
1738       has been removed.  This means <filename>foo.sh</filename>
1739       is renamed to <filename>foo</filename>, and now
1740       scripts whose name is something like
1741       <filename>foo.ORG</filename> will also be invoked.
1742       You are recommended to reinstall packages which install
1743       such scripts and remove extra files in the
1744       <varname>local_startup</varname> directory.  &merged;</para>
1745
1746     <para>New <filename>rc.conf</filename> variables,
1747       <varname>ldconfig_local_dirs</varname> and
1748       <varname>ldconfig_local32_dirs</varname> have been added.
1749       These hold lists of local &man.ldconfig.8; directories.
1750       &merged;</para>
1751
1752     <para>The <command>@cwd</command> command in
1753       <filename>pkg-plist</filename> now allows
1754       the case where no directory argument is given.  If no
1755       directory argument is given, it will set current
1756       working directory to the first prefix given by the
1757       <command>@cwd</command> command.  &merged;</para>
1758   </sect2>
1759
1760   <sect2 id="releng">
1761     <title>Release Engineering and Integration</title>
1762
1763     <para>The default partition sizing algorithm of the
1764       &man.sysinstall.8; utility has been changed.</para>
1765
1766     <itemizedlist>
1767       <listitem>
1768         <para>On systems where the disk capacity is larger than (3 * RAMsize + 10GB),
1769           the default sizes will now be as follows:</para>
1770
1771         <informaltable frame="none" pgwide="0">
1772           <tgroup cols="2">
1773             <colspec colwidth="1*">
1774             <colspec colwidth="2*">
1775             <thead>
1776               <row>
1777                 <entry>Partition</entry>
1778                 <entry>Size</entry>
1779               </row>
1780             </thead>
1781
1782             <tbody>
1783               <row><entry>swap</entry><entry>RAMsize * 2</entry></row>
1784               <row><entry><filename>/</filename></entry><entry>512 MB</entry></row>
1785               <row><entry><filename>/tmp</filename></entry><entry>512 MB</entry></row>
1786               <row><entry><filename>/var</filename></entry><entry>1024 MB + RAMsize</entry></row>
1787               <row><entry><filename>/usr</filename></entry><entry>the rest (8GB or more)</entry></row>
1788             </tbody>
1789           </tgroup>
1790         </informaltable>
1791       </listitem>
1792
1793       <listitem>
1794         <para>On systems where the disk capacity is larger than
1795           (RAMsize / 8 + 2 GB), the default sizes will be
1796           in the following ranges, with space allocated
1797           proportionally:</para>
1798
1799         <informaltable frame="none" pgwide="0">
1800           <tgroup cols="2">
1801             <colspec colwidth="1*">
1802             <colspec colwidth="2*">
1803             <thead>
1804               <row>
1805                 <entry>Partition</entry>
1806                 <entry>Size</entry>
1807               </row>
1808             </thead>
1809
1810             <tbody>
1811               <row><entry>swap</entry><entry>from RAMsize / 8 to RAMsize * 2</entry></row>
1812               <row><entry><filename>/</filename></entry><entry>from 256MB to 512MB</entry></row>
1813               <row><entry><filename>/tmp</filename></entry><entry>from 128MB to 512MB</entry></row>
1814               <row><entry><filename>/var</filename></entry><entry>from 128MB to 1024MB</entry></row>
1815               <row><entry><filename>/usr</filename></entry><entry>from 1536MB to 8192MB</entry></row>
1816             </tbody>
1817           </tgroup>
1818         </informaltable>
1819       </listitem>
1820
1821       <listitem>
1822         <para>On systems with even less disk space, the existing behavior is not
1823           changed.</para>
1824       </listitem>
1825     </itemizedlist>
1826
1827     <para>The &man.sysinstall.8; utility now displays the running &os;
1828       version in menu titles. &merged;</para>
1829
1830     <para>A new <literal>showconfig</literal>
1831       target has been added in <filename>src/Makefile</filename>
1832       to show the build configuration of the &os; source tree.</para>
1833
1834     <para>A <filename>/media</filename> directory has been
1835       added to contain mount points for removable media
1836       such as CDROMs, floppy disks, USB drives, and so on. &merged;</para>
1837
1838     <para>The <filename>src.conf</filename> file, which
1839       contains settings that will apply to every build involving
1840       the &os; source tree, has been added.
1841       For details, see &man.build.7; and &man.src.conf.5;.</para>
1842
1843     <para>The supported version of
1844       the <application>GNOME</application> desktop environment
1845       (<filename role="package">x11/gnome2</filename>) has been
1846       updated from 2.10.2 to 2.14.1. &merged;</para>
1847
1848     <para>The supported version of
1849       the <application>KDE</application> desktop environment
1850       (<filename role="package">x11/kde3</filename>) has been
1851       updated from 3.4.2 to 3.5.4. &merged;</para>
1852
1853     <para arch="i386,amd64">The supported Linux emulation now uses the
1854       libraries in the
1855       <filename role="package">emulators/linux_base-fc4</filename>
1856       package. &merged;</para>
1857
1858     <para>The supported version of
1859       the <application>Perl</application> interpreter
1860       (<filename role="package">lang/perl5.8</filename>) has been updated
1861       from 5.8.7 to 5.8.8. &merged;</para>
1862
1863     <para>The supported version of
1864       the <application>&xorg;</application> windowing system
1865       (<filename role="package">x11/xorg</filename>) has been updated
1866       from 6.8.2 to 6.9.0. &merged;</para>
1867
1868     <para arch="pc98">&os;/pc98 release CDROMs are now
1869       bootable on systems with some supported SCSI adapters.
1870       &merged;</para>
1871   </sect2>
1872
1873   <sect2 id="doc">
1874     <title>Documentation</title>
1875
1876     <para>Documentation of existing functionality has been improved by
1877       the addition of the following manual pages:
1878       &man.acpi.sony.4;, &man.device.get.sysctl.9;,
1879       &man.ext2fs.5;,
1880       &man.mca.8;,
1881       &man.nanobsd.8;,
1882       &man.snd.mss.4;, &man.snd.t4dwave.4;,
1883       &man.sysctl.9;.</para>
1884
1885     <para>The manual pages for <application>NTP</application>
1886       have been updated to 4.2.0, to match the version of
1887       code actually included in &os;. &merged;</para>
1888
1889     <para>Initial support for kernel subsystem API documentation generating
1890       framework using <filename role="package">devel/doxygen</filename>
1891       has been added into <filename>src/sys/doc/subsys</filename>.
1892       To generate the API document, type <command>make doxygen</command>
1893       in <filename>src/</filename> directory.</para>
1894   </sect2>
1895 </sect1>
1896
1897 <sect1 id="upgrade">
1898   <title>Upgrading from previous releases of &os;</title>
1899
1900   <para></para>
1901
1902   <important>
1903     <para>Upgrading &os; should, of course, only be attempted after
1904       backing up <emphasis>all</emphasis> data and configuration
1905       files.</para>
1906   </important>
1907 </sect1>