b42f181874e1bf38a6bfba16a9f3d0130f9a1430
[ikiwiki.git] / release24 / index.mdwn
1 # DragonFly Release 2.4 - XXX $date
2
3 The DragonFly 2.4 release is here! XXX release text here
4
5 Three release options are now available:  Our bare-bones CD ISO, a DVD ISO which includes a fully operational X environment, and a bare-bones bootable USB disk-key image (less than 512 M).
6
7 In addition we will for the first time be shipping a 64-bit ISO and USB disk-key image.  64-bit support is stable but there will only be limited
8 pkgsrc support in this release.
9
10 ## Availability
11
12 The release ISO images should be available on most of the [[mirrors|mirrors]]. If the ISO is not available on a certain mirror, please try another one or download it from the DragonFly FTP server.
13
14 ### MD5 sums
15
16 * XXX
17
18 ### pkgsrc packages
19
20 We offer over 6000 pre-built [pkgsrc](http://www.pkgsrc.org) packages for this release.   The [pkg_radd(1)](http://leaf.dragonflybsd.org/cgi/web-man?command=pkg_radd&section=ANY) utility may be used to download pre-built binary packages.  By default this script will query the main package site for a random redirect to one of our mirrors.  The path can be overridden by setting BINPKG_SITES in `/etc/settings.conf`.
21
22 To get a list of all packages, let [pkg_search(1)](http://leaf.dragonflybsd.org/cgi/web-man?command=pkg_search&section=ANY) download the summary file for that release:
23
24     # pkg_search -d
25
26 ## DragonFly 2.4.0 Release Notes
27
28
29 ##<font color="red">THE ORDER OF THE FOLLOWING ITEMS IS (MOSTLY) ALPHABETICALLY. PLEASE TRY TO KEEP THE ORDER IF POSSIBLE!</font>
30
31 ### Release Improvements
32
33 > ### Kernel changes
34
35  * acpi(4): Import acpica-unix-20090521.
36  * acpi(4): Improved power & frequency management for cpus.
37  * acpi(4): Significantly improved APIC support.
38  * buf/bio: New read-prioitizing bioq sort algorithm.  The new algorithm does a much better job
39    prioritizing reads over writes and also contains features to avoid starving-out writes.  It
40    works best with CAM based drivers but NATA uses some of its functionality too.
41  * buf/bio: Make biowait(), getpbuf(), and most other buf/bio functions MPSAFE.
42  * buffer-cache: Improved pipe-lining for writes.
43  * devfs(5): Replaced the static /dev directory with a dynamic device file system written by Alex Hornung during the Google Summer of Code 2009.
44   * All block devices now auto-probe their slices and partitions.
45   * All block devices now auto-probe serial numbers and may be mounted and otherwise referenced by serial number.
46   * Unix98 pty support.
47   * loader.conf now supports specifying the root device by serial number.
48   * Autocloning support for cloning devices such as VN.
49  * ddb(4): Fix an IPI messaging lockup which can occur while in ddb(4).
50  * disklabel64(5): Add UFS + HAMMER boot support (was previously just HAMMER boot support).
51  * drm(4): Sync code with latest from FreeBSD.
52  * ext2fs: Support variable inode size (from FreeBSD).
53  * mountctl/mount -v: New infrastructure for reporting mount flags.
54  * NFS
55   * Rewrite the client-side RPC code.  The kernel now creates two kernel threads
56     for each NFS mount, one handles reading from the socket and the other handles
57     writing to the socket.  A virtually unlimited number of RPCs may be in-flight
58     at any given moment.
59   * Use TCP mounts by default as the new RPC mechanics can now trivally blow
60     out UDP sockbufs.
61   * Hugely improved client-side performance.
62   * Fix fsx test regressions.
63   * Fix linux compatibility issues (fix bugs in readdirplus)
64  * msdos(5): Fixed a number of bugs.
65  * pci(4): Sync code with FreeBSD 7.2.
66  * pipe(2): Pipes are now 100% MPSAFE.
67  * Add new cred/privilege infrastructure for jail and general use.
68  * Consolidate VOP access tests in vop_helper_access().
69  * usched_set: Add USCHED_CPU_GET for retrieving the current CPU.
70  * revoke(2): Reimplemented the revoke code.
71  * pty: Add Unix98 ptys (/dev/ptmx and /dev/pts/*).
72  * sound: add autocloning support for dsp devices.
73  * tcp: Fix a reestablishment bug for TCP connections if one side reboots without
74    closing the connection.  A port pair could wind up becoming unusable for
75    upwards of an hour or longer.
76  * tcp: Improve performance by implementing an automatic high-water mark when
77    it is not otherwise specified, allowing hysteresis between the kernel and
78    the tcp protocol stack.
79  * tsleep: New tsleep interlock mechanics implemented to fix races.
80  * vkernel(7)
81   * Fix entry into ddb(4) when running a SMP vkernel.  Fixes stop/cont.
82   * Fix startup race with I/O cothread support.
83   * Fix some issues - enable ithread preemption, races, and more.
84   * Fix races in stopsig() and ipisig().
85   * libkvm now understands live vkernels.
86   * libkvm: Add support for accessing a running vkernel's memory by reading its `/proc/$pid/mem` file.
87  * vn(4): Add autocloning support
88  * Fix permissions check for utimes() - owner can call even if u-w.
89  * Replace the old BSD malloc code with a port of our slab allocator.
90  * Fix various clang compile issues
91  * Add HPET cputimer.
92  * Add lapic timer and enable it by default.
93  * Add kernel-layer support for chflags checks, remove (most) from the VFS layer.
94
95 > ### HAMMER changes
96
97  * Return shorter-form softlinks "@@-1:%05d" when appropriate.
98  * Add a B-Tree rebalancing feature (hammer rebalance).
99  * Fix improper cred checks for utimes().
100  * Fix edge case in mirroring code.
101  * Fix nohistory mounts and a rare lost inode issue.
102  * Fix sticky bit directory handling for deletions.
103  * Break-up initial mirroring batch so restarts do not start from scratch.
104  * Better CRC handling, bad-file handling.
105  * Refactor merged search function to try to avoid missed entries.
106  * Limit recursion for long directory chains, update mtime/ctime.
107  * Improve performance for large write loads
108  * Improve directory layout (in-place upgrade to version 2)
109  * Allow hammer -b to specify bytes per second if no suffix is supplied
110  * Extract PFS null mounts from anywhere in the filesystem, instead of just from the `/pfs` subdirectory.
111  * Add hammer info directive which prints useful info about a hammer filesystem.
112
113 > ### Hardware changes (non-networking)
114
115  * ath(4): Add open source HAL code (from FreeBSD) and make it possible to build it into the kernel.
116  * cxm(4): Add new driver for Hauppauge PVR-250/350 video capture cards (from FreeBSD).
117  * kbdmux(4): Add multiple keyboards on the console via keyboard multiplexer (from FreeBSD).
118  * mpi(4): Sync the driver with the latest version from FreeBSD.
119  * mpt(4): Sync the driver with the latest version from FreeBSD.
120  * ahci(4): Implement a native AHCI driver with full hot-plug and port multiplier support.
121    Also implement ATA pass-through.  Uses CAM.
122  * sili(4): Implement a native Silicon Image 3132 driver with full hot-plug and port multiplier support.
123    Also implement ATA pass-through.  Uses CAM.
124
125 > ### Hardware changes (networking)
126
127  * ae(4): Add driver for Attansic/Atheros L2 FastEthernet (from FreeBSD).
128  * bpf(4): Add autocloning support
129  * em(4): Synced with Intel's em-6.9.6 (from FreeBSD).
130  * emx(4): Copy of em(4) which supports only 8257{1,2,3} parts.
131  * iwi(4): Upgrade to use 3.0 firmware and use firmware(9) API to load firmware.
132  * mxge(4): Add driver for mxge 10GigE (from FreeBSD + major adjustments)
133  * tap(4): Add ifclone support and autoclone support.
134  * vke(4): Convert from kqueue API to cothread API.
135  * Turn on adaptive MPSAFE for network threads, and MPSAFE for IP and ARP.
136  * RSS: Add Toeplitz hash function.
137  * Split ifnet serializer.
138  * Add ifpoll, which support hardware TX/RX queues based polling.
139
140 > ### Userland changes
141
142  * Fix a huge number of compiler warnings for various userland utilities.
143  * battd(8): Fix some errors and improve the man page
144  * compilers.conf(5): This file allows to configure ''external'' compilers (e.g. LLVM/clang) for usage with the DragonFly build(7) system.
145  * cpdup(1): Allow uid/gid/flags changes to fail if running as user
146  * env(1): unbreak build of 2.2 release branch under HEAD
147  * expr(1): Add support for -- as required by POSIX
148  * fetch(1): Synced with FreeBSD.
149  * devtab: As devfs(5) support access to devices via serial numbers, `/etc/devtab` can be used to map serial number to human readable labels.
150  * devfsctl(1): New utility to add/remove/control devfs(5) rules.
151  * dma(1): The DragonFly Mail Agent is now more robust and reliable.
152  * ifconfig(8): Add static ARP support.
153  * installer: Fix the bug when used from console with the LiveDVD.
154  * installer: Fixed various bugs and cleaned the code.
155  * libc
156   * Synced various parts with FreeBSD and NetBSD.
157   * Add some new system calls.
158   * Add locale support for static binaries.
159   * Apply FreeBSD-SA-09:07.libc - fix information leak in db(3).
160  * libfetch(3): Synced with FreeBSD.
161  * libiconv: Add support for static binaries.
162  * libm
163   * Imported complex arithmetic functions from {Net,Free}BSD.
164   * Imported maximum, minimum, and positive difference functions from FreeBSD.
165  * magic(3): Fix program name extraction from core dumps.
166  * mount_msdos(8): Add UTF8 support.
167  * mount_ntfs(8): Add UTF8 support.
168  * ncal(1): Highlight current day (from FreeBSD).
169  * pax(1): Add a -O option: force one volume (from NetBSD).
170  * pkgsrc: pkgsrc GIT repo now shipped instead of CVS repo.
171  * telnetd(8): Apply FreeBSD-SA-09:05.telnet - fix environment based code execution vulnerability.
172  * window(1): Synced with NetBSD.
173  * vkentd(8): Add features, allow IP address to be set in unsecure mode, allow address 0.
174  * smbfs(8): Add UTF8 support.
175  * syslogd(8): Sync with FreeBSD.
176  * telnet(1): Autologin is now disabled by default.
177  * undo(1)
178   * Fix @@ formatting used by undo -ad and fix duplicate test
179   * Use a Red-Black tree to track HAMMER transaction IDs.
180   * It can now detect all prior replacements of a file.
181   * Add an indexing feature to the -t option.
182  * unix98 ptys
183   * Implement posix_openpt, ptsname, grantpt, unlockpt
184   * Change openpty(3) to use unix98 ptys by default and let it fall back to bsd ptys if any problem occurs
185  * vinum(8): Support for geometries larger than 2 TB was added.
186
187 > ### amd64 related changes
188
189  * From Jordan Gordeev's Google Summer of Code 2009 project.
190  * Kernel can now map 512G if KVA space.
191  * Kernel now supports the entire user VM space.
192  * Signal stacks, handlers, dynamic binaries, compiler warnings, etc.
193  * Misc fixes for cross-building amd64.
194  * Add a build system for amd64 build/test environments.
195  * Both cross-build and native world/kernel builds work.
196  * Pkgsrc builds are ramping up.
197  * Load testing using parallel pkgsrc bulk builds succeeded!
198  * SMP now works!
199
200 > ### Removals
201
202  * GNU cpio(1) was removed. The BSD licensed rewrite based on libarchive(3) is now default.
203  * GNU GCC 3.4 was removed. GCC 4.1.2 and 4.4.1 remain in base.
204  * Kerberos/heimdal was removed. Use the version from pkgsrc (`security/heimdal`).
205  * iwicontrol(8) was removed. The iwi(4) firmware is now loaded automatically.
206
207 > ### Contributed Software
208
209  * Update file to version 5.03.
210  * GCC 4.4.1 was added to base, but is not enabled by default.
211  * Update less to version 429.
212  * Update OpenSSH to version 5.2p1.
213  * Update OpenSSL to version 0.9.8k.
214  * Sync zoneinfo database with tzdata2009l.