DragonFly BSD Changelog

New in version 4.0.1

November 26th, 2014
  • Version 4 of DragonFly brings Haswell graphics support, 3D acceleration, and improved performance in extremely high-traffic networks. DragonFly now supports up to 256 CPUs, Haswell graphics (i915), concurrent pf operation, and a variety of other devices.

New in version 3.8.0 (June 5th, 2014)

  • Dynamic binaries in the root filesystem:
  • DragonFly binaries in /bin and /sbin are now dynamic, which makes it possible to use current identification and authentication technologies such as PAM and NSS to manage user accounts.
  • Some libraries have been moved to /lib to support this.
  • New USB:
  • USB4BSD is now default in DragonFly. USB3 devices are supported, though some network devices may not be recognized.
  • Graphics drivers:
  • The drm/i915 driver had originally been ported from FreeBSD. An ongoing synchronization work with the version present in the Linux 3.8 branch is now going on. The mid-term goal is to be able to use GPUs included in Haswell and ValleyView/Bay Trail processors.
  • Supported GPUs are currently limited to HD4000 from the Ivy Bridge processor generation.
  • Even if this goal has not been reached yet, the partial synchronization with the drm/i915 implementation from Linux 3.8.x has already allowed many bugs to be fixed and general driver stability to be improved.
  • The drm/ttm memory manager used by the drm/radeon driver has been partially synchronized with the version present in Linux 3.9, improving its stability. Howewer, many issues remain and thus Xorg still doesn't use the drm/radeon driver by default.
  • Last 32-bit release:
  • A 32-bit address space is now a significant limitation in the high-performance world where DragonFly lives.
  • This is the last DragonFly release planned to work on i386. Please plan to upgrade to 64-bit when possible. Note that prebuilt packages for this release will only exist for 64-bit systems; 32-bit users will have to build by hand.
  • Kernel changes:
  • Various netmap updates (still not functional).
  • ohci, uhci, and xhci synced with FreeBSD.
  • USB4BSD is now default
  • Add native C-state support for Intel CPUs
  • Fix and extend mwait C-state support
  • Add Intel performance-energy hint support
  • Overhaul Intel software controlled clock modulation support
  • Userland changes:
  • DragonFly now uses dynamic binaries in the root filesystem
  • PAM and NSS will work with DragonFly.
  • tcplay has been updated to version 2.0.
  • pfi now supports authorized_keys
  • tools/hammer-backup.sh, a simple Hammer backup script, added
  • Updates/syncs for units(1), sed(1), cmp(1), and newgrp(1).
  • fetch, patch, install, and daemon updated.
  • GSoC project 'SysV IPC in userspace' committed
  • Hardware changes:
  • drm/ttm/i915 updated significantly to match Linux 3.8's DRM implementation
  • Updates to bwn(4)
  • Updates to vtnet(4)
  • cyapa(4) support added (Chromebook touchpads)
  • arcmsr(4) updated
  • Network changes:
  • Possible panics fixed in gif, pf, ip, and in.
  • iwn(4) updated
  • ath(4) updated
  • Unnecessary network stack IPIs reduced
  • ix updated to 2.5.15, with a drop in processing requirements
  • TCP port token split for better TCP connect(2) performance
  • IPv4 multicast support fixed
  • HAMMER2:
  • HAMMER2 is in the system but not ready for use. Development of HAMMER2 is ongoing in DragonFly 3.9.
  • Removals:
  • Last bits of Xerox NS support removed
  • ATM protocol support removed
  • IPX and NCP protocols support removed
  • NWFS filesystem removed
  • Contributed Software:
  • bmake updated to bmake-20131001.
  • mdocml updated to mdocml-1.12.3
  • binutils updated to 2.24
  • dma updated to version 0.9
  • libpcap updated to 1.4.0
  • file updated to 5.18
  • OpenSSL updated to 1.0.1g
  • ee updated to 1.5.2
  • tzdata updated to tzdata2014c
  • ACPICA updated to 20140424
  • Security related:
  • CVE-2014-3879 has been patched as of the 3.8.0 release.

New in version 3.6.1 (February 22nd, 2014)

  • hammer - Ignore privilege check for HAMMERIOC_PFS_ITERATE.
  • Fix indentation from the previous commit.
  • hammer - Really fix VFS_STATFS() when operating volumes.
  • sed(1): Implement the 'i' flag.
  • drm: Convert idr spinlocks to lockmgr locks
  • idr: fix sizeof in kmalloc calls
  • idr: access nodes array with token held
  • idr: fix bounds checks
  • install(1): Fix 2.5 y/o verbose bug, use static functions
  • idr : Fix logic error in binary tree allocation
  • jails/netinet6: Only select jailed ips for outgoing
  • jails/netinet6: unbreak source selection after cfd7912
  • idr: Fix an infinite loop issue
  • swapcache - Fix token leak
  • sys: platform: pc64: vmm: vmx.c: bug-fix in PROCBASED2 detection
  • : #if 0 some prototypes of syscalls which we don't (yet) have.
  • kernel: Fix two typos, _KERNRL -> _KERNEL and ALTQ_unLOCK -> ALTQ_UNLOCK.
  • mail(1): Fix an over 9 years old typo/bug.
  • acpi utilities: Raise WARNS to 2, bump CSTD to gnu99, fix warnings.
  • Sync zoneinfo database with tzdata2013i from ftp://ftp.iana.org/tz/releases
  • acpi_sony(4): Free the sysctl_ctx upon detaching.
  • hammer2(8): Fix wrong sizeof.
  • kernel/dm_target_striped: Plug a memory leak.
  • kernel/ppc: Fix a tsleep with NULL ident.
  • rcrun(8): Read /etc/rc.conf too for overrides of $local_startup.
  • rcrun(8): Rename $i, $j and $k to (more) meaningful names.
  • rcrun(8): Properly handle scripts that provide more than one keyword.
  • kernel/nataraid: Fix nVidia MediaShield metadata kprintfs for unsigned.
  • kernel/nataraid: Fix a bug for array sizes >2TB.
  • kernel/nataraid: Fix a panic upon booting with a degraded Intel RAID.
  • bnx: Only 5718 chip family use PCI_BAR4 as MSI-X table; rest use PCI_BAR2
  • callout: Fix callout_terminate() if the callout_reset() is never called
  • altq: Byte counter is not compat w/ RED or RIO AQM

New in version 3.6.0 (November 25th, 2013)

  • Kernel changes:
  • Drivers have been made to behave when using a bigger than 128KB maximum IO transfer size
  • CLOCK_PROCESS_CPUTIME_ID support added
  • Support for memory page attributes added
  • Cache invalidation functions enhanced
  • Various advanced memory management functions implemented in the x86_64/amd64 64-bit kernel
  • drm code updated, initially based on the FreeBSD drm2 code from 2012 and later enhanced with OpenBSD and Linux imports
  • GEM and TTM memory managers added
  • Many fixes and performance improvements in the network stack
  • socket: Extend SO_REUSEPORT to distribute workload to available sockets
  • vkernels can now use hardware nested page tables on Intel CPUs
  • Hardware changes:
  • Special support for Cyrix CPUs removed
  • i915/kms support up to Ivy Bridge chips (Xeon E3v2 / Core i 3000)
  • radeon/kms support (very new and still buggy, Xorg driver not enabled by default)
  • drm/kms is only expected to work on 64-bit x86_64/amd64 systems
  • 32-bit i386 systems use an old xorg-server 1.7 based graphic stack by default, better suited to 10-year old machines
  • Many issues fixed and new drivers added in the usb4bsd stack
  • A driver for the Emulex OneConnect 10Gb NICs has been added, oce(4)
  • I/O performance regression seen in VMware ESXi fixed
  • Support for nvidia MCP79 AHCI controllers added
  • 10Ge TSO performance improved
  • bnx driver: multiple RX/TX rings and MSI-X support for 5718/57785
  • cputimer: Allow MP synchronized TSC to become cputimer
  • em, igb drivers enhanced. Support for i217 and i218 Intel 1Gb adapters added
  • re(4) driver updated, support added for various new chip variants
  • ecc(4): Support for E3-1200 v2 and E3-1200 V3 memory controllers added
  • Many improvements in the mxge(4) driver for Myricom Myri10GE 10 Gigabit Ethernet adapters Hardware support:
  • Add multiple TX queue and RX queue support in bnx(4)
  • Add I217 and I218 support in em(4) and emx(4)
  • Add I354 support in igb(4)
  • Add 8411/8168G/8168EP/8168GU/8411B and 8401/8402/8106 support in re(4)
  • Add Ivy Bridge and Haswell support in ecc(4)
  • Add multiple TX queue, RX queue, multiple vector MSI-X and polling(4) support for mxge(4)
  • Use TSC as cputimer if TSC is MP synchronized
  • Add AMD CPUs family > 10h support in ACPI P-State
  • Network changes:
  • Add new semantic to SO_REUSEPORT, so this socket option is useful for TCP listen sockets and unicast UDP sockets. This greatly improves TCP accept(2) performance, overall receiving and sending performance. An nginx patch is integrated into dports to support SO_REUSEPORT.
  • Greatly improve both blocking and non-blocking connect(4) performance for TCP sockets.
  • Improve TSO performance by using 4KB cluster whenever possible on TCP sending path.
  • Add byte based limit to IFQ to reduce buffer-bloat on IFQ for TSO.
  • IFQ is now by default two level priority queue, improving dual side TCP sending performance.
  • HAMMER2:
  • HAMMER2 is in the system but not ready for use. Development of HAMMER2 is ongoing in DragonFly 3.7.
  • Removals:
  • Default pkgsrc installation
  • Contributed Software:
  • mdocml updated to 1.12.2.
  • libexpat (libbsdxml) updated to 2.1.0.
  • grep updated to 2.14.
  • diffutils updated to 3.3.
  • libmpfr updated to 3.1.2.
  • gcc47 updated to 4.7.3.
  • zlib updated to 1.2.8.
  • awk updated to 20121220.
  • tcsh updated to 6.18.01.
  • libedit updated to 2012-12-13.
  • less updated to 458.
  • nvi updated to 2.1.1.
  • GDB updated to 7.6.1.
  • ldns updated to 1.6.16.
  • tnftp updated to 20121224.

New in version 3.2.2 (December 18th, 2012)

  • Performance improvements under database load:
  • Significant work has gone into the scheduler to improve performance, using postgres benchmarking as a measure. See the PDF of graphed results to see the improvements. DragonFly should be now one of the best selections for Postgres and other databases.
  • New USB stack:
  • USB4BSD has been incorporated into this release. More USB devices are compatible with DragonFly, and xhci (USB 3.0) users may be able to take full advantage of their newer hardware. Since this is a new feature, it is available in 3.2 but not built by default. See the original announcement for how to do so.

New in version 3.2.1 (November 3rd, 2012)

  • Kernel changes:
  • Many bug fixes, greatly improving stability. More robust pcb_onfault handling, fixed issues in the namecache module, VM system, etc.
  • Removed several arbitrary bounds on kernel caches (such as the buffer cache) for x86-64.
  • Improved control over BREAK_TO_DEBUGGER by adding run-time sysctls.
  • Removed sio console baud switching when console & getty/login is running on the same serial port.
  • mmap() now segment-aligns mappings when reasonable to do so.
  • KTR logging is now frozen on entry to panic.
  • Removed size cap for tmpfs. This created problems when mounting tmpfs partitions from fstab prior to swap being turned on.
  • Numerous buffer cache clustering performance improvements.
  • Numerous vkernel related fixes.
  • Implicit 64KB I/O request size limitations have been removed. All block devices can now cluster I/O requests up to MAXPHYS (currently 128KB) if they support it.
  • A new filesystem-independent quota subsystem has been added. See vquota(8)
  • Fixed floating point rounding for long double in x86_64 platform
  • Implemented RFC1405 and SACK rescue retransmission
  • Several Google Summer of Code projects added for PUFFS support, scheduler changes.
  • tmpfs filesystems can be exported over NFS
  • Make carp(4) lockless MPSAFE
  • More RFC3390 conforming
  • RFC6298 conforming
  • RFC6633 conforming
  • Improve RFC4015 support
  • Implement RFC6675
  • Implement RFC4653
  • Fix several SACK related bugs
  • Optimize SACK scoreboard allocation
  • Implement "Rescue Retransmission for SACK-based Loss Recovery Algorithm"
  • Support memory-mapped PCIe configuration space access
  • Make PAWS robust against segement reordering
  • Asynchronize TCP's pru_rcvd; improve performance.
  • ACPICA update (submitted by Magliano Andrea)
  • Added O_DIRECTORY and O_CLOEXEC support to open(2)
  • Hardware changes:
  • A driver for the new Ivy Bridge random number generator has been added
  • Our ACPI reference implementation has been updated
  • Smart Battery System support has been added
  • Many ACPI and interrupt routing improvements, as well as bug fixes and workarounds for broken hardware
  • Watchdog drivers for Intel and AMD chipsets have been imported from FreeBSD. See ichwd(4) and amdsbwd(4).
  • A ixgbe(4) driver for Intel 10Gb/s ethernet adapters has been added.
  • Many drivers for hardware RAID adapters have been updated
  • A hpt27xx(4) driver for HighPoint RocketRAID 27xx SAS controllers has been added
  • A hptrr(4) driver for HighPoint RocketRAID 17xx, 22xx, 23xx and 25xx has been added
  • Update igb(4) to 2.2.3, add MSI-X support and various improvements
  • Update bge(4) support from FreeBSD
  • Add Broadcom 5718 and 57785 chip-family support (bnx(4))
  • Add TSO support for IPv4 TCP
  • Add TSO support in em(4), emx(4), bce(4), bge(4), bnx(4), igb(4), jme(4)
  • Stabilize alc(4) support
  • Update em(4)/emx(4) to 7.2.4, fix bugs mentioned in errata
  • Improve jme(4) multiple reception queue and MSI-X support
  • New Multiprocessor-safe Work:
  • Introduced a new cpu topology aware scheduler, usched_dfly, and made it the default. This scheduler implements several weighted algorithms and will first try to schedule threads to different sockets (to make best use of on-chip caches). As the load increases threads are then scheduled to real cores, and finally will be scheduled to hyper-threads. Threads with similar load characteristics tend to get spread out more. The scheduler also implements wait/wakeup pairing detection and tries to move related threads closer together to reduce inter-socket cache coherency bandwidth and share L3 caches.
  • Greatly reduced SMP bottlenecks in the unix domain socket code.
  • Implemented shared tokens to reduce unnecessary bottlenecks in the VM system, particularly for forked and threaded processes.
  • Introduced a major pmap optimization for x86-64 which allows page table pages to be shared between UNRELATED processes (so it works for process's separately exec'd or forked), in situations where those processes are mmap()ing the same thing. This feature works extremely well for both sysv shared memory and mmap()-based shared memory. In tests with postgres and a 6GB shared memory block the prior memory consumption from forking is now gone. This page table sharing works even better than the original shm_use_phys sysctl. Also observed significantly faster X application startup.
  • Removed bottlenecks from the SYSV semaphore module and fixed numerous timing races.
  • Added ability to bypass hardware timer read for gettimeofday(), added additional CLOCK_* defines for clock_gettime() and friends.
  • Userland changes:
  • mount(8) now sniffs the label for hints on what type of filesystem is being mounted, when not otherwise specified. UFS is only assumed if no information can be garnered from the sniffing.
  • Added support for DT_GNU_HASH elf sections (RTLD). Essentially DT_GNU_HASH is a GNU extension to the ELF format that allows symbol searches much faster than the System V ABI standard hash does. For very large programs written in languages such as C++ that tend to link in many libraries with many symbols, the reduction in start-time can be dramatic. Base compilers were updated to generate both SysV and GNU hashes for every dynamic binary and the GNU hash will be used preferentially by the dynamic linker.
  • Dynamic linker (RTLD) Added support for preinit, init, and fini arrays, DT_RUNPATH, -z nodefaultlib flag, and dflopen. Updated ELF filter implementation and added two new directives to libmap.conf, along with general bug fixes from FreeBSD
  • Support exception handling on statically linked binaries
  • Imported terminfo(5) and deprecated termcap. DragonFly is the only BSD using terminfo for its terminal database. Termcap is still installed, but terminfo has a higher priority and is accessed first.
  • LDVER support added. If the environment variable LDVER is set as "ld.gold" then the gold linker will be used over the default ld.bfd linker, similar to compiler-focused CCVER. Invalid values are ignored.
  • cut(1) - synced with FreeBSD
  • realpath(1) - missing posix functionality added (From FreeBSD)
  • TUI mode added to kgdb, fixed on gdb
  • boot2 loader reworked for more efficient code so gcc4.6, gcc4.7, and clang will be able to build it within the size limit
  • dragonfly.pool.ntp.org now exists and is used by default for network time
  • LVM stripe support in rconfig
  • Removals:
  • kzip
  • Contributed Software:
  • Shipping with pkgsrc-2012Q3 built packages.
  • Removed gcc 4.1
  • Added libedit 2012-03-11 from NetBSD
  • Added libmpc 1.0.1
  • Added gcc 4.7.2
  • Updated gcc 4.4 to 4.4.7
  • Updated grep to 2.12
  • Updated gdb to 7.4.1
  • Updated zlib to 1.2.7
  • Updated ncurses to 5.9
  • Updated libgmp to 5.0.5
  • Updated OpenSSL to 1.01c
  • Updated tzdata to tzdata2012f
  • Updated sh from FreeBSD
  • Updated libpcap to 1.3.0
  • Updated dhclient from OpenBSD
  • Updated OpenPAM to 'Micrampelis'
  • Updated xz to 5.0.4
  • Updated tnftp to newest NetBSD version
  • Updated libarchive to 3.0.4
  • Updated tcpdump to 4.3.0
  • Updated file to 5.11
  • Security related:
  • No specific security-related updates in this release.

New in version 3.0.1 (February 23rd, 2012)

  • Kernel changes:
  • crypto(4) now supports the AES-GCM, Twofish, Serpent, Twofish-XTS and Serpent-XTS ciphers.
  • Fixed dm(4)'s remove_all so that it works correctly when the volumes are interdependent.
  • Improved dm(4) performance by reducing serialization in the I/O path.
  • dm_target_crypt now supports plain64 IV generator.
  • dm_target_crypt now supports Serpent and Twofish XTS modes.
  • dm_target_crypt now uses per-volume mpipes. This fixes a major issue with stacked volumes.
  • devfs(4) has been changed to track related devices explicitly by cdev pointer instead of by (sub)name. The devfs subname* API has been completely replaced by the related* API.
  • Fixed some potential deadlocks in dsched(4) and dsched_fq.
  • bfq(4), an experimental, work-in-progress budget fair queuing dsched(4) policy has been added.
  • mps(4) driver has been updated and now supports RAID.
  • pf(4) has been converted to use kmalloc instead of zalloc.
  • Substantial update to the kernel's ELF handling.
  • The refcount API has been overhauled.
  • A netgraph MP race has been fixed.
  • A bug in the kernel smb code relating to directory scanning has been fixed.
  • NFS server updates were pulled in from FreeBSD; read and write clustering behavior is improved.
  • MSI (Managed System Interrupt) and MSI-X support has been greatly expanded.
  • Soft tokens can now be taken in shared mode in addition to the classical exclusive mode.
  • Virtual file system accounting support has been added and will serve as a basis for future file-system independent quota work.
  • Appletalk support removed.
  • tmpfs filesystems can now be exported via NFS.
  • libm has been updated with multiple math functions brought in from NetBSD/FreeBSD.
  • Position-Independent Executables (PIE) support added.
  • TRIM support added.
  • PCI MMC/SD drivers are included in the GENERIC kernel.
  • Hardware changes (non-networking):
  • padlock(4) now supports the built-in random number generator and feeds entropy into the kernel's entropy pool.
  • ubsec(4) has now been fixed to be compatible with the new crypto(4) framework.
  • mfi(4) updated to LSI's version 3.981.
  • hptiop(4) updated.
  • safe(4) added.
  • mps(4) driver updated
  • ecc(4) now supports more hardware.
  • coretemp(4) updated.
  • Hardware changes (networking):
  • bge(4) now supports the 5761, 5784, and 57780 chipsets.
  • ndis(4) updated.
  • msk(4) updated.
  • re(4) updated.
  • lgue(4) added.
  • bce(4) updated.
  • em(4)/emx(4) updated.
  • New Multiprocessor-safe Work:
  • VM: vm_objects now use per-object tokens and a hold/release based-lock protocol, rather than the global VM token.
  • VM: VM page queues locking is now fine-grained
  • VM: x86-64 PMAP has been rewritten to synchronise at the page/object level rather than using the vm_token.
  • kqueue: kqueue uses per-kq and per-list token rather than a global page queue token
  • signals: Move some signal processing unto LWP rather than process tokens
  • Userland changes:
  • The C library slab allocator (nmalloc) has been replaced with a considerably more scalable, faster design on x86-64 (dmalloc).
  • proplib(3) has been updated
  • libdm, a simple BSD-licensed device mapper library that is API-compatible with libdevicemapper has been added.
  • tcplay(8), a simple BSD-licensed tool that allows creation, managing and mapping of TrueCrypt volumes has been added. It is fully integrated with initrd and cryptdisks and 100% compatible with TrueCrypt.
  • tcplay(3), a library based on tcplay(8) that allows access to TrueCrypt volumes, has been added.
  • POSIX 2008 fmemopen(3) and open_memstream(3) routines have been added to libc
  • Bug in socket timeouts has been fixed, allowing Varnish to run w/ default configuration.
  • The jail rc.d script can now automatically mount a devfs inside the jails.
  • Minor fix in hammer(8) for snapshot count in the info directive.
  • Major update to rtld-elf.
  • Major update and bugfixes to sh(1).
  • 'hammer dedup' can run in fixed memory by running multiple passes.
  • buildworld can now be run in parallel for faster results.
  • dfregress, a regression testing framework, added.
  • Support for exception handling on statically-linked binaries.
  • libhammer, a library for HAMMER functions, has been added.
  • tuxload, a tool for stressing the VM system's free memory, has been added.
  • Patches for use with Coccinelle and DragonFly are now included.
  • x86_64-specific changes:
  • A bug in the initial stack pointer alignment has been fixed.
  • File-descriptor passing via sendmsg has been fixed on x86_64
  • MTRR support added to x86_64 kernel
  • dmalloc added (see Userland Changes)
  • Removals:
  • The following ISA only drivers have been removed along with a couple of associated userland tools: aha(4), asc(4), sasc(1), ctx, dgb(4), el(4), gpib, gsc(4), sgsc(1), ie(4), labpc(4), le(4), mse(4), rc(4), rdp(4), spigot, tw(4) & xten(1) & xtend(8), wl(4), wlconfig(8), wt(4).
  • Contributed Software:
  • Shipping with pkgsrc-2011Q4 built packages.
  • binutils 2.20 removed
  • libgnuregex removed
  • BSD gprof replaced with GNU gprof
  • GNU sort replaced by NetBSD sort
  • xchat removed from GUI build
  • awk updated to 20110810
  • binutils updated to 2.22 (2.21 is the default)
  • dma updated to 0.7
  • diffutils updated to 3.2
  • file updated to 5.10
  • ftp updated to match NetBSD's tnftp as of 2012/01/08
  • gcc44 updated to 4.4.7
  • gdb (and kdgb) updated to 7.3
  • gdtoa 20110321 added
  • grep updated to 2.9
  • ldns/drill updated to 1.6.11
  • less updated to 444
  • libarchive updated to 3.0.3
  • libgmp updated to 5.0.2
  • libmpfr updated to 3.1
  • libpcap updated to 1.2.1
  • mdocml updated to 1.11.3
  • OpenPAM updated to 'Lycopsida'
  • OpenSSH updated to 5.9p1
  • OpenSSL updated to 1.0.0g
  • sendmail updated to v8.14.15
  • tcpdump updated to 4.2.1
  • texinfo updated to 4.13
  • xz updated to 5.0.3
  • zoneinfo database updated to tzdata2011n
  • Security related:
  • CVE-2011-4862, telnetd, fixed.
  • CVE-2011-3581, CVE-2011-3207, CVE-2011-3210, CVE-2010-3864 CVE-2010-2939 fixed through contrib software updates.
  • crypt(3) changed to use the Linux implementation of SHA256/512. SHA512 is the new default.

New in version 2.10.1 (April 27th, 2011)

  • Hardware and multiprocessor support - This release supports a much larger variety of hardware and multiprocessor systems than previous releases, thanks to updates of ACPI and APIC and ACPI interrupt routing support.
  • Hammer Deduplication - Hammer volumes can now deduplicate volumes overnight in a batch process and during live operation. The 'hammer dedup-simulate' command can be used to estimate space savings for existing data.
  • Packet Filter (pf) - Pf was updated to a version based upon OpenBSD 4.4. The previous version of pf in DragonFly was based on OpenBSD 4.2.
  • Compiler updates - DragonFly now uses gcc 4.4 as the default system compiler, and is the first BSD to take that step.
  • New bridging functionality - The bridging system has been rewritten. Multiple interfaces on a single system can be bound together transparently under a single virtual MAC address, and bandwidth aggregated to that new interface.
  • MP Performance - The MPLOCK (the primary lock, that when held ensures only a single cpu is operating within the kernel) has been removed from every area except the VM system. DragonFly is one of the few non-academic operating systems to use a primary sychronization mechanism that is not a blocking mutex
  • Overall Performance - DragonFly now offers significant performance gains over previous releases, especially for machines using AHCI or implementing swapcache(8).
  • ACPI Support - Major update to DragonFly's ACPI support have been made, particularly for interrupt routing.

New in version 2.6.1 (April 7th, 2010)

  • Kernel changes:
  • Ported tmpfs (efficient memory filesystem) from NetBSD
  • Added support for minidumps
  • Added swapcache support for SSDs
  • Ported POSIX Message Queues from NetBSD (Google Summer of Code Project).
  • Updated Linuxulator (now runs java, flash,...) for i386
  • fixed vinum root mounts
  • Added watchdog framework (compatible with watchdogd(8))
  • Added gpio framework
  • Ported minidumps from FreeBSD (enabled by default)
  • Added vkernel64 (64-bit vkernels - experimental)
  • Added hotplug pseudo-device
  • Removed msfbufs and reimplemented sfbufs as a consumer of the newly added lwbufs (lightweight buffers)
  • fixed checkpointing
  • Updated opencrypto from FreeBSD-current
  • Updated ACPI from FreeBSD 7.2
  • Updated CPU initialization code From FreeBSD
  • Serious reduction in KVM use for i386
  • KVM expanded to 8GB for x86_64
  • Major performance fixes for random I/O
  • HAMMER changes:
  • Updated to HAMMER version 4
  • snapshot settings and snapstops moved out of /snapshots and into meta-data
  • REDO generation and recovery added to support fast fsync
  • Extended 'hammer snapls' output to print mountpoints and snapshot notes.
  • 'hammer viconfig' takes editor preference into account now
  • Numerous low-memory deadlocks fixed
  • Hardware changes (non-networking):
  • uchcom(4): The driver for WinChipHead CH341/CH340 is now working stable
  • glxsb(4): The driver has been imported from FreeBSD
  • hifn(4): The driver has been fixed to work with updated opencrypto
  • cs5536: Added support for watchdog and gpio on this chip
  • nsclpcsio(4): The driver has been imported from OpenBSD
  • Geode LX: Enable identification and features of this CPU
  • New aibs(4) driver for ASUSTeK AI Booster ACPI ATK0110 voltage, temperature and fan sensors
  • New kate(4) and km(4) drivers for AMD Family 0Fh, 10h and 11h AMD64 temperature sensors
  • New aps(4) driver for ThinkPad Active Protection System accelerometer
  • New wbsio(4) driver for Winbond LPC Super I/O attachment of lm(4) on any ISA port
  • Hardware changes (networking):
  • Imported the alc(4) driver for Atheros AR8131/AR8132 NICs
  • Imported the e1000(4) driver from FreeBSD for Intel Pro/1000 NICs
  • Userland changes:
  • null mounts now accept -o update
  • awk(1): increased input field separator width to handle extended regexps.
  • cpdup(1): added -VV option to verify file's contents and ignore mtime entirely.
  • mount_nfs(8): rdirplus is now the default
  • periodic(8) security now also reports pkgsrc vulnerabilities
  • watchdogd: import from OpenBSD
  • hotplugd(8): import from OpenBSD
  • amd64 related changes:
  • amd64 has been renamed to x86_64
  • 64-bit vkernels now work on 64-bit boxes
  • Removals:
  • The T/TCP extension is no longer supported
  • Contributed Software:
  • Updated BIND to 9.5.2-P3 incl. DNSSEC support available by default
  • Updated SENDMAIL to 8.14.4
  • Updated wpa_supplicant to 0.6.10
  • Updated hostapd to 0.6.10
  • Updated groff to 1.20.1
  • Updated file to 5.04
  • Updated ncurses to 5.7
  • Updated top to 3.8beta1 including DragonFly specific patches
  • Updated less to 436
  • Updated openssh to 5.3p1 (with HPN patch)
  • Updated gcc 4.4 to 4.4.2
  • Added binutils 2.20
  • Added cryptodev support to OpenSSL
  • Security related:
  • ssh server: change defaults for new installations to disallow plain text passwords and allow root login via public key