All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.11.0 - 2026-01-16
- Add support for Bunny
- Add async impl and update docs.
- Add sync version of bunny provider.
- Update the DNS record types and make non-exhaustive.
- Add note about Godaddy API restrictions.
- Minor cleanups.
0.10.1 - 2026-01-15
- Explain the config example.
- Add examples for provider-lookup from configuration file.
- Add notes on adding a provider to README.
- Add note about testing mac/win.
- Fix dependency issue on mac and allow parallel runs of mac/win.
- Move env declaration to the root.
- Add windows and mac test runners.
0.10.0 - 2026-01-14
- Add Linode support
- Allow unused in Record
- Handle deserialisation errors correctly
- Cleanups and optimisations
- Add Linode async impl and update docs.
- Working sync version of Linode.
- Add glommio as a tested runtime.
- Add testing of monoio
- Mark cargo fragement at text to avoid doctests
- Add additional information about runtimes and feature-flags.
- More fine-grained testing steps.
- Add DigitalOcean and compio into test rotation.
- Add testing of running against compio
- Use external rust action support.
0.9.3 - 2026-01-12
- Digital Ocean is now supported.
- deSEC.io is now supported.
- Improve handling of TXT records.
- Update release-plz config to re-enable Other section
- Add code of conduct file.
- Simplify AI statement further
- Add DigitalOcean to docs
- Add DigitalOcean to provider enum
- Add async version of API.
- Blocking impl of Digital Ocean support.
- Minor formatting.
- Add async desec.io impl and update all necessary enums and docs.
- Add start of desec.io support, and cleanup txt handling.
- Copy release-plz config from vicarian
- Remove installation section from README
0.9.2 - 2026-01-08
- Fix doc attribute syntax in lib.rs
0.9.1 - 2026-01-08
- Import README into the top-level docs.
- Soften the tone in AI section.
- Enhance README description of library features
- Bump dependencies
0.9.0 - 2025-12-29
- Make provider enum non-exhaustive.
- Start of release-plz automation.
- LLM generated workflow caching test.
0.8.0 - 2025-12-12
- Minor cleanups
- Add Cloudflare implementation.
- Minor cleanup.
0.7.0 - 2025-12-11
- Rename Provider(s) and add explanation for the helper generation macro.
- Revert previous API change as it requires too much boilerplate.
- Typo
- Fix actions workflow.
- Simplify github actions.
0.6.0 - 2025-12-11
- Move to using a concrete impl & match rather than dyn objects.
- Add test for config parsing.
- Add LLM-generated rustdocs.
- Add AI policy
0.5.3 - 2025-12-08
- Disable dnsmadeeasy for functests as its staging servers are running legacy SSL ciphers.
- Remove acme-micro example for now.
- Use rustls as HTTPS backend, as native was clashing with openssl in other places.
- Update async-example to use instant-acme
- Bump deps.
0.5.2 - 2025-11-22
- Add Provider config fragement and helper impl.
0.5.1 - 2025-10-28
- Change the default trait fns to abstract, but generate the boilerplate in a macro. This removes all the Sized/Box/dyn complexity.
- Cleanup some warnings
- Make dyn compatible.
0.5.0 - 2025-10-26
- Simplify Dnsimple name
- Add docs to DnsProvider
0.4.2 - 2025-10-25
- Correct a provider.
- Fill in a few more providers.
- Update dynadot note.
- Fix error in imports.
- Cleanup imports.
- Updated docs for check_error
- Re-add some missing error handling.
- Add missing pub exports.
- Missed tokio
- Fix import of async tests.
- Note about dynadot.
- Lots of cleanups of unused
0.4.1 - 2025-10-22
- Limite per-provider tests to one at a time.
- Use single thread for tests against sandboxes.
- Update list of supported providers.
- Add async impl for porkbun.
- Fixes for porkbun.
- Initial porkbun support, still needs some fixes to decoding.
- Re-export Auth from async modules for convenience.
0.4.0 - 2025-10-21
- Update provider list.
- Actually add dnsmadeeasy
- Add dnsmadeeasy to CI.
- Add DnsMadeEasy impl, plus misc. fixes for problems found along the way.
- More automated docs for http.rs
- Add a couple of more ureq helpers.
- Replace unwrap with error
- Add more docs to http.rs.
- Add automated docs to WithHeader extension trait.
- Start adding dnsmadeeasy
- Fix feature name
- Use same provider names as in sync version.
- Fix macro name-clash.
- Scope some tests
- Also generate boilerplate for sync testing. Add auto-generated docs for macros.
- Fix feature name
- Correct actions syntax.
- Enable dnsimple sandbox testing in CI.
- More small cleanups.
- Convert some async boilerplate to macros and add gandi async impl.
- Convert boiler-plate async impl to macro
- Minor cleanups
- Remove old async test code.
- Initial implementation of async API using
blocking. - Convert Gandi to ureq.
- Move common utils into http.rs
- Intial working and tests for dnsimple.
- Start of converting dnsimple to ureq.
- Note about Namecheap sandbox payment.
- Update DnsMadeEasy sandbox status
- More cleanups.
- Remove dnsmadeeasy code prior to merge of other changes to master.
- More DnsMadeEasy changes.
- Default auth header doesn't need to be Option anymore.
- Refactor http module to allow custom headers.
- Interim checkin prior to http.rs changes.
- Add skeleton of DnsMadeEasy impl.
- Move resuable API tests up to root.
- Minor cleanups to dnsimple.
- More readme tweaks.
- Minor readme update.
- Provider corrections.
- Fix link
- Move provider matrix to own file and expand from acme.sh list.
- Clarify note
- Use emojis
- Start of DNS provider list.
- Add note about Gandi keys.
- Rename example.
- Dump cert and private key in example.
- The example needs gandi to build.
- Cleanups and clarifications for example.
- Add practical example using acme-micro to create an cert with letsencrypt.
- In the wild we need to specify a crypto provider to rustls.
- Minor cleanups.
0.3.1 - 2025-09-26
- Add helpers for A records
0.3.0 - 2025-09-26
- Add helper functions for common operations.
- Fix gandi record type.
- Add support and testing for TXT types.
- Move API entirely to generics
- Start moving to multiple record types
- Use async OnceCell/Arc for root store to save regenerating it.
- Add a note about using pollster+thread for fallback.
- Minor import cleanups.
- Fix base URL.
- Fix CI badge.
0.2.3 - 2025-09-24
- Cleanup Cargo.toml.
0.2.2 - 2025-09-24
- Change README to point to renamed project.
- spawn() shouldn't be pub
0.2.1 - 2025-09-23
- Add feature flags for providers.
- Bump dependencies.
0.2.0 - 2025-09-23
- Simplify address parameters.
- Use runtime-agnostic Mutex crate
- Consistent naming.
- Remove some old code.
- Add delete to gandi impl and duplicate tests from dnsimple module.
- Add record update
- Remove on-off cleanup code.
- Add delete operation and use it for cleanup.
- Expand API some more.
- Add get_v4_record() impl.
- Serde supports Ipv4Addr.
- We don't need Arc around the mutex ATM.
- Use Mutex rather than OnceLock for simplicity.
- Add ability to optionally fetch account id from upstream.
- Minor type updates.
- Rough start to dnsimple support
- Remove old code.
- Minor cleanups.
- Api tweak.
- Update Gandi impl to new http api.
- Dedup error handling.
- Simplify functions and remove some duplication.
- Debian doesn't have as many agents?
- Fix matrix config.
- Start of Github CI.
- Don't decode error body, just add it to the error message.
- Add dir-locals.el.
- Minor formatting.
- Use test domain from env.
- Add status badges.