Skip to content

v0.5.0

Choose a tag to compare

@nemunaire nemunaire released this 09 Jan 11:34
· 755 commits to master since this release

happyDomain v0.5.0: Disjoint Records and Services

Over the past few months, we have been reworking how the zone abstraction works.

One of the main caveats of happyDomain was its previous workflow: it first analyzed a domain, extracted metadata from DNS records, and then regenerated all records from that metadata. As a result, immediately after a first import, users could be told that dozens of changes (sometimes more than 42!) needed to be applied. This was often caused by minor differences such as formatting variations (for example, extra spaces) that did not match happyDomain’s expected format.

We went back to the drawing board.

Services, which aim to provide a logical abstraction of a zone, no longer store derived metadata. Instead, they now store the raw DNS records directly. As a result, a fresh import no longer triggers unexpected changes.

The simplified forms to edit records and services are still available. However, instead of editing (backend) metadata, the web interface now parses the raw records on the fly, preserving a convenient editing experience while avoiding unintended rewrites.

image

Storing raw records in the database also enables a new way to display zones: a plain list of DNS records, similar to what you would find in advanced DNS zone editors. In this view, there is no abstraction layer: you can edit each record exactly as you wish:

image image

⚠️ Before installing this release, make sure to back up your existing database.
While best efforts have been made to migrate zones from previous versions, the new service model may lead to unexpected migration issues. If you encounter any migration errors or abnormal behavior after upgrading, please open an issue.

New Contributors

Full Changelog: v0.4.1...v0.5.0