article.xml revision 142193
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 142193 2005-02-22 00:29:22Z bmah $</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  <abstract>
19    <para>The release notes for &os; &release.current; contain a summary
20      of the changes made to the &os; base system since &release.branch; is created.
21      This document lists applicable security advisories that were issued since
22      the last release, as well as significant changes to the &os;
23      kernel and userland.
24      Some brief remarks on upgrading are also presented.</para>
25  </abstract>
26</articleinfo>
27
28<sect1 id="intro">
29  <title>Introduction</title>
30
31  <para>This document contains the release notes for &os;
32    &release.current; on the &arch.print; hardware platform.  It
33    describes recently added, changed, or deleted features of &os;.
34    It also provides some notes on upgrading
35    from previous versions of &os;.</para>
36
37<![ %release.type.current [
38
39  <para>The &release.type; distribution to which these release notes
40    apply represents the latest point along the &release.branch; development
41    branch since &release.branch; is created.  Some pre-built, binary
42    &release.type; distributions along this branch
43    can be found at <ulink url="&release.url;"></ulink>.</para>
44
45]]>
46
47<![ %release.type.snapshot [
48
49  <para>The &release.type; distribution to which these release notes
50    apply represents a point along the &release.branch; development
51    branch between &release.prev; and the future &release.next;.  Some
52    pre-built, binary &release.type; distributions along this branch
53    can be found at <ulink url="&release.url;"></ulink>.</para>
54
55]]>
56
57<![ %release.type.release [
58
59  <para>This distribution of &os; &release.current; is a
60    &release.type; distribution.  It can be found at <ulink
61    url="&release.url;"></ulink> or any of its mirrors.  More
62    information on obtaining this (or other) &release.type;
63    distributions of &os; can be found in the <ulink
64    url="&url.books.handbook;/mirrors.html"><quote>Obtaining
65    &os;</quote> appendix</ulink> to the <ulink
66    url="&url.books.handbook;/">&os;
67    Handbook</ulink>.</para>
68
69]]>
70
71  <para>All users are encouraged to consult the release errata before
72    installing &os;.  The errata document is updated with
73    <quote>late-breaking</quote> information discovered late in the
74    release cycle or after the release.  Typically, it contains
75    information on known bugs, security advisories, and corrections to
76    documentation.  An up-to-date copy of the errata for &os;
77    &release.current; can be found on the &os; Web site.</para>
78
79</sect1>
80
81<sect1 id="new">
82  <title>What's New</title>
83
84  <para>This section describes
85    the most user-visible new or changed features in &os;
86    since &release.prev;.
87    In general, changes described here are unique to the &release.branch;
88    branch unless specifically marked as &merged; features.
89  </para>
90
91  <para>Typical release note items
92    document recent security advisories issued after
93    &release.prev.historic;,
94    new drivers or hardware support, new commands or options,
95    major bug fixes, or contributed software upgrades.  They may also
96    list changes to major ports/packages or release engineering
97    practices.  Clearly the release notes cannot list every single
98    change made to &os; between releases; this document focuses
99    primarily on security advisories, user-visible changes, and major
100    architectural improvements.</para>
101
102  <sect2 id="security">
103    <title>Security Advisories</title>
104
105    <para>A bug in the &man.fetch.1; utility which allows
106      a malicious HTTP server to cause arbitrary portions of the client's
107      memory to be overwritten, has been fixed.
108      For more information, see security advisory
109      <ulink url="ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-04:16.fetch.asc">FreeBSD-SA-04:16.fetch</ulink>.
110      &merged;</para>
111
112    <para>A bug in &man.procfs.5; and &man.linprocfs.5;
113      which could cause a malicious local user could perform a local
114      denial of service attack by causing a system panic, or the user
115      could read parts of kernel memory, has been fixed.
116      For more information, see security advisory
117      <ulink url="ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-04:17.procfs.asc">FreeBSD-SA-04:17.procfs</ulink>.
118      &merged;</para>
119
120  </sect2>
121
122  <sect2 id="kernel">
123    <title>Kernel Changes</title>
124
125    <para arch="i386">Support for 80386 processors (the
126      <literal>I386_CPU</literal> kernel configuration option) has
127      been removed.  Users running this class of CPU should use &os;
128      5.<replaceable>X</replaceable> or earlier.</para>
129
130    <para>The loader tunable <varname>debug.mpsafevm</varname> has been
131      has been enabled by default.</para>
132
133    <para>MemGuard, a kernel memory allocator designed to help detect
134      <quote>tamper-after-free</quote> scenarios, has been added.
135      This must be explicitly enabled via <literal>options
136      DEBUG_MEMGUARD</literal>, plus small kernel modifications.  It
137      is generally intended for use by kernel developers.</para>
138
139    <para>A number of bugs have been fixed in the ULE
140      scheduler. &merged;</para>
141
142    <para>Fine-grained locking to allow much of the VFS stack to run
143      without the Giant lock has been added.  It is currently enabled
144      by the loader tunable (and sysctl variable)
145      <varname>debug.mpsafevfs</varname>, which currently defaults to
146      <literal>0</literal> (disabled).</para>
147
148    <para arch="i386">A bug in Inter-Processor Interrupt (IPI)
149      handling, which could cause SMP systems to crash under heavy
150      load, has been fixed.  More details are contained in errata note
151      <ulink url="ftp://ftp.FreeBSD.org/pub/FreeBSD/ERRATA/notices/FreeBSD-EN-05:03.ipi.asc">FreeBSD-EN-05:03.ipi</ulink>.
152      &merged;</para>
153
154    <para>System V IPC objects (message queues, semaphores, and shared
155      memory) now have support for Mandatory Access Control policies,
156      notably &man.mac.biba.4;, &man.mac.mls.4;, &man.mac.stub.4;, and
157      &man.mac.test.4;.</para>
158
159    <!-- Above this line, sort kernel changes by manpage/keyword-->
160
161    <sect3 id="boot">
162      <title>Boot Loader Changes</title>
163
164      <para arch="i386">A serial console-capable version of
165	<filename>boot0</filename> has been added.  It can be written
166	to a disk using &man.boot0cfg.8; and specifying
167	<filename>/boot/boot0sio</filename> as the argument to the
168	<option>-b</option> option.</para>
169
170      <para arch="i386"><filename>cdboot</filename> now works around a
171	BIOS problem observed on some systems when booting from USB
172	CDROM drives.</para>
173
174      <para>The <command>autoboot</command> loader command
175	now supports the prompt parameter.</para>
176
177      <!-- Above this line, order boot loader changes by keyword-->
178
179    </sect3>
180
181    <sect3 id="proc">
182      <title>Hardware Support</title>
183	
184      <para arch="sparc64">The &man.auxio.4; driver has been to drive
185	some auxiliary I/O functions found on various SBus/EBus
186	&ultrasparc; models. &merged;</para>
187
188      <para>A framework for flexible processor speed control has been
189	added.  It provides methods for various drivers to control CPU
190	power utilization by adjusting the processor speed.  More
191	details can be found in the &man.cpufreq.4; manual page.
192	Currently supported drivers include acpi_perf (ACPI CPU
193	performance states), ichss (Intel SpeedStep for ICH), and
194	acpi_throttle (ACPI CPU throttling).</para>
195
196      <para arch="i386">Support for the OLDCARD subsystem has
197	been removed.  The NEWCARD system is now used for all PCCARD
198	device support.</para>
199
200      <para>The pcii driver has been added to support GPIB-PCIIA IEEE-488
201	cards.</para>
202
203      <para>The &man.psm.4; driver now has improved support for
204	Synaptics Touchpad users.  It now has better tracking of
205	slow-speed movement and now has support for various extra
206	buttons and dials.  These features can be tuned with the
207	<varname>hw.psm.synaptics.<replaceable>*</replaceable></varname>
208	hierarchy of sysctl variables.</para>
209
210      <para arch="sparc64">The rtc driver has been added to support
211	the MC146818-compatible clock found on some &ultrasparc; II
212	and III models. &merged;</para>
213
214      <para arch="sparc64">The &man.uart.4; driver is now enabled in
215	the <filename>GENERIC</filename> kernel, and is now the
216	default driver for serial ports.  The ofw_console,
217	&man.sab.4;, and zs drivers are now disabled in the
218	<filename>GENERIC</filename> kernel. &merged;</para>
219
220      <para>The &man.uplcom.4; driver now supports handling of the
221	<literal>CTS</literal> signal.</para>
222
223      <sect4 id="mm">
224	<title>Multimedia Support</title>
225
226	<para arch="sparc64">The &man.snd.audiocs.4; driver has been
227	  added to support the Crystal Semiconductor CS4231 audio
228	  controller found on &ultrasparc;
229	  workstations. &merged;</para>
230
231	<para>The &man.uaudio.4; driver now has some added
232	  functionality, including volume control on more inputs and
233	  recording capability on some devices.</para>
234
235      </sect4>
236
237      <sect4 id="net-if">
238	<title>Network Interface Support</title>
239
240	<para>The &man.ath.4; driver has been updated to split the
241	  transmit rate control algorithm into a separate module.
242	  Either <literal>device ath_rate_onoe</literal> or
243	  <literal>device ath_rate_amrr</literal> must be included in
244	  the kernel configuration when using the &man.ath.4;
245	  driver.</para>
246
247	<para>The &man.cp.4; driver is now MPSAFE. &merged;</para>
248
249	<para>The &man.ctau.4; driver is now MPSAFE. &merged;</para>
250
251	<para>The &man.cx.4; driver is now MPSAFE. &merged;</para>
252
253	<para>The &man.dc.4; driver now supports the &man.altq.4; framework.</para>
254
255	<para>In the &man.em.4; driver, hardware support for VLAN
256	  tagging is now disabled by default due to some interactions
257	  between this feature and promiscuous mode. &merged;</para>
258
259	<para>Ethernet flow control is now disabled by default in the
260	  &man.fxp.4; driver, to prevent problems with a system panics
261	  or is left in the kernel debugger. &merged;</para>
262
263	<para>The &man.hme.4; driver is now MPSAFE. &merged;</para>
264
265	<para arch="amd64">The &man.ndis.4; device driver wrapper now
266	  supports &windows;/x86-64 binaries on amd64
267	  systems. &merged;</para>
268
269	<para>The &man.sf.4; driver now has support for device polling
270	  and &man.altq.4;. &merged;</para>
271
272	<para>Several programming errors in the &man.sk.4; driver have
273	  been corrected.  This bug was particular to SMP systems, and
274	  could cause panics, page faults, aborted SSH connections, or
275	  corrupted file transfers.  More details can be found in
276	  errata note
277	  <ulink url="ftp://ftp.FreeBSD.org/pub/FreeBSD/ERRATA/notices/FreeBSD-EN-05:02.sk.asc">FreeBSD-EN-05:02.sk</ulink>.
278	  &merged;</para>
279
280	<para>The &man.sk.4; driver now has support for &man.altq.4;.
281	  This driver also now supports jumbo frames on Yukon-based
282	  interfaces. &merged;</para>
283
284	<para>Support for 802.11 devices in the &man.wlan.4; has been
285	  greatly overhauled.  In addition to architectural changes,
286	  it includes completed 802.11g, WPA, 802.11i, 802.1x,
287	  WME/WMM, AP-side power-saving, and plugin frameworks for
288	  cryptography modules, authenticators, and access control.
289	  Note in particular that WEP now requires the
290	  <filename>wlan_wep</filename> module to be loaded (or
291	  compiled) into the kernel.</para>
292
293      </sect4>
294    </sect3>
295
296    <sect3 id="net-proto">
297      <title>Network Protocols</title>
298
299      <para>The MTU feedback in IPv6 has been disabled when the sender writes
300	data that must be fragmented.</para>
301
302      <para>&man.ipfw.8; now supports classification and tagging
303	of the &man.altq.4;, packets via a divert socket,
304	and TCP data length.</para>
305
306      <para>Ongoing work is reducing the use of the Giant lock by the
307	network protocol stack and improving the locking
308	strategies.</para>
309
310      <para>The &man.sppp.4; driver now includes Frame Relay
311	support. &merged;</para>
312
313      <para>A bug in TCP that sometimes caused RST packets to
314	be ignored if the receive window was zero bytes has been
315	fixed. &merged;</para>
316
317      <para>Several bugs in the TCP SACK implementation have been
318	fixed. &merged;</para>
319
320      <para>RFC 1644 T/TCP support has been removed.</para>
321
322      <para>Random ephemeral port number allocation has led to some
323        problems with port reuse at high connection rates.  This
324        feature is now disabled during periods of high connection
325        rates; whenever new connections are created faster than
326        <varname>net.inet.ip.portrange.randomcps</varname> per second,
327        port number randomization is disabled for the next
328        <varname>net.inet.ip.portrange.randomtime</varname>
329        seconds.  The default values for these two sysctl variables
330        are <literal>10</literal> and <literal>45</literal>,
331        respectively.</para>
332
333      <para>Fine-grained locking has been applied to many of the data
334	structures in the IPX/SPX protocol stack.  While not fully
335	MPSAFE at this point, it is generally safe to use IPX/SPX
336	without the Giant lock (in other words, the
337	<varname>debug.mpsafenet</varname> sysctl variable may be set
338	to <literal>1</literal>).</para>
339
340    </sect3>
341
342    <sect3 id="disks">
343      <title>Disks and Storage</title>
344
345      <para>The &man.amr.4; driver is now safe for use on systems
346	using &man.pae.4;. &merged;</para>
347
348      <para>The SHSEC GEOM class has been added.  It provides for the
349	sharing of a secret between multiple GEOM providers.  All of
350	these providers must be present in order to reveal the
351	secret.  This feature is controlled by the &man.gshsec.8;
352	utility.</para>
353
354      <para>The &man.matcd.4; driver has been removed.</para>
355
356      <para>The default SCSI boot-time probe delay in the
357	<filename>GENERIC</filename> kernel has been reduced from
358	fifteen seconds to five seconds.</para>
359
360      <para arch="pc98">The &man.wd.4; driver has been removed.  The
361	&man.ata.4; driver has been found to work well enough on the
362	pc98 platform that there is no need for the older &man.wd.4;
363	driver.</para>
364
365      <para>Information about newly-mounted cd9660 file systems (such
366	as the presence of Rockridge extensions) is now only printed
367	if the kernel was booted in verbose mode.  This change was
368	made to reduce the amount of (generally unnecessary) kernel
369	log messages. &merged;</para>
370
371    </sect3>
372
373    <sect3 id="fs">
374      <title>File Systems</title>
375
376      <para>The autofs(9) file system and the userland library
377	&man.libautofs.3; have been added.</para>
378
379      <para>A kernel panic in the NFS server has been fixed.  More
380	details can be found in errata note 
381	<ulink url="ftp://ftp.FreeBSD.org/pub/FreeBSD/ERRATA/notices/FreeBSD-EN-05:01.nfs.asc">FreeBSD-EN-05:01.nfs</ulink>.
382	&merged;</para>
383
384    </sect3>
385
386    <sect3>
387      <title>Contributed Software</title>
388
389      <para><application>ACPI-CA</application> has been updated from
390	20040527 to 20041119. &merged;</para>
391
392    </sect3>
393  </sect2>
394
395  <sect2 id="userland">
396    <title>Userland Changes</title>
397
398    <para>The &man.burncd.8; utility now allows commands (such as
399      <command>eject</command>) to take place after fixating a
400      disk.</para>
401
402    <para>The <literal>create</literal> command of the &man.gpt.8;
403      utility now supports a <option>-f</option> command-line flag to
404      force creation of a GPT even when there is an MBR record on a
405      disk. &merged;</para>
406
407    <para>The &man.dump.8; utility now supports a <option>-n</option>
408      flag to suppress the creation of a <filename>.snap</filename>
409      directory on new file systems.  This feature is intended for use
410      on memory or vnode file systems that will not require snapshot
411      support.</para>
412
413    <para>The &man.ifconfig.8; utility has been restructured.  It is
414      now more modular and flexible with respect to supporting
415      interface-specific functionality.  The 802.11 support has been
416      updated to support recent changes to the 802.11 subsystem and
417      drivers.</para>
418
419    <para>Support for abbreviated forms of a number of &man.ipfw.8;
420      options has been deprecated.  Warnings are printed to stderr
421      indicated the correct full form when one of these abbreviations
422      is detected.</para>
423
424    <para>The <filename>libarchive</filename> library (as well as the
425      &man.tar.1; command that uses it) now has support for reading ISO
426      images (with optional RockRidge extensions) and ZIP archives
427      (with <literal>deflate</literal> and <literal>none</literal>
428      compression).</para>
429
430    <para>The <literal>NO_NIS</literal> compile-time knob for userland
431      has been added.  As its name implies, enabling this
432      <filename>Makefile</filename> variable will cause NIS support to
433      be excluded from various programs and will cause the NIS
434      utilities to not be built. &merged;</para>
435
436    <para arch="i386">The &man.mkuzip.8;, which is a non-GPL
437      utility to compress file system images for use with
438      <literal>GEOM_UZIP</literal> &man.geom.4; module,
439      has been added.</para>
440
441    <para>The &man.newsyslog.8; utility now supports
442	a <option>-d</option> option to specify an alternate root for log files
443	similar to <varname>DESTDIR</varname> in the BSD make process.
444	This only affects log file paths, not config file (<option>-f</option>)
445	or archive directory (<option>-a</option>) paths.</para>
446
447    <para>The &man.ncal.1; utility now supports a <option>-m</option>
448      flag to generate a calendar for a specified month in the current
449      year. &merged;</para>
450
451    <para>The <filename>libgpib</filename> library has been added to
452      give userland access to GPIB devices (using the the pcii driver)
453      via the
454      <function>ib<replaceable>foo</replaceable></function>
455      API.</para>
456
457    <para>The &man.mknod.8; utility has been marked deprecated.
458      Device nodes have been managed by the &man.devfs.5; device file
459      system since &os; 5.0.</para>
460
461    <para>For years, &os; has used <filename>Makefile</filename>
462      variables of the form
463      <varname>NO<replaceable>FOO</replaceable></varname> and
464      <varname>NO_<replaceable>FOO</replaceable></varname>.  For
465      consistency, those variables using the former naming convention
466      have been converted to the
467      <varname>NO_<replaceable>FOO</replaceable></varname> form.  The
468      file <filename>/usr/share/mk/bsd.compat.mk</filename> has a
469      complete list of these variables; it also implements some
470      temporary backward compatibility for the old names.</para>
471
472    <para>The &man.ppp.8; program now implements an
473      <option>echo</option> parameter, which allows LCP ECHOs to be
474      enabled independently of LQR reports.  Older versions of
475      &man.ppp.8; would revert to LCP ECHO mode on negotiation
476      failure.  It is now necessary to specify <command>enable
477      echo</command> to get this behavior. &merged;</para>
478
479    <para>An &man.rpmatch.3; library function has been added to check
480      a string for being an affirmative or negative response in the
481      current locale.</para>
482
483    <para>The &man.telnet.1; and &man.telnetd.8; programs now support
484      the <option>-S</option> option for specifying a numeric TOS
485      byte.</para>
486
487    <para>The &man.tcpdrop.8; command, which closes a selected TCP
488      connection, has been added.  It was obtained from
489      OpenBSD.</para>
490
491    <para>&man.whois.1; now supports
492      a <option>-k</option> flag
493      for querying <hostid role="fqdn">whois.krnic.net</hostid>
494      (the National Internet Development Agency of Korea)
495      which hold details of IP address allocations within
496      Korea. &merged;</para>
497
498    <sect3 id="rc-scripts">
499      <title><filename>/etc/rc.d</filename> Scripts</title>
500
501      <para></para>
502    </sect3>
503  </sect2>
504
505  <sect2 id="contrib">
506    <title>Contributed Software</title>
507
508    <para><application>FILE</application> has been updated from 4.10
509      to 4.12.</para>
510
511    <para><application>lukemftp</application> has been updated from a
512      26 April 2004 snapshot from OpenBSD's sources to a snapshot as
513      of 19 February 2005.</para>
514
515    <para>A snapshot of <application>netcat</application> from OpenBSD
516      as of 4 February 2005 has been added.  More information can be
517      found in the &man.nc.1; manual page. &merged;</para>
518
519    <para><application>OpenPAM</application> has been updated from the
520      Eelgrass release to the Feterita release.</para>
521
522    <para><application>OpenSSH</application> has been updated from 3.8p1
523      to 3.9p1.</para>
524
525    <para><application>sendmail</application> has been updated from
526      version 8.13.1 to version 8.13.3. &merged;</para>
527
528    <para>The timezone database has been updated from the
529      <application>tzdata2004e</application> release to the
530      <application>tzdata2004g</application> release. &merged;</para>
531
532  </sect2>
533
534  <sect2 id="ports">
535    <title>Ports/Packages Collection Infrastructure</title>
536
537    <para></para>
538  </sect2>
539
540  <sect2 id="releng">
541    <title>Release Engineering and Integration</title>
542
543    <para></para>
544  </sect2>
545
546  <sect2 id="doc">
547    <title>Documentation</title>
548
549    <para>Manual pages in the base system have received a number of
550      cleanups, both for content and presentation.  Cross-references
551      are more correct and consistent, standard section headings are
552      now used throughout, and markup has been cleaned up.</para>
553
554  </sect2>
555</sect1>
556
557<sect1 id="upgrade">
558  <title>Upgrading from previous releases of &os;</title>
559
560  <para></para>
561
562  <important>
563    <para>Upgrading &os; should, of course, only be attempted after
564      backing up <emphasis>all</emphasis> data and configuration
565      files.</para>
566  </important>
567</sect1>
568