Acrylic DNS Proxy Changelog

What's new in Acrylic DNS Proxy 2.1.1

Aug 7, 2022
  • Solved a file permission vulnerability in Acrylic's setup.
  • Solved an unquoted path vulnerability in Acrylic's setup.
  • Solved a bug that made Acrylic discard DNS responses larger than 4096 bytes as malformed packets.

New in Acrylic DNS Proxy 2.1.0 (Jul 3, 2021)

  • Added a domain name affinity mask tester to the Acrylic UI desktop application.
  • The time it takes for the Acrylic service to stop or restart has been significantly improved.
  • Solved a bug that made Acrylic ignore the value of the *DoHProtocolReuseConnections configuration parameter for WinHttp when set to "No".

New in Acrylic DNS Proxy 2.0.0 (Oct 31, 2020)

  • Stability and performance improvements in many areas.
  • Added support for query type affinity masks when saving items into the address cache.⁽¹⁾
  • Added support for domain name affinity masks when saving items into the address cache.⁽²⁾
  • Improved handling of truncated DNS responses with support for resolving DNS requests over TCP.
  • The sinkholing of IPv6 lookups is now easier thanks to a dedicated parameter in the Acrylic configuration file.⁽³⁾
  • The hit log has been improved with better DNS dissection and the addition of the DNS Server Index and the DNS Response Time fields.

New in Acrylic DNS Proxy 1.2.2 (Feb 15, 2020)

  • Fixed a bug potentially producing transient connectivity errors with some affinity masks when dual stack connectivity is active.

New in Acrylic DNS Proxy 1.2.1 (Feb 9, 2020)

  • Acrylic files are hosted on external servers. If you want to check their integrity verify that their hashes match with the ones shown above.
  • Fixed a bug potentially impacting the DNS-over-HTTPS protocol when using more than one DNS resolver.

New in Acrylic DNS Proxy 1.2.0 (Feb 3, 2020)

  • Fixed a bug occurring with the DNS-over-HTTPS protocol when a DNS resolver is configured with a wildcard SSL certificate.

New in Acrylic DNS Proxy 1.1.1 (Nov 28, 2019)

  • Fixed a bug occurring with the DNS-over-HTTPS protocol when a DNS resolver is configured with a wildcard SSL certificate.

New in Acrylic DNS Proxy 1.1.0 (Nov 28, 2019)

  • Added support for the DNS-over-HTTPS protocol.

New in Acrylic DNS Proxy 1.0.2 (Jun 16, 2019)

  • Support for legacy mode in the hit log has been removed.
  • More informations can now be written into the hit log. (*1)
  • The hit log and the debug log performance has been improved.
  • The address cache performance has been improved with the periodic pruning of obsolete items (*3).
  • Reverse lookups (a.k.a. PTR queries) for private IP ranges are not forwarded by default to upstream DNS servers anymore (*2)
  • All query types can now be used in affinity masks, either explicitly using A, AAAA, CNAME, MX, NS, PTR, SOA, SRV and TXT or implicitly using their decimal values.

New in Acrylic DNS Proxy 1.0.1 (Mar 22, 2019)

  • The HitLogMinPendingHits and the HitLogMaxPendingHits parameters have been added to the Acrylic configuration file.

New in Acrylic DNS Proxy 1.0.0 (Mar 2, 2019)

  • The stats log has been removed.
  • Added caching support for failure DNS responses. (*1)
  • Improved the stability and the performance of the communication layer.
  • All file I/O operations now use buffered streams for increased throughput.
  • Writing to the hit log is now asynchronous and does not block the resolver thread anymore.
  • The AddressCacheInMemoryOnly parameter has been added to the Acrylic configuration file.
  • Added configuration parameters for better control of communication timeouts and behaviour. (*2)
  • The DNS request hashing algorithm is now MD5, which has better collision resistance than Crc64. (*3)
  • The setup now aborts the installation if an old version of Acrylic is detected (because it must be uninstalled first).
  • Added cache exceptions to the Acrylic configuration file to improve the reliability of the Network Connection Status Icon.
  • The hosts cache data structure has been rewritten to improve its performance and to reduce its memory consumption for heavy workloads.
  • The address cache data structure has been rewritten to improve its performance and to reduce its memory consumption for heavy workloads. (*3)
  • The OpenAcrylicConfigurationFile and OpenAcrylicHostsFile command line options have been added to the Acrylic DNS Proxy UI desktop application.

New in Acrylic DNS Proxy 0.9.39 (Jun 26, 2018)

  • Added batch files for controlling the Acrylic service.
  • Fixed a stack overflow bug when inserting a large number of items in the address cache.
  • The Acrylic DNS Proxy UI desktop application now opens as a normal window and remembers its state, position and size when closed.

New in Acrylic DNS Proxy 0.9.38 (Jun 13, 2018)

  • Added support for FORWARD entries in the AcrylicHosts.txt file.
  • The experimental http server has been removed. It was not worth the effort to maintain it.
  • The Acrylic service name has been changed from AcrylicServiceController to AcrylicDNSProxySvc for clarity.
  • The Acrylic DNS Proxy UI desktop application has been added to the project to simplify editing configuration and controlling the service.
  • As a consequence of the previous point the AcrylicController.exe and the AcrylicRegExTester.exe console applications (now redundant) have been removed.
  • The syntax for specifying exceptions to regular expressions and patterns in the AcrylicHosts.txt file has been changed in favor of the more powerful FORWARD entries.
  • The WhiteExceptionsSection in the AcylicConfiguration.ini file is not supported anymore. Better results can be obtained using the more powerful FORWARD entries in the AcrylicHosts.txt file.

New in Acrylic DNS Proxy 0.9.37 (Nov 13, 2017)

  • Fixed a regression (introduced in version 0.9.36) when loading hosts files containing multiple entries per line.

New in Acrylic DNS Proxy 0.9.36 (Nov 10, 2017)

  • Added support of NXDOMAIN records in the AcrylicHosts.txt file.
  • Fixed a bug when loading hosts files containing domain names already sorted in alphabetical order.

New in Acrylic DNS Proxy 0.9.35 (Nov 7, 2016)

  • The number of simultaneous requests that can be handled by Acrylic has been increased.

New in Acrylic DNS Proxy 0.9.34 (Jul 4, 2016)

  • The setup now tries to add a firewall rule to allow inbound traffic to the Acrylic service
  • A console application (AcrylicRegExTester) to test regular expressions against domain names has been added to the project
  • Fixed a rare bug in the way the AcrylicHosts.txt file was read. Support for Old Macintosh line terminator style has been dropped
  • The regular expression engine has been replaced with PCRE (many more features and about 3.5 times faster than the previous one).

New in Acrylic DNS Proxy 0.9.33 (Jun 23, 2016)

  • The time to live can now be explicitly configured for DNS responses generated by Acrylic.
  • Added support for multiple line terminator styles (Windows, Unix & Old Macintosh) in the AcrylicHosts.txt file.
  • Added %TEMP%, %APPDATA% and %LOCALAPPDATA% to the list of templates supported within the hit log and stats log file names.

New in Acrylic DNS Proxy 0.9.32 (May 27, 2016)

  • Improved logging (now including Windows IP configuration at startup).
  • Added support for including external files from within the AcrylicHosts.txt file.
  • Added support for the SOCKS 5 protocol (allowing for example DNS over TCP resolution through TOR). (*)
  • Introduced an experimental HTTP server (disabled by default) useful for providing default content to browsers.

New in Acrylic DNS Proxy 0.9.31 (Apr 13, 2016)

  • Solved a bug which prevented Acrylic to read configuration entries larger than 2048 characters.
  • Improved resolving of A (IPv4) and AAAA (IPv6) requests from the Acrylic HOSTS file when one of the related entries is missing. Now if Acrylic receives an AAAA request and only the A record has been specified inside the Acrylic HOSTS file (or vice-versa) it will answer with an empty response to the client, instead of forwarding the request.

New in Acrylic DNS Proxy 0.9.30 (Feb 16, 2016)

  • Improved handling of missing or incomplete IPv6 support on Windows versions prior to Windows Vista or Windows Server 2008.

New in Acrylic DNS Proxy 0.9.29 (Feb 14, 2016)

  • Added support for IPv6. (IPv6 addresses can now be specified for any of the configured DNS servers and within the Acrylic HOSTS file)
  • Added support for DNS over TCP
  • Added source port randomization to DNS over UDP
  • The NSIS installer has been upgraded to the latest version
  • Added /NoLog and /NoBanner command line options to the console version
  • Added batch files for the most common control operations on the Acrylic service
  • Gaps are now allowed in DNS server configurations (e.g. a primary and a tertiary DNS server without a secondary DNS server configured.)
  • The *ServerHostNameAffinityMask configuration options have been renamed to ServerDomainNameAffinityMask for consistency with the source code
  • The LocalBindingAddress and LocalBindingPort configuration options have been replaced by LocalIPv4BindingAddress, LocalIPv4BindingPort, LocalIPv6BindingAddress and LocalIPv6BindingPor

New in Acrylic DNS Proxy 0.9.28 (Sep 24, 2015)

  • Solved a bug regarding AAAA queries not resolved properly from the AcrylicHosts.txt file.

New in Acrylic DNS Proxy 0.9.27 (Sep 24, 2015)

  • A "portable" version is now available
  • Added a better description to the Acrylic DNS Proxy service
  • Fixed a mismatch between implemented DNS query types and IANA codes
  • Better handling of the '>' operator for wildcards within the AcrylicHosts.txt file
  • Service name changed from AcrylicController to AcrylicServiceController. The service display name though is still "Acrylic DNS Proxy Service"

New in Acrylic DNS Proxy 0.9.11 (Jul 21, 2008)

  • Indication of the destiny of a request has been added to the hit log.
  • Solved a bug which prevented new informations to be added to the debug log.