1 # DragonFly Release 2.4 - XXX $date
3 The DragonFly 2.4 release is here! XXX release text here
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 XXX M).
9 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.
17 We offer over XXXX 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§ion=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`.
19 To get a list of all packages, let [pkg_search(1)](http://leaf.dragonflybsd.org/cgi/web-man?command=pkg_search§ion=ANY) download the summary file for that release:
23 ## DragonFly 2.4.0 Release Notes
26 ##<font color="red">THE ORDER OF THE FOLLOWING ITEMS IS (MOSTLY) ALPHABETICALLY. PLEASE TRY TO KEEP THE ORDER IF POSSIBLE!</font>
28 ### Release Improvements
32 * acpi(4): Import acpica-unix-20090521.
33 * buf/bio: New read-prioitizing bioq sort algorithm. The new algorithm does a much better job
34 prioritizing reads over writes and also contains features to avoid starving-out writes. It
35 works best with CAM based drivers but NATA uses some of its functionality too.
36 * buffer-cache: Improved pipe-lining for writes.
37 * devfs(5): Replaced the static /dev directory with a dynamic device file system written by Alex Hornung during the Google Summer of Code 2009.
38 * All block devices now auto-probe their slices and partitions.
39 * All block devices now auto-probe serial numbers and may be mounted and otherwise referenced by serial number.
41 * loader.conf now supports specifying the root device by serial number.
42 * ddb(4): Fix an IPI messaging lockup which can occur while in ddb(4).
43 * disklabel64(5): Add UFS + HAMMER boot support (was previously just HAMMER boot support).
44 * drm(4): Sync code with latest from FreeBSD.
45 * ext2fs: Support variable inode size (from FreeBSD).
47 * Rewrite the client-side RPC code. The kernel now creates two kernel threads
48 for each NFS mount, one handles reading from the socket and the other handles
49 writing to the socket. A virtually unlimited number of RPCs may be in-flight
51 * Use TCP mounts by default as the new RPC mechanics can now trivally blow
53 * Hugely improved client-side performance.
54 * kbdmux(4): Add multiple keyboards on the console via keyboard multiplexer (from FreeBSD).
55 * msdos(5): Fixed a number of bugs.
56 * pci(4): Sync code with FreeBSD 7.2.
57 * usched_set: Add USCHED_CPU_GET for retrieving the current CPU.
58 * revoke(2): Reimplemented the revoke code.
59 * pty: Add Unix98 ptys (/dev/ptmx and /dev/pts/*)
60 * sound: add autocloning support for dsp devices
62 * Fix entry into ddb(4) when running a SMP vkernel. Fixes stop/cont.
63 * Fix startup race with I/O cothread support.
64 * Fix some issues - enable ithread preemption, races, and more.
65 * Fix races in stopsig() and ipisig().
66 * libkvm now understands live vkernels
67 * vn(4): Add autocloning support
68 * Fix permissions check for utimes() - owner can call even if u-w.
69 * Replace the old BSD malloc code with a port of our slab allocator.
70 * Fix various clang compile issues
72 * Add lapic timer and enable it by default.
73 * Add kernel-layer support for chflags checks, remove (most) from the VFS layer.
77 * Fix improper cred checks for utimes().
78 * Return shorter-form softlinks "@@-1:%05d" when appropriate.
79 * Add a B-Tree rebalancing feature (hammer rebalance).
80 * Fix edge case in mirroring code.
81 * Break-up initial mirroring batch so restarts do not start from scratch.
82 * Better CRC handling, bad-file handling.
83 * Fix sticky bit directory handling for deletions.
84 * Refactor merged search function to try to avoid missed entries.
85 * Limit recursion for long directory chains, update mtime/ctime.
86 * Fix nohistory mounts and a rare lost inode issue.
87 * Improve performance for large write loads
88 * Improve directory layout (in-place upgrade to version 2)
89 * Allow hammer -b to specify bytes per second if no suffix is supplied
90 * Extract PFS null mounts from anywhere in the filesystem, instead of just from the `/pfs` subdirectory.
92 > ### Hardware changes (non-networking)
94 * ath(4): Add open source HAL code (from FreeBSD) and make it possible to build it into the kernel.
95 * cxm(4): Add new driver for Hauppauge PVR-250/350 video capture cards (from FreeBSD).
96 * mpt(4): Sync the driver with latest version from FreeBSD.
97 * ahci(4): Implement a native AHCI driver with full hot-plug and port multiplier support.
98 * sili(4): Implement a native Silicon Image 3132 driver with full hot-plug and port multiplier support.
100 > ### Hardware changes (networking)
102 * ae(4): Add driver for Attansic/Atheros L2 FastEthernet (from FreeBSD).
103 * bpf(4): Add autocloning support
104 * em(4): Synced with Intel's em-6.9.6 (from FreeBSD).
105 * emx(4): Copy of em(4) which supports only 8257{1,2,3} parts.
106 * iwi(4): Upgrade to use 3.0 firmware and use firmware(9) API to load firmware.
107 * mxge(4): Add driver for mxge 10GigE (from FreeBSD + major adjustments)
108 * tap(4): Add ifclone support and autoclone support.
109 * vke(4): Convert from kqueue API to cothread API.
110 * Turn on adaptive MPSAFE for network threads, and MPSAFE for IP and ARP.
111 * RSS: Add Toeplitz hash function.
112 * Split ifnet serializer.
113 * Add ifpoll, which support hardware TX/RX queues based polling.
115 > ### Userland changes
117 * Fix a huge number of compiler warnings for various userland utilities.
118 * battd(8): Fix some errors and improve the man page
119 * compilers.conf(5): This file allows to configure ''external'' compilers (e.g. LLVM/clang) for usage with the DragonFly build(7) system.
120 * cpdup(1): Allow uid/gid/flags changes to fail if running as user
121 * env(1): unbreak build of 2.2 release branch under HEAD
122 * expr(1): Add support for -- as required by POSIX
123 * fetch(1): Synced with FreeBSD.
124 * devtab: As devfs(5) support access to devices via serial numbers, `/etc/devtab` can be used to map serial number to human readable labels.
125 * devfsctl(1): New utility to add/remove/control devfs(5) rules.
126 * dma(1): The DragonFly Mail Agent is now more robust and reliable.
127 * ifconfig(8): Add static ARP support.
128 * installer: Fix the bug when used from console with the LiveDVD.
129 * installer: Fixed various bugs and cleaned the code.
131 * Synced various parts with FreeBSD and NetBSD.
132 * Add some new system calls.
133 * Apply FreeBSD-SA-09:07.libc - fix information leak in db(3).
134 * libfetch(3): Synced with FreeBSD.
135 * libkvm: Add support for accessing a running vkernel's memory by reading its `/proc/$pid/mem` file.
137 * Imported complex arithmetic functions from {Net,Free}BSD.
138 * Imported maximum, minimum, and positive difference functions from FreeBSD.
139 * magic(3): Fix program name extraction from core dumps.
140 * ncal(1): Highlight current day (from FreeBSD).
141 * pax(1): Add a -O option: force one volume (from NetBSD).
142 * telnetd(8): Apply FreeBSD-SA-09:05.telnet - fix environment based code execution vulnerability.
143 * window(1): Synced with NetBSD.
144 * vkentd(8): Add features, allow IP address to be set in unsecure mode, allow address 0.
145 * syslogd(8): Sync with FreeBSD.
146 * telnet(1): Autologin is now disabled by default.
148 * Fix @@ formatting used by undo -ad and fix duplicate test
149 * Use a Red-Black tree to track HAMMER transaction IDs.
150 * It can now detect all prior replacements of a file.
151 * Add an indexing feature to the -t option.
153 * Implement posix_openpt, ptsname, grantpt, unlockpt
154 * Change openpty(3) to use unix98 ptys by default and let it fall back to bsd ptys if any problem occurs
155 * vinum(8): Support for geometries larger than 2 TB was added.
157 > ### amd64 related changes
159 * Kernel PMAP can now map 512G.
160 * User PMAP can now map the entire user space.
161 * Signal stacks, handlers, dynamic binaries, compiler warnings, etc.
162 * Misc fixes for cross-building amd64.
163 * Add a build system for amd64 build/test environments.
164 * Both cross-build and native world/kernel builds work.
165 * Pkgsrc builds are ramping up.
166 * Load testing using parallel pkgsrc bulk builds succeeded!
170 * GNU cpio(1) was removed. The BSD licensed rewrite based on libarchive(3) is now default.
171 * GNU GCC 3.4 was removed. GCC 4.1.2 and 4.4.1 remain in base.
172 * Kerberos/heimdal was removed. Use the version from pkgsrc (`security/heimdal`).
173 * iwicontrol(8) was removed. The iwi(4) firmware is now loaded automatically.
175 > ### Contributed Software
177 * Update file to version 5.03.
178 * GCC 4.4.1 was added to base, but is not enabled by default.
179 * Update less to version 429.
180 * Update OpenSSH to version 5.2p1.
181 * Update OpenSSL to version 0.9.8k.
182 * Sync zoneinfo database with tzdata2009l.