article.xml revision 151311
1<articleinfo>
2  <title>&os;/&arch; &release.current; Release Notes</title>
3
4  <corpauthor>The &os; Project</corpauthor>
5
6  <pubdate>$FreeBSD: head/release/doc/en_US.ISO8859-1/relnotes/article.sgml 151311 2005-10-14 09:57:08Z yar $</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    <holder role="mailto:doc@FreeBSD.org">The &os; Documentation Project</holder>
16  </copyright>
17
18  <legalnotice id="trademarks" role="trademarks">
19    &tm-attrib.freebsd;
20    &tm-attrib.ibm;
21    &tm-attrib.ieee;
22    &tm-attrib.intel;
23    &tm-attrib.sparc;
24    &tm-attrib.general;
25  </legalnotice>
26
27  <abstract>
28    <para>The release notes for &os; &release.current; contain a summary
29      of the changes made to the &os; base system on the
30      &release.branch; development line.
31      This document lists applicable security advisories that were issued since
32      the last release, as well as significant changes to the &os;
33      kernel and userland.
34      Some brief remarks on upgrading are also presented.</para>
35  </abstract>
36</articleinfo>
37
38<sect1 id="intro">
39  <title>Introduction</title>
40
41  <para>This document contains the release notes for &os;
42    &release.current; on the &arch.print; hardware platform.  It
43    describes recently added, changed, or deleted features of &os;.
44    It also provides some notes on upgrading
45    from previous versions of &os;.</para>
46
47<![ %release.type.current [
48
49  <para>The &release.type; distribution to which these release notes
50    apply represents the latest point along the &release.branch; development
51    branch since &release.branch; was created.  Information regarding pre-built, binary
52    &release.type; distributions along this branch
53    can be found at <ulink url="&release.url;"></ulink>.</para>
54
55]]>
56
57<![ %release.type.snapshot [
58
59  <para>The &release.type; distribution to which these release notes
60    apply represents a point along the &release.branch; development
61    branch between &release.prev; and the future &release.next;.
62    Information regarding
63    pre-built, binary &release.type; distributions along this branch
64    can be found at <ulink url="&release.url;"></ulink>.</para>
65
66]]>
67
68<![ %release.type.release [
69
70  <para>This distribution of &os; &release.current; is a
71    &release.type; distribution.  It can be found at <ulink
72    url="&release.url;"></ulink> or any of its mirrors.  More
73    information on obtaining this (or other) &release.type;
74    distributions of &os; can be found in the <ulink
75    url="&url.books.handbook;/mirrors.html"><quote>Obtaining
76    &os;</quote> appendix</ulink> to the <ulink
77    url="&url.books.handbook;/">&os;
78    Handbook</ulink>.</para>
79
80]]>
81
82  <para>All users are encouraged to consult the release errata before
83    installing &os;.  The errata document is updated with
84    <quote>late-breaking</quote> information discovered late in the
85    release cycle or after the release.  Typically, it contains
86    information on known bugs, security advisories, and corrections to
87    documentation.  An up-to-date copy of the errata for &os;
88    &release.current; can be found on the &os; Web site.</para>
89
90</sect1>
91
92<sect1 id="new">
93  <title>What's New</title>
94
95  <para>This section describes
96    the most user-visible new or changed features in &os;
97    since &release.prev;.
98    In general, changes described here are unique to the &release.branch;
99    branch unless specifically marked as &merged; features.
100  </para>
101
102  <para>Typical release note items
103    document recent security advisories issued after
104    &release.prev.historic;,
105    new drivers or hardware support, new commands or options,
106    major bug fixes, or contributed software upgrades.  They may also
107    list changes to major ports/packages or release engineering
108    practices.  Clearly the release notes cannot list every single
109    change made to &os; between releases; this document focuses
110    primarily on security advisories, user-visible changes, and major
111    architectural improvements.</para>
112
113  <sect2 id="security">
114    <title>Security Advisories</title>
115
116    <para></para>
117  </sect2>
118
119  <sect2 id="kernel">
120    <title>Kernel Changes</title>
121
122    <para>A new sysctl variable <varname>kern.malloc_stats</varname>
123      has been added.  This allows to export kernel malloc
124      statistics via a binary structure stream.</para>
125
126    <para>A new sysctl variable <varname>vm.zone_stats</varname>
127      has been added.  This allows to export &man.uma.9; allocator
128      statistics via a binary structure stream.</para>
129
130    <sect3 id="boot">
131      <title>Boot Loader Changes</title>
132
133      <para>A new option <option>-S</option>,
134	which allows setting the <filename>boot2</filename>
135	serial console speed in the <filename>/boot.config</filename>
136	file or on the <prompt>boot:</prompt> prompt line,
137	has been added.</para>
138
139      <para arch="i386,amd64">A new loader tunable
140	<varname>comconsole_speed</varname> to change
141	the serial console speed has been added.
142	If the previous stage boot loader requested a serial console
143	then the default speed is determined from the current serial port
144	speed, and otherwise it is set to 9600 or the value of
145	the kernel option <literal>BOOT_COMCONSOLE_SPEED</literal>
146	at compile time.</para>
147
148      <!-- Above this line, order boot loader changes by keyword-->
149
150    </sect3>
151
152    <sect3 id="proc">
153      <title>Hardware Support</title>
154
155      <para>The &man.acpi.thermal.4; driver now supports
156	passive cooling.</para>
157
158      <para>Support for the PadLock Security Co-processor in VIA C3
159	processors has been added to the &man.crypto.9; subsystem.
160	&merged;</para>
161
162      <para>A bug which prevents the &man.ichsmb.4; kernel module
163	from unloading has been fixed.</para>
164
165      <para arch="ia64">The loader tunable <varname>debug.mpsafevfs</varname>
166	is set to <literal>1</literal> by default.</para>
167
168      <para arch="amd64">The smbios(4) driver support for amd64 has been
169	added.</para>
170
171      <para arch="i386">A new loader tunable
172	<varname>hw.apic.enable_extint</varname> has been added.
173	This tunable can be used not to mask the ExtINT pin on the first
174	I/O APIC.  At least one chipset for Intel Pentium III seems
175	to need this even though all of the pins in the 8259A's are masked.
176	The default is still to mask the ExtINT pin.</para>
177
178      <sect4 id="mm">
179	<title>Multimedia Support</title>
180
181	<para>The &man.sound.4; driver now supports
182	  wider range sampling rate, multiple precisions choice,
183	  and 24/32 bit PCM format conversion.</para>
184
185	<para>The &man.snd.als4000.4; driver is now MPSAFE.</para>
186
187	<para>The &man.snd.cmi.4; driver is now MPSAFE.</para>
188
189	<para>The &man.snd.via8233.4; driver is now MPSAFE.</para>
190
191	<para arch="amd64">The &man.snd.via8233.4; driver is now supported
192	  on &os;/amd64.</para>
193
194	<para>The &man.snd.via82c686.4; driver is now MPSAFE.</para>
195      </sect4>
196
197      <sect4 id="net-if">
198	<title>Network Interface Support</title>
199
200	<para>The &man.dc.4; driver is now MPSAFE. &merged;</para>
201
202	<para>The &man.de.4; driver has been converted to the &man.bus.dma.9;
203	  API and is now MPSAFE.</para>
204
205	<para>The &man.ed.4; driver is now MPSAFE.</para>
206
207	<para>The &man.el.4; driver has been removed.</para>
208
209	<para>The &man.my.4; driver is now MPSAFE. &merged;</para>
210
211	<para>The &man.pcn.4; driver is now MPSAFE. &merged;</para>
212
213	<para>The &man.sf.4; driver is now MPSAFE. &merged;</para>
214
215	<para>The &man.ste.4; driver is now MPSAFE.</para>
216      </sect4>
217    </sect3>
218
219    <sect3 id="net-proto">
220      <title>Network Protocols</title>
221
222      <para>The &man.gre.4; driver, which is for GRE encapsulation
223	found in RFC 1701 and RFC 1702 now supports IPv6 over GRE.</para>
224
225      <para>The path MTU discovery for multicast packets in the &os;
226	&man.ip6.4; stack has been disabled by default because
227	notifying path MTU by a lot of routers in multicast
228	can be a kind of distributed Denial-of-Service attack to a router.
229	This feature can be enabled by using a new sysctl variable
230	<varname>net.inet6.ip6.mcast_pmtu</varname>.</para>
231
232      <para>The &man.ipfw.4;, IP packet filter now supports IPv6.
233	The &man.ip6fw.8; is deprecated and will be removed
234	in the future releases.</para>
235
236      <para>The &man.natm.4;, Native Mode ATM protocol layer is now MPSAFE.</para>
237
238      <para>A new sysctl variable <varname>net.inet.icmp.reply_from_interface</varname>
239	has been added.  This allows the &man.icmp.4;
240	reply to non-local packets generated with
241	the IP address the packet came through in.
242	This is useful for routers to show in &man.traceroute.8;
243	the actual path a packet has taken instead of
244	the possibly different return path.</para>
245
246      <para>A new sysctl variable <varname>net.inet.icmp.quotelen</varname>
247	has been added.  This allows to change length of
248	the quotation of the original packet in an ICMP reply.
249	The minimum of 8 bytes is internally enforced.
250	The maximum quotation is the remaining space in the
251	reply mbuf.  This option is added in response to the
252	issues raised in I-D
253	<filename>draft-gont-icmp-payload-00.txt</filename>.</para>
254
255      <para>The &man.icmp.4; now always quotes the entire TCP header
256	when responding and allocate an mbuf cluster if needed.
257	This change fixes the TCP issues raised in I-D
258	<filename>draft-gont-icmp-payload-00.txt</filename>.</para>
259
260      <para>A new socket option <literal>IP_MINTTL</literal> has been added.
261	This may be used to set the minimum acceptable
262	TTL a packet must have when received on a socket.
263	All packets with a lower TTL are silently dropped,
264	and this works on already connected/connecting and
265	listening sockets for RAW, UDP, and TCP.  This option
266	is only really useful when set to 255 preventing packets
267	from outside the directly connected networks reaching
268	local listeners on sockets.  Also, this option allows
269	userland implementation of <quote>The Generalized TTL
270	  Security Mechanism (GTSM)</quote> found in RFC 3682.</para>
271
272      <para>The stealth forwarding now supports IPv6 as well as IPv4.
273	This behavior can be controlled by using a new sysctl variable
274	<varname>net.inet6.ip6.stealth</varname>.</para>
275    </sect3>
276
277    <sect3 id="disks">
278      <title>Disks and Storage</title>
279
280      <para>The &man.ata.4; driver now supports a workaround
281	for some controllers whose DMA does not work properly
282	in 48bit mode.  For the suspicious controllers
283	the PIO mode will be used for access to over 137GB areas.</para>
284
285      <para>A new GEOM class <literal>GEOM_ZERO</literal> has been added.
286	It creates very huge provider (41PB) <filename>/dev/gzero</filename>
287	and mainly for performance testing.
288	On <literal>BIO_READ</literal> request it zero-fills
289	<varname>bio_data</varname> and on <literal>BIO_WRITE</literal>
290	it does nothing.</para>
291
292      <para>The <literal>GEOM_LABEL</literal> class now supports
293	Ext2FS and ReiserFS.</para>
294
295      <para>The &man.mpt.4; driver has been updated to support
296	various new features such as RAID volume and RAID member
297	state/settings reporting, periodic volume re-synchronization
298	status reporting, and sysctl variables for volume
299	re-synchronization rate, volume member write cache status,
300	and volume transaction queue depth.</para>
301
302      <para>A new GEOM-based disk encryption facility, GEOM_ELI, has been
303	added.  It uses the &man.crypto.9; framework for hardware acceleration
304	and supports different cryptographic algorithms.  See &man.geli.8; for
305	more information. &merged;</para>
306
307      <para>The &man.umass.4; driver now supports
308	<literal>PLAY_MSF</literal>,
309	<literal>PLAY_TRACK</literal>,
310	<literal>PLAY_TRACK_REL</literal>,
311	<literal>PAUSE</literal>,
312	<literal>PLAY_12</literal> commands so that
313	the &man.cdcontrol.1; utility can handle USB CD drive.</para>
314    </sect3>
315
316    <sect3 id="fs">
317      <title>File Systems</title>
318
319      <para>A part of the FreeBSD NFS subsystem (the interface with
320	the protocol stack and callouts) is now MPSAFE.</para>
321    </sect3>
322
323    <sect3>
324      <title>Contributed Software</title>
325
326      <para></para>
327    </sect3>
328  </sect2>
329
330  <sect2 id="userland">
331    <title>Userland Changes</title>
332
333    <para>Padding of <varname>ai_addrlen</varname>
334      in <varname>struct addrinfo</varname> has been removed,
335      which was originally for the ABI compatibility.
336      For example, this change break the ABI compatibility of
337      &man.getaddrinfo.3; function on 64-bit architecture including
338      &os;/alpha, &os;/amd64, &os;/ia64, and &os;/sparc64.</para>
339
340    <para>The &man.bsdiff.1; and &man.bspatch.1; utilities
341      have been added.  These are tools for constructing and
342      applying binary patches.</para>
343
344    <para>The &man.cmp.1; utility now supports an <option>-h</option>
345      flag to compare the symbolic link itself rather than the
346      file that the link points to.</para>
347
348    <para>The &man.ifconfig.8; utility now supports
349      a <option>-k</option> flag to allow printing
350      potentially sensitive keying material to standard output.
351      This sensitive information will not be printed by default.</para>
352
353    <para>The &man.ifconfig.8; utility now supports a <option>-tunnel</option>
354      parameter, which is just an alias for <option>deletetunnel</option>,
355      yet is more convenient and easier to type.</para>
356
357    <para>The <option>-vlandev</option> parameter to &man.ifconfig.8;
358      no longer requires a network interface as its argument.  The
359      argument still is supported for backward compatibility, but now
360      it is deprecated and its use is discouraged.</para>
361
362    <para>The &man.libmemstat.3; library has been added.
363      This is for use by debugging and monitoring applications
364      in tracking kernel memory statistics.  It provides an
365      abstracted interface to &man.uma.9; and &man.malloc.9;
366      statistics, wrapped around the binary stream sysctl variables
367      for the allocators. &merged;</para>
368
369    <para>A new function &man.memmem.3; has been implemented in
370      <filename>libc</filename>.  This is the binary equivalent to
371      &man.strstr.3; and found in <filename>glibc</filename>.</para>
372
373    <para>The &man.moused.8; now supports an <option>-H</option> flag
374      to enable horizontal virtual scrolling similar to a
375      <option>-V</option> flag for vertical virtual scrolling.</para>
376
377    <para>The &man.netstat.1; utility now supports an
378      <option>-h</option> flag for interface stats mode,
379      which prints all interface statistics in human readable form.</para>
380
381    <para>A new functions, &man.pidfile.3;, which allow reliable
382      pidfiles handling have been implemented in
383      <filename>libutil</filename>.</para>
384
385    <para>The &man.ping.8; utility now supports <quote>a sweeping
386	ping</quote> in which &man.icmp.4; payload of
387      packets being sent is increased with given step.
388      This is useful for testing problematic channels, MTU issues
389      or traffic policing functions in networks.</para>
390
391    <para>The &man.pkill.1; utility now supports a
392      <option>-F</option> option which allows to
393      restrict matches to a process whose PID is stored in the
394      pidfile file.  When another new option <option>-L</option>
395      is also specified, the pidfile file must be locked with the
396      &man.flock.2; syscall or created with &man.pidfile.3;.</para>
397
398    <para>The &man.powerd.8; program now supports a
399      <option>-P</option> option which allows to specify pidfile.</para>
400
401    <para>The shared library version number of all libraries have
402      been updated due to some possible ABI changes.  The libraries
403      include: snmp_*, libdialog, libg2c, libobjc,
404      libreadline, libregex, libstdc++, libkrb5, libalias, libarchive,
405      libbegemot, libbluetooth, libbsnmp, libbz2, libc_r, libcrypt,
406      libdevstat, libedit, libexpat, libfetch, libftpio, libgpib,
407      libipsec, libkiconv, libmagic, libmp, libncp, libncurses,
408      libnetgraph, libngatm, libopie, libpam, libpthread, libradius,
409      libsdp, libsmb, libtacplus, libthr, libthread_db, libugidfw,
410      libusbhid, libutil, libvgl, libwrap, libypclnt, libm, libcrypto,
411      libssh, and libssl.</para>
412
413    <para>The <function>wcsdup()</function> function has been
414      implemented.  This function is popular in Microsoft and GNU
415      systems.</para>
416
417    <sect3 id="rc-scripts">
418      <title><filename>/etc/rc.d</filename> Scripts</title>
419
420      <para>The <filename>gbde_swap</filename> script has
421	been removed in favor a new <filename>encswap</filename>
422	script which also supports &man.geli.8; for swap
423	encryption.</para>
424
425      <para>The <filename>geli</filename> and <filename>geli2</filename>
426	scripts has been added for &man.geli.8; device
427	configuration on boot.</para>
428
429      <para>The <varname>removable_interfaces</varname> variable
430	has been removed.</para>
431
432      <para>A new variable <varname>ifconfig_<replaceable>ifn</replaceable></varname>
433	has been added. This allows
434	<filename>/etc/rc.d/netif</filename>
435	to be used to start and stop an interface
436	on a purely manual basis.</para>
437    </sect3>
438  </sect2>
439
440  <sect2 id="contrib">
441    <title>Contributed Software</title>
442
443    <para><application>libpcap</application> has been updated
444      to v0.9.1 (release).</para>
445
446    <para><application>sendmail</application> has been updated from
447      version 8.13.3 to version 8.13.4.</para>
448
449    <para><application>tcpdump</application> has been updated
450      to v3.9.1 (release).</para>
451  </sect2>
452
453  <sect2 id="ports">
454    <title>Ports/Packages Collection Infrastructure</title>
455
456    <para>The &man.pkg.version.1; now supports an <option>-o</option>
457      flag to show the origin recorded on package generation
458      instead of the package name, and an <option>-O</option> flag
459      to list packages whose registered origin is origin only.</para>
460
461    <para>The &man.portsnap.8; utility (<filename>sysutils/portsnap</filename>)
462      has been added into the &os; base system.  This is a secure,
463      easy to use, fast, lightweight, and generally good way for
464      users to keep their ports trees up to date.</para>
465  </sect2>
466
467  <sect2 id="releng">
468    <title>Release Engineering and Integration</title>
469
470    <para>The default partition sizing algorithm of the
471      &man.sysinstall.8; utility has been changed.</para>
472
473    <itemizedlist>
474      <listitem>
475	<para>On systems where the disk capacity is larger than (3 * RAMsize + 10GB),
476	  the default sizes will now be as follows:</para>
477
478	<informaltable frame="none" pgwide="0">
479	  <tgroup cols="2">
480	    <colspec colwidth="1*">
481	    <colspec colwidth="2*">
482	    <thead>
483	      <row>
484		<entry>Partition</entry>
485		<entry>Size</entry>
486	      </row>
487	    </thead>
488
489	    <tbody>
490	      <row><entry>swap</entry><entry>RAMsize * 2</entry></row>
491	      <row><entry><filename>/</filename></entry><entry>512 MB</entry></row>
492	      <row><entry><filename>/tmp</filename></entry><entry>512 MB</entry></row>
493	      <row><entry><filename>/var</filename></entry><entry>1024 MB + RAMsize</entry></row>
494	      <row><entry><filename>/usr</filename></entry><entry>the rest (8GB or more)</entry></row>
495	    </tbody>
496	  </tgroup>
497	</informaltable>
498      </listitem>
499
500      <listitem>
501	<para>On systems where the disk capacity is larger than
502	  (RAMsize / 8 + 2 GB), the default sizes will be
503	  in the following ranges, with space allocated
504	  proportionally:</para>
505
506	<informaltable frame="none" pgwide="0">
507	  <tgroup cols="2">
508	    <colspec colwidth="1*">
509	    <colspec colwidth="2*">
510	    <thead>
511	      <row>
512		<entry>Partition</entry>
513		<entry>Size</entry>
514	      </row>
515	    </thead>
516
517	    <tbody>
518	      <row><entry>swap</entry><entry>from RAMsize / 8 to RAMsize * 2</entry></row>
519	      <row><entry><filename>/</filename></entry><entry>from 256MB to 512MB</entry></row>
520	      <row><entry><filename>/tmp</filename></entry><entry>from 128MB to 512MB</entry></row>
521	      <row><entry><filename>/var</filename></entry><entry>from 128MB to 1024MB</entry></row>
522	      <row><entry><filename>/usr</filename></entry><entry>from 1536MB to 8192MB</entry></row>
523	    </tbody>
524	  </tgroup>
525	</informaltable>
526      </listitem>
527
528      <listitem>
529	<para>On systems with even less disk space, the existing behavior is not
530	  changed.</para>
531      </listitem>
532    </itemizedlist>
533  </sect2>
534
535  <sect2 id="doc">
536    <title>Documentation</title>
537
538    <para>Documentation of existing functionality has been improved by
539      the addition of the following manual pages:
540      &man.acpi.sony.4;, &man.snd.mss.4;, &man.snd.t4dwave.4;.</para>
541  </sect2>
542</sect1>
543
544<sect1 id="upgrade">
545  <title>Upgrading from previous releases of &os;</title>
546
547  <para></para>
548
549  <important>
550    <para>Upgrading &os; should, of course, only be attempted after
551      backing up <emphasis>all</emphasis> data and configuration
552      files.</para>
553  </important>
554</sect1>
555