Sam Trenholme's webpage
Support this website

MaraDNS 3.5.0001


January 25 2020

I have released MaraDNS 3.5.0001. This is a stable update to MaraDNS.

==One Source of Truth==

For a few years, we had multiple “sources of truth” for MaraDNS’s files:

  • The Deadwood source code tarball
  • The Deadwood Windows zipfile
  • The MaraDNS source code tarball
  • The MaraDNS Windows zipfile
  • The Git tree of MaraDNS

It used to be, when I made a new release of MaraDNS, I had to change one of the sources of truth (make a Git check in, or make a patch by hand) the apply the change to the other sources of truth. There was also a disconnect between the files in the Windows zipfiles and the same files in the tarballs and Git tree.

That came from the fact that the MaraDNS code base was over 13 years old before I added it to GitHub, and I used to use both Git and the pre-Git way of updating files with MaraDNS’s releases.

This release has a more “continuous integration” approach to MaraDNS.

All of the files now come directly from the Git tree. I have made three scripts to convert a given version of the Git tree in to a release of MaraDNS:

  • I have one script which pulls MaraDNS from GitHub and runs a large number of automated tests to reduce the chance a new release has introduced a new bug.
  • I have another script which pulls MaraDNS from GitHub, allows me to compile the code for Windows, then uploads to GitHub the updated Windows binaries.
  • I have a third script which pulls MaraDNS from GitHub and makes both the source code tarball (which now has the entire Git history going back to 2014) and the Windows zipfile.

This process automates most of the process of making a new release of MaraDNS, allowing me to more quickly test and release new MaraDNS versions.

Comments are closed.