3 * Version 6.0.0 released 05 10 2021
5 DragonFly version 6.0 is the next step from the 5.8 release series in 2020. This version has a revamped VFS caching system, various filesystem updates including HAMMER2, and a long list of userland updates.
7 The details of all commits between the 5.8 and 6.0 branches are available in the associated commit messages for [6.0.0rc1](http://lists.dragonflybsd.org/pipermail/commits/2021-April/770415.html) and [6.0.0](https://lists.dragonflybsd.org/pipermail/commits/2021-May/820147.html).
11 * Significant work on dsynth, for building packages.
12 * Many updates of contrib system software.
13 * HAMMER2 work continues, with updates from Tomohiro Kusumi.
14 * Major VM work for extent-based representation.
15 * Due to major changes to the VM system we had to remove the MAP_VPAGETABLE mmap() feature, and this also means that vkernels will not be supported in this release. Support may be re-added at a later time via HVM (but not in this release).
21 MD5 (dfly-x86_64-6.0.0_REL.img) = 56747f1b7a0178f46d1298ab2d8c723b
22 MD5 (dfly-x86_64-6.0.0_REL.iso) = 9a10a8935e2a74bffdb5d4a032bed635
23 MD5 (dfly-x86_64-6.0.0_REL.img.bz2) = 92b0f2d0cfcf6951be0e81ee692909d4
24 MD5 (dfly-x86_64-6.0.0_REL.iso.bz2) = 252fc700803dbadce1de928432373bbb
29 If you have an existing 5.x system and are running a generic kernel, the normal upgrade process, described below, will work.
31 Change your local `/usr/src` to 6.0:
35 git branch DragonFly_RELEASE_6_0 origin/DragonFly_RELEASE_6_0
36 git checkout DragonFly_RELEASE_6_0
39 And then rebuild: (in `/usr/src`)
51 `make initrd` is optional for systems with unencrypted disks, and has been possible for several releases; it's mentioned here for completeness. Look at the [initrd(7)](https://leaf.dragonflybsd.org/cgi/web-man?command=initrd§ion=ANY) man page for details on what it does.
53 Don't forget to upgrade your existing packages. 6.0 packages have already been built and are immediately available.
58 ## All other changes since prior release
62 * CVE-2016-3189 and CVE-2019-12900, fixed with an import of bzip2-1.0.8.
63 * Meltdown hardware is detected during boot on Intel.
68 * Memory paging improved.
69 * Callout API rewritten, and callout structure revamped.
70 * Optimizations for code paths, cache lines.
71 * Fix shared spin-lock starvation vs exclusive locks.
72 * refactor kern_kevent(), sysclock_t to 64 bit.
73 * Improved EFI framebuffer support.
74 * acpi_thinkpad updated.
75 * sysmouse has evdev support.
76 * machdep.hack_efifb_probe_early sysctl removed.
77 * clock_nanosleep(2), fexecve(2) added.
78 * Fix mptable search issue triggered by bhyve
79 * uname sysctl fixes (minor stack disclosure).
80 * Add fcntl(F_GETPATH).
81 * Add IP_SENDSRCADDR support
83 * Introduce kmalloc_obj facility to reduce memory fragmentation
84 * Implement existential locks and type-stable feature to kmalloc_obj
85 * Fix /dev/fd/N to clone the file pointer instead of sharing it, so seeks do not mess up the running process.
86 * Cleanup archaic dup*() code-paths.
87 * vkernel support disabled (see note at top)
88 * Fix an unintended pmap_remove() that caused extra page faults.
89 * Allow XSAVE support without AVX (some VMs do this)
90 * Improve clock_settime() portability.
91 * Fix an unintended memory disclosure in nanosleep().
92 * Fix atime field for PTYs ('w' program idle time reporting).
93 * finger - remove -T option and fix lastlogx logic, widen TTY field.
94 * Misc fstype adjustments.
95 * Fix a serious callout*() structural corruption bug.
96 * Fix an overflow in the non-EFI bootloader code.
97 * Fix a slow memory leak in the resource limit structure.
98 * Fix a bug that could cause excessive VM pageout flushes.
99 * Refactor ifsq_watchdog*() adding features to better-support queue flushes.
100 * Fix atomicy issue in APIC EOI() and enable_icus().
101 * Fix a multitude of rename races, particularly with directories.
102 * Bring amdsmn in from FreeBSD.
103 * Improve open() errno compatibility.
104 * Make the DMAP significantly larger to accomodate EFI frame-bufffers that have been mapped to very high physical addresses (recent intel HP laptops).
105 * Remove P_SWAPPEDOUT flag and non-functioning (non-applicable) code.
106 * Detect fixed Intel meltdown hardware.
107 * Bring in wsp(4) for Wellspring touchpads and Apple laptops.
108 * Adjust devd to automatically recognize wireless network adapters and create wlanX interfaces for them.
109 * Default serial port speed changed from 9600 to 115200. Long overdue.
110 * Refactor sysclock_t from 32 to 64 bits.
111 * Refactor kern_kevent() and fix a panic.
112 * Fix an efivar panic.
113 * Remove long-deprecated getdomainname(), setdomainname(), and uname() system calls. libc handles these a different way.
114 * Fix rare vm_map_entry exhaustion panic.
115 * Refactor vfs_timestamp() and change default to TSP_USEC.
116 * Allow the 8254 timer to be forced-on for machines which do not support the LAPIC timer during deep-sleep.
117 * Improve calculations for user/sys/intr/idle times.
118 * Implement sysctl kern.tls_extra to help the userland rtld deal with late library loads.
119 * Fix minor scheduler bugs.
120 * Optimize the system call code path.
121 * Major refactor of the vfs_cache code to improve performance and reliability.
122 * Improve cache_fullpath().
123 * Add raw flame_graph sampling support.
124 * Reduce SMP contention during low-memory stress.
125 * Recode the namecache mount transition cache to improve performance.
126 * Reduce excessive rdrand harveesting that was seriously impacting performance on some CPUs (rdrand is microcoded and concurrent per-cpu use does not fully scale on many CPUs).
127 * Major revamp of jail support and related options. Restructure the jail.* sysctl tree. Fix broken port-matching code, fix loopback interface handling.
128 * Major advancement of VM topology. Primarily change over to an extent-based representation and remove pv_entry's for terminal PTEs. Not yet extended to pmap_enter().
129 * Create new linker segments for e.g. read-mostly globals and other partitioning.
134 * HAMMER2 - multiple cleanups and fixes
135 * HAMMER2 - initial multi-volume support (multi-local disk, not networked multi-master)
136 * HAMMER2 - Fix rename over empty directory issue.
137 * HAMMER2 - Volume expansion support (hammer2 growfs directive added).
138 * HAMMER2 - Update ctime upon chmod().
139 * HAMMER2 - Fix a serious de-duplication bug.
140 * TMPFS - Significant performance enhancements.
141 * TMPFS - Fix two directory-entry races.
142 * TMPFS - Fix a file truncation bug.
143 * MSDOSFS: last sector read bug fixed.
144 * non-GPL ext2 filesystem support added.
145 * Refactor VOP_GETATTR_LITE() a bit for performance and portability.
149 * Support added for newer Intel I219 ethernet controllers.
150 * re(4) updated to Realtek's re-196.04, plus misc fixes.
151 * em/emx(4) updated to Intel's em-7.7.8 with support for I219 LM15~19 and I219 V15~19.
152 * bnx: Support 57764, 57767 and 57787.
153 * bnx: A multitude of fixes made.
154 * Add AF_ARP support.
155 * Fix panic after route purge.
156 * Fix numerous issues related to if_tap and if_tun cloning.
157 * Attempt to fix the TCP ISN generator in the face of very fast port reuse.
161 * Multiple updates to the i915 driver.
162 * DRM system now matches Linux 4.10.17.
163 * Additional stability fixes to i915.
167 * Serial port default speed is changed from 9600 to 115200.
168 * amdsmn, amdtemp added.
172 * autofs - fix absolute path when creating a mountpoint.
173 * calendar - Rewrite to support Chinese and Julian calendars, various enhancements.
174 * cpdup - Now uses lchmod(), lutimes(), and lchflags() when available.
175 * cpdup - Use POSIX-defined timespec fields in a more portable manner.
176 * disklabel - Add -x and -xx label expansion options.
177 * ifconfig - Support filtering output by interface group.
178 * ifconfig - Add -f options
179 * ifconfig - Many miscellaneous enhancements.
180 * pkill(1): Add option -T.
181 * shutdown(8), reboot(8), printf(1), test(1), sh(1) updated to match FreeBSD.
182 * games ching, gomoku, monop, and cgram imported from NetBSD.
183 * Multiple ifconfig updates.
184 * talk and talkd updated.
185 * multiple updates to pciconf, ACPICA, and tzdata.
186 * mounttmpfs - Add utility to help support /tmp and /var/run tmpfs's.
187 * mountd - Turn on SO_REUSEADDR if a specific port is specified.
188 * sh - resynchronize /bin/sh from FreeBSD w/ many fixes.
189 * libefivar, efivar, uefisign synced with FreeBSD.
190 * efidp, efibootmgr imported.
191 * gpt - fix corruption in device_name string which caused gpt to sometimes fail.
192 * gpt - Add 'gpt expand' directive
193 * grdc - Improve scrolling timestamp precision.
194 * pciconf - implement -e and -B options
195 * od - Fix long double and long int format output and alignment.
196 * killall now handles -h and -? properly.
197 * top, vmstat, who, rwhod, uptime - fix uptime calculation.
198 * daemon(8) understands log rotation.
199 * stdbuf(1), getaddrinfo(1) and timeout(1) added.
203 * pthreads - add support for pthread_getname_np() and other features.
204 * pthreads - reduce type pollution.
205 * pthreads - respect RLIMIT_STACK for the main thread's stack.
206 * c++ - Execute new atexit() destructors during __cxa_finalize()
208 * libc - typeing fixes for ualarm() and usleep()
209 * libc - Add unlocked versions of stdio functions
210 * libc - Make signal names upper-case (posix compat).
211 * libc - Refactor printf() (from FreeBSD)
212 * libc - Provide __udivti3() for intermediate 128-bit calculations.
213 * libc - Fix serious bug in nmalloc (malloc implementation).
214 * libc - Use a fixed blocksize for the DB hash and btree methods, significantly improving performance.
215 * libstdbuf - Import from FreeBSD
216 * libutil - Add sockaddr_snprintf() from NetBSD
217 * terminfo - Drop repeat-character capability from 'xterm-new'. Fixes mis-generated output in some situations that can lead to output corruption in nvi.
221 * Many manual page fixes
222 * Make the initrd subsystem more termcap-friendly
223 * Remove the obsolete dev_mkdb()
224 * Many fixes to the nrelease build.
225 * Allow special characters in passwords created via the installer.
229 * dsynth now allows ports-mgmt/pkg to be explicitly specified
230 * dsynth now supports zstd
231 * Report additional information in the build output.
232 * Warn the user if the world and kernel are out of sync.
233 * Set OPSYS according to detection or the profile config.
234 * Now collects and presents meta-node statistics.
235 * Now deletes obsolete packages on 'prepare-system'.
236 * Log the portdir for all bulk-scan errors.
237 * Fix count mismatch issues and binary pkg deletion issues.
238 * dsynth now automatically runs itself at nice 10 by default.
239 * tune max_load and other heuristics to handle a wider range of machine capabilities automatically.
240 * retune the pkg dependency memory target heuristic.
241 * Get ccache support working.
242 * Fix a stack buffer in dequote() that was causing corruption.
244 ### Various tools have been upgraded in the base system:
246 * awk updated to 20200612.
247 * bmake updated to 20210206.
248 * cgram synced with NetBSD
249 * dhcpcd updated to 9.4.0.
250 * diffutils updated to 3.7.
251 * dma updated to 0.13+.
252 * dialog updated to 1.3-20200327.
253 * dsynth added support for zstd compression.
254 * file updated to 5.39.
255 * grep updated to 3.4.
256 * less updated to 551.
257 * less wrappers added for various compression types.
258 * ldns/drill updated to 1.7.1.
259 * libressl updated to 3.2.5.
260 * libedit updated to 2019-12-31.
261 * libpcap updated to 1.9.1.
262 * libarchive updated to 3.4.3.
263 * xz updated to 5.2.5.
264 * openssh updated to 8.3p1.
265 * ncurses updated to 6.2-20200212.
266 * nvi2 updated to 2.2.0.
267 * openresolv updated to 3.12.0.
268 * tcplay updated to 3.3.
269 * tcpdump updated to 4.9.3.
270 * tcsh updated to 6.22.02.
271 * uname - remove (never worked) varsym support.
272 * vmstat - make kmalloc zone display more readable (-m)
273 * wpa_supplicant updated to 2.9
274 * zstd 1.4.8 added to base.
275 * Prep work for -fno-common becoming a compiler default.
279 * Currently using GCC 8 by default, with GCC 4.7 built but not used as fallback.
280 * A multitude of header inclusion fixes to improve portability.
281 * Adjust C++ headers to survive -Wsystem-headers option.
285 * A full set of new binary packages has been built for 6.0, available through the `pkg(8)` tool.