<div dir="ltr"><br><div style>I've seen there's a couple older threads on this from Dec/Jan, but I'm late to the party. My DNS daemon ( <a href="https://github.com/blblack/gdnsd">https://github.com/blblack/gdnsd</a> ) was relying heavily on Net::DNS in its testsuite, and was compatible with releases 0.63 -> 0.68. As you can imagine, the testsuite intentionally generates all sorts of invalid requests and wants fine-grained control over every aspect of the packets constructed. This was working fine (a few little hacks here and there aside) up through 0.68. I wasn't even aware of the December release activity until very recently, when a few Linux distros upgraded their perl-Net-DNS packages to 0.72 and users started complaining about testsuite failures.</div>
<div style><br></div><div style>As mentioned in the past threads, the changes are pretty nasty from my perspective. You've removed a bunch of previous functionality for DNS packet manipulation, various APIs are now deprecated or broken without any significant overlap/warning period, etc. I don't see how Net::DNS 0.69+ can do the job I need it to do (which 0.68 was doing a great job of) at all. Even if 0.69+ could do it, I doubt I could cleanly make my testsuite support any kind of compatibility range (e.g. 0.66 -> 0.72, or really any range that includes 0.68 + 0.69) since so many things were broken immediately in a single release.</div>
<div style><br></div><div style>At this point, given there's been no real movement or apparent desire to fix the situation upstream, I'll probably just have to include an entire stale copy of 0.68 within my project for the foreseeable future. It's the distros upgrading that creates the problematic fallout here. They may not realize that 0.68 and 0.69 releases of the same project name have such dramatic API breakage between them (and who could blame them?).</div>
<div style><br></div><div style>For future reference: it would've been better to just start a new module name (Net::BetterDNS or something, I don't know) rather than introduce so much breakage in a random version bump of a module with such a long history. Net::DNS could've been left as a deprecated 0.68 without future maintenance or something.</div>
<div style><br></div><div style>-- Brandon</div></div>