[GH-ISSUE #1921] More frequent releases #817

Open
opened 2026-03-16 00:21:37 +03:00 by kerem · 2 comments
Owner

Originally created by @hottea773 on GitHub (Apr 26, 2023).
Original GitHub issue: https://github.com/hickory-dns/hickory-dns/issues/1921

Trust DNS doesn't seem to get released very frequently; the last release was in September (7 months ago), and since then loads of great new features have been added. This sort of gap doesn't seem to be unusual for trust-dns (the previous release being 5 months prior to that), but is unusual for other rust projects (https://github.com/serde-rs/json/releases for example seems to do a release for every new feature!).

It would be great if trust-dns could do more frequent releases so that we can get our hands on the new features (and I presume bug fixes) quicker. I think there is no need to go as far as the aforementioned serde-json, but something like a monthly release would be fantastic.

P.S. I know that we could just use main but that is very much a non-standard thing to do and definitely not ideal.

Originally created by @hottea773 on GitHub (Apr 26, 2023). Original GitHub issue: https://github.com/hickory-dns/hickory-dns/issues/1921 Trust DNS doesn't seem to get released very frequently; the last release was in September (7 months ago), and since then loads of great new features have been added. This sort of gap doesn't seem to be unusual for trust-dns (the previous release being 5 months prior to that), but is unusual for other rust projects (https://github.com/serde-rs/json/releases for example seems to do a release for every new feature!). It would be great if trust-dns could do more frequent releases so that we can get our hands on the new features (and I presume bug fixes) quicker. I think there is no need to go as far as the aforementioned `serde-json`, but something like a monthly release would be fantastic. P.S. I know that we could just use `main` but that is very much a non-standard thing to do and definitely not ideal.
Author
Owner

@djc commented on GitHub (Apr 26, 2023):

Comparing trust-dns to serde-json doesn't seem like a very useful comparison, mainly because the domain of (de)serialization is quite a bit smaller than the entirety of DNS (which also needs a bunch of networking infrastructure). In any case, David Tolnay (as the serde/serde-json maintainer) has done an awesome job of figuring out a stable API and sticking with it. He also seems to have more time/energy to spend on those crates than the trust-dns maintainers have in recent times (noting that all of us maintain trust-dns as volunteers -- pretty much entirely as unpaid work, largely in our spare time).

This time around, there have been some large changes on the main branch, that are taking some time to settle in, which is at least part of the reason for the delay. (It also seems from his GitHub activity that @bluejekyll, as the lead maintainer, has less time/energy to spend on trust-dns, compared to earlier release windows.)

So I don't think there are obvious ways to improve on the fundamental barriers to getting releases out more often, but even in the best case semver-incompatible releases to low-level libraries only percolate through the ecosystem slowly so releasing every month isn't even desirable for this IMO. (And there will usually be semver-incompatible changes due to the surface area of the libraries.)

Anyway, one piece of praxis that I've found helpful in other projects is having an issue to track the next release, so I just started #1922 which we can use to specifically discuss needs around (and blockers to) getting the next release out.

(Also, I'd argue that, in the case where there are no constraints that argue against doing so -- like having to publish libraries to crates.io -- given the amount of testing in CI and stability of the branch, I'd be fine with taking on a main commit for my application -- and I think we've done so at work in the past.)

<!-- gh-comment-id:1524011407 --> @djc commented on GitHub (Apr 26, 2023): Comparing trust-dns to serde-json doesn't seem like a very useful comparison, mainly because the domain of (de)serialization is quite a bit smaller than the entirety of DNS (which also needs a bunch of networking infrastructure). In any case, David Tolnay (as the serde/serde-json maintainer) has done an awesome job of figuring out a stable API and sticking with it. He also seems to have more time/energy to spend on those crates than the trust-dns maintainers have in recent times (noting that all of us maintain trust-dns as volunteers -- pretty much entirely as unpaid work, largely in our spare time). This time around, there have been some large changes on the main branch, that are taking some time to settle in, which is at least part of the reason for the delay. (It also seems from his GitHub activity that @bluejekyll, as the lead maintainer, has less time/energy to spend on trust-dns, compared to earlier release windows.) So I don't think there are obvious ways to improve on the fundamental barriers to getting releases out more often, but even in the best case semver-incompatible releases to low-level libraries only percolate through the ecosystem slowly so releasing every month isn't even desirable for this IMO. (And there will usually be semver-incompatible changes due to the surface area of the libraries.) Anyway, one piece of praxis that I've found helpful in other projects is having an issue to track the next release, so I just started #1922 which we can use to specifically discuss needs around (and blockers to) getting the next release out. (Also, I'd argue that, in the case where there are no constraints that argue against doing so -- like having to publish libraries to crates.io -- given the amount of testing in CI and stability of the branch, I'd be fine with taking on a main commit for my application -- and I think we've done so at work in the past.)
Author
Owner

@bluejekyll commented on GitHub (May 8, 2023):

I'm kinda down to focusing on trust-dns on the weekends right now. I'm happy to get a release out. But I don't think we can do that without some initial alphas right now. There are a large amount of breaking changes in this which has made me hesitant to get the release out. We can start the alpha while we wait for #1922 to be completed. If there are no objections, I could push an alpha in the next couple of days.

<!-- gh-comment-id:1537574840 --> @bluejekyll commented on GitHub (May 8, 2023): I'm kinda down to focusing on trust-dns on the weekends right now. I'm happy to get a release out. But I don't think we can do that without some initial alphas right now. There are a large amount of breaking changes in this which has made me hesitant to get the release out. We can start the alpha while we wait for #1922 to be completed. If there are no objections, I could push an alpha in the next couple of days.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/hickory-dns#817
No description provided.