DnsClient.NET Versions Save

DnsClient.NET is a simple yet very powerful and high performant open source library for the .NET Framework to do DNS lookups

1.7.0

1 year ago

This is a small release without huge changes.

Improvements

  • Added .NET 6 target (and some .NET 6+ specific code).
  • Made DnsDatagramReader public. That was requested a few times now, e.g.: #75

Bugfixes:

  • fixes #166 - Stackoverflow error after millions of lookups

1.6.1

1 year ago

Bugfixes

  • See #162. Fixed errors with the windows registry nuget, which is used in just an edge case scenario at startup, causing all kinds of problems 😑

1.6.0

2 years ago

New / Change

In 1.5, the DNS response ID validation was lifted to just log warnings. This mechanic has been reverted to throw an error but with a bit better handling and retrying the request thanks to @JamesKovacs. See #140

Bug Fixes

  • Until this version, UDP sockets were reused in favor of performance. That did cause some issues though and all kind of pooling has been removed. See #132
  • See #136, removed a case where the response was null and might have caused some errors in some cases
  • When run in Azure Functions, the Name Resolution policy feature we added in 1.5 threw a Platform not Supported exception, although we did check for IsOSPlatform(OSPlatform.Windows). Seems that was not enough. See #133

1.5.0

2 years ago

New

  • Several changes to name server auto resolution see #122 for the announcement
    • DnsClient now also respects NRPT policies (a Windows only feature), see #114 and thanks to @SteveSyfuhs
    • Added DNS suffix #113
  • Added NAPTR records support, thanks to @rj2Skipper see #88
  • Also added more DNS Sec records: NSec3, NSec3Param see #119

Bugfixes

  • Query cancellation was slightly reworked, see #121 #124, thanks to @chkimes

Details: See https://github.com/MichaCo/DnsClient.NET/milestone/9?closed=1

1.4.0

3 years ago

New

  • Support for parsing TLSA, RRSig, DS, NSEC, DnsKey and SPF records (PRs #71, #86, #87)
  • New configuration option to allow the client to cache failed responses (this is opt-in, default is no cache), see #80
  • Updated System.Buffers reference to the latest version (from 4.4.0 to 4.5.1)
  • The request and response Id check is now a warning log instead of a hard error, see #74 (still investigating if there is an actual issue under Linux with async socket usage....)

Bugfixes

  • Added validation for using ANY address as a nameserver, see #74, #83
  • Fixing incorrect product assembly version in released NuGet, see #92

1.3.2

4 years ago

Fixes

  • #72 Issue with new versions of Consul
  • #69 and other spelling mistakes

1.3.1

4 years ago

Bug Fixes

  • Fixed #67. The feature added in 1.3.0, reacting to network changes, if name-server auto discovery is enabled, can cause memory issues. Especially if the LookupClient isn't used as singleton. The feature has been removed.

1.3.0

4 years ago

Bug Fixes

  • Fixed a bug with non-empty OPT records, see #51 and #55. This should fix all those parser errors which were reported by different users using the mongodb C# driver on certain Azure clusters!
  • Fixed one native path in NameServer.ResolveNameServersNative which did not filter site local addresses properly.

New Features

  • New Configuration API which will replace the property setters on the LookupClient in a future version. The current properties are marked obsolete for now. See #33 for more details.
  • Added maximum cache duration setting (#48)
  • Auto detect network name server changes (#66). If LookupClient has to discover the NameServers automatically, it now will try to react to changes in the network configuration (especially useful in long running services)
  • New setting ContinueOnEmptyResponse (#64). This is enabled per default and instructs LookupClient to query all configured DNS server until the question is answered or no more servers are available.
  • Improved EDNS handling (#61, #62). New settings to disable or configure the EDNS behavior of LookupClient
  • Logging and Tracing and better error handling in general (#60)
  • Changed the behavior when LookupClient gets a bad truncated responses, it now tries to re-run the query over TCP if it detects such cases - see #52
  • Changed the result of the ResolveService APIs to include weight and order of the SRV records (#34)

Other Changes

  • Added a lot more unit tests and also tests to validate backward compatibility down to the 1.1.0 API
  • Changed the caching mechanism to cache only answered responses.
  • Changed caching to not cache by server

1.2.0

5 years ago

New Features

  • Added support for SSHFP resource records, see #30, thanks @xudonax!
  • The TTL of cached results will now show the correct (actual) time left in cache. There is a new property, InitialTimeToLive, which stores the original TTL value.

Changes

  • The rules for domain names have been changed in a way that DnsClient will behave more relaxed and not so strict anymore, see #31.
  • The name server resolving mechanism to fallback to a native implementation has been re-added. As .NET Core still has issues on e.g. Linux...

Bug Fixes

  • Fixed an issue with very large TCP responses which are split into multiple responses by the server, see #32.

1.1.1

5 years ago

Bugfix

  • Fixes #24, With VS2015 you might have received an error when installing version 1.1.0