article.xml revision 147312
1193323Sed<articleinfo>
2193323Sed  <title>&os;/&arch; &release.current; Release Notes</title>
3193323Sed
4193323Sed  <corpauthor>The &os; Project</corpauthor>
5193323Sed
6193323Sed  <pubdate>$FreeBSD: head/release/doc/en_US.ISO8859-1/relnotes/article.sgml 147312 2005-06-12 08:55:59Z hrs $</pubdate>
7193323Sed
8193323Sed  <copyright>
9193323Sed    <year>2000</year>
10193323Sed    <year>2001</year>
11193323Sed    <year>2002</year>
12193323Sed    <year>2003</year>
13193323Sed    <year>2004</year>
14193323Sed    <year>2005</year>
15193323Sed    <holder role="mailto:doc@FreeBSD.org">The &os; Documentation Project</holder>
16193323Sed  </copyright>
17193323Sed
18193323Sed  <legalnotice id="trademarks" role="trademarks">
19193323Sed    &tm-attrib.freebsd;
20193323Sed    &tm-attrib.ibm;
21193323Sed    &tm-attrib.ieee;
22193323Sed    &tm-attrib.intel;
23193323Sed    &tm-attrib.sparc;
24193323Sed    &tm-attrib.general;
25193323Sed  </legalnotice>
26193323Sed
27193323Sed  <abstract>
28193323Sed    <para>The release notes for &os; &release.current; contain a summary
29193323Sed      of the changes made to the &os; base system since &release.branch; is created.
30193323Sed      This document lists applicable security advisories that were issued since
31193323Sed      the last release, as well as significant changes to the &os;
32193323Sed      kernel and userland.
33193323Sed      Some brief remarks on upgrading are also presented.</para>
34193323Sed  </abstract>
35193323Sed</articleinfo>
36193323Sed
37193323Sed<sect1 id="intro">
38193323Sed  <title>Introduction</title>
39193323Sed
40193323Sed  <para>This document contains the release notes for &os;
41193323Sed    &release.current; on the &arch.print; hardware platform.  It
42193323Sed    describes recently added, changed, or deleted features of &os;.
43193323Sed    It also provides some notes on upgrading
44193323Sed    from previous versions of &os;.</para>
45193323Sed
46193323Sed<![ %release.type.current [
47193323Sed
48193323Sed  <para>The &release.type; distribution to which these release notes
49193323Sed    apply represents the latest point along the &release.branch; development
50193323Sed    branch since &release.branch; was created.  Information regarding pre-built, binary
51193323Sed    &release.type; distributions along this branch
52193323Sed    can be found at <ulink url="&release.url;"></ulink>.</para>
53193323Sed
54193323Sed]]>
55193323Sed
56193323Sed<![ %release.type.snapshot [
57193323Sed
58193323Sed  <para>The &release.type; distribution to which these release notes
59193323Sed    apply represents a point along the &release.branch; development
60193323Sed    branch between &release.prev; and the future &release.next;.
61193323Sed    Information regarding
62193323Sed    pre-built, binary &release.type; distributions along this branch
63193323Sed    can be found at <ulink url="&release.url;"></ulink>.</para>
64193323Sed
65193323Sed]]>
66193323Sed
67193323Sed<![ %release.type.release [
68193323Sed
69193323Sed  <para>This distribution of &os; &release.current; is a
70193323Sed    &release.type; distribution.  It can be found at <ulink
71193323Sed    url="&release.url;"></ulink> or any of its mirrors.  More
72193323Sed    information on obtaining this (or other) &release.type;
73193323Sed    distributions of &os; can be found in the <ulink
74193323Sed    url="&url.books.handbook;/mirrors.html"><quote>Obtaining
75193323Sed    &os;</quote> appendix</ulink> to the <ulink
76193323Sed    url="&url.books.handbook;/">&os;
77193323Sed    Handbook</ulink>.</para>
78193323Sed
79193323Sed]]>
80193323Sed
81193323Sed  <para>All users are encouraged to consult the release errata before
82193323Sed    installing &os;.  The errata document is updated with
83193323Sed    <quote>late-breaking</quote> information discovered late in the
84193323Sed    release cycle or after the release.  Typically, it contains
85193323Sed    information on known bugs, security advisories, and corrections to
86193323Sed    documentation.  An up-to-date copy of the errata for &os;
87193323Sed    &release.current; can be found on the &os; Web site.</para>
88193323Sed
89193323Sed</sect1>
90193323Sed
91193323Sed<sect1 id="new">
92193323Sed  <title>What's New</title>
93193323Sed
94193323Sed  <para>This section describes
95193323Sed    the most user-visible new or changed features in &os;
96193323Sed    since &release.prev;.
97193323Sed    In general, changes described here are unique to the &release.branch;
98193323Sed    branch unless specifically marked as &merged; features.
99193323Sed  </para>
100193323Sed
101193323Sed  <para>Typical release note items
102193323Sed    document recent security advisories issued after
103193323Sed    &release.prev.historic;,
104193323Sed    new drivers or hardware support, new commands or options,
105193323Sed    major bug fixes, or contributed software upgrades.  They may also
106193323Sed    list changes to major ports/packages or release engineering
107193323Sed    practices.  Clearly the release notes cannot list every single
108193323Sed    change made to &os; between releases; this document focuses
109193323Sed    primarily on security advisories, user-visible changes, and major
110193323Sed    architectural improvements.</para>
111193323Sed
112193323Sed  <sect2 id="security">
113193323Sed    <title>Security Advisories</title>
114193323Sed
115193323Sed    <para>A bug in the &man.fetch.1; utility, which allows
116193323Sed      a malicious HTTP server to cause arbitrary portions of the client's
117193323Sed      memory to be overwritten, has been fixed.
118193323Sed      For more information, see security advisory
119193323Sed      <ulink url="ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-04:16.fetch.asc">FreeBSD-SA-04:16.fetch</ulink>.
120193323Sed      &merged;</para>
121193323Sed
122193323Sed    <para>A bug in &man.procfs.5; and &man.linprocfs.5;
123193323Sed      which could allow a malicious local user to read parts of kernel
124193323Sed      memory or perform a local
125193323Sed      denial of service attack by causing a system panic,
126193323Sed      has been fixed.
127193323Sed      For more information, see security advisory
128193323Sed      <ulink url="ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-04:17.procfs.asc">FreeBSD-SA-04:17.procfs</ulink>.
129193323Sed      &merged;</para>
130193323Sed
131193323Sed    <para>Two buffer overflows in the TELNET client program have been
132193323Sed      corrected.  They could have allowed a malicious TELNET server or
133193323Sed      an active network attacker to cause &man.telnet.1; to execute
134193323Sed      arbitrary code with the privileges of the user running it.
135193323Sed      More information can be found in security advisory
136193323Sed      <ulink url="ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-05:01.telnet.asc">FreeBSD-SA-05:01.telnet</ulink>.
137193323Sed      &merged;</para>
138193323Sed
139193323Sed    <para>A information disclosure vulnerability in the
140193323Sed      &man.sendfile.2; system call, which could permit it to transmit
141193323Sed      random parts of kernel memory, has been fixed.  More details are
142193323Sed      in security advisory
143193323Sed      <ulink url="ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-05:02.sendfile.asc">FreeBSD-SA-05:02.sendfile</ulink>.
144193323Sed      &merged;</para>
145193323Sed
146193323Sed    <para arch="amd64">A possible privilege escalation vulnerability on &os;/amd64
147193323Sed      has been fixed.  This allows unprivileged users to gain direct
148193323Sed      access to some hardware which cannot be accessed
149193323Sed      without the elevated privilege level.  More details are in security advisory
150193323Sed      <ulink url="ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-05:03.amd64.asc">FreeBSD-SA-05:03.amd64</ulink>.
151193323Sed      &merged;</para>
152193323Sed
153193323Sed    <para>An information leak vulnerability in the
154193323Sed      <literal>SIOCGIFCONF</literal> &man.ioctl.2;, which leaked 12
155193323Sed      bytes of kernel memory, has been fixed.  More details are in security advisory
156193323Sed      <ulink url="ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-05:04.ifconf.asc">FreeBSD-SA-05:04.ifconf</ulink>.
157193323Sed      &merged;</para>
158193323Sed
159193323Sed    <para>Several programming errors in &man.cvs.1;, which could
160193323Sed      potentially cause arbitrary code to be executed on CVS servers,
161193323Sed      have been corrected.  Further information can be found in
162193323Sed      security advisory
163193323Sed      <ulink url="ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-05:05.cvs.asc">FreeBSD-SA-05:05.cvs</ulink>.
164193323Sed      &merged;</para>
165193323Sed
166193323Sed    <para>An error in the default permissions on the <filename
167193323Sed	class="devicefile">/dev/iir</filename> device node, which
168193323Sed      allowed unprivileged local users can send commands to the
169193323Sed      hardware supported by the &man.iir.4; driver, has been fixed.
170193323Sed      For more information, see security advisory
171193323Sed      <ulink url="ftp://ftp.freebsd.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-05:06.iir.asc">FreeBSD-SA-05:06.iir</ulink>.
172193323Sed      &merged;</para>
173193323Sed
174193323Sed   <para>A bug in the validation of &man.i386.get.ldt.2; system call
175193323Sed     input arguments, which may allow kernel memory may be disclosed
176193323Sed     to the user process, has been fixed.  For more information, see
177193323Sed      security advisory
178193323Sed     <ulink url="ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-05:07.ldt.asc">FreeBSD-SA-05:07.ldt</ulink>.
179193323Sed     &merged;</para>
180193323Sed
181193323Sed    <para>Several information disclosure vulnerabilities in various
182193323Sed      parts of the kernel have been fixed.  For more information, see
183193323Sed      security advisory
184193323Sed      <ulink url="ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-05:08.kmem.asc">FreeBSD-SA-05:08.kmem</ulink>.
185193323Sed      &merged;</para>
186193323Sed
187193323Sed    <para arch="i386,amd64">Because of an information disclosure vulnerability on
188193323Sed      processors using Hyper-Threading Technology (HTT), the
189193323Sed      <varname>machdep.hyperthreading_allowed</varname> sysctl
190193323Sed      variable has been added.  It defaults to <literal>1</literal>
191193323Sed      (HTT enabled) on &os; CURRENT, and <literal>0</literal> (HTT
192193323Sed      disabled) on the 4-STABLE and 5-STABLE development branches and
193193323Sed      supported security fix branches.  More information can be found
194193323Sed      in security advisory
195193323Sed      <ulink url="ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-05:09.htt.asc">FreeBSD-SA-05:09.htt</ulink>.
196193323Sed      &merged;</para>
197193323Sed
198193323Sed    <para>A bug in the &man.tcpdump.1; utility which allows
199193323Sed      a malicious remote user to cause a denial-of-service
200193323Sed      by using specially crafted packets, has been fixed.
201193323Sed      For more information, see security advisory
202193323Sed      <ulink url="ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-05:10.tcpdump.asc">FreeBSD-SA-05:10.tcpdump</ulink>.
203193323Sed      &merged;</para>
204193323Sed
205193323Sed    <para>Two problems in the &man.gzip.1; utility have been fixed.
206193323Sed      These may allow a local user to modify permissions
207193323Sed      of arbitrary files and overwrite arbitrary local
208193323Sed      files when uncompressing a file.
209193323Sed      For more information, see security advisory
210193323Sed      <ulink url="ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-05:11.gzip.asc">FreeBSD-SA-05:11.gzip</ulink>.
211193323Sed      &merged;</para>
212193323Sed
213193323Sed    <para>A bug in <application>BIND 9</application> DNSSEC has been fixed.
214193323Sed      When DNSSEC is enabled, this bug may allow a remote attacker to inject
215193323Sed      a specially crafted packet which will cause &man.named.8; to terminate.
216193323Sed      For more information, see security advisory
217193323Sed      <ulink url="ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-05:12.bind9.asc">FreeBSD-SA-05:12.bind9</ulink>.
218193323Sed      &merged;</para>
219193323Sed  </sect2>
220193323Sed
221193323Sed  <sect2 id="kernel">
222193323Sed    <title>Kernel Changes</title>
223193323Sed
224193323Sed    <para arch="i386">Support for 80386 processors (the
225193323Sed      <literal>I386_CPU</literal> kernel configuration option) has
226193323Sed      been removed.  Users running this class of CPU should use &os;
227193323Sed      5.<replaceable>X</replaceable> or earlier.</para>
228193323Sed
229193323Sed    <para>The kernel debugger &man.ddb.4; now supports a
230193323Sed      <command>show alllocks</command> command, which dumps a list of processes
231193323Sed      and threads currently holding sleep mutexes (and spin mutexes for
232193323Sed      the current thread).  &merged;</para>
233193323Sed
234193323Sed    <para>The &man.ichsmb.4; driver is now available as a loadable
235193323Sed      kernel module.</para>
236193323Sed
237193323Sed    <para>The &man.jail.8; feature now supports a new sysctl
238193323Sed      <varname>security.jail.chflags_allowed</varname>, which controls the
239193323Sed      behavior of &man.chflags.1; within a jail.
240193323Sed      If set to <literal>0</literal> (the default), then a jailed <username>root</username> user is
241193323Sed      treated as an unprivileged user; if set to <literal>1</literal>, then
242193323Sed      a jailed root user is treated the same as an unjailed <username>root</username> user.  &merged;</para>
243193323Sed
244193323Sed    <para>A sysctl <varname>security.jail.getfsstatroot_only</varname> has been
245193323Sed      renamed to <varname>security.jail.enforce_statfs</varname> and
246193323Sed      now supports the following policies:</para>
247193323Sed
248193323Sed    <informaltable frame="none">
249193323Sed      <tgroup cols="2">
250193323Sed	<thead>
251193323Sed	  <row>
252193323Sed	    <entry>Value</entry>
253193323Sed	    <entry>Policy</entry>
254193323Sed	  </row>
255193323Sed	</thead>
256193323Sed
257193323Sed	<tbody>
258193323Sed	  <row>
259193323Sed	    <entry>0</entry>
260193323Sed	    <entry>show all mount-points without any restrictions</entry>
261193323Sed	  </row>
262193323Sed
263193323Sed	  <row>
264193323Sed	    <entry>1</entry>
265193323Sed	    <entry>show only mount-points below jail's chroot and show only part of the
266193323Sed	      mount-point's path (if jail's chroot directory is
267193323Sed	      <filename>/jails/foo</filename> and
268193323Sed	      mount-point is
269193323Sed	      <filename>/jails/foo/usr/home</filename>
270193323Sed	      only <filename>/usr/home</filename> will be shown)</entry>
271193323Sed	  </row>
272193323Sed
273193323Sed	  <row>
274193323Sed	    <entry>2</entry>
275193323Sed	    <entry>show only mount-point where jail's chroot directory is placed.</entry>
276193323Sed	  </row>
277193323Sed	</tbody>
278193323Sed      </tgroup>
279193323Sed    </informaltable>
280193323Sed
281193323Sed    <para arch="alpha,amd64,i386,sparc64">The loader tunable <varname>debug.mpsafevm</varname>
282193323Sed      has been enabled by default.  &merged;</para>
283193323Sed
284193323Sed    <para>&man.memguard.9;, a kernel memory allocator designed to help detect
285193323Sed      <quote>tamper-after-free</quote> scenarios, has been added.
286193323Sed      This must be explicitly enabled via <literal>options
287193323Sed      DEBUG_MEMGUARD</literal>, plus small kernel modifications.  It
288193323Sed      is generally intended for use by kernel developers.</para>
289193323Sed
290193323Sed    <para><varname>struct ifnet</varname> and network interface API
291193323Sed      have been changed.  Due to ABI incompatibility, all drivers
292193323Sed      not in the &os; base system need to be updated to use
293193323Sed      the new API and recompiled.</para>
294193323Sed
295193323Sed    <para>A number of bugs have been fixed in the ULE
296193323Sed      scheduler. &merged;</para>
297193323Sed
298193323Sed    <para>Fine-grained locking to allow much of the VFS stack to run
299193323Sed      without the Giant lock has been added.  This is enabled by default
300193323Sed      on the alpha, amd64, and i386 architectures, and can be disabled
301193323Sed      by setting the loader tunable (and sysctl variable)
302193323Sed      <varname>debug.mpsafevfs</varname> to
303193323Sed      <literal>0</literal>.</para>
304193323Sed
305193323Sed    <para arch="i386">A bug in Inter-Processor Interrupt (IPI)
306193323Sed      handling, which could cause SMP systems to crash under heavy
307193323Sed      load, has been fixed.  More details are contained in errata note
308193323Sed      <ulink url="ftp://ftp.FreeBSD.org/pub/FreeBSD/ERRATA/notices/FreeBSD-EN-05:03.ipi.asc">FreeBSD-EN-05:03.ipi</ulink>.
309193323Sed      &merged;</para>
310193323Sed
311193323Sed    <para>System V IPC objects (message queues, semaphores, and shared
312193323Sed      memory) now have support for Mandatory Access Control policies,
313193323Sed      notably &man.mac.biba.4;, &man.mac.mls.4;, &man.mac.stub.4;, and
314193323Sed      &man.mac.test.4;.</para>
315193323Sed
316193323Sed    <para arch="i386">Memory allocation for legacy PCI bridges has
317193323Sed      been limited to the top 32MB of RAM.  Many older, legacy bridges
318193323Sed      only allow allocation from this range.  This change only applies
319193323Sed      to devices which do not have their memory assigned by the BIOS.
320193323Sed      This change fixes the <quote>bad Vcc</quote> error of CardBus
321193323Sed      bridges (&man.pccbb.4;). &merged;</para>
322193323Sed
323193323Sed    <para>The &man.sysctl.3; MIBs beginning with <quote>debug</quote>
324193323Sed      now require the kernel option <literal>options SYSCTL_DEBUG</literal>.
325193323Sed      This option is disabled by default.</para>
326193323Sed
327193323Sed    <para>The generic &man.tty.4; driver interface has been added
328193323Sed      and many device drivers including
329193323Sed      &man.cx.4; (<literal>{tty,cua}x</literal>),
330193323Sed      &man.cy.4; (<literal>{tty,cua}c</literal>),
331193323Sed      &man.digi.4; (<literal>{tty,cua}D</literal>),
332193323Sed      &man.rc.4; (<literal>{tty,cua}m</literal>),
333193323Sed      &man.rp.4; (<literal>{tty,cua}R</literal>),
334193323Sed      &man.sab.4; (<literal>{tty,cua}z</literal>),
335193323Sed      &man.si.4; (<literal>{tty,cua}A</literal>),
336193323Sed      &man.sio.4; (<literal>{tty,cua}d</literal>),
337193323Sed      sx (<literal>{tty,cua}G</literal>),
338193323Sed      &man.uart.4; (<literal>{tty,cua}u</literal>),
339193323Sed      &man.ubser.4; (<literal>{tty,cua}y</literal>),
340193323Sed      &man.ucom.4; (<literal>{tty,cua}U</literal>), and
341193323Sed      &man.ucycom.4; (<literal>{tty,cua}y</literal>)
342193323Sed      have been rewritten to use it.  Note that <filename>/etc/remote</filename>
343193323Sed      and <filename>/etc/ttys</filename> have been updated as well.</para>
344193323Sed
345193323Sed    <para>The &man.vkbd.4; driver has been added.  This driver
346193323Sed      provides a software loopback mechanism that can implement
347193323Sed      a virtual AT keyboard similar to what the &man.pty.4; driver
348193323Sed      does for terminals.</para>
349193323Sed
350193323Sed    <!-- Above this line, sort kernel changes by manpage/keyword-->
351193323Sed
352193323Sed    <para arch="i386,amd64">&os; always uses the local APIC timer
353193323Sed      even on uni-processor systems now.</para>
354193323Sed
355193323Sed    <para arch="i386,amd64,ia64">The default <varname>HZ</varname>
356193323Sed      parameter (which controls various kernel timers) has been
357193323Sed      increased from <literal>100</literal> to <literal>1000</literal>
358193323Sed      on the i386 and ia64.  It has been reduced from
359193323Sed      <literal>1024</literal> to <literal>1000</literal> on the amd64
360193323Sed      to reduce synchronization effects with other system
361193323Sed      clocks.</para>
362193323Sed
363193323Sed    <para>The maximum length of shell commands has changed from 128
364193323Sed      bytes to <varname>PAGE_SIZE</varname>.  By default, this value
365193323Sed      is either 4KB (i386, pc98, amd64, and powerpc) or 8KB (sparc64
366193323Sed      and ia64).  As a result, compatibility modules need to be
367193323Sed      rebuilt to stay synchronized with data structure changes in the
368193323Sed      kernel.</para>
369193323Sed
370193323Sed    <para>A new tunable <varname>vm.blacklist</varname> has been added.
371193323Sed      This can hold a space or comma separated list of physical addresses.
372193323Sed      The pages containing these physical addresses will
373193323Sed      not be added to the free list and thus will effectively
374193323Sed      be ignored by the &os; VM system.  The physical addresses
375193323Sed      of any ignored pages are listed in the message buffer as well.</para>
376193323Sed
377193323Sed    <sect3 id="boot">
378193323Sed      <title>Boot Loader Changes</title>
379193323Sed
380193323Sed      <para arch="i386">A serial console-capable version of
381193323Sed	<filename>boot0</filename> has been added.  It can be written
382193323Sed	to a disk using &man.boot0cfg.8; and specifying
383193323Sed	<filename>/boot/boot0sio</filename> as the argument to the
384193323Sed	<option>-b</option> option.</para>
385193323Sed
386193323Sed      <para arch="i386"><filename>cdboot</filename> now works around a
387193323Sed	BIOS problem observed on some systems when booting from USB
388193323Sed	CDROM drives.</para>
389193323Sed
390193323Sed      <para>The <command>autoboot</command> loader command
391193323Sed	now supports the prompt parameter.</para>
392193323Sed
393193323Sed      <para>The <command>autoboot</command> will now prevent the user
394193323Sed	from interrupting the boot process at all if the
395193323Sed	<varname>autoboot_delay</varname> variable is set to
396193323Sed	<literal>-1</literal>. &merged;</para>
397193323Sed
398193323Sed      <para>A loader menu option to set <varname>hint.atkbd.0.flags=0x1</varname>
399193323Sed	has been added.  This setting allows USB keyboards to work
400193323Sed	if no PS/2 keyboard is attached.</para>
401193323Sed
402193323Sed      <para>The beastie boot menu has been disabled by default.</para>
403193323Sed
404193323Sed      <!-- Above this line, order boot loader changes by keyword-->
405193323Sed
406193323Sed    </sect3>
407193323Sed
408193323Sed    <sect3 id="proc">
409193323Sed      <title>Hardware Support</title>
410193323Sed
411193323Sed      <para arch="i386,amd64">The &man.acpi.4; driver now turns
412193323Sed	the ACPI and PCI devices off or to a lower power state
413193323Sed	when suspending, and back on again when resuming.
414193323Sed	This behavior can be disabled by
415193323Sed	setting the <varname>debug.acpi.do_powerstate</varname> and
416193323Sed	<varname>hw.pci.do_powerstate</varname> sysctls to <literal>0</literal>.</para>
417193323Sed
418193323Sed      <para arch="i386,amd64">The &man.acpi.ibm.4; driver for IBM laptops
419193323Sed	has been added.</para>
420193323Sed
421193323Sed      <para arch="i386,amd64">The &man.acpi.ibm.4; driver has been
422193323Sed	improved to support hotkeys and reading fan status and thermal
423193323Sed	sensors.</para>
424193323Sed
425193323Sed      <para arch="i386,amd64">The &man.acpi.fujitsu.4; driver for handling
426193323Sed        &man.acpi.4;-controlled buttons Fujitsu laptops has been added.</para>
427193323Sed
428193323Sed      <para arch="i386,amd64">The acpi_sony driver,
429193323Sed	which supports the Sony Notebook Controller on various
430193323Sed	Sony laptops has been added.</para>
431193323Sed
432193323Sed      <para>The &man.atkbdc.4;, &man.atkbd.4;, and &man.psm.4;
433193323Sed	drivers have been rewritten in more bus-independent way,
434193323Sed	and now support EBus found on sparc64 platform.</para>
435193323Sed
436193323Sed      <para arch="sparc64">The following device drivers have been
437193323Sed	added and enabled by default:
438193323Sed	&man.atkbdc.4;,
439193323Sed	&man.atkbd.4;,
440193323Sed	creator(4),
441193323Sed	machfb(4),
442193323Sed	&man.syscons.4;,
443193323Sed	&man.ohci.4;,
444193323Sed	&man.psm.4;,
445193323Sed	&man.ukbd.4;,
446193323Sed	&man.ums.4;,
447193323Sed	and &man.usb.4;.</para>
448193323Sed
449193323Sed      <para arch="sparc64">The &man.auxio.4; driver has been to drive
450193323Sed	some auxiliary I/O functions found on various SBus/EBus
451193323Sed	&ultrasparc; models. &merged;</para>
452193323Sed
453193323Sed      <para arch="sparc64">The clkbrd driver has been added to support
454193323Sed	the <literal>clock-board</literal> device frequently found on
455193323Sed	Sun E<replaceable>xx</replaceable>00 servers.</para>
456193323Sed
457193323Sed      <para>A framework for flexible processor speed control has been
458193323Sed	added.  It provides methods for various drivers to control CPU
459193323Sed	power utilization by adjusting the processor speed.  More
460193323Sed	details can be found in the &man.cpufreq.4; manual page. &merged;
461193323Sed	Currently supported drivers include ichss (Intel SpeedStep for ICH),
462193323Sed	acpi_perf (ACPI CPU performance states), and acpi_throttle
463193323Sed	(ACPI CPU throttling).  The latter two drivers are contained
464193323Sed	in the &man.acpi.4; driver.  These can individually be disabled by setting device
465193323Sed	hints such as <varname>hint.<replaceable>ichss</replaceable>.0.disabled="1"</varname>.</para>
466193323Sed
467193323Sed      <para>The &man.hwpmc.4; hardware performance
468193323Sed	monitoring counter driver has been added.
469193323Sed	This driver virtualizes the hardware performance monitoring
470193323Sed	facilities in modern CPUs and provides support for using
471193323Sed	these facilities from user level processes.  For more details,
472193323Sed	see manual pages of &man.hwpmc.4;, associated libraries,
473193323Sed	and associated userland utilities.</para>
474193323Sed
475193323Sed      <para arch="i386">Support for the OLDCARD subsystem has
476193323Sed	been removed.  The NEWCARD system is now used for all PCCARD
477193323Sed	device support.</para>
478193323Sed
479193323Sed      <para>The pcii driver has been added to support GPIB-PCIIA IEEE-488
480193323Sed	cards. &merged;</para>
481193323Sed
482193323Sed      <para>The &man.atkbd.4; driver now supports a <literal>0x8</literal>
483193323Sed	(bit 3) flag to disable testing the keyboard port during
484193323Sed	the device probe as this can cause hangs on some machines,
485193323Sed	specifically Compaq R3000Z series amd64 laptops.</para>
486193323Sed
487193323Sed      <para arch="i386">The &man.pbio.4; driver,
488193323Sed	which supports direct access to
489193323Sed	the Intel 8255A programmable peripheral interface (PPI)
490193323Sed	chip running in mode 0 (simple I/O) has been added.</para>
491193323Sed
492193323Sed      <para>The &man.psm.4; driver now has improved support for
493193323Sed	Synaptics Touchpad users.  It now has better tracking of
494193323Sed	slow-speed movement and support for various extra
495193323Sed	buttons and dials.  These features can be tuned with the
496193323Sed	<varname>hw.psm.synaptics.<replaceable>*</replaceable></varname>
497193323Sed	hierarchy of sysctl variables.</para>
498193323Sed
499193323Sed      <para arch="sparc64">The rtc driver has been added to support
500193323Sed	the MC146818-compatible clock found on some &ultrasparc; II
501193323Sed	and III models. &merged;</para>
502193323Sed
503193323Sed      <para arch="i386">The &man.syscons.4; driver now supports VESA
504193323Sed	(15, 16, 24, and 32 bit) modes.  To enable this feature, two
505193323Sed	kernel options <literal>SC_PIXEL_MODE</literal> and
506193323Sed	<literal>VESA</literal> (or corresponding kernel module)
507193323Sed	are needed.</para>
508193323Sed
509193323Sed      <para arch="sparc64">The &man.uart.4; driver is now enabled in
510193323Sed	the <filename>GENERIC</filename> kernel, and is now the
511193323Sed	default driver for serial ports.  The ofw_console and
512193323Sed	&man.sab.4; drivers are now disabled in the
513193323Sed	<filename>GENERIC</filename> kernel. &merged;</para>
514193323Sed
515193323Sed      <para>The &man.uftdi.4; driver now supports the FTDI FT2232C
516193323Sed	chip.</para>
517193323Sed
518193323Sed      <para>The &man.uplcom.4; driver now supports handling of the
519193323Sed	<literal>CTS</literal> signal.</para>
520193323Sed
521193323Sed      <para>The &man.ehci.4; driver has been improved.</para>
522193323Sed
523193323Sed      <para arch="sparc64">The zs driver has been removed
524193323Sed	in favor of the &man.uart.4; driver.</para>
525193323Sed
526193323Sed      <sect4 id="mm">
527193323Sed	<title>Multimedia Support</title>
528193323Sed
529193323Sed	<para arch="sparc64">The &man.snd.audiocs.4; driver has been
530193323Sed	  added to support the Crystal Semiconductor CS4231 audio
531193323Sed	  controller found on &ultrasparc;
532193323Sed	  workstations. &merged;</para>
533193323Sed
534193323Sed	<para>The &man.uaudio.4; driver now has some added
535193323Sed	  functionality, including volume control on more inputs and
536193323Sed	  recording capability on some devices. &merged;</para>
537193323Sed
538193323Sed      </sect4>
539193323Sed
540193323Sed      <sect4 id="net-if">
541193323Sed	<title>Network Interface Support</title>
542193323Sed
543193323Sed	<para>The &man.ath.4; driver has been updated to split the
544193323Sed	  transmit rate control algorithm into a separate module.
545193323Sed	  One of <literal>device ath_rate_onoe</literal>,
546193323Sed	  <literal>device ath_rate_amrr</literal>, or
547193323Sed	  <literal>device ath_rate_sample</literal> must be included in
548193323Sed	  the kernel configuration when using the &man.ath.4;
549193323Sed	  driver.</para>
550193323Sed
551193323Sed	<para>The &man.bge.4; driver now supports the &man.altq.4;
552193323Sed	  framework, as well as the BCM5714, 5721, 5750, 5751, 5751M and 5789
553193323Sed	  chips. &merged;</para>
554193323Sed
555193323Sed	<para>The &man.cdce.4; USB Communication Device Class Ethernet
556193323Sed	  driver has been added. &merged;</para>
557193323Sed
558193323Sed	<para>The &man.cp.4; driver is now MPSAFE. &merged;</para>
559193323Sed
560193323Sed	<para>The &man.ctau.4; driver is now MPSAFE. &merged;</para>
561193323Sed
562193323Sed	<para>The &man.cx.4; driver is now MPSAFE. &merged;</para>
563193323Sed
564193323Sed	<para>The &man.dc.4; driver now supports the &man.altq.4;
565193323Sed	  framework. &merged;</para>
566193323Sed
567193323Sed	<para>The &man.ed.4; driver now supports the &man.altq.4;
568193323Sed	  framework.  &merged;</para>
569193323Sed
570193323Sed	<para>In the &man.em.4; driver, hardware support for VLAN
571193323Sed	  tagging is now disabled by default due to some interactions
572193323Sed	  between this feature and promiscuous mode. &merged;</para>
573193323Sed
574193323Sed	<para>Ethernet flow control is now disabled by default in the
575193323Sed	  &man.fxp.4; driver, to prevent problems with a system panics
576193323Sed	  or is left in the kernel debugger. &merged;</para>
577193323Sed
578193323Sed	<para>The gx(4) driver has been removed because
579193323Sed	  it is no longer maintained actively and
580193323Sed	  the &man.em.4; driver supports all of the supported hardware.</para>
581193323Sed
582193323Sed	<para>The &man.hme.4; driver is now MPSAFE. &merged;</para>
583193323Sed
584193323Sed	<para>The &man.ipw.4; (for Intel PRO/Wireless 2100),
585193323Sed	  &man.iwi.4; (for Intel PRO/Wireless 2200BG/2225BG/2915ABG),
586193323Sed	  &man.ral.4; (for Ralink Technology RT2500),
587193323Sed	  and &man.ural.4; (for Ralink Technology RT2500USB)
588193323Sed	  drivers have been added.</para>
589193323Sed
590193323Sed	<para>The &man.ixgb.4; driver is now MPSAFE. &merged;</para>
591193323Sed
592193323Sed	<para>The musycc driver, for the LanMedia LMC1504 T1/E1
593193323Sed	  network interface card, has been removed due to
594193323Sed	  disuse.</para>
595193323Sed
596193323Sed	<para arch="i386,amd64">Drivers using the &man.ndis.4; device
597193323Sed	  driver wrapper mechanism are now built and loaded
598193323Sed	  differently.  The &man.ndis.4; driver can now be pre-built
599193323Sed	  as module or statically compiled into a kernel.  Individual
600193323Sed	  drivers can now be built with the &man.ndisgen.8; utility;
601193323Sed	  the result is a kernel module that can be loaded into a
602193323Sed	  running kernel using &man.kldload.8;. &merged;</para>
603193323Sed
604193323Sed	<para arch="amd64">The &man.ndis.4; device driver wrapper now
605193323Sed	  supports &windows;/x86-64 binaries on amd64
606193323Sed	  systems. &merged;</para>
607193323Sed
608193323Sed	<para arch="i386,amd64">The &man.nve.4; driver, which supports the
609193323Sed	  nVidia nForce MCP Networking Adapter, has been added.</para>
610193323Sed
611193323Sed	<para>The &man.re.4; driver now supports the &man.altq.4;
612193323Sed	  framework.  &merged;</para>
613193323Sed
614193323Sed	<para>The &man.sf.4; driver now has support for device polling
615193323Sed	  and &man.altq.4;. &merged;</para>
616193323Sed
617193323Sed	<para>Several programming errors in the &man.sk.4; driver have
618193323Sed	  been corrected.  These bugs were particular to SMP systems, and
619193323Sed	  could cause panics, page faults, aborted SSH connections, or
620193323Sed	  corrupted file transfers.  More details can be found in
621193323Sed	  errata note
622193323Sed	  <ulink url="ftp://ftp.FreeBSD.org/pub/FreeBSD/ERRATA/notices/FreeBSD-EN-05:02.sk.asc">FreeBSD-EN-05:02.sk</ulink>.
623193323Sed	  &merged;</para>
624193323Sed
625193323Sed	<para>The &man.sk.4; driver now has support for &man.altq.4;.
626193323Sed	  This driver also now supports jumbo frames on Yukon-based
627193323Sed	  interfaces. &merged;</para>
628193323Sed
629193323Sed	<para>The &man.vge.4; driver now has support for device polling
630193323Sed	  (&man.polling.4;).</para>
631193323Sed
632193323Sed	<para>Support for 802.11 devices in the &man.wlan.4; framework has been
633193323Sed	  greatly overhauled.  In addition to architectural changes,
634193323Sed	  it includes completed 802.11g, WPA, 802.11i, 802.1x,
635193323Sed	  WME/WMM, AP-side power-saving, and plugin frameworks for
636193323Sed	  cryptography modules, authenticators, and access control.
637193323Sed	  Note in particular that WEP now requires the
638193323Sed	  <filename>wlan_wep</filename> module to be loaded (or
639193323Sed	  compiled) into the kernel.</para>
640193323Sed
641193323Sed	<para>The &man.xl.4; driver now supports
642193323Sed	  &man.polling.4;. &merged;</para>
643193323Sed
644193323Sed      </sect4>
645193323Sed    </sect3>
646193323Sed
647193323Sed    <sect3 id="net-proto">
648193323Sed      <title>Network Protocols</title>
649193323Sed
650193323Sed      <para>The MTU feedback in IPv6 has been disabled when the sender writes
651193323Sed	data that must be fragmented.  &merged;</para>
652193323Sed
653193323Sed      <para>The Common Address Redundancy Protocol (CARP) has
654193323Sed	been implemented.  CARP comes from OpenBSD and allows
655193323Sed	multiple hosts to share an IP address, providing
656193323Sed	high availability and load balancing.
657193323Sed	For more information, see the &man.carp.4; manual page.  &merged;</para>
658193323Sed
659193323Sed      <para>The &man.if.bridge.4; network bridging implementation,
660193323Sed	originally from NetBSD, has been added.  It supports the IEEE
661193323Sed	802.1D Spanning Tree Protocol, individual interface devices
662193323Sed	for each bridge, and filtering of bridged packets.
663193323Sed	The &man.ifconfig.8; utility now supports to configure
664193323Sed	&man.if.bridge.4;.</para>
665193323Sed
666193323Sed      <para>The &man.ipfw.4; <literal>IPDIVERT</literal> option is now
667193323Sed	available as a kernel loadable module.
668193323Sed	If this module is not loaded, &man.ipfw.4; will refuse to
669193323Sed	install <literal>divert</literal> rules and &man.natd.8;
670193323Sed	will return the error message <quote>protocol not supported</quote>.</para>
671193323Sed
672193323Sed      <para>The &man.ipfw.4; system can work with
673193323Sed	<varname>debug.mpsafenet</varname>=<literal>1</literal>
674193323Sed	(this tunable is <literal>1</literal> by default)
675193323Sed	when the <literal>gid</literal>, <literal>jail</literal>,
676193323Sed	and/or <literal>uid</literal> rule options are used.  &merged;</para>
677193323Sed
678193323Sed      <para>The &man.ipfw.4; and &man.dummynet.4; systems now
679193323Sed	support IPv6.</para>
680193323Sed
681193323Sed      <para>&man.ipfw.8; now supports classification and tagging
682193323Sed	of &man.altq.4; packets via a divert socket,
683193323Sed	as well as the TCP data length.</para>
684193323Sed
685193323Sed      <para>The &man.ipfw.8; <literal>ipfw fwd</literal> rule now supports
686193323Sed	the full packet destination manipulation when the kernel option
687193323Sed	<literal>options IPFIREWALL_FORWARD_EXTENDED</literal> is specified
688193323Sed	in addition to <literal>options IPFIRWALL_FORWARD</literal>.
689193323Sed	This kernel option disables all restrictions to ensure proper
690193323Sed	behavior for locally generated packets and allows redirection of
691193323Sed	packets destined to locally configured IP addresses.
692193323Sed	Note that &man.ipfw.8; rules have to be carefully crafted to
693193323Sed	make sure that things like PMTU discovery do not break. &merged;</para>
694193323Sed
695193323Sed      <para>The &man.ipfw.8; now supports IPv4 only rules.</para>
696193323Sed
697193323Sed      <para>&man.ipnat.8; now allows redirect rules to
698193323Sed	work for non-TCP/UDP packets.  &merged;</para>
699193323Sed
700193323Sed      <para>Ongoing work is reducing the use of the Giant lock by the
701193323Sed	network protocol stack and improving the locking
702193323Sed	strategies.</para>
703193323Sed
704193323Sed      <para>The <filename>libalias</filename> library can now be built
705193323Sed        as a kernel module.</para>
706193323Sed
707193323Sed      <para>The link state change notifications of network interface
708193323Sed	are sent to <filename>/dev/devctl</filename> now.</para>
709193323Sed
710193323Sed      <para>A new &man.ng.ipfw.4; NetGraph node provides
711193323Sed	a simple interface between the &man.ipfw.4; and &man.netgraph.4;
712193323Sed	facilities.</para>
713193323Sed
714193323Sed      <para>A new &man.ng.nat.4; NetGraph node has been added to
715193323Sed	perform NAT functions.</para>
716193323Sed
717193323Sed      <para>A new &man.ng.netflow.4; NetGraph node allows a router
718193323Sed	running &os; to do NetFlow version 5 exports. &merged;</para>
719193323Sed
720193323Sed      <para>A new &man.ng.tcpmss.4; NetGraph node has been added.
721193323Sed	This supports altering MSS options of TCP packets.</para>
722193323Sed
723193323Sed      <para>The &man.sppp.4; driver now includes Frame Relay
724193323Sed	support. &merged;</para>
725193323Sed
726193323Sed      <para>The &man.sppp.4; driver is now MPSAFE.</para>
727193323Sed
728193323Sed      <para>The new sysctl <varname>net.link.tap.user_open</varname>
729193323Sed	has been implemented.  This allows unprivileged access to
730193323Sed	&man.tap.4; device nodes based on file system permissions.</para>
731193323Sed
732193323Sed      <para>A bug in TCP that sometimes caused RST packets to
733193323Sed	be ignored if the receive window was zero bytes has been
734193323Sed	fixed. &merged;</para>
735193323Sed
736193323Sed      <para>The <literal>RST</literal>
737193323Sed	handling of the &os; TCP stack has been improved
738193323Sed	to make reset attacks as difficult as possible while
739193323Sed	maintaining compatibility with the widest range of TCP stacks.
740193323Sed	The algorithm is as follows:  For connections in the
741193323Sed	<literal>ESTABLISHED</literal>
742193323Sed	state, only resets with sequence numbers exactly matching
743193323Sed	<varname>last_ack_sent</varname> will cause a reset;
744193323Sed	all other segments will
745193323Sed	be silently dropped. For connections in all other states,
746193323Sed	a reset anywhere in the window will cause the connection
747193323Sed	to be reset.  All other segments will be silently dropped.
748193323Sed	Note that this behavior technically violates the RFC 793 specification;
749193323Sed	the conventional (but less secure) behavior can be restored
750193323Sed	by setting a new sysctl <varname>net.inet.tcp.insecure_rst</varname>
751193323Sed	to <literal>1</literal>.  &merged;</para>
752193323Sed
753193323Sed      <para>Several bugs in the TCP SACK implementation have been
754193323Sed	fixed. &merged;</para>
755193323Sed
756193323Sed      <para>RFC 1644 T/TCP support has been removed.  This is because
757193323Sed	the design is based on a weak security model that can easily
758193323Sed	permit denial-of-service attacks.  This TCP
759193323Sed	extension has been considered a defective one in
760193323Sed	a recent Internet Draft.</para>
761193323Sed
762193323Sed      <para>The KAME IPv4 IPsec implementation integrated
763193323Sed	in &os; now supports TCP-MD5.  &merged;</para>
764193323Sed
765193323Sed      <para>Random ephemeral port number allocation has led to some
766193323Sed        problems with port reuse at high connection rates.  This
767193323Sed        feature is now disabled during periods of high connection
768193323Sed        rates; whenever new connections are created faster than
769193323Sed        <varname>net.inet.ip.portrange.randomcps</varname> per second,
770193323Sed        port number randomization is disabled for the next
771193323Sed        <varname>net.inet.ip.portrange.randomtime</varname>
772193323Sed        seconds.  The default values for these two sysctl variables
773193323Sed        are <literal>10</literal> and <literal>45</literal>,
774193323Sed        respectively. &merged;</para>
775193323Sed
776193323Sed      <para>Fine-grained locking has been applied to many of the data
777193323Sed	structures in the IPX/SPX protocol stack.  While not fully
778193323Sed	MPSAFE at this point, it is generally safe to use IPX/SPX
779193323Sed	without the Giant lock (in other words, the
780193323Sed	<varname>debug.mpsafenet</varname> sysctl variable may be set
781193323Sed	to <literal>1</literal>).</para>
782193323Sed
783193323Sed      <para>Unix domain sockets now support the
784193323Sed	<literal>LOCAL_CREDS</literal> and
785193323Sed	<literal>LOCAL_CONNWAIT</literal> options.
786193323Sed	The <literal>LOCAL_CREDS</literal> option provides
787193323Sed	a mechanism for the receiver to receive the credentials
788193323Sed	of the process as a &man.recvmsg.2; control message.
789193323Sed	The <literal>LOCAL_CONNWAIT</literal>
790193323Sed	option causes the &man.connect.2; function to block
791193323Sed	until &man.accept.2; has been called on the listening socket.
792193323Sed	For more details, see the &man.unix.4; manual page.</para>
793193323Sed    </sect3>
794193323Sed
795193323Sed    <sect3 id="disks">
796193323Sed      <title>Disks and Storage</title>
797193323Sed
798193323Sed      <para>The &man.amr.4; driver is now safe for use on systems
799193323Sed	using &man.pae.4;. &merged;</para>
800193323Sed
801193323Sed      <para arch="i386,ia64">The &man.arcmsr.4; driver has been added.
802193323Sed	It supports the Areca ARC-11<replaceable>xx</replaceable> and
803193323Sed	ARC-12<replaceable>xx</replaceable> series of SATA RAID
804193323Sed	controllers.  &merged;</para>
805193323Sed
806193323Sed      <para>The &man.ata.4; family of drivers has been overhauled and
807193323Sed	updated.  It has been split into modules that can be loaded
808193323Sed	and unloaded independently (the <filename>atapci</filename>
809193323Sed	and <filename>ata</filename> modules are prerequesites for the
810193323Sed	device subdrivers, which are <filename>atadisk</filename>,
811193323Sed	<filename>atapicd</filename>, <filename>atapifd</filename>,
812193323Sed	<filename>atapist</filename>, and
813193323Sed	<filename>ataraid</filename>).  On supported SATA controllers,
814193323Sed	devices can be hot inserted/removed.  ATA RAID support has
815193323Sed	been rewritten and supports a number of new metadata formats.
816193323Sed	The <filename>atapicd</filename> driver no longer supports CD
817193323Sed	changers.  This update has been referred to as <quote>ATA
818193323Sed	mkIII</quote>.</para>
819193323Sed
820193323Sed      <para>The SHSEC GEOM class has been added.  It provides for the
821193323Sed	sharing of a secret between multiple GEOM providers.  All of
822193323Sed	these providers must be present in order to reveal the
823193323Sed	secret.  This feature is controlled by the &man.gshsec.8;
824193323Sed	utility. &merged;</para>
825193323Sed
826193323Sed      <para>The &man.hptmv.4; driver, which supports the HighPoint
827193323Sed	RocketRAID 182x series, has been added. &merged;</para>
828193323Sed
829193323Sed      <para>The &man.ips.4; driver now support kernel crash dumps
830193323Sed	on some modern ServeRAID models.  &merged;</para>
831193323Sed
832193323Sed      <para>The &man.matcd.4; driver has been removed. &merged;</para>
833193323Sed
834193323Sed      <para>The default SCSI boot-time probe delay in the
835193323Sed	<filename>GENERIC</filename> kernel has been reduced from
836193323Sed	fifteen seconds to five seconds.</para>
837193323Sed
838193323Sed      <para>The old vinum(4) subsystem has been removed
839193323Sed	in favor of the new &man.geom.4;-based version.</para>
840193323Sed
841193323Sed      <para>The &man.twa.4; driver has been updated to
842193323Sed	the 9.2 release (for &os; 5.2.1) distributed from
843193323Sed	the 3ware website.</para>
844193323Sed
845193323Sed      <para arch="pc98">The &man.wd.4; driver has been removed.  The
846193323Sed	&man.ata.4; driver has been found to work well enough on the
847193323Sed	pc98 platform that there is no need for the older &man.wd.4;
848193323Sed	driver.</para>
849193323Sed
850193323Sed      <para>Information about newly-mounted cd9660 file systems (such
851193323Sed	as the presence of RockRidge extensions) is now only printed
852193323Sed	if the kernel was booted in verbose mode.  This change was
853193323Sed	made to reduce the amount of (generally unnecessary) kernel
854193323Sed	log messages. &merged;</para>
855193323Sed
856193323Sed    </sect3>
857193323Sed
858193323Sed    <sect3 id="fs">
859193323Sed      <title>File Systems</title>
860193323Sed
861193323Sed      <para>Recomputing the summary information for
862193323Sed	<quote>dirty</quote> UFS and UFS2 file systems is no longer
863193323Sed	done at mount time, but is now done by background
864193323Sed	&man.fsck.8;.  This change improves the startup speed when
865193323Sed	mounting large file systems after a crash.  The prior behavior
866193323Sed	can be restored by setting the
867193323Sed	<varname>vfs.ffs.compute_summary_at_mount</varname> sysctl
868193323Sed	variable to a non-zero value.  &merged;</para>
869193323Sed
870193323Sed      <para>A kernel panic in the NFS server has been fixed.  More
871193323Sed	details can be found in errata note
872193323Sed	<ulink url="ftp://ftp.FreeBSD.org/pub/FreeBSD/ERRATA/notices/FreeBSD-EN-05:01.nfs.asc">FreeBSD-EN-05:01.nfs</ulink>.
873193323Sed	&merged;</para>
874193323Sed
875193323Sed      <para arch="i386,pc98">Read-only support for ReiserFS version 3 has been
876193323Sed	added.  See &man.mount.reiserfs.8; for details.</para>
877193323Sed
878193323Sed    </sect3>
879193323Sed
880193323Sed    <sect3>
881193323Sed      <title>Contributed Software</title>
882193323Sed
883193323Sed      <para><application>ACPI-CA</application> has been updated from
884193323Sed	20040527 to 20041119. &merged;</para>
885193323Sed
886193323Sed    </sect3>
887193323Sed  </sect2>
888193323Sed
889193323Sed  <sect2 id="userland">
890193323Sed    <title>Userland Changes</title>
891193323Sed
892193323Sed    <para>The &man.burncd.8; utility now allows commands (such as
893193323Sed      <command>eject</command>) to take place after fixating a
894193323Sed      disk.</para>
895193323Sed
896193323Sed    <para arch="amd64">Machine-specific optimized versions of
897193323Sed      &man.bcmp.3;, &man.bcopy.3;, &man.bzero.3;, &man.memcmp.3;,
898193323Sed      &man.memcpy.3;, &man.memmove.3;, &man.memset.3;, &man.strcat.3;
899193323Sed      and &man.strcpy.3; have been implemented.  Several mathematics
900193323Sed      functions such as &man.ceill.3; and &man.sqrtf.3; are also
901193323Sed      replaced with the optimized versions.</para>
902193323Sed
903193323Sed    <para>The &man.chflags.1; utility now supports the
904193323Sed      <option>-h</option> flag, which supports changing flags on
905193323Sed      symbolic links.</para>
906193323Sed
907193323Sed    <para>The &man.ftpd.8; program now uses the <literal>212</literal>
908193323Sed      and <literal>213</literal> status codes for directory
909193323Sed      and file status correctly (<literal>211</literal> was used in
910193323Sed      the previous versions).  This behavior is described in RFC 959.
911193323Sed      &merged;</para>
912193323Sed
913193323Sed    <para>The <literal>create</literal> command of the &man.gpt.8;
914193323Sed      utility now supports a <option>-f</option> command-line flag to
915193323Sed      force creation of a GPT even when there is an MBR record on a
916193323Sed      disk. &merged;</para>
917193323Sed
918193323Sed    <para>The &man.getaddrinfo.3; function now queries <literal>A</literal>
919193323Sed      DNS resource records before <literal>AAAA</literal> records
920193323Sed      when <literal>AF_UNSPEC</literal> is specified.
921193323Sed      Some broken DNS servers return <literal>NXDOMAIN</literal>
922193323Sed      against non-existent <literal>AAAA</literal> queries,
923193323Sed      even when it should return <literal>NOERROR</literal>
924193323Sed      with empty return records.  This is a problem for an IPv4/IPv6 dual
925193323Sed      stack node because the <literal>NXDOMAIN</literal> returned
926193323Sed      by the first query of an <literal>AAAA</literal> record makes
927193323Sed      the querying server stop attempting to resolve the <literal>A</literal>
928193323Sed      record if any.  Also, this behavior has been recognized as a potential
929193323Sed      denial-of-service attack (see <ulink url="http://www.kb.cert.org/vuls/id/714121"></ulink>
930193323Sed      for more details).
931193323Sed      Note that although the query order has been changed,
932193323Sed      the returned result still includes
933193323Sed      <literal>AF_INET6</literal> records before
934193323Sed      <literal>AF_INET</literal> records.  &merged;</para>
935193323Sed
936193323Sed    <para>The &man.gethostbyname.3;, &man.gethostbyname2.3;, and
937193323Sed      &man.gethostbyaddr.3; functions are now thread-safe. &merged;</para>
938193323Sed
939193323Sed    <para>The &man.getnetent.3;, &man.getnetbyname.3;, and
940193323Sed      &man.getnetbyaddr.3; functions are now thread-safe. &merged;</para>
941193323Sed
942    <para>The &man.getprotoent.3;, &man.getprotobyname.3;, and
943      &man.getprotobynumber.3; functions are now thread-safe. &merged;</para>
944
945    <para>The &man.getservent.3;, &man.getservbyname.3;, and
946      &man.getservbyport.3; functions are now thread-safe. &merged;</para>
947
948    <para>For conformation to IEEE Std 1003.1-2001
949      (also known as POSIX 2001), the <varname>n_net</varname>
950      of <varname>struct netent</varname> and the first argument
951      of &man.getnetbyaddr.3; has been changed to an uint32_t.
952      Due to these changes the ABI on 64-bit platforms becomes
953      incompatible with previous releases of &os; and
954      the major version number of libpcap has been bumped.
955      If you upgrade &os; for 64-bit platforms, note that all of
956      the userland programs which use &man.getnetbyaddr.3;,
957      &man.getnetbyname.3;, &man.getnetent.3; and/or
958      <application>libpcap</application> have to be recompiled.</para>
959
960    <para>The gvinum(8) utility now supports
961      <command>checkparity</command>,
962      <command>rebuildparity</command>, and
963      <command>setstate</command>
964      subcommands.  &merged;</para>
965
966    <para>The &man.ifconfig.8; utility has been restructured.  It is
967      now more modular and flexible with respect to supporting
968      interface-specific functionality.  The 802.11 support has been
969      updated to support recent changes to the 802.11 subsystem and
970      drivers.</para>
971
972    <para>Support for abbreviated forms of a number of &man.ipfw.8;
973      options has been deprecated.  Warnings are printed to stderr
974      indicating the correct full form when one of these abbreviations
975      is detected.</para>
976
977    <para>The &man.kldstat.8; utility now supports a
978      <option>-m</option> option to return the status of a specific
979      kernel module. &merged;</para>
980
981    <para>The on-disk format of <literal>LC_CTYPE</literal> files has
982      been changed to be machine-independent.</para>
983
984    <para>The &man.mixer.8; utility now supports the <option>-S</option>
985      option.  This is the same as the <option>-s</option> option
986      but does not output mixing field separators.</para>
987
988    <para>A bug in the <filename>libalias</filename> library
989      which causes a core dump when the <option>-reverse</option>
990      option is specified in &man.natd.8; has been fixed.</para>
991
992    <para>The <filename>libarchive</filename> library (as well as the
993      &man.tar.1; command that uses it) now has support for reading ISO
994      images (with optional RockRidge extensions) and ZIP archives
995      (with <literal>deflate</literal> and <literal>none</literal>
996      compression). &merged;</para>
997
998    <para>The <filename>libarchive</filename> library now supports
999      handling a ZIP archive entry with more than 4GB compressed size (ZIP64
1000      extension) and Unix extension.</para>
1001
1002    <para>The <filename>libgpib</filename> library has been added to
1003      give userland access to GPIB devices (using the the pcii driver)
1004      via the
1005      <function>ib<replaceable>foo</replaceable></function>
1006      API. &merged;</para>
1007
1008    <para>The default stack sizes in <filename>libpthread</filename>,
1009      <filename>libthr</filename>,
1010      and <filename>libc_r</filename> have been increased.  On 32-bit
1011      platforms, the main thread receives a 2MB stack size by default,
1012      with other threads receiving a 1MB stack size by default.  On
1013      64-bit platforms, the default stack sizes are 4MB and 2MB
1014      respectively. &merged;</para>
1015
1016    <para>The <filename>libxpg4</filename> library has been removed
1017      because all of its functionality was long ago merged into
1018      <filename>libc</filename>.
1019      All binaries linked with <filename>libxpg4</filename>
1020      must be recompiled or use &man.libmap.conf.5;.
1021      Note that the &os; base system has no such binaries.</para>
1022
1023    <para>The &man.lpd.8; program now checks to make sure the data
1024      file has been completely transfered before starting to
1025      print it when a data file received from some other host.
1026      Some implementations of &man.lpr.1; send the control file
1027      for a print job before sending the matching data files,
1028      which can cause problems if the receiving host is
1029      a busy print-server.  &merged;</para>
1030
1031    <para>A number of new functions have been implemented in the
1032      &man.math.3; library.  These include &man.ceill.3;,
1033      &man.floorl.3;, &man.ilogbl.3;, &man.fma.3; and variants,
1034      &man.lrint.3; and variants, and &man.lround.3; and
1035      variants. &merged;</para>
1036
1037    <para>The &man.mknod.8; utility is now deprecated.
1038      Device nodes have been managed by the &man.devfs.5; device file
1039      system since &os; 5.0.</para>
1040
1041    <para arch="i386">The &man.mkuzip.8; utility, which
1042      compresses file system images for use with
1043      <literal>GEOM_UZIP</literal> &man.geom.4; module,
1044      has been added. &merged;</para>
1045
1046    <para>The &man.moused.8; daemon now supports <quote>virtual
1047      scrolling</quote>, in which mouse motions made while holding
1048      down the middle mouse button are interpreted as scrolling.  This
1049      feature is enabled with the <option>-V</option>
1050      flag. &merged;</para>
1051
1052    <para>A separate directory has been added for &man.named.8;
1053      dynamic zones which is owned by the <username>bind</username> user
1054      (for creation of the zone journal file).
1055      For more detail, see an example dynamic zone in the sample
1056      &man.named.conf.5;.  &merged;</para>
1057
1058    <para>The &man.ncal.1; utility now supports a <option>-m</option>
1059      flag to generate a calendar for a specified month in the current
1060      year. &merged;</para>
1061
1062    <para>The &man.newfs.8; utility now supports a <option>-n</option>
1063      flag to suppress the creation of a <filename>.snap</filename>
1064      directory on new file systems.  This feature is intended for use
1065      on memory or vnode file systems that will not require snapshot
1066      support. &merged;</para>
1067
1068    <para>The &man.newfs.8; utility now emits a warning when creating
1069      a UFS or UFS2 file system that cannot support snapshots.  This
1070      situation can occur in the case of very large file systems with
1071      small block sizes. &merged;</para>
1072
1073    <para>The &man.newsyslog.8; utility now supports
1074	a <option>-d</option> option to specify an alternate root for log files
1075	similar to <varname>DESTDIR</varname> in the BSD make process.
1076	This only affects log file paths, not configuration file (<option>-f</option>)
1077	or archive directory (<option>-a</option>) paths.</para>
1078
1079    <para>The &man.newsyslog.8; utility now supports a
1080      <option>-N</option> that causes it not to rotate any files.</para>
1081
1082    <para>The <literal>NO_NIS</literal> compile-time knob for userland
1083      has been added.  As its name implies, enabling this
1084      <filename>Makefile</filename> variable will cause NIS support to
1085      be excluded from various programs and will cause the NIS
1086      utilities to not be built. &merged;</para>
1087
1088    <para>For years, &os; has used <filename>Makefile</filename>
1089      variables of the form
1090      <varname>NO<replaceable>FOO</replaceable></varname> and
1091      <varname>NO_<replaceable>FOO</replaceable></varname>.  For
1092      consistency, those variables using the former naming convention
1093      have been converted to the
1094      <varname>NO_<replaceable>FOO</replaceable></varname> form.  The
1095      file <filename>/usr/share/mk/bsd.compat.mk</filename> has a
1096      complete list of these variables; it also implements some
1097      temporary backward compatibility for the old names.</para>
1098
1099    <para>The &man.periodic.8; security output now supports the display of
1100      information about blocked packet counts from &man.pf.4;.  &merged;</para>
1101
1102    <para>The &man.pgrep.1; now supports an <option>-S</option> option
1103      which allows to match system processes (kernel threads).</para>
1104
1105    <para>The &man.pgrep.1; and &man.pkill.1; now support an
1106      <option>-F</option> option which allows to use file where PID is stored
1107      for matching.</para>
1108
1109    <para>The &man.pgrep.1; and &man.pkill.1; now support an
1110      <option>-i</option> option to ignore case in the process match.</para>
1111
1112    <para>The &man.pgrep.1; and &man.pkill.1; now support an
1113      <option>-j</option> option which allows to match processes
1114      based on its &man.jail.2; ID.</para>
1115
1116    <para>The &man.pgrep.1; and &man.pkill.1; now support an
1117      <option>-o</option> option which allows to match oldest
1118      (least recently started) of the matching processes.</para>
1119
1120    <para>The &man.powerd.8; program for managing power consumption has been
1121      added.</para>
1122
1123    <para>The &man.ppp.8; program now implements an
1124      <option>echo</option> parameter, which allows LCP ECHOs to be
1125      enabled independently of LQR reports.  Older versions of
1126      &man.ppp.8; would revert to LCP ECHO mode on negotiation
1127      failure.  It is now necessary to specify <command>enable
1128      echo</command> to get this behavior. &merged;</para>
1129
1130    <para>The <option>disable NAS-IP-Address</option> and
1131      <option>disable NAS-Identifier</option> options,
1132      which support pre-RFC 2865 RADIUS servers
1133      have been added to the &man.ppp.8; program.</para>
1134
1135    <para>Two bugs in the &man.pppd.8; program have been fixed.
1136      They may result in an incorrect CBCP response,
1137      which violates the Microsoft PPP Callback Control Protocol
1138      section 3.2.  &merged;</para>
1139
1140    <para>The &man.ps.1; now supports a <literal>jid</literal>
1141      keyword in the <option>-o</option> option.  It displays
1142      &man.jail.2; ID of each process.</para>
1143
1144    <para>The &man.pstat.8; now supports a <option>-h</option> option
1145      to print swap sizes with SI prefixes such as K, M, and G,
1146      which are used to form binary multiples.</para>
1147
1148    <para>The &man.rescue.8; utilities in the <filename>/rescue</filename>
1149      directory now include &man.bsdtar.1; instead of GNU tar.</para>
1150
1151    <para>The &man.restore.8; utility has regained the ability to read
1152      &os; version 1 dump tapes. &merged;</para>
1153
1154    <para>A bug of the &man.rexecd.8; utility which results in
1155      it behaving as if the <option>-i</option> option is always
1156      specified has been fixed.  &merged;</para>
1157
1158    <para>The &man.rexecd.8; utility has been removed.
1159      There are no rexec clients in the &os; tree, and the client
1160      function &man.rexec.3; is present only in
1161      <application>libcompat</application>.</para>
1162
1163    <para>The &man.rm.1; utility now supports an <option>-I</option>
1164      option that asks for confirmation (once) if recursively
1165      removing directories or if more than 3 files are listed in the
1166      command line. &merged;</para>
1167
1168    <para>The &man.rm.1; utility now suppresses diagnostic messages
1169      when it attempts to remove a non-existent directory
1170      with the <option>-r</option> and <option>-f</option> options
1171      specified.  This behavior is required by
1172      Version 3 of the Single UNIX Specification (SUSv3).</para>
1173
1174    <para>The following ISO/IEC 9899:1999 standard functions
1175      have been implemented: <function>roundl()</function>,
1176      <function>lroundl()</function>, <function>llroundl()</function>,
1177      <function>truncl()</function>, and <function>floorl()</function>.</para>
1178
1179    <para>An &man.rpmatch.3; library function has been added to check
1180      a string for being an affirmative or negative response in the
1181      current locale.</para>
1182
1183    <para>The &man.rtld.1; dynamic linker now supports specifying
1184      library replacements via the <varname>LD_LIBMAP</varname>
1185      environment variable.  This variable will override the entries
1186      in &man.libmap.conf.5;. &merged;</para>
1187
1188    <para>The rune(3) non-standard multibyte and wide character support
1189      interface has been removed.</para>
1190
1191    <para>&man.sed.1; now supports a <option>-l</option> option to
1192      make its output line-buffered. &merged;</para>
1193
1194    <para>The &man.strftime.3; function now supports some GNU extensions
1195      such as <literal>-</literal> (no padding),
1196      <literal>_</literal> (use space as padding),
1197      and <literal>0</literal> (zero padding). &merged;</para>
1198
1199    <para>The &man.syslog.3; function is now thread-safe. &merged;</para>
1200
1201    <para>The &man.syslogd.8; utility now opens an additional domain
1202      socket (<filename>/var/run/logpriv</filename> by default),
1203      with <literal>0600</literal> permissions to be used
1204      by privileged programs.  This prevents privileged
1205      programs from locking when the domain sockets
1206      run out of buffer space due to a
1207      local denial-of-service attack. &merged;</para>
1208
1209    <para>The &man.syslogd.8; now supports the <option>-S</option> option,
1210      which allows to change the pathname of the privileged
1211      socket.  This is useful for preventing the daemon
1212      from receiving any messages from the local sockets
1213      (<filename>/var/run/log</filename> and
1214      <filename>/var/run/logpriv</filename> are used by default).
1215      &merged;</para>
1216
1217    <para>The &man.syslogd.8; utility now allows
1218      <literal>:</literal> and <literal>%</literal>
1219      characters in the hostname specifications.
1220      These characters are used in IPv6 addresses and scope IDs. &merged;</para>
1221
1222    <para>The &man.systat.1; <option>-netstat</option> display is now
1223      IPv6-aware. &merged;</para>
1224
1225    <para>The <option>-f</option> option of &man.tail.1; utility
1226      now supports more than one file at a time. &merged;</para>
1227
1228    <para>The &man.telnet.1; and &man.telnetd.8; programs now support
1229      the <option>-S</option> option for specifying a numeric TOS
1230      byte.</para>
1231
1232    <para>Prepending a <literal>+</literal> character to port numbers
1233      passed to &man.telnet.1; program will now disable option
1234      negotiation and allow the transfer of characters with the high
1235      bit set.  This feature is intended to support the fairly common
1236      use of &man.telnet.1; as a protocol tester.</para>
1237
1238    <para>The &man.tcpdrop.8; command, which closes a selected TCP
1239      connection, has been added.  It was obtained from
1240      OpenBSD. &merged;</para>
1241
1242    <para>&man.what.1; now support a <option>-q</option> flag, which
1243      causes it to print matching text, but not format it.</para>
1244
1245    <para>&man.whois.1; now supports
1246      a <option>-k</option> flag
1247      for querying <hostid role="fqdn">whois.krnic.net</hostid>
1248      (the National Internet Development Agency of Korea),
1249      which holds details of IP address allocations within
1250      Korea. &merged;</para>
1251
1252    <para>The <option>-I</option> option of the &man.xargs.1; command
1253      has been changed to conform to IEEE Std 1003.1-2004.
1254      The standard requires that the constructed
1255      arguments cannot grow larger than 255 bytes.</para>
1256
1257    <para>A bug, which caused the last line of configuration files such as &man.hosts.5;,
1258      &man.services.5;, and so on to be ignored if it did not end in a newline character,
1259      has been fixed. &merged;</para>
1260
1261    <para>A new system user/group <username>_dhcp</username>
1262      has been added to support &man.dhclient.8; from OpenBSD.</para>
1263
1264    <sect3 id="rc-scripts">
1265      <title><filename>/etc/rc.d</filename> Scripts</title>
1266
1267      <para>The <filename>rc.d/bsnmpd</filename> startup script
1268	for &man.bsnmpd.1; has been added.</para>
1269
1270      <para>&man.rc.conf.5; now supports changes of network interface names
1271	at boot time. &merged;  For example:</para>
1272
1273      <programlisting>ifconfig_fxp0_name="net0"
1274ifconfig_net0="inet 10.0.0.1/16"</programlisting>
1275
1276      <para>The <filename>rc.d/moused</filename> script now
1277	starts/stops/checks a specific device when
1278	the device name is given as the second argument to the script:</para>
1279
1280      <screen>&prompt.root; /etc/rc.d/moused start ums0</screen>
1281
1282      <para>To use different &man.rc.conf.5; knobs with different
1283	mice, use the device name as part of the knob.
1284	For example, if the mouse device is <filename>/dev/ums0</filename>
1285	the following lines can be used:</para>
1286
1287	<programlisting>moused_ums0_enable=yes
1288moused_ums0_flags="-z 4"
1289moused_ums0_port="/dev/ums0"</programlisting>
1290
1291      <para>&man.rc.conf.5; now supports the <varname>tmpmfs_flags</varname>
1292	and <varname>varmfs_flags</varname> variables.
1293	These can be used to pass extra options to the &man.mdmfs.8; utility,
1294	to customize the finer details of the &man.md.4; file system creation,
1295	such as to turn on/off softupdates, to specify a default owner
1296	for the file system, and so on. &merged;</para>
1297
1298      <para>The following scripts have been removed because
1299	they were NetBSD specific and never used in &os;:
1300	<filename>altqd</filename>,
1301	<filename>dhcpd</filename>,
1302	<filename>dhcrelay</filename>,
1303	<filename>downinterfaces</filename>,
1304	<filename>gated</filename>,
1305	<filename>ifwatchd</filename>,
1306	<filename>kdc</filename>,
1307	<filename>lkm1</filename>,
1308	<filename>lkm2</filename>,
1309	<filename>lkm3</filename>,
1310	<filename>mixerctl</filename>,
1311	<filename>mopd</filename>,
1312	<filename>mountall</filename>,
1313	<filename>ndbootd</filename>,
1314	<filename>network</filename>,
1315	<filename>poffd</filename>,
1316	<filename>postfix</filename>,
1317	<filename>ppp</filename>,
1318	<filename>racoon</filename>,
1319	<filename>raidframe</filename>,
1320	<filename>rbootd</filename>,
1321	<filename>rtsold</filename>,
1322	<filename>screenblank</filename>,
1323	<filename>swap2</filename>,
1324	<filename>sysdb</filename>,
1325	<filename>wscons</filename>,
1326	<filename>xdm</filename>, and
1327	<filename>xfs</filename></para>
1328    </sect3>
1329  </sect2>
1330
1331  <sect2 id="contrib">
1332    <title>Contributed Software</title>
1333
1334    <para><application>awk</application> has been updated from the 7
1335      February 2004 release to the 24 April 2005 release.</para>
1336
1337    <para><application>BIND</application> has been updated from version
1338      9.3.0 to version 9.3.1.  &merged;</para>
1339
1340    <para><application>bsnmp</application> has been updated from 1.7
1341      to 1.10.</para>
1342
1343    <para><application>bzip2</application> has been updated from 1.0.2
1344      to 1.0.3.</para>
1345
1346    <para><application>OpenBSD dhclient</application> as of OpenBSD 3.7
1347      has been imported.</para>
1348
1349    <para><application>FILE</application> has been updated from 4.10
1350      to 4.12.</para>
1351
1352    <para><application>GNU GCC</application> has been updated from
1353      from 3.4.2-prerelease as of 28 July, 2004 to 3.4.4.</para>
1354
1355    <para>A number of bug fixes and performance enhancements have been
1356      added to <application>GNU grep</application> in the form of
1357      patches from Fedora's grep-2.5.1-48 source RPM.</para>
1358
1359    <para><application>GNU readline</application> has been updated from
1360      version 4.3 to version 5.0.</para>
1361
1362    <para><application>IPFilter</application> has been updated from
1363      3.4.35 to 4.1.18.</para>
1364
1365    <para><application>Heimdal</application> has been updated from
1366      0.6.1 to 0.6.3. &merged;</para>
1367
1368    <para>The <application>hostapd</application>
1369      v0.3.7 has been imported.  This is a user space IEEE
1370      802.11 AP and IEEE 802.1X/WPA/WPA2/EAP
1371      Authenticator and RADIUS authentication server.
1372      For more details, see &man.hostapd.8;.</para>
1373
1374    <para><application>libpcap</application> has been updated from
1375      v0.8.3 to v0.9.1 (alpha 096).</para>
1376
1377    <para><application>libregex</application> has been updated from a
1378      snapshot from <application>GNU grep</application> 2.5.1 to a
1379      snapshot from the <literal>fedora-glibc-2_3_4-21</literal> tag
1380      in the <application>glibc</application> CVS repository.</para>
1381
1382    <para><application>libz</application> has been updated from 1.2.1
1383      to 1.2.2.</para>
1384
1385    <para><application>lukemftp</application> has been updated from a
1386      26 April 2004 snapshot from OpenBSD's sources to a snapshot as
1387      of 16 May 2005.</para>
1388
1389    <para>A snapshot of <application>netcat</application> from OpenBSD
1390      as of 4 February 2005 has been added.  More information can be
1391      found in the &man.nc.1; manual page. &merged;</para>
1392
1393    <para><application>NgATM</application> has been updated from 1.0
1394      to 1.2.</para>
1395
1396    <para><application>OpenPAM</application> has been updated from the
1397      Eelgrass release to the Feterita release.</para>
1398
1399    <para><application>OpenSSH</application> has been updated from 3.8p1
1400      to 4.1p1.</para>
1401
1402    <para><application>OpenSSL</application> has been updated from
1403      0.9.7d to 0.9.7e. &merged;</para>
1404
1405    <para><application>pf</application> has been updated from the
1406      version included with <application>OpenBSD</application> 3.5 to
1407      the version included with <application>OpenBSD</application>
1408      3.7.</para>
1409
1410    <para><application>sendmail</application> has been updated from
1411      version 8.13.1 to version 8.13.3. &merged;</para>
1412
1413    <para><application>sendmail</application> has been updated from
1414      version 8.13.3 to version 8.13.4.</para>
1415
1416    <para><application>TCPDUMP</application> has been updated from
1417      v3.8.3 to v3.9.1 (alpha 096).</para>
1418
1419    <para><application>tcsh</application> has been updated from
1420      6.13.00 to 6.14.00.</para>
1421
1422    <para><application>texinfo</application> has been updated from 4.6
1423      to 4.8.</para>
1424
1425    <para>The timezone database has been updated from the
1426      <application>tzdata2004e</application> release to the
1427      <application>tzdata2004g</application> release. &merged;</para>
1428
1429    <para>The <application>WPA Supplicant</application>
1430      v0.3.8 has been imported.  This provides WPA Supplicant
1431      component of WPA/IEEE 802.11i features.
1432      For more details, see &man.wpa.supplicant.8;.</para>
1433
1434  </sect2>
1435
1436  <sect2 id="ports">
1437    <title>Ports/Packages Collection Infrastructure</title>
1438
1439    <para>The &man.pkg.create.1; utility now supports a
1440      <option>-R</option> flag.  When creating a package file
1441      from the locally installed package, it creates package
1442      files for all packages on which that locally installed
1443      package depends if this flag is specified.</para>
1444
1445    <para>The &man.pkg.version.1; utility now supports a
1446      <option>-q</option> flag to suppress the output of the port
1447      version comparison characters <literal>&lt;</literal>,
1448      <literal>=</literal>, and <literal>&gt;</literal>.</para>
1449
1450    <para>The &man.pkg.version.1; utility now supports a
1451      <option>-I</option> flag, which causes only the
1452      <filename>INDEX</filename> file to be used for determining if a
1453      package is out of date.</para>
1454
1455    <para>The
1456      <filename>ports/INDEX<replaceable>*</replaceable></filename>
1457      files, which kept an index of all of the entries in the ports
1458      collection, have been removed from the CVS repository. &merged;
1459      These files were generated only infrequently, and therefore were
1460      usually out-of-date and inaccurate.  Users requiring an index
1461      file (such as for use by programs such as &man.portupgrade.1;)
1462      have two alternatives for obtaining a copy:</para>
1463
1464    <itemizedlist>
1465      <listitem>
1466	<para>Build an index file based on the current ports tree by
1467	  running <command>make index</command> from the top of the
1468	  <filename>ports/</filename> tree.</para>
1469      </listitem>
1470
1471      <listitem>
1472	<para>Fetch an index file over the network by running
1473	  <command>make fetchindex</command> from the top of the
1474	  <filename>ports/</filename> tree.  This index file will
1475	  (typically) be accurate to within a day.</para>
1476      </listitem>
1477    </itemizedlist>
1478
1479  </sect2>
1480
1481  <sect2 id="releng">
1482    <title>Release Engineering and Integration</title>
1483
1484    <para>In prior &os; releases, the <filename>disc1</filename>
1485      CD-ROM (or ISO image) was a bootable installation disk
1486      containing the base system, ports tree, and common packages.
1487      The <filename>disc2</filename> CD-ROM (or ISO image) was a
1488      bootable <quote>fix it</quote> disk with a live filesystem, to
1489      be used for making emergency repairs.  This layout has now
1490      changed.  For all architectures except ia64, the
1491      <filename>disc1</filename> image now contains the base system
1492      distribution files, ports tree, and the live filesystem, making
1493      it suitable for both an initial installation and repair
1494      purposes.  (On the ia64, the live filesystem is on a separate
1495      disk due to its size.)  Packages appear on separate
1496      disks; in particular, the <filename>disc2</filename> image
1497      contains commonly packages such as desktop environments.
1498      Documents from the &os; Documentation Project also appear on
1499      <filename>disc2</filename>.  &merged;</para>
1500
1501    <para>The supported version of the
1502      <application>GNOME</application> desktop environment has been
1503      updated from 2.6.2 to 2.10.  More information about
1504      running <application>GNOME</application> on &os; can be found on
1505      the <ulink url="&url.base;/gnome/">FreeBSD GNOME Project</ulink>
1506      Web page. &merged;
1507
1508      <note>
1509	<para>Users of older versions of the
1510	  <application>GNOME</application> desktop
1511	  (<filename role="package">x11/gnome2</filename>)
1512	  must take particular care in upgrading.  Simply upgrading it
1513	  from the &os; Ports Collection with &man.portupgrade.1;
1514	  (<filename role="package">sysutils/portupgrade</filename>)
1515	  will cause serious problems.
1516	  <application>GNOME</application> desktop users should read
1517	  the instructions carefully at
1518	  <ulink url="&url.base;/gnome/docs/faq210.html"></ulink>
1519	  and use the
1520	  <ulink url="&url.base;/gnome/gnome_upgrade.sh"><filename>gnome_upgrade.sh</filename></ulink>
1521	  script to properly upgrade to
1522	  <application>GNOME</application> 2.10.</para>
1523	</note>
1524      </para>
1525
1526    <para>The supported version of the <application>KDE</application>
1527      desktop environment has been updated from 3.3.0 to
1528      3.4.0.  More information regarding running
1529      <application>KDE</application> on &os; can be found on the
1530      <ulink url="http://freebsd.kde.org/">KDE on FreeBSD</ulink> Web
1531      page. &merged;
1532
1533      <note>
1534	<para>Users of older versions of
1535	  <application>KDE</application> should follow the upgrading
1536	  procedure documented on the
1537	  <ulink url="http://freebsd.kde.org/">KDE on FreeBSD</ulink> Web
1538	  page or in <filename>ports/UPDATING</filename>.</para>
1539	</note>
1540      </para>
1541
1542    <para>The supported version of <application>Xorg</application> has
1543      been updated from 6.7.0 to 6.8.2. &merged;</para>
1544
1545  </sect2>
1546
1547  <sect2 id="doc">
1548    <title>Documentation</title>
1549
1550    <para>Documentation of existing functionality has been improved by
1551      the addition of the following manual pages: &man.ataraid.4;,
1552      &man.devfs.conf.5, &man.devfs.rules.5,
1553      &man.pthread.atfork.3;
1554      &man.sched.4bsd.4;, &man.sched.ule.4;, &man.snd.fm801.4;,
1555      &man.snd.neomagic.4;, &man.snd.via8233.4;, &man.snd.via82c686.4;,
1556      and &man.snd.vibes.4;.</para>
1557
1558    <para>Manual pages in the base system have received a number of
1559      cleanups, both for content and presentation.  Cross-references
1560      are more correct and consistent, standard section headings are
1561      now used throughout, and markup has been cleaned up.</para>
1562
1563    <para>The following manual pages, which were derived from RFCs
1564      and possibly violate the IETF's copyrights, have been replaced:
1565      &man.gai.strerror.3;,
1566      &man.getaddrinfo.3;,
1567      &man.getnameinfo.3;,
1568      &man.inet6.opt.init.3;,
1569      &man.inet6.option.space.3;,
1570      &man.inet6.rth.space.3;,
1571      &man.inet6.rthdr.space.3;,
1572      &man.icmp6.4;, and
1573      &man.ip6.4;.  &merged;</para>
1574
1575  </sect2>
1576</sect1>
1577
1578<sect1 id="upgrade">
1579  <title>Upgrading from previous releases of &os;</title>
1580
1581  <para>Source upgrades to &os; &release.current; are only supported
1582    from &os; 5.3-RELEASE or later.  Users of older systems wanting to
1583    upgrade &release.current; will need to update to &os; 5.3 or newer
1584    first, then to &os; &release.current;.</para>
1585
1586  <important>
1587    <para>Upgrading &os; should, of course, only be attempted after
1588      backing up <emphasis>all</emphasis> data and configuration
1589      files.</para>
1590  </important>
1591</sect1>
1592