Skip to content

Releases: lazywalker/lazydns

v0.2.63

Choose a tag to compare

@github-actions github-actions released this 14 Jan 09:08

What's Changed

  • logs moved to lazylog crate for better maintenance and features.
  • improved size-based rotation (copy+truncate) and made size units case-insensitive (K/M/G).
  • introduced lazydns-macros crate for procedural macros (future use).
  • Added cache eviction metrics for better monitoring.
  • add grafana dashboard json config.
  • chore(deps): bump tokio from 1.48.0 to 1.49.0 by @dependabot[bot] in #23
  • chore(deps): bump rustls from 0.23.35 to 0.23.36 by @dependabot[bot] in #24
  • chore(deps): bump libc from 0.2.178 to 0.2.180 by @dependabot[bot] in #27
  • chore(deps): bump syn from 2.0.111 to 2.0.114 by @dependabot[bot] in #28
  • chore(deps): bump lru from 0.16.2 to 0.16.3 by @dependabot[bot] in #29

Full Changelog: v0.2.60...v0.2.63

v0.2.60

Choose a tag to compare

@github-actions github-actions released this 03 Jan 11:00

What's Changed

  • Domain Validator: added a new domain-validator plugin with LRU caching and metrics to validate domain labels and edge-cases (single-character labels) and included a demo configuration.
  • Plugins: added tag support configurable from YAML, improved plugin logging, and implemented display_name for clearer logs.
  • Graceful reloads & shutdown: file-watcher support for integrated a Shutdown trait for graceful plugin termination; added integration smoke tests for config reload and shutdown.
  • Cache internals: replaced DashMap with an LRU cache for improved memory management and eviction behavior; fixed double-counting of cache misses and reduced noisy log levels.
  • Fuzzing: added fuzz testing workflows and helper scripts (fuzz/run_all.sh) plus CI workflow improvements for fuzz target discovery and artifact collection.
  • Tooling & deps: bumped lru to 0.16.2 and other dependency updates; CI and workflow fixes for reproducible matrix generation.
  • Docs: updated server and logging documentations and improved developer contribution guidelines.
  • Domain validator plugin by @lazywalker in #15
  • Plugin tag implementation by @lazywalker in #20
  • chore(deps): bump lru from 0.12.5 to 0.16.2 by @dependabot[bot] in #21

Full Changelog: v0.2.52...v0.2.60

v0.2.52

Choose a tag to compare

@github-actions github-actions released this 30 Dec 00:25
c6e7c18

What's Changed

  • bugfix: logging to file with rotate with localtime, not UTC
  • chore(deps): bump reqwest from 0.11.27 to 0.12.28 by @dependabot[bot] in #12
  • chore(deps): bump base64 from 0.21.7 to 0.22.1 by @dependabot[bot] in #11
  • chore(deps): bump serde_json from 1.0.145 to 1.0.148 by @dependabot[bot] in #13
  • chore(deps): bump tracing from 0.1.43 to 0.1.44 by @dependabot[bot] in #14

Full Changelog: v0.2.50...v0.2.52

v0.2.50

Choose a tag to compare

@github-actions github-actions released this 28 Dec 09:02

What's Changed

  • chore(deps): bump prometheus from 0.13.4 to 0.14.0 by @dependabot[bot] in #10
  • Prometheus: upgraded to prometheus v0.14.0 and adapted code and tests to the updated API (label value handling and proto internals). Tests no longer rely on private proto internals and use the TextEncoder for assertions.
  • Fixes: corrected Prometheus label usage and fixed a missed counter increment in the forward plugin.
  • Tests: updated and hardened Prometheus-related tests; full test suite passes locally after fixes.
  • Packaging & CI: added deb packages in CI for amd64 and arm64.
  • Docs: added a comprehensive installation guide with cargo install, Debian/Ubuntu APT instructions (including Raspberry Pi OS arm64), Homebrew tap usage, and a Docker run example.

Full Changelog: v0.2.43...v0.2.50

v0.2.43

Choose a tag to compare

@github-actions github-actions released this 26 Dec 10:46

Features

  • Add max_retries and retry_delay_secs to the executable downloader plugin (with tests).
  • Add an arbitrary_both demo with A + AAAA responses to make dual-selection behavior observable.
  • Add example configs that explicitly demonstrate IPv4-preferred and IPv6-preferred selection.
  • Add examples for executable plugins

Refactor

  • Introduce RequestContext to centralize request metadata (ClientInfo, Protocol) and helper methods.
  • Update server implementations (UDP/TCP/DoH/DoT/DoQ) to construct and pass RequestContext.
  • Update plugins and tests to the new RequestContext API.
  • Bug fixes & behavior changes 🐛
  • Fix plugin behavior so client metadata is passed during background refreshes and plugin calls.
  • Make dual_selector behavior observable where upstream returns mixed A/AAAA answers.

What's Changed

  • chore(deps): bump axum from 0.7.9 to 0.8.8 by @dependabot[bot] in #2
  • chore(deps): bump dashmap from 5.5.3 to 6.1.0 by @dependabot[bot] in #1
  • chore(deps): bump thiserror from 1.0.69 to 2.0.17 by @dependabot[bot] in #3
  • chore(deps): bump rcgen from 0.9.3 to 0.14.6 by @dependabot[bot] in #5
  • chore(deps): bump tempfile from 3.23.0 to 3.24.0 by @dependabot[bot] in #7
  • chore(deps): bump rand from 0.8.5 to 0.9.2 by @dependabot[bot] in #8
  • chore(deps): bump axum-server from 0.7.3 to 0.8.0 by @dependabot[bot] in #9
  • chore(deps): bump notify from 6.1.1 to 8.2.0 by @dependabot[bot] in #6

New Contributors

Full Changelog: v0.2.31...v0.2.43

v0.2.31

Choose a tag to compare

@github-actions github-actions released this 24 Dec 14:27

Key Feature Changes (v0.1.30 → v0.2.31)

Intelligent Cache System

  • LazyCache with Stale-Serving: Background refresh cache with cache_ttl support for serving expired results during upstream failures
  • Performance: Significantly improved DNS resolution speed and cache hit rates
  • Metrics: Integrated Prometheus metrics for cache performance monitoring

Environment Variable Configuration

  • New Variables: METRICS_ADDR, METRICS_ENABLED, ADMIN_ADDR, ADMIN_ENABLED
  • Flexibility: Runtime configuration via environment variables or .env files
  • Deployment: Container-friendly configuration management

Comprehensive Monitoring

  • Prometheus Integration: Cache metrics, query statistics, and health checks
  • Admin Interface: Graceful shutdown and runtime configuration
  • Observability: Real-time monitoring and alerting capabilities

Advanced Condition Matching

  • Condition Builders: Support for qclass, rcode, has_cname, and complex rule combinations
  • Granular Control: Fine-tuned DNS traffic routing and filtering
  • Extensibility: Plugin-based architecture for custom conditions

  • chore(deps): bump axum from 0.7.9 to 0.8.8 by @dependabot[bot] in #2
  • chore(deps): bump dashmap from 5.5.3 to 6.1.0 by @dependabot[bot] in #1
  • chore(deps): bump thiserror from 1.0.69 to 2.0.17 by @dependabot[bot] in #3
  • chore(deps): bump rcgen from 0.9.3 to 0.14.6 by @dependabot[bot] in #5

New Contributors

Full Changelog: v0.1.30...v0.2.31

v0.1.30

v0.1.30 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 21 Dec 12:26

Summary: v0.1.30 is the project's first official release, providing a stable baseline of features, documentation, and packaging for production evaluation and deployment.

Highlights

  • High-performance DNS resolver engine — stable resolution and forwarding with production-focused optimizations.
  • Plugin architecture — extensible plugin system for custom data sources and processing logic.
  • Flexible configuration & examples — complete config samples and documentation for quick onboarding.
  • Built-in caching & rate limiting — improves responsiveness and protects upstream services.
  • Multi-upstream support & routing policies — supports multiple upstreams and configurable routing strategies.
  • Containerization & release tooling — includes Dockerfile and release scripts for easy containerized deployment.
  • Basic test coverage — unit and integration tests to improve stability and reliability.

Notes & Next steps

  • This is the initial public release — refer to the repository README.md and examples for configuration and deployment instructions.

Full Changelog: https://github.com/lazywalker/lazydns/commits/v0.1.30