chore(deps): update rust crate hickory-resolver to 0.26.0 #1697

Closed
renovate wants to merge 1 commit from renovate/hickory-dns-monorepo into main
Collaborator

This PR contains the following updates:

Package Type Update Change
hickory-resolver (source) workspace.dependencies minor 0.25.20.26.0

Release Notes

hickory-dns/hickory-dns (hickory-resolver)

v0.26.0: 0.26.0

Compare Source

13 months after the release of 0.25.0, we finally have a bigger feature release of Hickory DNS, the suite of DNS libraries and authoritative/recursive name servers written in pure Rust. A lot of work has gone into this release, so we wanted to take a moment to release this before we continue work on deploying the Hickory DNS recursive resolver at Let's Encrypt (and did you see that Hickory is being used in some of Google's Pixel devices?). Because of the ongoing work, we expect that 0.27.0 might happen quite a bit sooner than in 13 months from now.

These release notes describe a number of high-level improvements as well as API changes that are likely to break a larger fraction of our downstream users. Feedback (both on these notes and the release itself) is always welcome in our issue tracker or via our Discord server.

Most of the following notes are broken up by specific components: the server binary and our library crates. However, for this release we've made several changes to the structure of our crates itself:

  • Network protocol support has moved out of the hickory-proto crate, into a new hickory-net crate (#​3394); this allows the hickory-proto crate to cleanly focus on message encoding and decoding.
  • The hickory-client crate has been subsumed into hickory-net, in the client module (#​3366). No future releases of the hickory-client crate are expected.
  • The hickory-recursor crate has been merged into hickory-resolver (#​3370), guarded by a recursor feature which must be enabled explicitly. The recursor implementation was already tightly coupled to the resolver internals, so keeping it separate didn't really make sense.

Additionally, substantial cross-crate changes have been made to improve our error handling:

hickory-dns (the server binary)

hickory-server (the library API)

hickory-resolver

We made many improvements to improve correctness and efficiency of both the recursive resolver and the "stub" resolver. In addition, we want to highlight the following changes:

hickory-net

We made substantial improvements to DNSSEC validation and our handling of potentially spoofing messages.

hickory-proto

Details

For more details, review the detailed release notes for our pre-releases:

and these final PRs merged after beta 4:

Thanks

Finally, we want to thank everyone who contributed to this release: @​bryanlarsen, @​billf, @​hargut, @​ibigbug, @​xi0, @​steffengy, @​james7132, @​Thomasdezeeuw, @​Kriskras99, @​mispp, @​conradludgate, @​nabijaczleweli, @​musicinmybrain, @​msrd0, @​jmwample, @​LAGonauta, @​tisonkun, @​provokateurin, @​lemon-sh, @​thomas-zahner, @​jpds, @​lpraneis, @​zachsmith1, @​jackboykin, @​ZnqbuZ, @​Jeidnx, @​kn0sys, @​matheus23, @​benesch, @​roblabla and of course our maintainers @​cpu, @​divergentdave, @​marcus0x62 and @​djc.


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [hickory-resolver](https://hickory-dns.org/) ([source](https://github.com/hickory-dns/hickory-dns)) | workspace.dependencies | minor | `0.25.2` → `0.26.0` | --- ### Release Notes <details> <summary>hickory-dns/hickory-dns (hickory-resolver)</summary> ### [`v0.26.0`](https://github.com/hickory-dns/hickory-dns/releases/tag/v0.26.0): 0.26.0 [Compare Source](https://github.com/hickory-dns/hickory-dns/compare/v0.25.2...v0.26.0) 13 months after the release of 0.25.0, we finally have a bigger feature release of Hickory DNS, the suite of DNS libraries and authoritative/recursive name servers written in pure Rust. A lot of work has gone into this release, so we wanted to take a moment to release this before we continue work on deploying the Hickory DNS recursive resolver [at Let's Encrypt](https://github.com/hickory-dns/hickory-dns/issues/2725) (and did you see that Hickory is being used [in some of Google's Pixel devices](https://security.googleblog.com/2026/04/bringing-rust-to-pixel-baseband.html)?). Because of the ongoing work, we expect that 0.27.0 might happen quite a bit sooner than in 13 months from now. These release notes describe a number of high-level improvements as well as API changes that are likely to break a larger fraction of our downstream users. Feedback (both on these notes and the release itself) is always welcome in our [issue tracker](https://github.com/hickory-dns/hickory-dns/issues) or via our [Discord server](https://discord.gg/89nxE4n). Most of the following notes are broken up by specific components: the server binary and our library crates. However, for this release we've made several changes to the structure of our crates itself: - Network protocol support has moved out of the hickory-proto crate, into a new hickory-net crate ([#&#8203;3394](https://github.com/hickory-dns/hickory-dns/issues/3394)); this allows the hickory-proto crate to cleanly focus on message encoding and decoding. - The hickory-client crate has been subsumed into hickory-net, in the `client` module ([#&#8203;3366](https://github.com/hickory-dns/hickory-dns/issues/3366)). No future releases of the hickory-client crate are expected. - The hickory-recursor crate has been merged into hickory-resolver ([#&#8203;3370](https://github.com/hickory-dns/hickory-dns/issues/3370)), guarded by a `recursor` feature which must be enabled explicitly. The recursor implementation was already tightly coupled to the resolver internals, so keeping it separate didn't really make sense. Additionally, substantial cross-crate changes have been made to improve our error handling: - [More error handling simplification](https://github.com/hickory-dns/hickory-dns/pull/3387) - [proto: split NetError out of ProtoError](https://github.com/hickory-dns/hickory-dns/pull/3374) - [proto: clean up ProtoError](https://github.com/hickory-dns/hickory-dns/pull/3251) - [Be more strict about decode errors](https://github.com/hickory-dns/hickory-dns/pull/3505) - [resolver: remove unnecessary ResolveError wrapper](https://github.com/hickory-dns/hickory-dns/pull/2970) - [Avoid large errors](https://github.com/hickory-dns/hickory-dns/pull/3000) #### hickory-dns (the server binary) - We've added a number of ways to optimize performance via low-level networking configuration: - [Use SO\_REUSEADDR for tcp sockets](https://github.com/hickory-dns/hickory-dns/pull/3509) - [Allow configuring UDP socket buffer sizes](https://github.com/hickory-dns/hickory-dns/pull/3507) - [Add SO\_REUSEPORT support with configurable UDP socket count](https://github.com/hickory-dns/hickory-dns/pull/3549) - [More TCP tuning options](https://github.com/hickory-dns/hickory-dns/pull/3578) - We further extended and reworked our metrics: - [Additional recursive resolver metrics](https://github.com/hickory-dns/hickory-dns/pull/3428) - [Minor metrics tidying](https://github.com/hickory-dns/hickory-dns/pull/3421) - [Initial histogram metrics support](https://github.com/hickory-dns/hickory-dns/pull/3367) - Miscellaneous changes: - [Implement RFC 5001 NSID for authoritative server](https://github.com/hickory-dns/hickory-dns/pull/3070) - [Add server SSLKEYLOGFILE support](https://github.com/hickory-dns/hickory-dns/pull/3184) - [Add systemd readiness + watchdog support](https://github.com/hickory-dns/hickory-dns/pull/3576) - [prometheus: enable gzip compression on metrics endpoint](https://github.com/hickory-dns/hickory-dns/pull/3579) - [Add support for jemalloc + profiling](https://github.com/hickory-dns/hickory-dns/pull/3585) #### hickory-server (the library API) - The `Authority` trait was renamed to `ZoneHandler` and simplified to better reflect its usage: - [Rename Authority to ZoneHandler](https://github.com/hickory-dns/hickory-dns/pull/3241) - [Simplify ZoneHandler interface](https://github.com/hickory-dns/hickory-dns/pull/3250) - [Use concrete type for authority lookups](https://github.com/hickory-dns/hickory-dns/pull/3086) - [Untangle authorities](https://github.com/hickory-dns/hickory-dns/pull/3074) - Miscellaneous changes: - [Support host format in blocklist stores](https://github.com/hickory-dns/hickory-dns/pull/3035) - [Authenticated AXFR policy, TSIG response signing](https://github.com/hickory-dns/hickory-dns/pull/3060) - [Add metrics for zone lookups, DNS classes and record types](https://github.com/hickory-dns/hickory-dns/pull/3030) #### hickory-resolver We made many improvements to improve correctness and efficiency of both the recursive resolver and the "stub" resolver. In addition, we want to highlight the following changes: - We substantially changed the high-level resolver and configuration API: - [Refactor name server configuration](https://github.com/hickory-dns/hickory-dns/pull/3019) - [Enable validation when trust anchors are configured](https://github.com/hickory-dns/hickory-dns/pull/2968) - [Introduce ServerGroup type to replace NameServerGroupConfig](https://github.com/hickory-dns/hickory-dns/pull/3029) - [Configure by name server](https://github.com/hickory-dns/hickory-dns/pull/3052) - [Tweak high-level API](https://github.com/hickory-dns/hickory-dns/pull/3059) - [Hide validate option if DNSSEC support is not available](https://github.com/hickory-dns/hickory-dns/pull/3091) - [Default trust\_negative\_responses to true](https://github.com/hickory-dns/hickory-dns/pull/3085) - [Use a single list of servers](https://github.com/hickory-dns/hickory-dns/pull/3027) - [Make ResolverConfig fields public](https://github.com/hickory-dns/hickory-dns/pull/3112) - [Simplify ConnectionProvider interface](https://github.com/hickory-dns/hickory-dns/pull/3033) - [Abstract NS conn/conn config policy](https://github.com/hickory-dns/hickory-dns/pull/3281) - [Make connection pool track servers](https://github.com/hickory-dns/hickory-dns/pull/3210) - We improved handling of the system default resolution settings: - [Trust negative responses from system resolvers by default](https://github.com/hickory-dns/hickory-dns/pull/3095) - [Retrieve system configuration through system API on Apple platforms](https://github.com/hickory-dns/hickory-dns/pull/3324) - [Get Android's DNS servers](https://github.com/hickory-dns/hickory-dns/pull/3278) - We improved the efficiency of the resolver internals: - [Increase default cache size to 8k](https://github.com/hickory-dns/hickory-dns/pull/3554) - Miscellaneous changes: - [Implement RFC 9539 opportunistic encryption](https://github.com/hickory-dns/hickory-dns/pull/3276) - [Add Ipv6AndIpv4 strategy](https://github.com/hickory-dns/hickory-dns/pull/3449) - [Add recursor metrics](https://github.com/hickory-dns/hickory-dns/pull/3123) - [Allow disabling H3 grease, as needed for Cloudflare](https://github.com/hickory-dns/hickory-dns/pull/3040) #### hickory-net We made substantial improvements to DNSSEC validation and our handling of potentially spoofing messages. - Miscellaneous changes: - [Stop ignoring response decoding failures for UDP requests](https://github.com/hickory-dns/hickory-dns/pull/3499) - [Do not resolve private/reserved addresses on public zones](https://github.com/hickory-dns/hickory-dns/pull/3298) - [Simplify runtime](https://github.com/hickory-dns/hickory-dns/pull/3402) #### hickory-proto - We have made the fields for several core types directly public: - [Simplify low-level message API](https://github.com/hickory-dns/hickory-dns/pull/3511) - [Make Record fields public](https://github.com/hickory-dns/hickory-dns/pull/3557) - [Simplify RData API](https://github.com/hickory-dns/hickory-dns/pull/3542) - [Change field and method names for Authority section of messages](https://github.com/hickory-dns/hickory-dns/pull/3106) - [Simplify signing](https://github.com/hickory-dns/hickory-dns/pull/2986) - We now enable EDNS by default in outgoing messages, increasing the max payload length: - [Default to enabling EDNS, increase max payload length](https://github.com/hickory-dns/hickory-dns/pull/3498) - [Make EDNS payload length configurable](https://github.com/hickory-dns/hickory-dns/pull/3504) - We removed SIG(0) authentication in favor of the more popular TSIG alternative: - [Remove SIG(0) message authentication](https://github.com/hickory-dns/hickory-dns/pull/3437) - Miscellaneous changes: - [Reject QR=0 responses as invalid](https://github.com/hickory-dns/hickory-dns/pull/3510) - [Reject zero-length data for non-update messages](https://github.com/hickory-dns/hickory-dns/pull/3577) - [Add support for SMIMEA records](https://github.com/hickory-dns/hickory-dns/pull/3302) - [Add support for dynamic headers in DoH requests](https://github.com/hickory-dns/hickory-dns/pull/3347) #### Details For more details, review the detailed release notes for our pre-releases: - [Beta 4](https://github.com/hickory-dns/hickory-dns/releases/tag/v0.26.0-beta.4) - [Beta 3](https://github.com/hickory-dns/hickory-dns/releases/tag/v0.26.0-beta.3) - [Beta 2](https://github.com/hickory-dns/hickory-dns/releases/tag/v0.26.0-beta.2) - [Beta 1](https://github.com/hickory-dns/hickory-dns/releases/tag/v0.26.0-beta.1) - [Alpha 1](https://github.com/hickory-dns/hickory-dns/releases/tag/v0.26.0-alpha.1) and these final PRs merged after beta 4: - proto: reject zero-length data for non-update messages by [@&#8203;djc](https://github.com/djc) in [#&#8203;3577](https://github.com/hickory-dns/hickory-dns/pull/3577) - server: deduplicate response encoding by [@&#8203;djc](https://github.com/djc) in [#&#8203;3555](https://github.com/hickory-dns/hickory-dns/pull/3555) - Disable dig retries when testing cache behavior by [@&#8203;divergentdave](https://github.com/divergentdave) in [#&#8203;3590](https://github.com/hickory-dns/hickory-dns/pull/3590) - Conformance: print communication errors from dig by [@&#8203;divergentdave](https://github.com/divergentdave) in [#&#8203;3591](https://github.com/hickory-dns/hickory-dns/pull/3591) #### Thanks Finally, we want to thank everyone who contributed to this release: [@&#8203;bryanlarsen](https://github.com/bryanlarsen), [@&#8203;billf](https://github.com/billf), [@&#8203;hargut](https://github.com/hargut), [@&#8203;ibigbug](https://github.com/ibigbug), [@&#8203;xi0](https://github.com/xi0), [@&#8203;steffengy](https://github.com/steffengy), [@&#8203;james7132](https://github.com/james7132), [@&#8203;Thomasdezeeuw](https://github.com/Thomasdezeeuw), [@&#8203;Kriskras99](https://github.com/Kriskras99), [@&#8203;mispp](https://github.com/mispp), [@&#8203;conradludgate](https://github.com/conradludgate), [@&#8203;nabijaczleweli](https://github.com/nabijaczleweli), [@&#8203;musicinmybrain](https://github.com/musicinmybrain), [@&#8203;msrd0](https://github.com/msrd0), [@&#8203;jmwample](https://github.com/jmwample), [@&#8203;LAGonauta](https://github.com/LAGonauta), [@&#8203;tisonkun](https://github.com/tisonkun), [@&#8203;provokateurin](https://github.com/provokateurin), [@&#8203;lemon-sh](https://github.com/lemon-sh), [@&#8203;thomas-zahner](https://github.com/thomas-zahner), [@&#8203;jpds](https://github.com/jpds), [@&#8203;lpraneis](https://github.com/lpraneis), [@&#8203;zachsmith1](https://github.com/zachsmith1), [@&#8203;jackboykin](https://github.com/jackboykin), [@&#8203;ZnqbuZ](https://github.com/ZnqbuZ), [@&#8203;Jeidnx](https://github.com/Jeidnx), [@&#8203;kn0sys](https://github.com/kn0sys), [@&#8203;matheus23](https://github.com/matheus23), [@&#8203;benesch](https://github.com/benesch), [@&#8203;roblabla](https://github.com/roblabla) and of course our maintainers [@&#8203;cpu](https://github.com/cpu), [@&#8203;divergentdave](https://github.com/divergentdave), [@&#8203;marcus0x62](https://github.com/marcus0x62) and [@&#8203;djc](https://github.com/djc). </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMTEuMCIsInVwZGF0ZWRJblZlciI6IjQzLjExMS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJEZXBlbmRlbmNpZXMiLCJEZXBlbmRlbmNpZXMvUmVub3ZhdGUiXX0=-->
chore(deps): update rust crate hickory-resolver to 0.26.0
Some checks failed
Auto Labeler / Apply labels based on changed files (pull_request_target) Successful in 3s
Documentation / Build and Deploy Documentation (pull_request) Successful in 1m26s
Checks / Prek / Pre-commit & Formatting (pull_request) Successful in 1m20s
Update flake hashes / update-flake-hashes (pull_request) Successful in 2m2s
Checks / Changelog / Check changelog is added (pull_request_target) Successful in 8s
Checks / Prek / Clippy and Cargo Tests (pull_request) Failing after 5m25s
fca9049d8c
Owner

Closing this in favour of #1505

Closing this in favour of #1505
Jade closed this pull request 2026-04-23 19:39:14 +00:00
Author
Collaborator

Renovate Ignore Notification

Because you closed this PR without merging, Renovate will ignore this update (0.26.0). You will get a PR once a newer version is released. To ignore this dependency forever, add it to the ignoreDeps array of your Renovate config.

If you accidentally closed this PR, or if you changed your mind: rename this PR to get a fresh replacement PR.

### Renovate Ignore Notification Because you closed this PR without merging, Renovate will ignore this update (`0.26.0`). You will get a PR once a newer version is released. To ignore this dependency forever, add it to the `ignoreDeps` array of your Renovate config. If you accidentally closed this PR, or if you changed your mind: rename this PR to get a fresh replacement PR.
Some checks failed
Auto Labeler / Apply labels based on changed files (pull_request_target) Successful in 3s
Documentation / Build and Deploy Documentation (pull_request) Successful in 1m26s
Checks / Prek / Pre-commit & Formatting (pull_request) Successful in 1m20s
Required
Details
Update flake hashes / update-flake-hashes (pull_request) Successful in 2m2s
Checks / Changelog / Check changelog is added (pull_request_target) Successful in 8s
Required
Details
Checks / Prek / Clippy and Cargo Tests (pull_request) Failing after 5m25s
Required
Details

Pull request closed

Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
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
continuwuation/continuwuity!1697
No description provided.