smartdns/changelog.md

7.8 KiB

Changelog

2025-05-28 - 7.2.0 - feat(dns-server)

Improve DNS server interface binding by adding explicit IP validation, configurable UDP/HTTPS binding, and enhanced logging.

  • Added udpBindInterface and httpsBindInterface options to IDnsServerOptions
  • Implemented IP address validation for both IPv4 and IPv6 in the start() method
  • Configured UDP and HTTPS servers to bind to specified interfaces with detailed logging
  • Updated documentation to include interface binding examples (localhost and specific interfaces)
  • Enhanced tests to cover valid and invalid interface binding scenarios

2025-05-27 - 7.1.0 - feat(docs)

Improve documentation for advanced DNS features and update usage examples for both DNS client and server.

  • Revamped readme.hints with expanded architecture overview and detailed explanations of DNSSEC, Let's Encrypt integration, and advanced handler patterns.
  • Updated readme.md with clearer instructions and code examples for A, AAAA, TXT, MX record queries, DNS propagation checks, and usage of UDP and DNS-over-HTTPS.
  • Enhanced TAP tests documentation demonstrating both client and server flows.
  • Bumped version from 7.0.2 to 7.1.0 in preparation for the next release.

2025-05-27 - 7.1.0 - feat(docs)

Improve documentation for advanced DNS features by updating usage examples for DNS client and server, and enhancing instructions for DNSSEC and Let's Encrypt integration.

  • Revamped readme.hints with an expanded architecture overview and detailed client/server feature explanations.
  • Updated readme.md to include clearer instructions and code examples for A, AAAA, TXT, MX record queries and DNS propagation checks.
  • Enhanced examples for using DNSSEC, including detailed examples for DNSKEY, DS, and RRSIG records.
  • Added new instructions for setting up DNS-over-HTTPS (DoH), UDP-based resolution, and pattern-based routing for handlers.
  • Improved testing documentation with updated TAP tests demonstrating both DNS client and server flows.

2025-05-27 - 7.0.2 - fix(dns-client)

Improve test assertions for DNS record queries and correct counter increment logic in DNS client

  • Updated test cases in test/test.client.ts to use dynamic assertions with 'google.com' instead of fixed values
  • Adjusted checkUntilAvailable tests to verify proper behavior when DNS TXT record is missing
  • Fixed counter increment in ts_client/classes.dnsclient.ts to avoid post-increment issues, ensuring proper retry delays

2025-05-27 - 7.0.1 - fix(test & plugins)

Rename test client variable and export smartrequest in client plugins

  • Renamed variable 'testDnsly' to 'testDnsClient' in test/test.client.ts for better clarity.
  • Added @push.rocks/smartrequest dependency in package.json and updated ts_client/plugins.ts to export it.

2025-05-27 - 7.0.0 - BREAKING CHANGE(core)

Refactor module entry point and update plugin imports; remove deprecated dnsly.plugins, update dependency versions, and adjust test imports

  • Changed module export in package.json from './dist_ts_server/index.js' to './dist_ts/index.js'
  • Updated dependency versions, notably upgrading '@tsclass/tsclass' from 5.0.0 to 9.2.0 and updating tap bundles to '@git.zone/tstest' packages
  • Removed the redundant ts_client/dnsly.plugins.ts file and replaced its usage with the updated ts_client/plugins.ts
  • Adjusted test files to use export default tap.start() and updated import paths for tap bundles
  • Added tspublish.json files in ts, ts_client, and ts_server directories to control publish order

2025-03-21 - 6.3.0 - feat(dns-server)

Enhance DNS server functionality with advanced DNSSEC signing (supporting both ECDSA and ED25519), improved SSL certificate retrieval using Let's Encrypt, and refined handler management for cleaner shutdowns.

  • Updated package metadata with expanded keywords and revised dependency versions
  • Improved DNSSEC signing logic to support both ECDSA and ED25519 algorithms
  • Added unregisterHandler method for cleaner handler lifecycle management
  • Enhanced SSL certificate retrieval workflow with better DNS challenge handling
  • Refined test utilities for more robust DNS operations

2025-03-21 - 6.3.0 - feat(dns-server)

Enhance DNS server functionality with advanced DNSSEC signing (including ED25519 support), improved certificate retrieval using Let's Encrypt, updated package metadata, and refined test utilities for more robust DNS operations.

  • Updated package.json and npmextra.json with expanded keywords and revised dependency versions
  • Improved DNSSEC signing logic to support both ECDSA and ED25519 algorithms
  • Added unregisterHandler method and enhanced server stop logic for cleaner shutdowns
  • Enhanced SSL certificate retrieval workflow with better challenge handling and test support

2024-09-21 - 6.2.1 - fix(core)

Fixing issues with keywords and readme formatting.

  • Synchronized keywords field between npmextra.json and package.json.
  • Updated readme.md to fix formatting issues and added new sections.

2024-09-19 - 6.2.0 - feat(dnssec)

Introduced DNSSEC support with ECDSA algorithm

  • Added DnsSec class for handling DNSSEC operations.
  • Updated DnsServer to support DNSSEC with ECDSA.
  • Shifted DNS-related helper functions to DnsServer class.
  • Integrated parsing and handling of DNSKEY and RRSIG records in DnsServer.

2024-09-19 - 6.1.1 - fix(ts_server)

Update DnsSec class to fully implement key generation and DNSKEY record creation.

  • Added complete support for ECDSA and ED25519 algorithms in the DnsSec class.
  • Implemented DNSKEY generation and KeyTag computation methods.
  • Improved error handling and initialized the appropriate cryptographic instances based on the algorithm.

2024-09-18 - 6.1.0 - feat(smartdns)

Add DNS Server and DNSSEC tools with comprehensive unit tests

  • Updated package dependencies to the latest versions
  • Introduced DnsServer class for handling DNS requests over both HTTPS and UDP with support for custom handlers
  • Added DnsSec class for generating and managing DNSSEC keys and DS records
  • Implemented unit tests for DnsServer and Smartdns classes

2024-06-02 - 6.0.0 - server/client

Main description here

  • Breaking Change: Move from client only to server + client exports.

2024-03-30 - 5.0.4 - maintenance

Range contains relevant changes

  • Switch to new org scheme

2023-04-08 - 5.0.4 - core

Main description here

  • Core update
  • Fixes applied to the system

2022-07-27 - 5.0.0 - core

Update contains relevant changes

  • Breaking Change: Major update and core changes
  • Fixes and updates applied

2022-07-27 - 4.0.11 - core

Range contains relevant changes

  • Breaking Change: Core update and changes applied

2021-08-24 - 4.0.10 - core

Range contains relevant changes

  • Fixes applied to the core functionalities

2021-01-23 - 4.0.8 - core

Range contains relevant changes

  • Updates and fixes to the core components

2020-08-05 - 4.0.4 - core

Range contains relevant changes

  • Multiple core fixes applied

2020-02-15 - 4.0.0 - core

Main description here

  • Core updates
  • Fixes applied across the system

2020-02-15 - 3.0.8 - core

Core updates with major changes

  • Breaking Change: Now uses Google DNS HTTPS API and handles DNSSEC validation

2019-01-07 - 3.0.6 - core

Range contains relevant changes

  • Fixes and updates applied to the core

2018-05-13 - 3.0.4 - core

Range contains relevant changes

  • Fixes applied, including fix .checkUntilAvailable error

2018-05-13 - 3.0.0 - ci

Main description here

  • CI changes and updates to the access level and global packages

2017-07-31 - 2.0.10 - package

Update to new package name and improved record retrieval

  • Breaking Change: Package name update and record retrieval improvements

2017-01-27 - 2.0.1 - maintenance

Multiple fixes and merges

2017-01-27 - 2.0.0 - core

Fix typings and update to better API

2016-11-15 - 1.0.7 - initial

Initial setup and improvements

  • Initial deployment
  • README improvements