deSEC Qt DNS v2.0.0-rc2: A big step toward v2.0
deSEC Qt DNS v2.0.0-rc2 is now available for testing.
It's been a substantial journey since v1.8.0. What started as a relatively straightforward Python and Qt frontend for managing deSEC DNS zones has grown into a much more capable DNS management application with batteries included.
With v2.0.0 now approaching the finish line, I'm putting the second release candidate out there and asking for some real-world testing.
What's new since v1.8.0? ๐ฅ
There have been a lot of changes across the 2.0 development cycle, but these are five of the bigger ones.
1. ๐ Protected profiles
API tokens can now be protected with a passphrase, with per-profile encryption and no token recovery by design.

The goal is simple: make it possible to keep multiple deSEC profiles around without leaving API credentials sitting around in plaintext.
2. ๐ง Much more powerful DNS wizards
The wizards have grown considerably.
There is now support for things such as reverse DNS zones, custom record sets, subdomain creation incl. auto-generation of rDNS zones for your own IP prefixes (!), delegation and bulk operations.


The idea is to make common DNS tasks something you can accomplish without having to manually work through every individual record.
3. ๐ DNS version history and restore
Version history has become a proper part of the application.
Changes are tracked per profile, with support for viewing previous DNS states and restoring them when necessary. Bulk operations are also tracked properly, making it much easier to understand what happened to a zone when you've been making a lot of changes.

This also fixes some nasty cross-profile history issues that existed in earlier development builds.
4. ๐ DNSSEC and delegation checking
DNSSEC and delegation verification have received a major overhaul.
The application can perform verification automatically, with adaptive pacing and configurable check intervals to deal more gracefully with real-world DNS and API rate limiting.

This is particularly useful when creating or modifying zones and you want to know whether the changes have actually propagated and are behaving as expected.
5. ๐งช A proper offline demo environment
There is now a fully offline demo profile with generated zones, records and tokens.
This makes it possible to explore the application without connecting it to a real deSEC account or modifying actual DNS infrastructure.

It also makes producing screenshots, testing workflows and demonstrating the application considerably easier.
And there's quite a bit more ๐ ๏ธ
The five items above only scratch the surface.
Since v1.8.0, deSEC Qt DNS has also picked up:
- Multi-profile support and simultaneous profiles
- A dedicated reverse DNS wizard
- An expanded preset library
- Vendor-specific DNS presets
- Bulk record operations
- Search & Replace
- Import, export and merge tools
- Improved accessibility and keyboard navigation
- Custom themes and updated visual design
- Improved Wayland support
- Better Qt platform logging
- Safer API queue and rate-limit handling
- Better account information and domain verification status
- Faster verification of newly created zones
- Improved cancellation for long-running operations
- Better API error handling
- Numerous UI fixes and general polish
And, perhaps most importantly, the test suite has grown substantially during the development process.
The project has gone from 976 tests across 35 files to 1,394 tests across 46 files.
That's a lot of things to break before users get the opportunity to break them in completely new and exciting ways. ๐
Help me test v2.0 ๐งช
This is a release candidate, which means we're getting close, but I want more real-world testing before calling it finished.
If you use deSEC, I'd really appreciate it if you could install v2.0.0-rc2 and give it a proper workout.
Try the things you normally do. Create zones. Modify records. Delete things. Restore things. Try the wizards. Test bulk operations. Check DNSSEC. Import and export data. Try multiple profiles. Throw weird DNS configurations at it.
If something breaks, behaves strangely, produces an unexpected result, or just feels wrong, please report it.
That's exactly what this release candidate is for.
Get v2.0.0-rc2 ๐ฆ
The release is available here:
Release:
https://git.jdneer.com/jd/desec-qt-dns/releases/tag/v2.0.0-rc2
The complete list of changes is available in the changelog:
Changelog:
https://git.jdneer.com/jd/desec-qt-dns/src/branch/master/CHANGELOG.md
If you've been using deSEC Qt DNS for a while, now is a particularly good time to give v2.0 a spin.
Go break it. I'll fix it. ๐