article.xml revision 143182
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 143182 2005-03-06 19:08:51Z hrs $</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 allow a malicious local user to read parts of kernel 114 memory or perform a local 115 denial of service attack by causing a system panic, 116 has been fixed. 117 For more information, see security advisory 118 <ulink url="ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-04:17.procfs.asc">FreeBSD-SA-04:17.procfs</ulink>. 119 &merged;</para> 120 121 </sect2> 122 123 <sect2 id="kernel"> 124 <title>Kernel Changes</title> 125 126 <para arch="i386">Support for 80386 processors (the 127 <literal>I386_CPU</literal> kernel configuration option) has 128 been removed. Users running this class of CPU should use &os; 129 5.<replaceable>X</replaceable> or earlier.</para> 130 131 <para arch="alpha,amd64,i386">The loader tunable <varname>debug.mpsafevm</varname> 132 has been enabled by default. &merged;</para> 133 134 <para>&man.memguard.9;, a kernel memory allocator designed to help detect 135 <quote>tamper-after-free</quote> scenarios, has been added. 136 This must be explicitly enabled via <literal>options 137 DEBUG_MEMGUARD</literal>, plus small kernel modifications. It 138 is generally intended for use by kernel developers.</para> 139 140 <para>A number of bugs have been fixed in the ULE 141 scheduler. &merged;</para> 142 143 <para>Fine-grained locking to allow much of the VFS stack to run 144 without the Giant lock has been added. This is enabled by default 145 on the alpha, amd64, and i386 architectures, and can be disabled 146 by setting the loader tunable (and sysctl variable) 147 <varname>debug.mpsafevfs</varname> to 148 <literal>0</literal>.</para> 149 150 <para arch="i386">A bug in Inter-Processor Interrupt (IPI) 151 handling, which could cause SMP systems to crash under heavy 152 load, has been fixed. More details are contained in errata note 153 <ulink url="ftp://ftp.FreeBSD.org/pub/FreeBSD/ERRATA/notices/FreeBSD-EN-05:03.ipi.asc">FreeBSD-EN-05:03.ipi</ulink>. 154 &merged;</para> 155 156 <para>System V IPC objects (message queues, semaphores, and shared 157 memory) now have support for Mandatory Access Control policies, 158 notably &man.mac.biba.4;, &man.mac.mls.4;, &man.mac.stub.4;, and 159 &man.mac.test.4;.</para> 160 161 <para arch="i386">Memory allocation for legacy PCI bridges has 162 been limited to the top 32MB of RAM. Many older, legacy bridges 163 only allow allocation from this range. This change only applies 164 to devices which do not have their memory assigned by the BIOS. 165 This change fixes the <quote>bad Vcc</quote> error of CardBus 166 bridges (&man.pccbb.4;). &merged;</para> 167 168 <para>The &man.sysctl.3; MIBs beginning with <quote>debug</quote> 169 now require the kernel option <literal>options SYSCTL_DEBUG</literal>. 170 This option is disabled by default.</para> 171 172 <para>The generic &man.tty.4; driver interface has been added 173 and many device drivers including 174 &man.cx.4; (<literal>{tty,cua}x</literal>), 175 &man.cy.4; (<literal>{tty,cua}c</literal>), 176 &man.digi.4; (<literal>{tty,cua}D</literal>), 177 &man.rc.4; (<literal>{tty,cua}m</literal>), 178 &man.rp.4; (<literal>{tty,cua}R</literal>), 179 &man.sab.4; (<literal>{tty,cua}z</literal>), 180 &man.si.4; (<literal>{tty,cua}A</literal>), 181 &man.sio.4; (<literal>{tty,cua}d</literal>), 182 sx (<literal>{tty,cua}G</literal>), 183 &man.uart.4; (<literal>{tty,cua}u</literal>), 184 &man.ubser.4; (<literal>{tty,cua}y</literal>), 185 &man.ucom.4; (<literal>{tty,cua}U</literal>), and 186 &man.ucycom.4; (<literal>{tty,cua}y</literal>) 187 have been rewritten to use it. Note that <filename>/etc/remote</filename> 188 and <filename>/etc/ttys</filename> have been updated as well.</para> 189 190 <para>The &man.vkbd.4; driver has been added. This driver 191 provides a software loopback mechanism that can implement 192 a virtual AT keyboard similar to what the &man.pty.4; driver 193 does for terminals.</para> 194 195 <!-- Above this line, sort kernel changes by manpage/keyword--> 196 197 <para arch="i386,amd64,ia64">The default <varname>HZ</varname> 198 parameter (which controls various kernel timers) has been 199 increased from <literal>100</literal> to <literal>1000</literal> 200 on the i386 and ia64. It has been reduced from 201 <literal>1024</literal> to <literal>1000</literal> on the amd64 202 to reduce synchronization effects with other system 203 clocks.</para> 204 205 <para>The maximum length of shell commands has changed from 128 206 bytes to <varname>PAGE_SIZE</varname>. By default, this value 207 is either 4KB (i386, pc98, amd64, and powerpc) or 8KB (sparc64 208 and ia64). As a result, compatibility modules need to be 209 rebuilt to stay synchronized with data structure changes in the 210 kernel.</para> 211 212 <sect3 id="boot"> 213 <title>Boot Loader Changes</title> 214 215 <para arch="i386">A serial console-capable version of 216 <filename>boot0</filename> has been added. It can be written 217 to a disk using &man.boot0cfg.8; and specifying 218 <filename>/boot/boot0sio</filename> as the argument to the 219 <option>-b</option> option.</para> 220 221 <para arch="i386"><filename>cdboot</filename> now works around a 222 BIOS problem observed on some systems when booting from USB 223 CDROM drives.</para> 224 225 <para>The <command>autoboot</command> loader command 226 now supports the prompt parameter.</para> 227 228 <para>A loader menu option to set <varname>hint.atkbd.0.flags=0x1</varname> 229 has been added. This setting allows USB keyboards to work 230 if no PS/2 keyboard is attached.</para> 231 232 <para>The beastie boot menu has been disabled by default.</para> 233 234 <!-- Above this line, order boot loader changes by keyword--> 235 236 </sect3> 237 238 <sect3 id="proc"> 239 <title>Hardware Support</title> 240 241 <para arch="i386,amd64">The &man.acpi.4; driver now turns 242 the ACPI and PCI devices off or to a lower power state 243 in suspend, and back on again in resume. 244 This behavior can be disabled by 245 setting <varname>debug.acpi.do_powerstate</varname> and 246 <varname>hw.pci.do_powerstate</varname> sysctls.</para> 247 248 <para arch="i386,amd64">The acpi_ibm driver for IBM laptops 249 has been added.</para> 250 251 <para arch="i386,amd64">The acpi_snc driver, 252 which supports the Sony Notebook Controller on various 253 Sony laptops has been added.</para> 254 255 <para arch="sparc64">The &man.auxio.4; driver has been to drive 256 some auxiliary I/O functions found on various SBus/EBus 257 &ultrasparc; models. &merged;</para> 258 259 <para>A framework for flexible processor speed control has been 260 added. It provides methods for various drivers to control CPU 261 power utilization by adjusting the processor speed. More 262 details can be found in the &man.cpufreq.4; manual page. &merged; 263 Currently supported drivers include acpi_perf (ACPI CPU 264 performance states), ichss (Intel SpeedStep for ICH), and 265 acpi_throttle (ACPI CPU throttling).</para> 266 267 <para arch="i386">Support for the OLDCARD subsystem has 268 been removed. The NEWCARD system is now used for all PCCARD 269 device support.</para> 270 271 <para>The pcii driver has been added to support GPIB-PCIIA IEEE-488 272 cards.</para> 273 274 <para>The &man.atkbd.4; driver now supports a <literal>0x8</literal> 275 (bit 3) flag to disable testing the keyboard port during 276 the device probe as this can cause hangs on some machines, 277 specifically Compaq R3000Z series amd64 laptops.</para> 278 279 <para arch="i386">The &man.pbio.4; driver, 280 which supports direct access to 281 the Intel 8255A programmable peripheral interface (PPI) 282 chip running in mode 0 (simple I/O) has been added.</para> 283 284 <para>The &man.psm.4; driver now has improved support for 285 Synaptics Touchpad users. It now has better tracking of 286 slow-speed movement and support for various extra 287 buttons and dials. These features can be tuned with the 288 <varname>hw.psm.synaptics.<replaceable>*</replaceable></varname> 289 hierarchy of sysctl variables.</para> 290 291 <para arch="sparc64">The rtc driver has been added to support 292 the MC146818-compatible clock found on some &ultrasparc; II 293 and III models. &merged;</para> 294 295 <para arch="sparc64">The &man.uart.4; driver is now enabled in 296 the <filename>GENERIC</filename> kernel, and is now the 297 default driver for serial ports. The ofw_console, 298 &man.sab.4;, and zs drivers are now disabled in the 299 <filename>GENERIC</filename> kernel. &merged;</para> 300 301 <para>The &man.uplcom.4; driver now supports handling of the 302 <literal>CTS</literal> signal.</para> 303 304 <para>The &man.ehci.4; driver has been improved.</para> 305 306 <sect4 id="mm"> 307 <title>Multimedia Support</title> 308 309 <para arch="sparc64">The &man.snd.audiocs.4; driver has been 310 added to support the Crystal Semiconductor CS4231 audio 311 controller found on &ultrasparc; 312 workstations. &merged;</para> 313 314 <para>The &man.uaudio.4; driver now has some added 315 functionality, including volume control on more inputs and 316 recording capability on some devices.</para> 317 318 </sect4> 319 320 <sect4 id="net-if"> 321 <title>Network Interface Support</title> 322 323 <para>The &man.ath.4; driver has been updated to split the 324 transmit rate control algorithm into a separate module. 325 Either <literal>device ath_rate_onoe</literal> or 326 <literal>device ath_rate_amrr</literal> must be included in 327 the kernel configuration when using the &man.ath.4; 328 driver.</para> 329 330 <para>The &man.bge.4; driver now supports the &man.altq.4; 331 framework.</para> 332 333 <para>The &man.cp.4; driver is now MPSAFE. &merged;</para> 334 335 <para>The &man.ctau.4; driver is now MPSAFE. &merged;</para> 336 337 <para>The &man.cx.4; driver is now MPSAFE. &merged;</para> 338 339 <para>The &man.dc.4; driver now supports the &man.altq.4; framework.</para> 340 341 <para>The &man.ed.4; driver now supports the &man.altq.4; 342 framework. &merged;</para> 343 344 <para>In the &man.em.4; driver, hardware support for VLAN 345 tagging is now disabled by default due to some interactions 346 between this feature and promiscuous mode. &merged;</para> 347 348 <para>Ethernet flow control is now disabled by default in the 349 &man.fxp.4; driver, to prevent problems with a system panics 350 or is left in the kernel debugger. &merged;</para> 351 352 <para>The gx(4) driver has been removed because 353 it is no longer maintained actively and 354 the &man.em.4; supports all of the supported hardware.</para> 355 356 <para>The &man.hme.4; driver is now MPSAFE. &merged;</para> 357 358 <para arch="amd64">The &man.ndis.4; device driver wrapper now 359 supports &windows;/x86-64 binaries on amd64 360 systems. &merged;</para> 361 362 <para>The &man.sf.4; driver now has support for device polling 363 and &man.altq.4;. &merged;</para> 364 365 <para>Several programming errors in the &man.sk.4; driver have 366 been corrected. These bugs were particular to SMP systems, and 367 could cause panics, page faults, aborted SSH connections, or 368 corrupted file transfers. More details can be found in 369 errata note 370 <ulink url="ftp://ftp.FreeBSD.org/pub/FreeBSD/ERRATA/notices/FreeBSD-EN-05:02.sk.asc">FreeBSD-EN-05:02.sk</ulink>. 371 &merged;</para> 372 373 <para>The &man.sk.4; driver now has support for &man.altq.4;. 374 This driver also now supports jumbo frames on Yukon-based 375 interfaces. &merged;</para> 376 377 <para>The &man.vge.4; driver now has support for device polling 378 (&man.polling.4;).</para> 379 380 <para>Support for 802.11 devices in the &man.wlan.4; framework has been 381 greatly overhauled. In addition to architectural changes, 382 it includes completed 802.11g, WPA, 802.11i, 802.1x, 383 WME/WMM, AP-side power-saving, and plugin frameworks for 384 cryptography modules, authenticators, and access control. 385 Note in particular that WEP now requires the 386 <filename>wlan_wep</filename> module to be loaded (or 387 compiled) into the kernel.</para> 388 389 </sect4> 390 </sect3> 391 392 <sect3 id="net-proto"> 393 <title>Network Protocols</title> 394 395 <para>The MTU feedback in IPv6 has been disabled when the sender writes 396 data that must be fragmented. &merged;</para> 397 398 <para>The Common Address Redundancy Protocol (CARP) has 399 been implemented. CARP comes from OpenBSD and allows 400 multiple hosts to share an IP address, providing 401 high availability and load balancing. 402 For more information, see the &man.carp.4; manual page.</para> 403 404 <para>The &man.ipfw.4; <literal>IPDIVERT</literal> option is now 405 available as a kernel loadable module. 406 If this module is not loaded, &man.ipfw.4; will refuse to 407 install <literal>divert</literal> rules and &man.natd.8; 408 will return the error message <quote>protocol not supported</quote>.</para> 409 410 <para>The &man.ipfw.4; can work with 411 <varname>debug.mpsafenet</varname>=<literal>1</literal> 412 (this tunable is <literal>1</literal> by default) 413 when the <literal>gid</literal>, <literal>jail</literal>, 414 and/or <literal>uid</literal> rule options are used.</para> 415 416 <para>&man.ipfw.8; now supports classification and tagging 417 of &man.altq.4; packets via a divert socket, 418 as well as the TCP data length.</para> 419 420 <para>The &man.ipfw.8; <literal>ipfw fwd</literal> rule now supports 421 the full packet destination manipulation when the kernel option 422 <literal>options IPFIREWALL_FORWARD_EXTENDED</literal> is specified 423 in addition to <literal>options IPFIRWALL_FORWARD</literal>. 424 This kernel option disables all restrictions to ensure proper 425 behavior for locally generated packets and allows redirection of 426 packets destined to locally configured IP addresses. 427 Note that &man.ipfw.8; rules have to be carefully crafted to 428 make sure that things like PMTU discovery do not break. &merged;</para> 429 430 <para>&man.ipnat.8; now allows redirect rules to 431 work for non-TCP/UDP packets. &merged;</para> 432 433 <para>Ongoing work is reducing the use of the Giant lock by the 434 network protocol stack and improving the locking 435 strategies.</para> 436 437 <para>A new &man.ng.netflow.4; NetGraph node allows a router 438 running &os; to do NetFlow version 5 exports. &merged;</para> 439 440 <para>The &man.sppp.4; driver now includes Frame Relay 441 support. &merged;</para> 442 443 <para>The &man.sppp.4; driver is now MPSAFE.</para> 444 445 <para>A bug in TCP that sometimes caused RST packets to 446 be ignored if the receive window was zero bytes has been 447 fixed. &merged;</para> 448 449 <para>Several bugs in the TCP SACK implementation have been 450 fixed. &merged;</para> 451 452 <para>RFC 1644 T/TCP support has been removed. This is because 453 the design is based on a weak security model that can easily 454 permit denial-of-service attacks. This TCP 455 extension has been considered a defective one in 456 a recent Internet Draft.</para> 457 458 <para>The KAME IPv4 IPsec implementation integrated 459 in &os; now supports TCP-MD5. &merged;</para> 460 461 <para>Random ephemeral port number allocation has led to some 462 problems with port reuse at high connection rates. This 463 feature is now disabled during periods of high connection 464 rates; whenever new connections are created faster than 465 <varname>net.inet.ip.portrange.randomcps</varname> per second, 466 port number randomization is disabled for the next 467 <varname>net.inet.ip.portrange.randomtime</varname> 468 seconds. The default values for these two sysctl variables 469 are <literal>10</literal> and <literal>45</literal>, 470 respectively. &merged;</para> 471 472 <para>Fine-grained locking has been applied to many of the data 473 structures in the IPX/SPX protocol stack. While not fully 474 MPSAFE at this point, it is generally safe to use IPX/SPX 475 without the Giant lock (in other words, the 476 <varname>debug.mpsafenet</varname> sysctl variable may be set 477 to <literal>1</literal>).</para> 478 479 </sect3> 480 481 <sect3 id="disks"> 482 <title>Disks and Storage</title> 483 484 <para>The &man.amr.4; driver is now safe for use on systems 485 using &man.pae.4;. &merged;</para> 486 487 <para>The SHSEC GEOM class has been added. It provides for the 488 sharing of a secret between multiple GEOM providers. All of 489 these providers must be present in order to reveal the 490 secret. This feature is controlled by the &man.gshsec.8; 491 utility. &merged;</para> 492 493 <para>The &man.hptmv.4; driver, which supports the HighPoint 494 RocketRAID 182x series, has been added. &merged;</para> 495 496 <para>The &man.matcd.4; driver has been removed. &merged;</para> 497 498 <para>The default SCSI boot-time probe delay in the 499 <filename>GENERIC</filename> kernel has been reduced from 500 fifteen seconds to five seconds.</para> 501 502 <para>The old vinum(4) subsystem has been removed 503 in favor of the new &man.geom.4;-based version.</para> 504 505 <para arch="pc98">The &man.wd.4; driver has been removed. The 506 &man.ata.4; driver has been found to work well enough on the 507 pc98 platform that there is no need for the older &man.wd.4; 508 driver.</para> 509 510 <para>Information about newly-mounted cd9660 file systems (such 511 as the presence of Rockridge extensions) is now only printed 512 if the kernel was booted in verbose mode. This change was 513 made to reduce the amount of (generally unnecessary) kernel 514 log messages. &merged;</para> 515 516 </sect3> 517 518 <sect3 id="fs"> 519 <title>File Systems</title> 520 521 <para>The autofs(9) file system and the userland library 522 &man.libautofs.3; have been added.</para> 523 524 <para>Recomputing the summary information for 525 <quote>dirty</quote> UFS and UFS2 file systems is no longer 526 done at mount time, but is now done by background 527 &man.fsck.8;. This change improves the startup speed when 528 mounting large file systems after a crash. The prior behavior 529 can be restored by setting the 530 <varname>vfs.ffs.compute_summary_at_mount</varname> sysctl 531 variable to a non-zero value. &merged;</para> 532 533 <para>A kernel panic in the NFS server has been fixed. More 534 details can be found in errata note 535 <ulink url="ftp://ftp.FreeBSD.org/pub/FreeBSD/ERRATA/notices/FreeBSD-EN-05:01.nfs.asc">FreeBSD-EN-05:01.nfs</ulink>. 536 &merged;</para> 537 538 </sect3> 539 540 <sect3> 541 <title>Contributed Software</title> 542 543 <para><application>ACPI-CA</application> has been updated from 544 20040527 to 20041119. &merged;</para> 545 546 </sect3> 547 </sect2> 548 549 <sect2 id="userland"> 550 <title>Userland Changes</title> 551 552 <para>The &man.burncd.8; utility now allows commands (such as 553 <command>eject</command>) to take place after fixating a 554 disk.</para> 555 556 <para>The &man.ftpd.8; program now uses <literal>212</literal> 557 and <literal>213</literal> status code for directory 558 and file status correctly (<literal>211</literal> is used in 559 the previous versions). This behavior is described in RFC 959. 560 &merged;</para> 561 562 <para>The <literal>create</literal> command of the &man.gpt.8; 563 utility now supports a <option>-f</option> command-line flag to 564 force creation of a GPT even when there is an MBR record on a 565 disk. &merged;</para> 566 567 <para>The gvinum(8) utility now supports 568 <command>checkparity</command>, 569 <command>rebuildparity</command>, and 570 <command>setstate</command> 571 subcommands. &merged;</para> 572 573 <para>The &man.ifconfig.8; utility has been restructured. It is 574 now more modular and flexible with respect to supporting 575 interface-specific functionality. The 802.11 support has been 576 updated to support recent changes to the 802.11 subsystem and 577 drivers.</para> 578 579 <para>Support for abbreviated forms of a number of &man.ipfw.8; 580 options has been deprecated. Warnings are printed to stderr 581 indicating the correct full form when one of these abbreviations 582 is detected.</para> 583 584 <para>The on-disk format of <literal>LC_CTYPE</literal> files has 585 been changed to be machine-independent.</para> 586 587 <para>The <filename>libarchive</filename> library (as well as the 588 &man.tar.1; command that uses it) now has support for reading ISO 589 images (with optional RockRidge extensions) and ZIP archives 590 (with <literal>deflate</literal> and <literal>none</literal> 591 compression). &merged;</para> 592 593 <para>The <filename>libgpib</filename> library has been added to 594 give userland access to GPIB devices (using the the pcii driver) 595 via the 596 <function>ib<replaceable>foo</replaceable></function> 597 API.</para> 598 599 <para>The default stack sizes in <filename>libpthread</filename> 600 and <filename>libc_r</filename> have been increased. On 32-bit 601 platforms, the main thread receives a 2MB stack size by default, 602 with other threads receiving a 1MB stack size by default. On 603 64-bit platforms, the default stack sizes are 4MB and 2MB 604 respectively.</para> 605 606 <para>The <filename>libxpg4</filename> library has been removed 607 because all of its functionality was long ago merged into 608 <filename>libc</filename>. 609 All binaries linked with <filename>libxpg4</filename> 610 must be recompiled or use &man.libmap.conf.5;. 611 Note that the &os; base system has no such binaries.</para> 612 613 <para>A number of new functions have been implemented in the 614 &man.math.3; library. These include &man.ceill.3;, 615 &man.floorl.3;, &man.ilogbl.3;, &man.fma.3; and variants, 616 &man.lrint.3; and variants, and &man.lround.3; and 617 variants. &merged;</para> 618 619 <para>The &man.mknod.8; utility is now deprecated. 620 Device nodes have been managed by the &man.devfs.5; device file 621 system since &os; 5.0.</para> 622 623 <para arch="i386">The &man.mkuzip.8; utility, which 624 compresses file system images for use with 625 <literal>GEOM_UZIP</literal> &man.geom.4; module, 626 has been added. &merged;</para> 627 628 <para>The &man.moused.8; daemon now supports <quote>virtual 629 scrolling</quote>, in which mouse motions made while holding 630 down the middle mouse button are interpreted as scrolling. This 631 feature is enabled with the <option>-V</option> 632 flag. &merged;</para> 633 634 <para>A separate directory has been added for &man.named.8; 635 dynamic zones which is owned by the <username>bind</username> user 636 (for creation of the zone journal file). 637 For more detail, see an example dynamic zone in the sample 638 &man.named.conf.5;. &merged;</para> 639 640 <para>The &man.ncal.1; utility now supports a <option>-m</option> 641 flag to generate a calendar for a specified month in the current 642 year. &merged;</para> 643 644 <para>The &man.newfs.8; utility now supports a <option>-n</option> 645 flag to suppress the creation of a <filename>.snap</filename> 646 directory on new file systems. This feature is intended for use 647 on memory or vnode file systems that will not require snapshot 648 support. &merged;</para> 649 650 <para>The &man.newfs.8; utility now emits a warning when creating 651 a UFS or UFS2 file system that cannot support snapshots. This 652 situation can occur in the case of very large file systems with 653 small block sizes. &merged;</para> 654 655 <para>The &man.newsyslog.8; utility now supports 656 a <option>-d</option> option to specify an alternate root for log files 657 similar to <varname>DESTDIR</varname> in the BSD make process. 658 This only affects log file paths, not configuration file (<option>-f</option>) 659 or archive directory (<option>-a</option>) paths.</para> 660 661 <para>The &man.newsyslog.8; utility now supports a 662 <option>-N</option> that causes it not to rotate any files.</para> 663 664 <para>The <literal>NO_NIS</literal> compile-time knob for userland 665 has been added. As its name implies, enabling this 666 <filename>Makefile</filename> variable will cause NIS support to 667 be excluded from various programs and will cause the NIS 668 utilities to not be built. &merged;</para> 669 670 <para>For years, &os; has used <filename>Makefile</filename> 671 variables of the form 672 <varname>NO<replaceable>FOO</replaceable></varname> and 673 <varname>NO_<replaceable>FOO</replaceable></varname>. For 674 consistency, those variables using the former naming convention 675 have been converted to the 676 <varname>NO_<replaceable>FOO</replaceable></varname> form. The 677 file <filename>/usr/share/mk/bsd.compat.mk</filename> has a 678 complete list of these variables; it also implements some 679 temporary backward compatibility for the old names.</para> 680 681 <para>The &man.periodic.8; security output now supports to display 682 information about blocked packet counts by &man.pf.4;. &merged;</para> 683 684 <para>The &man.ppp.8; program now implements an 685 <option>echo</option> parameter, which allows LCP ECHOs to be 686 enabled independently of LQR reports. Older versions of 687 &man.ppp.8; would revert to LCP ECHO mode on negotiation 688 failure. It is now necessary to specify <command>enable 689 echo</command> to get this behavior. &merged;</para> 690 691 <para><option>disable NAS-IP-Address</option> and 692 <option>disable NAS-Identifier</option> options 693 which support pre-RFC 2865 RADIUS servers 694 have been added to the &man.ppp.8; program.</para> 695 696 <para>Two bugs in the &man.pppd.8; program has been fixed. 697 They may result in an incorrect CBCP response 698 which violates the Microsoft PPP Callback Control Protocol 699 section 3.2. &merged;</para> 700 701 <para>The &man.rescue.8; utilities in the <filename>/rescue</filename> 702 directory now includes &man.bsdtar.1; instead of GNU tar.</para> 703 704 <para>The &man.rm.1; utility now supports an <option>-I</option> 705 option that asks for confirmation (once) if recursively 706 removing directories or if more than 3 files are listed in the 707 command line. &merged;</para> 708 709 <para>The &man.rm.1; utility now suppresses diagnostic messages 710 when it attempts to remove a non-existent directory 711 with the <option>-r</option> and <option>-f</option> options 712 specified. This behavior is required by 713 Version 3 of the Single UNIX Specification (SUSv3).</para> 714 715 <para>An &man.rpmatch.3; library function has been added to check 716 a string for being an affirmative or negative response in the 717 current locale.</para> 718 719 <para>The &man.rtld.1; dynamic linker now supports specifying 720 library replacements via the <varname>LD_LIBMAP</varname> 721 environment variable. This variable will override the entries 722 in &man.libmap.conf.5;. &merged;</para> 723 724 <para>The rune(3) non-standard multibyte and wide character support 725 interface has been removed.</para> 726 727 <para>The &man.strftime.3; function now supports some GNU extensions 728 such as <literal>-</literal> (no padding), 729 <literal>_</literal> (use space as padding), 730 and <literal>0</literal> (zero padding). &merged;</para> 731 732 <para>The &man.syslog.3; function is now thread-safe. &merged;</para> 733 734 <para>The &man.syslogd.8; utility now opens an additional domain 735 socket (<filename>/var/run/logpriv</filename> by default), 736 with <literal>0600</literal> permissions to be used 737 by privileged programs. This prevents privileged 738 programs from locking when the domain sockets 739 run out of buffer space due to a 740 local denial-of-service attack. &merged;</para> 741 742 <para>The &man.systat.1; <option>-netstat</option> display is now 743 IPv6-aware. &merged;</para> 744 745 <para>The <option>-f</option> option of &man.tail.1; utility 746 now supports more than one file at a time. &merged;</para> 747 748 <para>The &man.telnet.1; and &man.telnetd.8; programs now support 749 the <option>-S</option> option for specifying a numeric TOS 750 byte.</para> 751 752 <para>Prepending a <literal>+</literal> character to port numbers 753 passed to &man.telnet.1; program will now disable option 754 negotiation and allow the transfer of characters with the high 755 bit set. This feature is intended to support the fairly common 756 use of &man.telnet.1; as a protocol tester.</para> 757 758 <para>The &man.tcpdrop.8; command, which closes a selected TCP 759 connection, has been added. It was obtained from 760 OpenBSD.</para> 761 762 <para>&man.whois.1; now supports 763 a <option>-k</option> flag 764 for querying <hostid role="fqdn">whois.krnic.net</hostid> 765 (the National Internet Development Agency of Korea), 766 which holds details of IP address allocations within 767 Korea. &merged;</para> 768 769 <para>The <option>-I</option> option of the &man.xargs.1; command 770 has been changed to confirm IEEE Std 1003.1-2004. 771 The standard requires that the constructed 772 arguments cannot grow larger than 255 bytes.</para> 773 774 <sect3 id="rc-scripts"> 775 <title><filename>/etc/rc.d</filename> Scripts</title> 776 777 <para>&man.rc.conf.5; now supports changes of network interface names 778 at boot time. &merged; For example:</para> 779 780 <programlisting>ifconfig_fxp0_name="net0" 781ifconfig_net0="inet 10.0.0.1/16"</programlisting> 782 783 <para>The <filename>rc.d/moused</filename> script now 784 starts/stops/checks a specific device when 785 the device name is given as the second argument to the script:</para> 786 787 <screen>&prompt.root; /etc/rc.d/moused start ums0</screen> 788 789 <para>To use different &man.rc.conf.5; knobs with different 790 mice, use the device name as part of the knob. 791 For example, if the mouse device is <filename>/dev/ums0</filename> 792 the following lines can be used:</para> 793 794 <programlisting>moused_ums0_enable=yes 795moused_ums0_flags="-z 4" 796moused_ums0_port="/dev/ums0"</programlisting> 797 798 <para>&man.rc.conf.5; now supports the <varname>tmpmfs_flags</varname> 799 and <varname>varmfs_flags</varname> variables. 800 These can be used to pass extra options to the &man.mdmfs.8; utility, 801 to customize the finer details of the &man.md.4; file system creation, 802 such as to turn on/off softupdates, to specify a default owner 803 for the file system, and so on. &merged;</para> 804 805 </sect3> 806 </sect2> 807 808 <sect2 id="contrib"> 809 <title>Contributed Software</title> 810 811 <para><application>FILE</application> has been updated from 4.10 812 to 4.12.</para> 813 814 <para><application>GNU readline</application> has been updated from 815 version 4.3 to version 5.0.</para> 816 817 <para><application>Heimdal</application> has been updated from 818 0.6.1 to 0.6.3. &merged;</para> 819 820 <para><application>lukemftp</application> has been updated from a 821 26 April 2004 snapshot from OpenBSD's sources to a snapshot as 822 of 19 February 2005.</para> 823 824 <para>A snapshot of <application>netcat</application> from OpenBSD 825 as of 4 February 2005 has been added. More information can be 826 found in the &man.nc.1; manual page. &merged;</para> 827 828 <para><application>OpenPAM</application> has been updated from the 829 Eelgrass release to the Feterita release.</para> 830 831 <para><application>OpenSSH</application> has been updated from 3.8p1 832 to 3.9p1.</para> 833 834 <para><application>OpenSSL</application> has been updated from 835 0.9.7d to 0.9.7e. &merged;</para> 836 837 <para><application>sendmail</application> has been updated from 838 version 8.13.1 to version 8.13.3. &merged;</para> 839 840 <para>The timezone database has been updated from the 841 <application>tzdata2004e</application> release to the 842 <application>tzdata2004g</application> release. &merged;</para> 843 844 </sect2> 845 846 <sect2 id="ports"> 847 <title>Ports/Packages Collection Infrastructure</title> 848 849 <para>The &man.pkg.version.1; utility now supports a 850 <option>-q</option> flag to suppress the output of the port 851 version comparison characters <literal><</literal>, 852 <literal>=</literal>, and <literal>></literal>.</para> 853 854 <para>The 855 <filename>ports/INDEX<replaceable>*</replaceable></filename> 856 files, which kept an index of all of the entries in the ports 857 collection, have been removed from the CVS repository. &merged; 858 These files were generated only infrequently, and therefore were 859 usually out-of-date and inaccurate. Users requiring an index 860 file (such as for use by programs such as &man.portupgrade.1;) 861 have two alternatives for obtaining a copy:</para> 862 863 <itemizedlist> 864 <listitem> 865 <para>Build an index file based on the current ports tree by 866 running <command>make index</command> from the top of the 867 <filename>ports/</filename> tree.</para> 868 </listitem> 869 870 <listitem> 871 <para>Fetch an index file over the network by running 872 <command>make fetchindex</command> from the top of the 873 <filename>ports/</filename> tree. This index file will 874 (typically) be accurate to within a day.</para> 875 </listitem> 876 </itemizedlist> 877 878 </sect2> 879 880 <sect2 id="releng"> 881 <title>Release Engineering and Integration</title> 882 883 <para>In prior &os; releases, the <filename>disc1</filename> 884 CD-ROM (or ISO image) was a bootable installation disk 885 containing the base system, ports tree, and common packages. 886 The <filename>disc2</filename> CD-ROM (or ISO image) was a 887 bootable <quote>fix it</quote> disk with a live filesystem, to 888 be used for making emergency repairs. This layout has now 889 changed. For all architectures except ia64, the 890 <filename>disc1</filename> image now contains the base system 891 distribution files, ports tree, and the live filesystem, making 892 it suitable for both an initial installation and repair 893 purposes. (On the ia64, the live filesystem is on a separate 894 disk due to its size.) Packages appear on separate 895 disks. &merged;</para> 896 897 <para>The supported version of the 898 <application>GNOME</application> desktop environment has been 899 updated from 2.6.2 to 2.8.3. &merged; 900 901 <note> 902 <para>Users of older versions of the 903 <application>GNOME</application> desktop 904 (<filename role="package">x11/gnome2</filename>) 905 must take particular care in upgrading. Simply upgrading it 906 from the &os; Ports Collection with &man.portupgrade.1; 907 (<filename role="package">sysutils/portupgrade</filename>) 908 will cause serious problems. 909 <application>GNOME</application> desktop users should read 910 the instructions carefully at 911 <ulink url="&url.base;/gnome/docs/faq28.html"></ulink> 912 and use the 913 <ulink url="&url.base;/gnome/gnome_upgrade.sh"><filename>gnome_upgrade.sh</filename></ulink> 914 script to properly upgrade to 915 <application>GNOME</application> 2.8.3.</para> 916 917 <para>For casual users of the various 918 <application>GNOME</application> libraries, 919 &man.portupgrade.1; should be sufficient.</para> </note> 920 </para> 921 922 <para>The supported version of the <application>KDE</application> 923 desktop environment has been updated from 3.3.0 to 924 3.3.2. &merged;</para> 925 926 <para>The supported version of <application>Xorg</application> has 927 been updated from 6.7.0 to 6.8.1. &merged;</para> 928 929 </sect2> 930 931 <sect2 id="doc"> 932 <title>Documentation</title> 933 934 <para>Manual pages in the base system have received a number of 935 cleanups, both for content and presentation. Cross-references 936 are more correct and consistent, standard section headings are 937 now used throughout, and markup has been cleaned up.</para> 938 939 </sect2> 940</sect1> 941 942<sect1 id="upgrade"> 943 <title>Upgrading from previous releases of &os;</title> 944 945 <para>Source upgrades to &os; &release.current; are only supported 946 from &os; 5.3-RELEASE or later. Users of older systems wanting to 947 upgrade &release.current; will need to update to &os; 5.3 or newer 948 first, then to &os; &release.current;.</para> 949 950 <important> 951 <para>Upgrading &os; should, of course, only be attempted after 952 backing up <emphasis>all</emphasis> data and configuration 953 files.</para> 954 </important> 955</sect1> 956