Changelogs for 4.2.x
====================

.. changelog::
  :version: 4.2.5
  :released: 13th of October 2020

  .. change::
    :tags: Bug Fixes
    :pullreq: 9603

    Backport of CVE-2020-25829: Cache pollution.

  .. change::
    :tags: Bug Fixes
    :pullreq: 9508
    :tickets: 9497

    Raise an exception on invalid content in unknown records.

  .. change::
    :tags: Bug Fixes
    :pullreq: 9502
    :tickets: 9070

    Boost 1.73 moved boost::bind placeholders to the placeholders namespace.

  .. change::
    :tags: Bug Fixes
    :pullreq: 9456
    :tickets: 9454

    Fix the parsing of `dont-throttle-netmasks` in the presence of `dont-throttle-names`.

  .. change::
    :tags: Bug Fixes
    :pullreq: 9368

    Resize hostname to final size in getcarbonhostname().

.. changelog::
  :version: 4.2.4
  :released: 17th of July 2020

  .. change::
    :tags: Bug Fixes
    :pullreq: 9334
    :tickets: 9309

    Validate cached DNSKEYs against the DSs, not the RRSIGs only.

  .. change::
    :tags: Bug Fixes
    :pullreq: 9333
    :tickets: 9297

    Ignore cache-only for DNSKEYS/DS retrieval.

  .. change::
    :tags: Bug Fixes
    :pullreq: 9332
    :tickets: 9292

    A ServFail while retrieving DS/DNSKEY records is just that.

  .. change::
    :tags: Bug Fixes
    :pullreq: 9331
    :tickets: 9188

    Refuse DS records received from child zones.

  .. change::
    :tags: Bug Fixes
    :pullreq: 9306
    :tickets: 9268

    Better exception handling in housekeeping/handlePolicyHit.

.. changelog::
  :version: 4.2.3
  :released: 1st of July 2020

  .. change::
    :tags: Bug Fixes
    :pullreq: 9284

    Backport of CVE-2020-14196: Enforce webserver ACL.

  .. change::
    :tags: Bug Fixes
    :pullreq: 9261
    :tickets: 9251

    Copy the negative cache entry before validating it.

  .. change::
    :tags: Bug Fixes
    :pullreq: 9133
    :tickets: 9127

    Fix compilation on systems that do not define HOST_NAME_MAX.

  .. change::
    :tags: Improvements
    :pullreq: 9123
    :tickets: 8640

    Fix build with gcc-10

.. changelog::
  :version: 4.2.2
  :released: 19th of May 2020

  .. change::
     :tags: Bug Fixes
     :pullreq: 9116

     Backport of security fixes for CVE-2020-10995, CVE-2020-12244 and
     CVE-2020-10030, plus avoid a crash when loading an invalid RPZ.

  .. change::
    :tags: Improvements
    :pullreq: 9081

    Add ubuntu focal target.

  .. change::
    :tags: Internals
    :pullreq: 8988

    Update gen-version to use latest tag for version number.

  .. change::
    :tags: Internals
    :pullreq: 8964, 8752
    :tickets: 8875

    Update boost.m4.

  .. change::
    :tags: Improvements
    :pullreq: 8869

    Only log qname parsing errors when 'log-common-errors' is set.

  .. change::
    :tags: Bug Fixes
    :pullreq: 8832

    Refuse NSEC records with a bitmap length > 32.

  .. change::
    :tags: Bug Fixes
    :pullreq: 8802

    Avoid startup race by setting the state of a tread before starting it.

  .. change::
    :tags: Bug Fixes
    :pullreq: 8696

    Better detection of Bogus zone cuts for DNSSEC validation.

  .. change::
    :tags: Bug Fixes.
    :pullreq: 8674

    Debian postinst / do not fail on user creation if it already exists.

  .. change::
    :tags: Bug Fixes
    :pullreq: 8686

    Fix parsing `dont-throttle-names` and `dont-throttle-netmasks` as comma separated lists.

.. changelog::
  :version: 4.2.1
  :released: 9th of December 2019

  .. change::
    :tags: Bug Fixes
    :pullreq: 8552

    Purge map of failed auths periodically by keeping a last changed timestamp.

  .. change::
    :tags: Bug Fixes
    :pullreq: 8528

    Prime NS records of root-servers.net parent (.net) 

  .. change::
    :tags: Improvements
    :pullreq: 8427

    Add CentOS 8 as builder target

  .. change::
    :tags: Bug Fixes
    :pullreq: 8493

    Issue with "zz" abbreviation for IPv6 RPZ triggers

  .. change::
    :tags: Bug Fixes
    :pullreq: 8452

    Basic validation of $GENERATE parameters

  .. change::
    :tags: Improvements
    :pullreq: 8124

    Update boost.m4

  .. change::
    :tags: Bug Fixes
    :pullreq: 8230

    Fix inverse handler registration logic for SNMP.

  .. change::
    :tags: Improvements
    :pullreq: 8187
    :tickets: 8101

    Add deviceName field to protobuf messages

  .. change::
    :tags: Improvements
    :pullreq: 8121
    :tickets: 8008, 8047

    Test improvements (Chris Hofstaedtler)

  .. change::
    :tags: Improvements
    :pullreq: 8086

    Builder: add raspbian-buster target


.. changelog::
  :version: 4.2.0
  :released: 16th of July 2019

  .. change::
    :tags: Bug Fixes
    :pullreq: 8074

    Make sure we always compile with BOOST_CB_ENABLE_DEBUG set to 0

  .. change::
    :tags: Bug Fixes
    :pullreq: 8052

    Limit compression pointers to 14 bits

  .. change::
    :tags: Bug fixes
    :pullreq: 8009

    Fix the export of only outgoing queries or incoming responses

  .. change::
    :tags: Improvements, Internals
    :pullreq: 8005
    :tickets: 7981

    Clear CMSG_SPACE(sizeof(data)) in cmsghdr to appease valgrind


.. changelog::
  :version: 4.2.0-rc2
  :released: 25th of June 2019

  .. change::
    :tags: Bug Fixes
    :pullreq: 7955

    Handle short reads from our random device

  .. change::
    :tags: Bug Fixes
    :pullreq: 7953

    Check if -latomic is needed instead of hardcoding

  .. change::
    :tags: Improvements, Internals
    :pullreq: 7939

    Compare the CacheKey type and place first then the name

  .. change::
    :tags: Bug Fixes, Internals
    :pullreq: 7931

    Don't mix time() and gettimeofday() in our unit tests

  .. change::
    :tags: Bug Fixes, Internals
    :pullreq: 7954

    SuffixMatchTree fixes


.. changelog::
  :version: 4.2.0-rc1
  :released: 23th of May 2019

  .. change::
    :tags: Bug Fixes, SNMP
    :pullreq: 7826

    Fix the detection of ``snmp_select_info2()``.

  .. change::
    :tags: Bug Fixes, Internals
    :pullreq: 7813
    :tickets: 7272

    Ensure a valid range to ``string()`` in ``PacketReader::getUnquotedText()``

  .. change::
    :tags: Improvements, SNMP
    :pullreq: 7818

    Use ``net-snmp-config --netsnmp-agent-libs`` instead of ``--agent-libs``.

.. changelog::
  :version: 4.2.0-beta1
  :released: 7th of May 2019

  .. change::
    :tags: Bug Fixes, Internals
    :pullreq: 7730

    Move replaced negcache entries to the back of the expunge queue.

  .. change::
    :tags: Improvements
    :pullreq: 7571

    Add a ``distribution-pipe-buffer-size`` setting.

  .. change::
    :tags: Bug Fixes, DNSSEC
    :pullreq: 7714

    Fix DNSSEC validation of non-expanded wildcards.

  .. change::
    :tags: Bug Fixes, DNSSEC
    :pullreq: 6341
    :tickets: 6318

    Add DNAME support.

  .. change::
    :tags: New Features, Internals
    :pullreq: 7480

    Implement a way to disallow throttling of auths.

  .. change::
    :tags: Improvements
    :pullreq: 7508

    Add ``protobuf-use-kernel-timestamp`` for sharper latencies.

  .. change::
    :tags: Improvements, Internals
    :pullreq: 7410

    Ignore path MTU discovery on UDP server socket.

  .. change::
    :tags: Bug Fixes, Internals
    :pullreq: 7731

    Fix the cache cleaning code being only run once for workers.

  .. change::
    :tags: Improvements, Internals
    :pullreq: 7669
    :tickets: 7671

    Set ``--enable-option-checking=fatal`` on all package builds, enable SNMP in RPMS.

  .. change::
    :tags: Bug Fixes, Internals
    :pullreq: 7708

    Alternative solution to the unaligned accesses.

  .. change::
    :tags: Improvements
    :pullreq: 7649

    This provides cpu usage statistics per thread (worker & distributor).

  .. change::
    :tags: Bug Fixes, Lua
    :pullreq: 7652

    ``ednsoptionview`` improvements.

  .. change::
    :tags: New Features
    :pullreq: 7631

    ECS cache limit with TTL.

  .. change::
    :tags: New Features, Internals
    :pullreq: 7507

    Use a bounded load balancing algo to distribute queries.

  .. change::
    :tags: Improvements
    :pullreq: 7574

    Add a new ``ecs-minimum-ttl-override`` setting.

  .. change::
    :tags: Improvements, Internals
    :pullreq: 7484

    ``Utility::random()`` and ``srandom()`` are not used anymore.

  .. change::
    :tags: Improvements, API
    :pullreq: 7504
    :tickets: 7498

    Add rec statistics about ECS response sizes, API endpoint to get a specific stat.

  .. change::
    :tags: Bug Fixes, Lua
    :pullreq: 7589

    Add missing ``getregisteredname`` Lua function. (Aki Tuomi)

  .. change::
    :tags: Improvements, Internals
    :pullreq: 7583

    Move back to malloc on !openbsd. Doing mmap/munmap all the time hurts…

  .. change::
    :tags: Improvements, Internals
    :pullreq: 7540

    Set ``ip(v6)_recverr`` socket option to get notified of more than just port unreachable errors on Linux.

  .. change::
    :tags: Improvements, Internals
    :pullreq: 7502

    Change the way ``getRealMemUsage()`` works on Linux (using ``statm``).

  .. change::
    :tags: Bug Fixes
    :pullreq: 7494

    Correctly interpret an empty AXFR response to an IXFR query.

  .. change::
    :tags: New Features, DNSSEC
    :pullreq: 7478
    :tickets: 7445

    Add a new ``max-cache-bogus-ttl`` option.

  .. change::
    :tags: Improvements, Lua
    :pullreq: 7492
    :tickets: 6853

    Lua: expose ``dns_random`` as ``pdnsrandom``.

  .. change::
    :tags: Improvements
    :pullreq: 7476

    Add an option to not override custom RPZ types with the default policy.

  .. change::
    :tags: Improvements
    :pullreq: 7433

    Resync YaHTTP code to cmouse/yahttp@11be77a1fc4032. (Chris Hofstaedtler)

.. changelog::
  :version: 4.2.0-alpha1
  :released: 1st of February 2019

  Initial 4.2.x release, please see the blog post: https://blog.powerdns.com/2019/02/01/changes-in-the-powerdns-recursor-4-2-0/

  .
