Rimvydas Jasinskas has been improving LTO – Link Time Optimization – support. It’s led to a lot of commits, and those are just a few examples.
Remember I posted that LibreSSL is in base DragonFly, but not default? Well, it’s default now. You can have a system without OpenSSL at all, by rebuilding DragonFly-current and using up-to-date dports.
Update: see John’s comments for clarification: LibreSSL is default; the change is that OpenSSL isn’t even built any more. The result is still the same good news: you can have an OpenSSL-free DragonFly system now.
I don’t have it uploaded yet, but DragonFly 4.6.1 is tagged. Anyone with an existing 4.6.0 or earlier system can upgrade now. Use the 4.6 release instructions if you are unsure on how to upgrade. The 4.6.1 tag commit message has all the changes.
OpenSSL in DragonFly 4.6 has been updated to 1.0.1u. It’s time for a DragonFly 4.6.1, to catch up on this and other updates since the 4.6.0 release. I plan to work on it this weekend.
It’s now possible to start up a vkernel(7) using a COW disk, meaning copy-on-write. One image can be used and reused for multiple vkernels without changing, and all disk activity goes to memory instead.
If you had trouble getting your laptop’s touchpad to work under DragonFly, try again. (If you are running DragonFly-current)
It’s now possible to build dports using LibreSSL instead of OpenSSL. Set SSL_DEFAULT in make.conf to the appropriate port name, and start building. Use synth for fastest results, of course.
LibreSSL will eventually become the default library. This is in addition to the previously-mentioned, already-completed in DragonFly 4.7, base system switch to LibreSSL.
Matthew Dillon has added powerd, a utility that will automatically step down processor speed based on reported temperature. The range is configurable, and there’s some other nice-to-have features. This will save your CPU from melting, and probably also your thighs from being burned.
Recent changes for virtual machine support and the new powerd utility have been rolled into the release branch for DragonFly. They’ll probably be in the next point release, or you can rebuild a release machine now for immediate access.
Also mentioned in the update from Matthew Dillon, DragonFly-master users should upgrade carefully as DragonFly migrates to using LibreSSL in base, and dports-based LibreSSL in dports.
DragonFly now has version 2.4.2 of LibreSSL and uses it in base. Ports may still link to OpenSSL, though – it’s still built by default, though make.conf can be configured to prevent that.
DragonFly-master (i.e. 4.7) now disables DSA keys by default. If you are using a DSA key for SSH/SFTP/whatever, you should change it anyway. Otherwise, it won’t work without workarounds after your next 4.7 upgrade, or by the time of the next DragonFly release.
GCC has been updated by John Marino from 5.3 to 5.4 in DragonFly – the 5.4 closed bug list on the GCC site is a good way to find out the benefits.
There’s been a number of commits lately around higher optimization levels for your DragonFly kernel. It looks you can even set it systemwide. Boot code remains at -O; any higher level will make it explode. Is this safe? I have no idea!
If you are on DragonFly-current, AKA DragonFly 4.7, make sure to perform a full buildworld on your next upgrade. Tomohiro Kusumi changed a Hammer ioctl, and the buildworld is needed to keep everything in sync.
The last bits of Linux emulation have been removed from DragonFly. It’s 32-bit, so it’s been unsupported since DragonFly went to 64-bit only with the 4.0 release. Also, some other 32-bit only items are gone, including the cs, ep, ex, fe, and vx network drivers. It’s almost impossible that anyone was using it, but it’s notable because that’s some… 15-20k lines of code gone? Removal of unused code is also positive.
Because this always happens just after I create a DragonFly release, there’s a new version of OpenSSL. However, this is for version 1.0.2. 1.0.1 is what’s in the release, and it’s supported through the end of the year.
OpenSSH has a major version bump in DragonFly, to 7.3p1. This means some features – specifically patches for High Performance Networking – are no longer there, and you’ll get an error if your config file requires them. Either remove the options from your config, or install OpenSSH from dports.
Did you know that ACPICA has its own internal ‘coding language’, called AML? I did not, but it’s in DragonFly now in any case. Every program eventually grows big enough to read email, and every specification eventually includes its own programming segment.
After some testing of different ways to pre-zero out memory pages, Matthew Dillon came to the conclusion: page zeroing doesn’t matter any more. The idea dates all the way back to CSRG, and he’s removed it from DragonFly.
I’m a bit late on this, but: If you are using DragonFly-current, you will need to rebuild world. If you are on 4.4, this won’t matter until you go to 4.6, and you’d be rebuilding world and kernel for that anyway.
(4.6 will probably be tagged this weekend.)