A DragonFly BSD projekt kiadta a DragonFly BSD 6.0-s kiadását. Telepítéshez elérhetők ISO lemezképfájlok, illetve upgrade is végezhető meglevő telepítésen a kiadási oldalon található instrukciók alapján.
Főbb változások:
Security Issues
- CVE-2010-040, fixed with an import of bzip2-1.0.6.
- Meltdown hardware is detected during boot on Intel.
Kernel
- vfs_cache updated.
- Memory paging improved.
- Callout API rewritten, and callout structure revamped.
- Optimizations for code paths, cache lines.
- Fix shared spin-lock starvation vs exclusive locks.
- refactor kern_kevent(), sysclock_t to 64 bit.
- Improved EFI framebuffer support.
- acpi_thinkpad updated.
- sysmouse has evdev support.
- machdep.hack_efifb_probe_early sysctl removed.
- clock_nanosleep(2), fexecve(2) added.
- Fix mptable search issue triggered by bhyve
- uname sysctl fixes (minor stack disclosure).
- Add fcntl(F_GETPATH).
- Add IP_SENDSRCADDR support
- Add SO_PASSCRED.
- Introduce kmalloc_obj facility to reduce memory fragmentation
- Implement existential locks and type-stable feature to kmalloc_obj
- Fix /dev/fd/N to clone the file pointer instead of sharing it, so seeks do not mess up the running process.
- Cleanup archaic dup*() code-paths.
- vkernel support disabled (see note at top)
- Fix an unintended pmap_remove() that caused extra page faults.
- Allow XSAVE support without AVX (some VMs do this)
- Improve clock_settime() portability.
- Fix an unintended memory disclosure in nanosleep().
- Fix atime field for PTYs ('w' program idle time reporting).
- finger - remove -T option and fix lastlogx logic, widen TTY field.
- Misc fstype adjustments.
- Fix a serious callout*() structural corruption bug.
- Fix an overflow in the non-EFI bootloader code.
- Fix a slow memory leak in the resource limit structure.
- Fix a bug that could cause excessive VM pageout flushes.
- Refactor ifsq_watchdog*() adding features to better-support queue flushes.
- Fix atomicy issue in APIC EOI() and enable_icus().
- Fix a multitude of rename races, particularly with directories.
- Bring amdsmn in from FreeBSD.
- Improve open() errno compatibility.
- Make the DMAP significantly larger to accomodate EFI frame-bufffers that have been mapped to very high physical addresses (recent intel HP laptops).
- Remove P_SWAPPEDOUT flag and non-functioning (non-applicable) code.
- Detect fixed Intel meltdown hardware.
- Bring in wsp(4) for Wellspring touchpads and Apple laptops.
- Adjust devd to automatically recognize wireless network adapters and create wlanX interfaces for them.
- Default serial port speed changed from 9600 to 115200. Long overdue.
- Refactor sysclock_t from 32 to 64 bits.
- Refactor kern_kevent() and fix a panic.
- Fix an efivar panic.
- Remove long-deprecated getdomainname(), setdomainname(), and uname() system calls. libc handles these a different way.
- Fix rare vm_map_entry exhaustion panic.
- Refactor vfs_timestamp() and change default to TSP_USEC.
- Allow the 8254 timer to be forced-on for machines which do not support the LAPIC timer during deep-sleep.
- Improve calculations for user/sys/intr/idle times.
- Implement sysctl kern.tls_extra to help the userland rtld deal with late library loads.
- Fix minor scheduler bugs.
- Optimize the system call code path.
- Major refactor of the vfs_cache code to improve performance and reliability.
- Improve cache_fullpath().
- Add raw flame_graph sampling support.
- Reduce SMP contention during low-memory stress.
- Recode the namecache mount transition cache to improve performance.
- 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).
- Major revamp of jail support and related options. Restructure the jail.* sysctl tree. Fix broken port-matching code, fix loopback interface handling.
- 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().
- Create new linker segments for e.g. read-mostly globals and other partitioning.
Filesystems
- HAMMER2 - multiple cleanups and fixes
- HAMMER2 - initial multi-volume support (multi-local disk, not networked multi-master)
- HAMMER2 - Fix rename over empty directory issue.
- HAMMER2 - Volume expansion support (hammer2 growfs directive added).
- HAMMER2 - Update ctime upon chmod().
- HAMMER2 - Fix a serious de-duplication bug.
- TMPFS - Significant performance enhancements.
- TMPFS - Fix two directory-entry races.
- TMPFS - Fix a file truncation bug.
- MSDOSFS: last sector read bug fixed.
- non-GPL ext2 filesystem support added.
- Refactor VOP_GETATTR_LITE() a bit for performance and portability.
Networking
- Support added for newer Intel I219 ethernet controllers.
- re(4) updated to Realtek's re-196.04, plus misc fixes.
- em/emx(4) updated to Intel's em-7.7.8 with support for I219 LM15~19 and I219 V15~19.
- bnx: Support 57764, 57767 and 57787.
- bnx: A multitude of fixes made.
- Add AF_ARP support.
- Fix panic after route purge.
- Fix numerous issues related to if_tap and if_tun cloning.
- Attempt to fix the TCP ISN generator in the face of very fast port reuse.
Graphics
- Multiple updates to the i915 driver.
- DRM system now matches Linux 4.10.17.
- Additional stability fixes to i915.
Driver updates
- Serial port default speed is changed from 9600 to 115200.
- amdsmn, amdtemp added.
Userland
- autofs - fix absolute path when creating a mountpoint.
- calendar - Rewrite to support Chinese and Julian calendars, various enhancements.
- cpdup - Now uses lchmod(), lutimes(), and lchflags() when available.
- cpdup - Use POSIX-defined timespec fields in a more portable manner.
- disklabel - Add -x and -xx label expansion options.
- ifconfig - Support filtering output by interface group.
- ifconfig - Add -f options
- ifconfig - Many miscellaneous enhancements.
- pkill(1): Add option -T.
- shutdown(8), reboot(8), printf(1), test(1), sh(1) updated to match FreeBSD.
- games ching, gomoku, monop, and cgram imported from NetBSD.
- Multiple ifconfig updates.
- talk and talkd updated.
- multiple updates to pciconf, ACPICA, and tzdata.
- mounttmpfs - Add utility to help support /tmp and /var/run tmpfs's.
- mountd - Turn on SO_REUSEADDR if a specific port is specified.
- sh - resynchronize /bin/sh from FreeBSD w/ many fixes.
- libefivar, efivar, uefisign synced with FreeBSD.
- efidp, efibootmgr imported.
- gpt - fix corruption in device_name string which caused gpt to sometimes fail.
- gpt - Add 'gpt expand' directive
- grdc - Improve scrolling timestamp precision.
- pciconf - implement -e and -B options
- od - Fix long double and long int format output and alignment.
- killall now handles -h and -? properly.
- top, vmstat, who, rwhod, uptime - fix uptime calculation.
- daemon(8) understands log rotation.
- stdbuf(1), getaddrinfo(1) and timeout(1) added.
Libraries
- pthreads - add support for pthread_getname_np() and other features.
- pthreads - reduce type pollution.
- pthreads - respect RLIMIT_STACK for the main thread's stack.
- c++ - Execute new atexit() destructors during _cxafinalize()
- libaura fixes
- libc - typeing fixes for ualarm() and usleep()
- libc - Add unlocked versions of stdio functions
- libc - Make signal names upper-case (posix compat).
- libc - Refactor printf() (from FreeBSD)
- libc - Provide __udivti3() for intermediate 128-bit calculations.
- libc - Fix serious bug in nmalloc (malloc implementation).
- libc - Use a fixed blocksize for the DB hash and btree methods, significantly improving performance.
- libstdbuf - Import from FreeBSD
- libutil - Add sockaddr_snprintf() from NetBSD
- terminfo - Drop repeat-character capability from 'xterm-new'. Fixes mis-generated output in some situations that can lead to output corruption in nvi.
Miscellaneous
- Many manual page fixes
- Make the initrd subsystem more termcap-friendly
- Remove the obsolete dev_mkdb()
- Many fixes to the nrelease build.
- Allow special characters in passwords created via the installer.
DSynth work
- dsynth now allows ports-mgmt/pkg to be explicitly specified
- dsynth now supports zstd
- Report additional information in the build output.
- Warn the user if the world and kernel are out of sync.
- Set OPSYS according to detection or the profile config.
- Now collects and presents meta-node statistics.
- Now deletes obsolete packages on 'prepare-system'.
- Log the portdir for all bulk-scan errors.
- Fix count mismatch issues and binary pkg deletion issues.
- dsynth now automatically runs itself at nice 10 by default.
- tune max_load and other heuristics to handle a wider range of machine capabilities automatically.
- retune the pkg dependency memory target heuristic.
- Get ccache support working.
- Fix a stack buffer in dequote() that was causing corruption.
Various tools have been upgraded in the base system:
- awk updated to 20200612.
- bmake updated to 20210206.
- cgram synced with NetBSD
- dhcpcd updated to 9.4.0.
- diffutils updated to 3.7.
- dma updated to 0.13+.
- dialog updated to 1.3-20200327.
- dsynth added support for zstd compression.
- file updated to 5.39.
- grep updated to 3.4.
- less updated to 551.
- less wrappers added for various compression types.
- ldns/drill updated to 1.7.1.
- libressl updated to 3.2.5.
- libedit updated to 2019-12-31.
- libpcap updated to 1.9.1.
- libarchive updated to 3.4.3.
- xz updated to 5.2.5.
- openssh updated to 8.3p1.
- ncurses updated to 6.2-20200212.
- nvi2 updated to 2.2.0.
- openresolv updated to 3.12.0.
- tcplay updated to 3.3.
- tcpdump updated to 4.9.3.
- tcsh updated to 6.22.02.
- uname - remove (never worked) varsym support.
- vmstat - make kmalloc zone display more readable (-m)
- wpa_supplicant updated to 2.9
- zstd 1.4.8 added to base.
- Prep work for -fno-common becoming a compiler default.
Compiler status
- Currently using GCC 8 by default, with GCC 4.7 built but not used as fallback.
- A multitude of header inclusion fixes to improve portability.
- Adjust C++ headers to survive -Wsystem-headers option.
Package updates
- A full set of new binary packages has been built for 6.0, available through the
pkg(8)
tool.