]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - release/doc/en_US.ISO8859-1/relnotes/article.xml
Mention TRIM support for ZFS.
[FreeBSD/FreeBSD.git] / release / doc / en_US.ISO8859-1 / relnotes / article.xml
1 <?xml version="1.0" encoding="iso-8859-1"?>
2 <!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V5.0-Based Extension//EN"
3         "../../../share/xml/freebsd50.dtd" [
4 <!ENTITY % release PUBLIC "-//FreeBSD//ENTITIES Release Specification//EN" "release.ent">
5  %release;
6 ]>
7 <article xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0">
8 <info><title>&os; &release.current; Release Notes</title>
9   
10
11   <author><orgname>The &os; Project</orgname></author>
12
13   <pubdate>$FreeBSD$</pubdate>
14
15   <copyright>
16     <year>2000</year>
17     <year>2001</year>
18     <year>2002</year>
19     <year>2003</year>
20     <year>2004</year>
21     <year>2005</year>
22     <year>2006</year>
23     <year>2007</year>
24     <year>2008</year>
25     <year>2009</year>
26     <year>2010</year>
27     <year>2011</year>
28     <year>2012</year>
29     <year>2013</year>
30     <holder role="mailto:doc@FreeBSD.org">The &os; Documentation Project</holder>
31   </copyright>
32
33   <legalnotice xml:id="trademarks" role="trademarks">
34     &tm-attrib.freebsd;
35     &tm-attrib.ibm;
36     &tm-attrib.ieee;
37     &tm-attrib.intel;
38     &tm-attrib.sparc;
39     &tm-attrib.general;
40   </legalnotice>
41
42   <abstract>
43     <para>The release notes for &os; &release.current; contain a summary
44       of the changes made to the &os; base system on the
45       &release.branch; development line.
46       This document lists applicable security advisories that were issued since
47       the last release, as well as significant changes to the &os;
48       kernel and userland.
49       Some brief remarks on upgrading are also presented.</para>
50   </abstract>
51 </info>
52
53 <sect1 xml:id="intro">
54   <title>Introduction</title>
55
56   <para>This document contains the release notes for &os;
57     &release.current;.  It
58     describes recently added, changed, or deleted features of &os;.
59     It also provides some notes on upgrading
60     from previous versions of &os;.</para>
61
62   <para releasetype="current">The &release.type; distribution to which these release notes
63     apply represents the latest point along the &release.branch; development
64     branch since &release.branch; was created.  Information regarding pre-built, binary
65     &release.type; distributions along this branch
66     can be found at <uri xlink:href="&release.url;">&release.url;</uri>.</para>
67
68   <para releasetype="snapshot">The &release.type; distribution to which these release notes
69     apply represents a point along the &release.branch; development
70     branch between &release.prev; and the future &release.next;.
71     Information regarding
72     pre-built, binary &release.type; distributions along this branch
73     can be found at <uri xlink:href="&release.url;">&release.url;</uri>.</para>
74
75   <para releasetype="release">This distribution of &os; &release.current; is a
76     &release.type; distribution.  It can be found at <uri xlink:href="&release.url;">&release.url;</uri> or any of its mirrors.  More
77     information on obtaining this (or other) &release.type;
78     distributions of &os; can be found in the <link xlink:href="&url.books.handbook;/mirrors.html"><quote>Obtaining
79     &os;</quote> appendix</link> to the <link xlink:href="&url.books.handbook;/">&os;
80     Handbook</link>.</para>
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 xml: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;,
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 xml:id="security">
114     <title>Security Advisories</title>
115
116     <para/>
117
118   </sect2>
119
120   <sect2 xml:id="kernel">
121     <title>Kernel Changes</title>
122
123     <para arch="amd64" revision="245652">The BSD Hypervisor, &man.bhyve.8; is included
124       with &os;.  &man.bhyve.8; requires Intel CPUs with VT-x and Extended Page Table (EPT)
125       support. These features are on all Nehalem models and beyond
126       (e.g. Nehalem and newer), but not on the lower-end Atom CPUs.</para> 
127
128     <para arch="amd64">The maximum amount of memory the &os; kernel
129       can address has been increased from 1TB to 4TB.</para>
130
131     <para>A new &man.cpuset.2; API has been added
132       for thread to CPU binding and CPU resource grouping and
133       assignment.  The &man.cpuset.1; userland utility has been added
134       to allow manipulation of processor sets.</para>
135
136     <para role="merged">The &man.ddb.4; kernel debugger now has an output capture
137       facility.  Input and output from &man.ddb.4; can now be captured
138       to a memory buffer for later inspection using &man.sysctl.8; or
139       a textdump.  The new <command>capture</command> command controls
140       this feature.</para>
141
142     <para role="merged">The &man.ddb.4; debugger now supports a simple scripting
143       facility, which supports a set of named scripts consisting of a
144       set of &man.ddb.4; commands.  These commands can be managed from
145       within &man.ddb.4; or with the use of the new &man.ddb.8;
146       utility.  More details can be found in the &man.ddb.4; manual
147       page.</para>
148
149     <para role="merged">The kernel now supports a new textdump format of kernel
150       dumps.  A textdump provides higher-level information via
151       mechanically generated/extracted debugging output, rather than a
152       simple memory dump.  This facility can be used to generate brief
153       kernel bug reports that are rich in debugging information, but
154       are not dependent on kernel symbol tables or precisely
155       synchronized source code.  More information can be found in the
156       &man.textdump.4; manual page.</para>
157
158     <para>Kernel support for M:N threading has been removed.  While
159       the KSE (Kernel Scheduled Entities) project was quite successful
160       in bringing threading to FreeBSD, the M:N approach taken by the
161       KSE library was never developed to its full potential.
162       Backwards compatibility for applications using KSE threading
163       will be provided via &man.libmap.conf.5; for dynamically linked
164       binaries.  The &os; Project greatly appreciates the work of
165       &a.julian;, &a.deischen;, and &a.davidxu; on KSE support.</para>
166
167     <para>The &os; kernel now exports information about certain kernel
168       features via the <varname>kern.features</varname> sysctl tree.
169       The &man.feature.present.3; library call provides a convenient
170       interface for user applications to test the presence of
171       features.</para>
172
173     <para arch="amd64">The &os; kernel now has support for large
174       memory page mappings (<quote>superpages</quote>).</para>
175
176     <para arch="amd64,i386,ia64,powerpc" role="merged">The ULE
177       scheduler is now the default process scheduler
178       in <filename>GENERIC</filename> kernels.</para>
179
180     <sect3 xml:id="boot">
181       <title>Boot Loader Changes</title>
182
183       <para arch="amd64,i386" role="merged">The BTX kernel used by the boot
184         loader has been changed to invoke BIOS routines from real
185         mode.  This change makes it possible to boot &os; from USB
186         devices.</para>
187
188       <para arch="amd64,i386" role="merged">A new gptboot boot loader has
189         been added to support booting from a GPT labeled disk.  A
190         new <command>boot</command> command has been added to
191         &man.gpt.8;, which makes a GPT disk bootable by writing the
192         required bits of the boot loader, creating a new boot
193         partition if required.</para>
194
195     </sect3>
196
197     <sect3 xml:id="proc">
198       <title>Hardware Support</title>
199
200       <para role="merged">The &man.cmx.4; driver, a driver for Omnikey CardMan 4040
201         PCMCIA smartcard readers, has been added.</para>
202
203       <para>The &man.syscons.4; driver now supports Colemak keyboard layout.</para>
204
205       <para role="merged">The &man.uslcom.4; driver, a driver for Silicon
206         Laboratories CP2101/CP2102-based USB serial adapters, has been
207         imported from OpenBSD.</para>
208
209       <sect4 xml:id="mm">
210         <title>Multimedia Support</title>
211
212         <para>Support for version 2.0 of the USB Audio reference design
213           has been added. New devices should support higher bandwidth,
214           increased sampling frequency and wider dynamic range.</para>
215
216       </sect4>
217
218       <sect4 xml:id="net-if">
219         <title>Network Interface Support</title>
220
221         <para>The &man.ale.4; driver has been added to provide support
222           for Atheros AR8121/AR8113/AR8114 Gigabit/Fast Ethernet controllers.</para>
223
224         <para>The &man.em.4; driver has been split into two drivers
225           with some common parts.  The &man.em.4; driver will continue
226           to support adapters up to the 82575, as well as new
227           client/desktop adapters.  A new &man.igb.4; driver
228           will support new server adapters.</para>
229
230         <para>The &man.jme.4; driver has been added to provide support
231           for PCIe network adapters based on JMicron JMC250 Gigabit
232           Ethernet and JMC260 Fast Ethernet controllers.</para>
233
234         <para>The &man.malo.4; driver has been added to provide
235           support for Marvell Libertas 88W8335 based PCI network
236           adapters.</para>
237
238         <para>The firmware for the &man.mxge.4; driver has been
239           updated from 1.4.25 to 1.4.29.</para>
240
241         <para>The &man.sf.4; driver has been overhauled to improve its
242           performance and to add support for checksum offloading.  It
243           should also work on all architectures.</para>
244
245         <para>The &man.re.4; driver has been overhauled to fix a
246           number of issues.  This driver now has Wake On LAN (WOL)
247           support.</para>
248
249         <para>The &man.vr.4; driver has been overhauled to fix a
250           number of outstanding issues.  It also now works on all
251           architectures.</para>
252
253         <para arch="amd64,i386" role="merged">The &man.wpi.4; driver has
254           been updated to include a number of stability fixes.</para>
255
256         <para revision="248925">The &man.cxgbe.4; driver has been updated to support
257           40G/10G Ethernet NICs based on Chelsio's Terminator 5 (T5) ASIC.</para>
258
259         <para revision="256694">The iw_cxgbe driver has been added.  This is an
260           experimental iWARP/RDMA driver
261           (kernel verbs only) for Chelsio's T4 and T5 based cards.</para>
262
263         <para revision="255932">The Open Fabrics Enterprise Distribution (OFED) and
264           OFED Infiniband core has been
265           updated to the same version as supplied by Linux version 3.7</para>
266
267         <para revision="255932">The Mellanox Infiniband driver has been updated to firmware
268           version 2.30.3200 for ConnectX3 NICs.  Support has been added for ConnectX3 VPI NICs, where
269           each port can be used as Infiniband 56 GB/s or Ethernet 40 GB/s.  Support has been added
270           for dynamically loading kernel modules for Infiniband core (ibcore) and
271           IP over Infiniband (ipoib).</para>
272
273       </sect4>
274     </sect3>
275
276     <sect3 xml:id="net-proto">
277       <title>Network Protocols</title>
278
279       <para>&man.carp.4; has been rewritten to make addresses
280         more sane from the viewpoint of routing daemons such as
281         quagga/zebra. It also brings support for a single redundant
282         address on the subnet (carpdev), switching state with
283         ifconfig, better locking and using modern kernel
284         interfaces to allocate multicast memberships.</para>
285
286       <para>The &man.pf.4; firewall now supports fine-grain locking
287         and better utilization on multi-cpu machines resulting in
288         significant improvements in performance.</para>
289
290       <para>Support for up to 65536 routing tables has been
291         introduced.</para>
292
293       <para>Support for setting/matching differentiated services
294         codepoints (DSCP) in IP header has been added to
295         &man.ipfw.8;.</para>
296
297     </sect3>
298
299     <sect3 xml:id="disks">
300       <title>Disks and Storage</title>
301
302       <para role="merged">The &man.aac.4; driver now supports volumes larger than
303         2TB in size.</para>
304
305       <para>The &man.ata.4; driver now supports a spindown command for
306         disks; after a configurable amount of time, if no requests
307         have been received for a disk, the disk will be spun down
308         until the next request.  The &man.atacontrol.8; utility now
309         supports a <command>spindown</command> command to configure
310         this feature.</para>
311
312       <para role="merged">The &man.hptrr.4; driver has been updated to version 1.2
313         from Highpoint.</para>
314
315     </sect3>
316
317     <sect3 xml:id="fs">
318       <title>File Systems</title>
319
320       <para revision="255570">A new kernel-based iSCSI target and initiator has been
321         added</para>
322
323       <para>UFS filesystems can now be enlarged with &man.growfs.8; while
324         mounted read-write. This is especially useful for virtual
325         machines, allowing the addition of more harddrive space without
326         interruption of service.</para>
327
328       <para>A state of the art FUSE implementation is now part of the
329         base system. It allows the use of nearly all fusefs file
330         systems</para>
331
332       <para>Support for the high performance LZ4 compression algorithm
333         has been added to ZFS. LZ4 is usually faster and can achieve a
334         higher compression ratio than LZJB, the default compression
335         algorithm</para>
336
337       <para>Support for L2ARC compression has been added to ZFS.</para>
338
339       <para>ZFS will now compare the checksums of incoming writes to
340         the checksum of the existing on-disk data and avoid issuing any
341         write I/O for data that has not changed. This will reduce I/O
342         as well as space usage because if the old block is referenced
343         by a snapshot, both copies of the block are kept even though
344         both contain the same data.</para>
345
346       <sect4 xml:id="fs-zfs">
347         <title>ZFS</title>
348
349         <para revision="240868">TRIM support has been added for
350           ZFS.</para>
351
352       </sect4>
353
354     </sect3>
355
356   </sect2>
357
358   <sect2 xml:id="userland">
359     <title>Userland Changes</title>
360
361    <para revision="255321">On platforms where &man.clang.1; is the default
362       system compiler, (such as i386, amd64, arm) GCC and GNU libstdc++ are no
363       longer built by default.  &man.clang.1; and libc++ from LLVM are used on
364       these platforms by instead.  GCC 4.2.1 and libstdc++ are still built
365       and used by default on pc98 and all other platforms where &man.clang.1;
366       is not the default system compiler.
367    </para>
368
369    <para revision="251662">&man.clang.1; and llvm have been updated to
370      version 3.3 release.  Please refer to
371      <link xlink:href="http://llvm.org/releases/3.3/tools/clang/docs/ReleaseNotes.html">
372      Clang 3.3 Release Notes.</link></para>
373
374     <para role="merged" revision="255949">BIND has been replaced by &man.unbound.8; for
375       local dns resolution in the base system.  With this change, nslookup
376       and dig are no longer a part of the base system.  Users should
377       instead use &man.host.1; and &man.drill.1; Alternatively,
378       nslookup and dig can be obtained by installing the
379       dns/bind-tools port.</para>
380
381     <para role="merged">The &man.adduser.8; utility now supports
382       a <option>-M</option> option to set the mode of a new user's
383       home directory.</para>
384
385     <para>BSD-licensed versions of &man.ar.1; and &man.ranlib.1;,
386       based on <filename>libarchive</filename>, have replaced the GNU
387       Binutils versions of these utilities.</para>
388
389     <para>BSD-licensed versions of &man.bc.1; and &man.dc.1; have
390       replaced their GNU counterparts.</para>
391
392     <para role="merged">&man.chflags.1; now supports a <option>-v</option> flag for
393       verbose output and a <option>-f</option> flag to ignore errors
394       with the same semantics as (for example)
395       &man.chmod.1;.</para>
396
397     <para>For compatibility with other implementations, &man.cp.1; now
398       supports a <option>-a</option> flag, which is equivalent to
399       specifying the <option>-RrP</option> flags.</para>
400
401     <para>BSD-licensed version of &man.cpio.1; based on
402       <filename>libarchive</filename>, has replaced the GNU cpio.
403       Note that the GNU cpio is still installed as
404       <filename>gcpio</filename>.</para>
405
406     <para>The &man.env.1; program now supports <option>-u
407       <replaceable>name</replaceable></option>
408       which will completely unset the given variable
409       <replaceable>name</replaceable> by removing it from the environment,
410       instead of just setting it to a null value.</para>
411
412     <para>The &man.fdopendir.3; library function has been added.</para>
413
414     <para role="merged">The &man.fetch.3; library now support HTTP 1.1
415       If-Modified-Since behavior.  The &man.fetch.1; program now
416       supports <option>-i <replaceable>filename</replaceable></option>
417       which will only download the specified HTTP URL if the content
418       is newer than <replaceable>filename</replaceable>.</para>
419
420     <para>&man.find.1; has been enhanced by the addition of a number
421       of primaries that were present in GNU find but not &os;
422       &man.find.1;.</para>
423
424     <para>&man.kgdb.1; now supports a new <command>add-kld</command>
425       command to make it easier to debug crash dumps with kernel
426       modules.</para>
427
428     <para>The &man.ls.1; program now supports a <option>-D</option>
429       option to specify a date format string to be used with the long
430       format (<option>-l</option>) output.</para>
431
432     <para>&man.nc.1; now supports a <option>-O</option> switch to
433       disable the use of TCP options.</para>
434
435     <para>&man.nc.1;'s <option>-o</option> switch has been deprecated.
436       It will be removed in a future release.</para>
437
438     <para>The &man.ping6.8; utility now returns <literal>2</literal>
439       when the packet transmission was successful but no responses
440       were received (this is the same behavior as &man.ping.8;).
441       It returned a non-zero value before this change.</para>
442
443     <para>The &man.procstat.1; utility has been added to display
444       detailed information about processes.</para>
445
446     <para role="merged">The &man.realpath.1; utility now supports
447       a <option>-q</option> flag to suppress warnings; it now also
448       accepts multiple paths on its command line.</para>
449
450     <para>&man.sh.1; has many bug fixes, some new features, and will now
451       refuse to parse some invalid scripts.  Additionally, it now
452       has filename completion and defaults to the &quot;emacs&quot; editing
453       mode.</para>
454
455     <para>The &man.split.1; utility now supports a <option>-n</option>
456       flag to split a file into a certain number of chunks.</para>
457
458     <para>The &man.tar.1; utility now supports a <option>-Z</option>
459       flag to enable &man.compress.1;-style
460       compression/decompression.</para>
461
462     <para>The &man.tar.1; utility now supports a
463       <option>--numeric-owner</option> flag to ignore user/group names
464       on create and extract.</para>
465
466     <para>The &man.tar.1; utility now supports an
467       <option>-S</option> flag to sparsify files on extraction.</para>
468
469     <para>The &man.tar.1; utility now supports a <option>-s</option>
470       flag to substitute filenames based on the specified regular
471       expression.</para>
472
473     <para>The &man.tcgetsid.3; library function has been added to
474       return the process group ID for the session leader for the
475       controlling terminal.  It is defined in IEEE Std 1003.1-2001
476       (POSIX).</para>
477
478     <para>&man.top.1; now supports a <option>-P</option> flag to
479       provide per-CPU usage statistics.</para>
480
481     <para>&man.zdump.8; is now working properly on 64 bit architectures.
482       </para>
483
484     <para>&man.traceroute.8; now has the ability to print the AS
485       number for each hop with the new <option>-a</option> switch; a
486       new <option>-A</option> option allows selecting a particular
487       WHOIS server.</para>
488
489     <para>&man.traceroute6.8; now supports a <option>-U</option> flag
490       to send probe packets with no upper-layer protocol, rather than
491       the usual UDP probe packets.</para>
492
493     <sect3 xml:id="rc-scripts">
494       <title><filename>/etc/rc.d</filename> Scripts</title>
495
496       <para/>
497
498     </sect3>
499   </sect2>
500
501   <sect2 xml:id="contrib">
502     <title>Contributed Software</title>
503
504     <para role="merged"><application>AMD</application> has been updated from 6.0.10
505       to 6.1.5.</para>
506
507     <para role="merged"><application>awk</application> has been updated from 1 May
508       2007 release to the 23 October 2007 release.</para>
509
510     <para role="merged"><application>bzip2</application> has been updated from 1.0.4
511       to 1.0.5.</para>
512
513     <para><application>CVS</application> has been removed from the
514     base system, but is still available from ports</para>
515
516     <para><application>FILE</application> has been updated from 4.23
517       to 5.03.</para>
518
519     <para><application>hostapd</application> has been
520       updated from 0.5.8 to 0.5.10.</para>
521
522     <para><application>IPFilter</application> has been updated from
523       4.1.23 to 4.1.28.</para>
524
525     <para><application>less</application> has been updated from
526       v408 to v429.</para>
527
528     <para><application>ncurses</application> has been updated from
529       5.6-20061217 to 5.6-20080503.</para>
530
531     <para role="merged"><application>OpenSSH</application> has been updated
532       from 4.5p1 to 5.1p1.</para>
533
534     <para role="merged"><application>OpenPAM</application> has been updated from the
535       Figwort release to the Hydrangea release.</para>
536
537     <para role="merged"><application>sendmail</application> has been updated from
538       8.14.1 to 8.14.7.</para>
539
540     <para role="merged">The timezone database has been updated from
541       the <application>tzdata2008h</application> release to
542       the <application>tzdata2009m</application> release.</para>
543
544     <para>The stdtime part of libc, &man.zdump.8; and &man.zic.8;
545       have been updated from the <application>tzcode2004a</application>
546       release to the <application>tzcode2009h</application> release.
547       If you have upgraded from source or via the &man.freebsd-update.8;,
548       then please run &man.tzsetup.8; to install a new /etc/localtime.
549       </para>
550
551     <para><application>WPA Supplicant</application> has been
552       updated from 0.5.8 to 0.5.10.</para>
553
554     <para role="merged"><application>xz</application> has been updated
555       from snapshot as of 12 April 2010 to 5.0.0.</para>
556
557   </sect2>
558
559   <sect2 xml:id="ports">
560     <title>Ports/Packages Collection Infrastructure</title>
561
562     <para revision="257444">The pkg_add, pkg_create, pkg_delete, pkg_info,
563       pkg_updating, and pkg_version utilities have been removed.
564       &man.pkg.7; must now be used to install binary packages.  &man.pkg.7;
565       is the next generation &os; package manager, also referred to as "pkgng".</para>
566
567   </sect2>
568
569   <sect2 xml:id="releng">
570     <title>Release Engineering and Integration</title>
571
572     <para role="merged">The supported version of
573       the <application>GNOME</application> desktop environment
574       (<package>x11/gnome2</package>) has been
575       updated from 2.20.1 to 2.22.</para>
576
577   </sect2>
578
579   <sect2 xml:id="doc">
580     <title>Documentation</title>
581
582     <para/>
583
584   </sect2>
585 </sect1>
586
587 <sect1 xml:id="upgrade">
588   <title>Upgrading from previous releases of &os;</title>
589
590   <para arch="amd64,i386">Beginning with &os; 6.2-RELEASE,
591     binary upgrades between RELEASE versions (and snapshots of the
592     various security branches) are supported using the
593     &man.freebsd-update.8; utility.  The binary upgrade procedure will
594     update unmodified userland utilities, as well as unmodified GENERIC or
595     SMP kernels distributed as a part of an official &os; release.
596     The &man.freebsd-update.8; utility requires that the host being
597     upgraded have Internet connectivity.</para>
598
599   <para>Source-based upgrades (those based on recompiling the &os;
600     base system from source code) from previous versions are
601     supported, according to the instructions in
602     <filename>/usr/src/UPDATING</filename>.</para>
603
604   <important>
605     <para>Upgrading &os; should, of course, only be attempted after
606       backing up <emphasis>all</emphasis> data and configuration
607       files.</para>
608   </important>
609 </sect1>
610 </article>