]> git.ipfire.org Git - thirdparty/pdns.git/blob - pdns/dnsdistdist/docs/changelog.rst
Merge pull request #6838 from mind04/autoserial
[thirdparty/pdns.git] / pdns / dnsdistdist / docs / changelog.rst
1 Changelog
2 =========
3
4 .. changelog::
5 :version: 1.3.3
6 :released: 8th of November 2018
7
8 .. change::
9 :tags: New Features
10 :pullreq: 6737, 6939
11 :tickets: 6932
12
13 Add consistent hash builtin policy
14
15 .. change::
16 :tags: New Features
17 :pullreq: 6803
18
19 Add EDNSOptionRule
20
21 .. change::
22 :tags: New Features
23 :pullreq: 6813
24
25 Add DSTPortRule (phonedph1)
26
27 .. change::
28 :tags: New Features
29 :pullreq: 6826
30
31 Make getOutstanding usable from both lua and console (phonedph1)
32
33 .. change::
34 :tags: Improvements
35 :pullreq: 6831
36
37 Get rid of some allocs/copies in DNS parsing
38
39 .. change::
40 :tags: Bug Fixes
41 :pullreq: 6835
42
43 Display dynblocks' default action, None, as the global one
44
45 .. change::
46 :tags: Improvements
47 :pullreq: 6847
48 :tickets: 6348, 4857
49
50 Set a correct EDNS OPT RR for self-generated answers
51
52 .. change::
53 :tags: New Features
54 :pullreq: 6856
55
56 Added :excludeRange and :includeRange methods to DynBPFFilter class (Reinier Schoof)
57
58 .. change::
59 :tags: Improvements
60 :pullreq: 6877
61
62 Fix a sign-comparison warning in isEDNSOptionInOPT()
63
64 .. change::
65 :tags: New Features
66 :pullreq: 3935, 6343, 6901, 7007, 7089
67 :tickets: 4947, 6002
68
69 Add Prometheus stats support (Pavel Odintsov, Kai S)
70
71 .. change::
72 :tags: Bug Fixes
73 :pullreq: 6956
74
75 Fix compilation when SO_REUSEPORT is not defined
76
77 .. change::
78 :tags: Improvements
79 :pullreq: 6986
80 :tickets: 6907, 6907
81
82 Add warning rates to DynBlockRulesGroup rules
83
84 .. change::
85 :tags: New Features
86 :pullreq: 6997
87 :tickets: 6974
88
89 Name threads in the programs
90
91 .. change::
92 :tags: Improvements
93 :pullreq: 7015
94 :tickets: 7004, 6990
95
96 Add support for exporting a server id in protobuf
97
98 .. change::
99 :tags: Improvements
100 :pullreq: 7030
101
102 dnsdist did not set TCP_NODELAY, causing needless latency
103
104 .. change::
105 :tags: Bug Fixes
106 :pullreq: 7060
107
108 Release memory on DNS over TLS handshake failure
109
110 .. change::
111 :tags: Improvements
112 :pullreq: 7062
113
114 Add a setting to control the number of stored sessions
115
116 .. change::
117 :tags: Improvements
118 :pullreq: 7064
119 :tickets: 7060
120
121 Wrap GnuTLS and OpenSSL pointers in smart pointers
122
123 .. change::
124 :tags: New Features
125 :pullreq: 7075
126 :tickets: 6908
127
128 Support the NXDomain action with dynamic blocks
129
130 .. change::
131 :tags: Improvements
132 :pullreq: 7078
133 :tickets: 6909
134
135 Add a 'creationOrder' field to rules
136
137 .. change::
138 :tags: Improvements
139 :pullreq: 7092
140 :tickets: 7091
141
142 Fix return-type detection with boost 1.69's tribool
143
144 .. change::
145 :tags: Improvements
146 :pullreq: 7104
147 :tickets: 7096
148
149 Fix format string issue on 32bits ARM
150
151 .. change::
152 :tags: Improvements
153 :pullreq: 7108
154
155 Wrap TCP connection objects in smart pointers
156
157 .. change::
158 :tags: Improvements
159 :pullreq: 7109
160 :tickets: 7084
161
162 Add the setConsoleOutputMaxMsgSize function
163
164 .. change::
165 :tags: New Features
166 :pullreq: 7115
167
168 Add security polling
169
170 .. change::
171 :tags: Improvements
172 :pullreq: 7117
173 :tickets: 7112
174
175 Add the ability to update webserver credentials
176
177 .. change::
178 :tags: New Features
179 :pullreq: 7140
180
181 Add a PoolAvailableRule to easily add backup pools (Robin Geuze)
182
183 .. change::
184 :tags: Bug Fixes
185 :pullreq: 7165
186 :tickets: 6896
187
188 Handle trailing data correctly when adding OPT or ECS info
189
190 .. changelog::
191 :version: 1.3.2
192 :released: 10th of July 2018
193
194 .. change::
195 :tags: Bug Fixes
196 :pullreq: 6785
197
198 Add missing include for PRId64, fix build on CentOS 6 / SLES 12
199
200 .. changelog::
201 :version: 1.3.1
202 :released: 10th of July 2018
203
204 .. change::
205 :tags: Improvements
206 :pullreq: 6358
207 :tickets: 6357
208
209 Remove `thelog` and `thel` and replace this with a global g_log
210
211 .. change::
212 :tags: Improvements
213 :pullreq: 6422
214
215 Fix two small nits on the documentation
216
217 .. change::
218 :tags: Improvements
219 :pullreq: 6426
220 :tickets: 6394
221
222 Move the el6 dnsdist package to upstart
223
224 .. change::
225 :tags: Bug Fixes
226 :pullreq: 6425
227
228 Initialize the done variable in the rings' unit tests
229
230 .. change::
231 :tags: Bug Fixes
232 :pullreq: 6429
233
234 Reorder headers to fix OpenBSD build
235
236 .. change::
237 :tags: Improvements
238 :pullreq: 6435
239 :tickets: 6433
240
241 CLI option improvements (Chris Hofstaedtler)
242
243 .. change::
244 :tags: Improvements
245 :pullreq: 6436
246
247 Split pdns_enable_unit_tests (Chris Hofstaedtler)
248
249 .. change::
250 :tags: Bug Fixes
251 :pullreq: 6448
252
253 Restrict value range for weight parameter, avoid sum overflows dropping queries (Dan McCombs)
254
255 .. change::
256 :tags: Improvements
257 :pullreq: 6445, 6457, 6470
258 :tickets: 6423
259
260 Re-do lua detection
261
262 .. change::
263 :tags: Improvements
264 :pullreq: 6460
265
266 Docs: fix missing ref in the dnsdist docs
267
268 .. change::
269 :tags: Improvements
270 :pullreq: 6502
271
272 Be more permissive in wrandom tests, log values on failure
273
274 .. change::
275 :tags: Improvements
276 :pullreq: 6523
277 :tickets: 6430
278
279 Tests: avoid failure on not-so-optimal distribution
280
281 .. change::
282 :tags: New Features
283 :pullreq: 6524
284 :tickets: 6450
285
286 Add support for more than one TLS certificate
287
288 .. change::
289 :tags: Improvements
290 :pullreq: 6577
291
292 Add syntax to dns.proto to silence compilation warning.
293
294 .. change::
295 :tags: Improvements
296 :pullreq: 6590
297
298 Fix warnings reported by gcc 8.1.0
299
300 .. change::
301 :tags: Improvements
302 :pullreq: 6592
303 :tickets: 6483
304
305 Document setVerboseHealthchecks()
306
307 .. change::
308 :tags: Improvements
309 :pullreq: 6615
310
311 Update dq.rst (phonedph1)
312
313 .. change::
314 :tags: Improvements
315 :pullreq: 6641
316
317 Fix rpm scriptlets
318
319 .. change::
320 :tags: Improvements
321 :pullreq: 6637
322
323 Don't copy unitialized values of SuffixMatchTree
324
325 .. change::
326 :tags: Improvements
327 :pullreq: 6684
328
329 Expose toString of various objects to Lua (Chris Hofstaedtler)
330
331 .. change::
332 :tags: Improvements
333 :pullreq: 6674
334
335 Remove 'expired' states from MaxQPSIPRule
336
337 .. change::
338 :tags: Bug Fixes
339 :pullreq: 6672
340
341 Fix reconnection handling
342
343 .. change::
344 :tags: Improvements
345 :pullreq: 6688
346 :tickets: 6664
347
348 Mark the remote member of DownstreamState as const
349
350 .. change::
351 :tags: Bug Fixes
352 :pullreq: 6706
353
354 Dynamic blocks were being created with the wrong duration (David Freedman)
355
356 .. change::
357 :tags: Improvements
358 :pullreq: 6710
359 :tickets: 6706
360
361 Test the content of dynamic blocks using the API
362
363 .. change::
364 :tags: Improvements
365 :pullreq: 6711
366 :tickets: 6532
367
368 Default set "connection: close" header for web requests
369
370 .. change::
371 :tags: Improvements
372 :pullreq: 6717
373
374 Update timedipsetrule.rst (phonedph1)
375
376 .. change::
377 :tags: Improvements
378 :pullreq: 6716
379 :tickets: 6712
380
381 Don't access the TCP buffer vector past its size
382
383 .. change::
384 :tags: Improvements
385 :pullreq: 6563
386
387 Show droprate in API output
388
389 .. change::
390 :tags: Bug Fixes
391 :pullreq: 6718
392 :tickets: 6442
393
394 Limit qps and latency to two decimals in the web view
395
396 .. change::
397 :tags: Improvements
398 :pullreq: 6715
399 :tickets: 6683, 6709
400
401 Refuse console connection without a proper key set
402
403 .. change::
404 :tags: New Features
405 :pullreq: 6740
406 :tickets: 6579
407
408 Add a negative ttl option to the packet cache
409
410 .. change::
411 :tags: Bug Fixes
412 :pullreq: 6747
413
414 Check the flags to detect collisions in the packet cache
415
416 .. change::
417 :tags: New Features
418 :pullreq: 6749
419
420 Add the ability to dump a summary of the cache content
421
422 .. change::
423 :tags: Bug Fixes
424 :pullreq: 6762
425
426 Fix iterating over the results of exceed*() functions
427
428 .. change::
429 :tags: Bug Fixes
430 :pullreq: 6767
431
432 Fix duration false positive in the dynblock regression tests
433
434 .. change::
435 :tags: New Features
436 :pullreq: 6760
437
438 Add netmask-based {ex,in}clusions to DynblockRulesGroup
439
440 .. change::
441 :tags: New Features
442 :pullreq: 6776
443 :tickets: 6703
444
445 Add DNSAction.NoOp to debug dynamic blocks
446
447 .. change::
448 :tags: Bug Fixes
449 :pullreq: 6775
450 :tickets: 6758
451
452 Implement NoneAction()
453
454 .. change::
455 :tags: Bug Fixes
456 :pullreq: 6754
457 :tickets: 6747
458
459 Detect ECS collisions in the packet cache
460
461 .. change::
462 :tags: Bug Fixes
463 :pullreq: 6773
464
465 Fix an outstanding counter race when reusing states
466
467 .. change::
468 :tags: New Features
469 :pullreq: 6734
470 :tickets: 6404
471
472 Add SetECSAction to set an arbitrary outgoing ecs value
473
474 .. change::
475 :tags: Improvements
476 :pullreq: 6726
477
478 Use LRU to clean the MaxQPSIPRule's store
479
480 .. change::
481 :tags: Improvements
482 :pullreq: 6769
483
484 Disable maybe uninitialized warnings with boost optional
485
486 .. change::
487 :tags: New Features
488 :pullreq: 6764
489
490 Add support for rotating certificates and keys
491
492 .. change::
493 :tags: Improvements
494 :pullreq: 6658
495 :tickets: 6541
496
497 Luawrapper: report caught std::exception as lua_error
498
499 .. change::
500 :tags: Improvements
501 :pullreq: 6602
502
503 Dnstap.rst: fix some editing errors (Chris Hofstaedtler)
504
505 .. change::
506 :tags: Improvements
507 :pullreq: 6541
508 :tickets: 6535
509
510 Allow known exception types to be converted to string
511
512
513 .. changelog::
514 :version: 1.3.0
515 :released: 30th of March 2018
516
517 .. change::
518 :tags: Improvements, New Features
519 :pullreq: 5576, 5860
520 :tickets: 5202, 5859
521
522 Add cache sharding, ``recvmmsg`` and CPU pinning support.
523 With these, the scalability of :program:`dnsdist` is drastically improved.
524
525 .. change::
526 :tags: Improvements
527 :pullreq: 5970
528
529 Add burst option to :func:`MaxQPSIPRule` (42wim).
530
531 .. change::
532 :tags: Bug Fixes
533 :pullreq: 5328
534 :tickets: 5327
535
536 Handle SNMP alarms so we can reconnect to the master.
537
538 .. change::
539 :tags: New Features
540 :pullreq: 5625
541
542 Add an optional `status` parameter to :func:`Server:setAuto`.
543
544 .. change::
545 :tags: Bug Fixes
546 :pullreq: 5597
547 :tickets: 5489
548
549 Fix signed/unsigned comparison warnings on ARM.
550
551 .. change::
552 :tags: Improvements
553 :pullreq: 6022
554
555 Add Pools, cacheHitResponseRules to the API.
556
557 .. change::
558 :tags: New Features
559 :pullreq: 6072
560
561 Add :func:`inClientStartup` function.
562
563 .. change::
564 :tags: Improvements
565 :pullreq: 5929
566 :tickets: 5748
567
568 Add a class option to health checks.
569
570 .. change::
571 :tags: New Features
572 :pullreq: 6037
573
574 Add tag-based routing of queries.
575
576 .. change::
577 :tags: New Features
578 :pullreq: 6117, 6175, 6176, 6177, 6189
579
580 Add experimental :doc:`DNS-over-TLS <guides/dns-over-tls>` support.
581
582 .. change::
583 :tags: Improvements
584 :pullreq: 6030
585
586 Add UUIDs to rules, this allows tracking rules through modifications and moving them around.
587
588 .. change::
589 :tags: Bug Fixes
590 :pullreq: 5770
591
592 Keep trying if the first connection to the remote logger failed
593
594 .. change::
595 :tags: New Features
596 :pullreq: 5201, 6170
597
598 Add simple :doc:`dnstap <reference/dnstap>` support (Justin Valentini, Chris Hofstaedtler).
599
600 .. change::
601 :tags: Improvements
602 :pullreq: 6185
603 :tickets: 6182
604
605 Apply ResponseRules to locally generated answers (Chris Hofstaedtler).
606
607 .. change::
608 :tags: Improvements
609 :pullreq: 6283
610
611 Report :func:`LuaAction` and :func:`LuaResponseAction` failures in the log and send SERVFAIL instead of not answering the query (Chris Hofstaedtler).
612
613 .. change::
614 :tags: Improvements
615 :pullreq: 6289
616
617 Unify global statistics accounting (Chris Hofstaedtler).
618
619 .. change::
620 :tags: Improvements
621 :pullreq: 6350, 6366
622
623 Speed up the processing of large ring buffers.
624 This change will make :program:`dnsdist` more scalable with a large number of different clients.
625
626 .. change::
627 :tags: Improvements
628 :pullreq: 6363
629 :tickets: 6346
630
631 Make custom :func:`addLuaAction` and :func:`addLuaResponseAction` callback's second return value optional.
632
633 .. change::
634 :tags: Improvements
635 :pullreq: 6327
636
637 Add "server-up" metric count to Carbon Reporting (Lowell Mower).
638
639 .. change::
640 :tags: Improvements
641 :pullreq: 6045, 6382
642
643 Add xchacha20 support for :doc:`DNSCrypt <guides/dnscrypt>`.
644
645 .. change::
646 :tags: Improvements
647 :pullreq: 6317
648
649 Scalability improvement: Add an option to use several source ports towards a backend.
650
651 .. change::
652 :tags: Improvements
653 :pullreq: 6375, 5866
654 :tickets: 4845
655
656 Add '?' and 'help' for providing help() output on ``dnsdist -c`` (Kirill Ponomarev, Chris Hofstaedtler).
657
658 .. change::
659 :tags: Improvements
660 :pullreq: 6190, 6381
661
662 Replace the Lua mutex with a rw lock to limit contention.
663 This improves the processing speed and parallelism of the policies.
664
665 .. change::
666 :tags: New Features
667 :pullreq: 6220, 5594
668 :tickets: 5079, 5654
669
670 Add experimental XPF support based on `draft-bellis-dnsop-xpf-04 <https://tools.ietf.org/html/draft-bellis-dnsop-xpf-04>`__.
671
672 .. change::
673 :tags: New Features
674 :pullreq: 6147
675
676 Add :func:`ERCodeRule` to match on extended RCodes (Chris Hofstaedtler).
677
678 .. change::
679 :tags: Bug Fixes
680 :pullreq: 6018
681
682 Fix escaping unusual DNS label octets in DNSName is off by one (Kees Monshouwer).
683
684 .. change::
685 :tags: New Features
686 :pullreq: 6003
687
688 Add :func:`TempFailureCacheTTLAction` (Chris Hofstaedtler).
689
690 .. change::
691 :tags: Improvements
692 :pullreq: 6146
693
694 Ensure :program:`dnsdist` compiles on NetBSD (Tom Ivar Helbekkmo).
695
696 .. change::
697 :tags: Improvements
698 :pullreq: 5845
699 :tickets: 5845
700
701 Also log eBPF dynamic blocks, as regular dynamic block already are.
702
703 .. change::
704 :tags: New Features, Improvements
705 :pullreq: 6391
706
707 Add :ref:`DynBlockRulesGroup` to improve processing speed of the :func:`maintenance` function by reducing memory usage and not walking the ringbuffers multiple times.
708
709 .. change::
710 :tags: Removals
711 :pullreq: 6394
712 :tickets: 6329
713
714 Remove the ``--daemon`` option from :program:`dnsdist`.
715
716 .. change::
717 :tags: New Features
718 :pullreq: 6399
719 :tickets: 4654
720
721 Add :func:`console ACL <addConsoleACL>` functions.
722
723 .. change::
724 :tags: New Features
725 :pullreq: 6400
726 :tickets: 6098
727
728 Allow adding :meth:`EDNS Client Subnet information <ServerPool:setECS>` to a query before looking in the cache.
729 This allows serving ECS enabled answers from the cache when all servers in a pool are down.
730
731 .. change::
732 :tags: Improvements
733 :pullreq: 6401
734 :tickets: 6211
735
736 Ensure large numbers are shown correctly in the API.
737
738 .. change::
739 :tags: Improvements
740 :pullreq: 6402
741 :tickets: 5763
742
743 Add option to :func:`showRules` to truncate the output length.
744
745 .. change::
746 :tags: Bug Fixes
747 :pullreq: 6403
748
749 Avoid assertion errors in :func:`NewServer` (Chris Hofstaedtler).
750
751 .. change::
752 :tags: Improvements
753 :pullreq: 6407
754
755 Fix several warnings reported by clang's analyzer and cppcheck, should lead to small performance increases.
756
757
758 .. changelog::
759 :version: 1.2.1
760 :released: 16th of February 2018
761
762 .. change::
763 :tags: New Features
764 :pullreq: 5880
765
766 Add configuration option to disable IP_BIND_ADDRESS_NO_PORT (Dan McCombs).
767
768 .. change::
769 :tags: Improvements
770 :pullreq: 6057
771
772 Handle bracketed IPv6 addresses without ports (Chris Hofstaedtler).
773
774 .. change::
775 :tags: Bug Fixes
776 :pullreq: 5647
777
778 Make dnsdist dynamic truncate do right thing on TCP/IP.
779
780 .. change::
781 :tags: Bug Fixes
782 :pullreq: 5686
783
784 Add missing QPSAction
785
786 .. change::
787 :tags: Bug Fixes
788 :pullreq: 5847
789
790 Don't create a Remote Logger in client mode.
791
792 .. change::
793 :tags: Bug Fixes
794 :pullreq: 5858
795
796 Use libsodium's CFLAGS, we might need them to find the includes.
797
798 .. change::
799 :tags: Bug Fixes
800 :pullreq: 6012
801
802 Keep the TCP connection open on cache hit, generated answers.
803
804 .. change::
805 :tags: Bug Fixes
806 :pullreq: 6041
807
808 Add the missing <sys/time.h> include to mplexer.hh for struct timeval.
809
810 .. change::
811 :tags: Bug Fixes
812 :pullreq: 6043
813
814 Sort the servers based on their 'order' after it has been set.
815
816 .. change::
817 :tags: Bug Fixes
818 :pullreq: 6073
819
820 Quiet unused variable warning on macOS (Chris Hofstaedtler).
821
822 .. change::
823 :tags: Bug Fixes
824 :pullreq: 6094
825 :tickets: 5652
826
827 Fix the outstanding counter when an exception is raised.
828
829 .. change::
830 :tags: Bug Fixes
831 :pullreq: 6164
832 :tickets: 6163
833
834 Do not connect the snmpAgent from a dnsdist client.
835
836 .. changelog::
837 :version: 1.2.0
838 :released: 21st of August 2017
839
840 .. change::
841 :tags: Improvements
842 :pullreq: 4852
843 :tickets: 4851
844
845 DNSName: Check that both first two bits are set in compressed labels.
846
847 .. change::
848 :tags: Improvements
849 :pullreq: 4285
850 :tickets: 4131, 4155
851
852 Handle unreachable servers at startup, reconnect stale sockets
853
854 .. change::
855 :tags: Improvements
856 :pullreq: 4474
857 :tickets: 4471
858
859 Gracefully handle invalid addresses in :func:`newServer`.
860
861 .. change::
862 :tags: New Features
863 :pullreq: 4536
864 :tickets: 4527
865
866 Add an option to 'mute' UDP responses per bind.
867
868 .. change::
869 :tags: New Features, Performance
870 :pullreq: 4611
871
872 Add TCP management options from :rfc:`RFC 7766 section 10 <7766#section-10>`.
873
874 .. change::
875 :tags: Bug Fixes
876 :pullreq: 4775
877
878 LuaWrapper: Use the correct index when storing a function.
879
880 .. change::
881 :tags: New Features
882 :pullreq: 4779
883 :tickets: 4562
884
885 Save history to home-dir, only use CWD as a last resort.
886
887 .. change::
888 :tags: New Features
889 :pullreq: 4898
890
891 Add the :func:`setRingBuffersSize` directive to allows changing the ringbuffer size.
892
893 .. change::
894 :tags: Improvements, Security
895 :pullreq: 4815
896
897 Merge the client and server nonces to prevent replay attacks.
898
899 .. change::
900 :tags: Improvements
901 :pullreq: 4786
902
903 Use ``IP_BIND_ADDRESS_NO_PORT`` when available.
904
905 .. change::
906 :tags: Bug Fixes
907 :pullreq: 4785
908 :tickets: 4689
909
910 Send a latency of 0 over carbon, null over API for down servers.
911
912 .. change::
913 :tags: Improvements
914 :pullreq: 4780
915 :tickets: 4775, 4660
916
917 Add an optional ``seconds`` parameter to :func:`statNodeRespRing`.
918
919 .. change::
920 :tags: Improvements
921 :pullreq: 4910
922
923 Report a more specific lua version and report luajit in ``--version``.
924
925 .. change::
926 :tags: Improvements, DNSCrypt
927 :pullreq: 4813, 4926
928
929 Store the computed shared key and reuse it for the response for DNSCrypt messages.
930
931 .. change::
932 :tags: New Features, Protobuf
933 :pullreq: 4776
934 :tickets: 4709
935
936 Add an option to export CNAME records over protobuf.
937
938 .. change::
939 :tags: New Features
940 :pullreq: 4787
941 :tickets: 4707
942
943 Allow TTL alteration via Lua.
944
945 .. change::
946 :tags: New Features
947 :pullreq: 4837
948
949 Add :func:`RDRule` to match queries with the ``RD`` flag set.
950
951 .. change::
952 :tags: New Features
953 :pullreq: 4897
954
955 Add :func:`setWHashedPertubation` for consistent ``whashed`` results.
956
957 .. change::
958 :tags: New Features
959 :pullreq: 4818
960
961 Add ``tcpConnectTimeout`` to :func:`newServer`.
962
963 .. change::
964 :tags: Bug Fixes
965 :pullreq: 4911
966
967 Fix negative port detection for IPv6 addresses on 32-bit.
968
969 .. change::
970 :tags: Bug Fixes
971 :pullreq: 4877
972 :tickets: 4579
973
974 Fix crashed on SmartOS/Illumos (Roman Dayneko).
975
976 .. change::
977 :tags: New Features
978 :pullreq: 4788, 5036
979 :tickets: 4708
980
981 Add cache hit response rules.
982
983 .. change::
984 :tags: Improvements, Performance
985 :pullreq: 4817
986
987 Add :func:`setTCPUseSinglePipe` to use a single TCP waiting queue.
988
989 .. change::
990 :tags: Bug Fixes
991 :pullreq: 4859
992 :tickets: 4857
993
994 Change ``truncateTC`` to defaulting to off, having it enabled by default causes an compatibility with :rfc:`6891` (Robin Geuze).
995
996 .. change::
997 :tags: Bug Fixes
998 :pullreq: 4987, 5037
999 :tickets: 4983
1000
1001 Don't cache answers without any TTL (like SERVFAIL).
1002
1003 .. change::
1004 :tags: Improvements, Performance
1005 :pullreq: 4985, 5501
1006 :tickets: 5494
1007
1008 Add ``sendSizeAndMsgWithTimeout`` to send size and data in a single call and use it for TCP Fast Open towards backends.
1009
1010 .. change::
1011 :tags: Improvements
1012 :pullreq: 5056
1013
1014 Prevent issues by unshadowing variables.
1015
1016 .. change::
1017 :tags: New Features, SNMP
1018 :pullreq: 4989, 5123, 5204
1019
1020 Add :doc:`SNMP support <advanced/snmp>`.
1021
1022 .. change::
1023 :tags: Bug Fixes, Performance
1024 :pullreq: 4950
1025 :tickets: 4761
1026
1027 Refactor SuffixMatchNode using a SuffixMatchTree.
1028
1029 .. change::
1030 :tags: Improvements
1031 :pullreq: 4920
1032
1033 Register DNSName::chopOff (@plzz).
1034
1035 .. change::
1036 :tags: New Features
1037 :pullreq: 5070
1038
1039 Allow passing :class:`DNSName`\ s as DNSRules.
1040
1041 .. change::
1042 :tags: Bug Fixes, Webserver
1043 :pullreq: 5089
1044
1045 Send an HTTP 404 on unknown API paths.
1046
1047 .. change::
1048 :tags: Improvements, Performance
1049 :pullreq: 4958
1050
1051 Tune systemd unit-file for medium-sized installations (Winfried Angele).
1052
1053 .. change::
1054 :tags: New Features
1055 :pullreq: 5113
1056
1057 Add support for setting the server selection policy on a per pool basis (Robin Geuze).
1058
1059 .. change::
1060 :tags: Improvements
1061 :pullreq: 5150, 5171
1062 :tickets: 5053
1063
1064 Make :func:`includeDirectory` work sorted (Robin Geuze).
1065
1066 .. change::
1067 :tags: Improvements, LuaWrapper
1068 :pullreq: 5147
1069
1070 Allow embedded NULs in strings received from Lua.
1071
1072 .. change::
1073 :tags: New Features
1074 :pullreq: 5159
1075
1076 Add a ``suffixMatch`` parameter to :meth:`PacketCache:expungeByName` (Robin Geuze).
1077
1078 .. change::
1079 :tags: Improvements
1080 :pullreq: 5163
1081
1082 Cleanup closed TCP downstream connections.
1083
1084 .. change::
1085 :tags: Bug Fixes
1086 :pullreq: 5194
1087
1088 Fix destination port reporting on "any" binds.
1089
1090 .. change::
1091 :tags: New Features
1092 :pullreq: 5136
1093 :tickets: 5126
1094
1095 Add an option so the packet cache entries don't age.
1096
1097 .. change::
1098 :tags: Bug Fixes, Security
1099 :pullreq: 5199
1100
1101 Unified ``-k`` and :func:`setKey` behaviour for client and server mode now.
1102
1103 .. change::
1104 :tags: Improvements
1105 :pullreq: 5230
1106
1107 Improve reporting of C++ exceptions that bubble up via Lua.
1108
1109 .. change::
1110 :tags: Improvements, Performance
1111 :pullreq: 5185
1112
1113 Add the possiblity to fill a :class:`NetmaskGroup` (using :meth:`NetmaskGroup:addMask`) from `exceeds*` results.
1114
1115 .. change::
1116 :tags: Improvements
1117 :pullreq: 5253
1118
1119 Add better logging on queries that get dropped, timed out or received.
1120
1121 .. change::
1122 :tags: New Features
1123 :pullreq: 5235
1124
1125 Add :func:`QNameRule`.
1126
1127 .. change::
1128 :tags: Bug Fixes
1129 :pullreq: 5320
1130
1131 Correctly truncate EDNS Client Subnetmasks.
1132
1133 .. change::
1134 :tags: Improvements
1135 :pullreq: 5342
1136
1137 Print useful messages when query and response actions are mixed.
1138
1139 .. change::
1140 :tags: New Features
1141 :pullreq: 5337
1142
1143 Add an optional action to :func:`addDynBlocks`.
1144
1145 .. change::
1146 :tags: New Features
1147 :pullreq: 5344
1148
1149 Add an optional interface parameter to :func:`addLocal`/:func:`setLocal`.
1150
1151 .. change::
1152 :tags: Bug Fixes, Performance
1153 :pullreq: 5359
1154
1155 Get rid of ``std::move()`` calls preventing copy elision.
1156
1157 .. change::
1158 :tags: Bug Fixes
1159 :pullreq: 5369
1160 :tickets: 5365
1161
1162 Fix :func:`RecordsTypeCountRule`\ 's handling of the # of records in a section.
1163
1164 .. change::
1165 :tags: New Features
1166 :pullreq: 5386
1167
1168 Make a ``truncate`` action available to DynBlock and Lua.
1169
1170 .. change::
1171 :tags: Bug Fixes
1172 :pullreq: 5383
1173 :tickets: 5287
1174
1175 Change stats functions to always return lowercase names (Robin Geuze).
1176
1177 .. change::
1178 :tags: New Features
1179 :pullreq: 5336
1180
1181 Implement a runtime changeable rule that matches IP address for a certain time called :func:`TimedIPSetRule`.
1182
1183 .. change::
1184 :tags: Bug Fixes
1185 :pullreq: 5449, 5454
1186
1187 Only use TCP Fast Open when supported and prevent compiler warnings.
1188
1189 .. change::
1190 :tags: Improvements
1191 :pullreq: 5497
1192
1193 Add ``DNSRule::toString()`` and add virtual destructors to DNSRule, DNSAction and DNSResponseAction so the destructors of derived classes are run even when deleted via the base type.
1194
1195 .. change::
1196 :tags: New Features
1197 :pullreq: 5496
1198
1199 Add support for returning several IPs to spoof from Lua.
1200
1201 .. change::
1202 :tags: New Features
1203 :pullreq: 5490, 5508
1204 :tickets: 5420, 5507
1205
1206 Add Lua bindings to be able to rotate DNSCrypt keys, see :doc:`guides/dnscrypt`.
1207
1208 .. change::
1209 :tags: Improvements, Performance
1210 :pullreq: 5353
1211
1212 Add labels count to StatNode, only set the name once.
1213
1214 .. change::
1215 :tags: Removals
1216 :pullreq: 5514
1217 :tickets: 5513
1218
1219 Remove BlockFilter.
1220
1221 .. change::
1222 :tags: New Features
1223 :pullreq: 5396, 5577
1224
1225 Add the capability to set arbitrary tags in protobuf messages.
1226
1227 .. change::
1228 :tags: Bug Fixes
1229 :pullreq: 5563
1230 :tickets: 5559
1231
1232 Skip timeouts on the response latency graph.
1233
1234 .. change::
1235 :tags: Removals
1236 :pullreq: 5526
1237 :tickets: 5069
1238
1239 Deprecate syntactic sugar functions.
1240
1241 .. change::
1242 :tags: Improvements
1243 :pullreq: 5579
1244 :tickets: 5538
1245
1246 Don't use square brackets for IPv6 in Carbon metrics.
1247
1248 .. change::
1249 :tags: Bug Fixes
1250 :pullreq: 5580
1251 :tickets: 5566
1252
1253 Copy the DNS header before encrypting it in place.
1254
1255 .. change::
1256 :tags: New Features
1257 :pullreq: 5581
1258 :tickets: 5565
1259
1260 Add setConsoleConnectionsLogging().
1261
1262 .. change::
1263 :tags: Security
1264 :pullreq: 5630
1265
1266 Fix potential pointer wrap-around on 32 bits.
1267
1268 .. change::
1269 :tags: Security
1270 :pullreq: 5631
1271
1272 Make the API available with an API key only.
1273
1274 1.1.0
1275 -----
1276
1277 Released December 29th 2016
1278
1279 Changes since 1.1.0-beta2:
1280
1281 Improvements
1282 ~~~~~~~~~~~~
1283
1284 - `#4783 <https://github.com/PowerDNS/pdns/pull/4783>`__: Add -latomic
1285 on powerpc
1286 - `#4812 <https://github.com/PowerDNS/pdns/pull/4812>`__: Handle
1287 header-only responses, handle Refused as Servfail in the cache
1288
1289 Bug fixes
1290 ~~~~~~~~~
1291
1292 - `#4762 <https://github.com/PowerDNS/pdns/pull/4762>`__:
1293 SuffixMatchNode: Fix an insertion issue for an existing node
1294 - `#4772 <https://github.com/PowerDNS/pdns/pull/4772>`__: Fix dnsdist
1295 initscript config check
1296
1297 1.1.0-beta2
1298 -----------
1299
1300 Released December 14th 2016
1301
1302 Changes since 1.1.0-beta1:
1303
1304 New features
1305 ~~~~~~~~~~~~
1306
1307 - `#4518 <https://github.com/PowerDNS/pdns/pull/4518>`__: Fix dynblocks
1308 over TCP, allow refusing dyn blocked queries
1309 - `#4519 <https://github.com/PowerDNS/pdns/pull/4519>`__: Allow
1310 altering the ECS behavior via rules and Lua
1311 - `#4535 <https://github.com/PowerDNS/pdns/pull/4535>`__: Add
1312 ``DNSQuestion:getDO()``
1313 - `#4653 <https://github.com/PowerDNS/pdns/pull/4653>`__:
1314 ``getStatisticsCounters()`` to access counters from Lua
1315 - `#4657 <https://github.com/PowerDNS/pdns/pull/4657>`__: Add
1316 ``includeDirectory(dir)``
1317 - `#4658 <https://github.com/PowerDNS/pdns/pull/4658>`__: Allow editing
1318 the ACL via the API
1319 - `#4702 <https://github.com/PowerDNS/pdns/pull/4702>`__: Add
1320 ``setUDPTimeout(n)``
1321 - `#4726 <https://github.com/PowerDNS/pdns/pull/4726>`__: Add an option
1322 to return ServFail when no server is available
1323 - `#4748 <https://github.com/PowerDNS/pdns/pull/4748>`__: Add
1324 ``setCacheCleaningPercentage()``
1325
1326 Improvements
1327 ~~~~~~~~~~~~
1328
1329 - `#4533 <https://github.com/PowerDNS/pdns/pull/4533>`__: Fix building
1330 with clang on OS X and FreeBSD
1331 - `#4537 <https://github.com/PowerDNS/pdns/pull/4537>`__: Replace
1332 luawrapper's std::forward/std::make\_tuple combo with
1333 std::forward\_as\_tuple (Sangwhan "fish" Moon)
1334 - `#4596 <https://github.com/PowerDNS/pdns/pull/4596>`__: Change the
1335 default max number of queued TCP conns to 1000
1336 - `#4632 <https://github.com/PowerDNS/pdns/pull/4632>`__: Improve
1337 dnsdist error message on a common typo/config mistake
1338 - `#4694 <https://github.com/PowerDNS/pdns/pull/4694>`__: Don't use a
1339 const\_iterator for erasing (fix compilation with some versions of
1340 gcc)
1341 - `#4715 <https://github.com/PowerDNS/pdns/pull/4715>`__: Specify that
1342 dnsmessage.proto uses protobuf version 2
1343 - `#4765 <https://github.com/PowerDNS/pdns/pull/4765>`__: Some service
1344 improvements
1345
1346 Bug fixes
1347 ~~~~~~~~~
1348
1349 - `#4425 <https://github.com/PowerDNS/pdns/pull/4425>`__: Fix a
1350 protobuf regression (requestor/responder mix-up) caused by a94673e
1351 - `#4541 <https://github.com/PowerDNS/pdns/pull/4541>`__: Fix insertion
1352 issues in SuffixMatchTree, move it to dnsname.hh
1353 - `#4553 <https://github.com/PowerDNS/pdns/pull/4553>`__: Flush output
1354 in single command client mode
1355 - `#4578 <https://github.com/PowerDNS/pdns/pull/4578>`__: Fix
1356 destination address reporting
1357 - `#4640 <https://github.com/PowerDNS/pdns/pull/4640>`__: Don't exit
1358 dnsdist on an exception in maintenance
1359 - `#4721 <https://github.com/PowerDNS/pdns/pull/4721>`__: Handle
1360 exceptions in the UDP responder thread
1361 - `#4734 <https://github.com/PowerDNS/pdns/pull/4734>`__: Add the TCP
1362 socket to the map only if the connection succeeds. Closes #4733
1363 - `#4742 <https://github.com/PowerDNS/pdns/pull/4742>`__: Decrement the
1364 queued TCP conn count if writing to the pipe fails
1365 - `#4743 <https://github.com/PowerDNS/pdns/pull/4743>`__: Ignore
1366 newBPFFilter() and newDynBPFFilter() in client mode
1367 - `#4753 <https://github.com/PowerDNS/pdns/pull/4753>`__: Fix FD leak
1368 on TCP connection failure, handle TCP worker creation failure
1369 - `#4764 <https://github.com/PowerDNS/pdns/pull/4764>`__: Prevent race
1370 while creating new TCP worker threads
1371
1372 1.1.0-beta1
1373 -----------
1374
1375 Released September 1st 2016
1376
1377 Changes since 1.0.0:
1378
1379 New features
1380 ~~~~~~~~~~~~
1381
1382 - `#3762 <https://github.com/PowerDNS/pdns/pull/3762>`__ Teeaction:
1383 send copy of query to second nameserver, sponge responses
1384 - `#3876 <https://github.com/PowerDNS/pdns/pull/3876>`__ Add
1385 ``showResponseRules()``, ``{mv,rm,top}ResponseRule()``
1386 - `#3936 <https://github.com/PowerDNS/pdns/pull/3936>`__ Filter on
1387 opcode, records count/type, trailing data
1388 - `#3975 <https://github.com/PowerDNS/pdns/pull/3975>`__ Make dnsdist
1389 {A,I}XFR aware, document possible issues
1390 - `#4006 <https://github.com/PowerDNS/pdns/pull/4006>`__ Add eBPF
1391 source address and qname/qtype filtering
1392 - `#4008 <https://github.com/PowerDNS/pdns/pull/4008>`__ Node
1393 infrastructure for querying recent traffic
1394 - `#4042 <https://github.com/PowerDNS/pdns/pull/4042>`__ Add
1395 server-side TCP Fast Open support
1396 - `#4050 <https://github.com/PowerDNS/pdns/pull/4050>`__ Add
1397 ``clearRules()`` and ``setRules()``
1398 - `#4114 <https://github.com/PowerDNS/pdns/pull/4114>`__ Add
1399 ``QNameLabelsCountRule()`` and ``QNameWireLengthRule()``
1400 - `#4116 <https://github.com/PowerDNS/pdns/pull/4116>`__ Added src
1401 boolean to NetmaskGroupRule to match destination address (Reinier
1402 Schoof)
1403 - `#4175 <https://github.com/PowerDNS/pdns/pull/4175>`__ Implemented
1404 query counting (Reinier Schoof)
1405 - `#4244 <https://github.com/PowerDNS/pdns/pull/4244>`__ Add a
1406 ``setCD`` parameter to set cd=1 on health check queries
1407 - `#4284 <https://github.com/PowerDNS/pdns/pull/4284>`__ Add
1408 RCodeRule(), Allow, Delay and Drop response actions
1409 - `#4305 <https://github.com/PowerDNS/pdns/pull/4305>`__ Add an
1410 optional Lua callback for altering a Protobuf message
1411 - `#4309 <https://github.com/PowerDNS/pdns/pull/4309>`__ Add
1412 showTCPStats function (RobinGeuze)
1413 - `#4329 <https://github.com/PowerDNS/pdns/pull/4329>`__ Add options to
1414 LogAction() so it can append (instead of truncate) (Duane Wessels)
1415
1416 Improvements
1417 ~~~~~~~~~~~~
1418
1419 - `#3714 <https://github.com/PowerDNS/pdns/pull/3714>`__ Add
1420 documentation links to dnsdist.service (Ruben Kerkhof)
1421 - `#3754 <https://github.com/PowerDNS/pdns/pull/3754>`__ Allow the use
1422 of custom headers in the web server
1423 - `#3826 <https://github.com/PowerDNS/pdns/pull/3826>`__ Implement a
1424 'quiet' mode for SuffixMatchNodeRule()
1425 - `#3836 <https://github.com/PowerDNS/pdns/pull/3836>`__ Log the
1426 content of webserver's exceptions
1427 - `#3858 <https://github.com/PowerDNS/pdns/pull/3858>`__ Only log
1428 YaHTTP's parser exceptions in verbose mode
1429 - `#3877 <https://github.com/PowerDNS/pdns/pull/3877>`__ Increase max
1430 FDs in systemd unit, warn if clearly too low
1431 - `#4019 <https://github.com/PowerDNS/pdns/pull/4019>`__ Add an
1432 optional ``addECS`` option to ``TeeAction()``
1433 - `#4029 <https://github.com/PowerDNS/pdns/pull/4029>`__ Add version
1434 and feature information to version output
1435 - `#4079 <https://github.com/PowerDNS/pdns/pull/4079>`__ Return an
1436 error on RemoteLog{,Response}Action() w/o protobuf
1437 - `#4246 <https://github.com/PowerDNS/pdns/pull/4246>`__ API now sends
1438 pools as a JSON array instead of a string
1439 - `#4302 <https://github.com/PowerDNS/pdns/pull/4302>`__ Add ``help()``
1440 and ``showVersion()``
1441 - `#4286 <https://github.com/PowerDNS/pdns/pull/4286>`__ Add response
1442 rules to the API and Web status page
1443 - `#4068 <https://github.com/PowerDNS/pdns/pull/4068>`__ Display the
1444 dyn eBPF filters stats in the web interface
1445
1446 Bug fixes
1447 ~~~~~~~~~
1448
1449 - `#3755 <https://github.com/PowerDNS/pdns/pull/3755>`__ Fix RegexRule
1450 example in dnsdistconf.lua
1451 - `#3773 <https://github.com/PowerDNS/pdns/pull/3773>`__ Stop copying
1452 the HTTP request headers to the response
1453 - `#3837 <https://github.com/PowerDNS/pdns/pull/3837>`__ Remove dnsdist
1454 service file on trusty
1455 - `#3840 <https://github.com/PowerDNS/pdns/pull/3840>`__ Catch
1456 WrongTypeException in client mode
1457 - `#3906 <https://github.com/PowerDNS/pdns/pull/3906>`__ Keep the
1458 servers ordered inside pools
1459 - `#3988 <https://github.com/PowerDNS/pdns/pull/3988>`__ Fix
1460 ``grepq()`` output in the README
1461 - `#3992 <https://github.com/PowerDNS/pdns/pull/3992>`__ Fix some typos
1462 in the AXFR/IXFR documentation
1463 - `#3995 <https://github.com/PowerDNS/pdns/pull/3995>`__ Fix comparison
1464 between signed and unsigned integer
1465 - `#4049 <https://github.com/PowerDNS/pdns/pull/4049>`__ Fix dnsdist
1466 rpm building script #4048 (Daniel Stirnimann)
1467 - `#4065 <https://github.com/PowerDNS/pdns/pull/4065>`__ Include
1468 editline/readline.h instead of readline.h/history.h
1469 - `#4067 <https://github.com/PowerDNS/pdns/pull/4067>`__ Disable eBPF
1470 support when BPF\_FUNC\_tail\_call is not found
1471 - `#4069 <https://github.com/PowerDNS/pdns/pull/4069>`__ Fix a buffer
1472 overflow when displaying an OpcodeRule
1473 - `#4101 <https://github.com/PowerDNS/pdns/pull/4101>`__ Fix $
1474 expansion in build-dnsdist-rpm
1475 - `#4198 <https://github.com/PowerDNS/pdns/pull/4198>`__ newServer
1476 setting maxCheckFailures makes no sense (stutiredboy)
1477 - `#4205 <https://github.com/PowerDNS/pdns/pull/4205>`__ Prevent the
1478 use of "any" addresses for downstream server
1479 - `#4220 <https://github.com/PowerDNS/pdns/pull/4220>`__ Don't log an
1480 error when parsing an invalid UDP query
1481 - `#4348 <https://github.com/PowerDNS/pdns/pull/4348>`__ Fix invalid
1482 outstanding count for {A,I}XFR over TCP
1483 - `#4365 <https://github.com/PowerDNS/pdns/pull/4365>`__ Reset origFD
1484 asap to keep the outstanding count correct
1485 - `#4375 <https://github.com/PowerDNS/pdns/pull/4375>`__ Tuple requires
1486 make\_tuple to initialize
1487 - `#4380 <https://github.com/PowerDNS/pdns/pull/4380>`__ Fix
1488 compilation with clang when eBPF support is enabled
1489
1490 1.0.0
1491 -----
1492
1493 Released April 21st 2016
1494
1495 Changes since 1.0.0-beta1:
1496
1497 Improvements
1498 ~~~~~~~~~~~~
1499
1500 - `#3700 <https://github.com/PowerDNS/pdns/pull/3700>`__ Create user
1501 from the RPM package to drop privs
1502 - `#3712 <https://github.com/PowerDNS/pdns/pull/3712>`__ Make check
1503 should run testrunner
1504 - `#3713 <https://github.com/PowerDNS/pdns/pull/3713>`__ Remove
1505 contrib/dnsdist.service (Ruben Kerkhof)
1506 - `#3722 <https://github.com/PowerDNS/pdns/pull/3722>`__ Use LT\_INIT
1507 and disable static objects (Ruben Kerkhof)
1508 - `#3724 <https://github.com/PowerDNS/pdns/pull/3724>`__ Include
1509 PDNS\_CHECK\_OS in configure (Christian Hofstaedtler)
1510 - `#3728 <https://github.com/PowerDNS/pdns/pull/3728>`__ Document
1511 libedit Ctrl-R workaround for CentOS 6
1512 - `#3730 <https://github.com/PowerDNS/pdns/pull/3730>`__ Make
1513 ``topBandwidth()`` behave like other top\* functions
1514 - `#3731 <https://github.com/PowerDNS/pdns/pull/3731>`__ Clarify a bit
1515 the documentation of load-balancing policies
1516
1517 Bug fixes
1518 ~~~~~~~~~
1519
1520 - `#3711 <https://github.com/PowerDNS/pdns/pull/3711>`__ Building rpm
1521 needs systemd headers (Ruben Kerkhof)
1522 - `#3736 <https://github.com/PowerDNS/pdns/pull/3736>`__ Add missing
1523 Lua binding for NetmaskGroupRule()
1524 - `#3739 <https://github.com/PowerDNS/pdns/pull/3739>`__ Drop
1525 privileges after daemonizing and writing our pid
1526
1527 1.0.0-beta1
1528 -----------
1529
1530 Released April 14th 2016
1531
1532 Changes since 1.0.0-alpha2:
1533
1534 New features
1535 ~~~~~~~~~~~~
1536
1537 - Per-pool packet cache
1538 - Some actions do not stop the processing anymore when they match,
1539 allowing more complex setups: Delay, Disable Validation, Log,
1540 MacAddr, No Recurse and of course None
1541 - The new RE2Rule() is available, using the RE2 regular expression
1542 library to match queries, in addition to the existing POSIX-based
1543 RegexRule()
1544 - SpoofAction() now supports multiple A and AAAA records
1545 - Remote logging of questions and answers via Protocol Buffer
1546
1547 Improvements
1548 ~~~~~~~~~~~~
1549
1550 - `#3405 <https://github.com/PowerDNS/pdns/pull/3405>`__ Add health
1551 check logging, ``maxCheckFailures`` to backend
1552 - `#3412 <https://github.com/PowerDNS/pdns/pull/3412>`__ Check config
1553 - `#3440 <https://github.com/PowerDNS/pdns/pull/3440>`__ Client
1554 operation improvements
1555 - `#3466 <https://github.com/PowerDNS/pdns/pull/3466>`__ Add dq binding
1556 for skipping packet cache in LuaAction (Jan Broer)
1557 - `#3499 <https://github.com/PowerDNS/pdns/pull/3499>`__ Add support
1558 for multiple carbon servers
1559 - `#3504 <https://github.com/PowerDNS/pdns/pull/3504>`__ Allow
1560 accessing the API with an optional API key
1561 - `#3556 <https://github.com/PowerDNS/pdns/pull/3556>`__ Add an option
1562 to limit the number of queued TCP connections
1563 - `#3578 <https://github.com/PowerDNS/pdns/pull/3578>`__ Add a
1564 ``disable-syslog`` option
1565 - `#3608 <https://github.com/PowerDNS/pdns/pull/3608>`__ Export cache
1566 stats to carbon
1567 - `#3622 <https://github.com/PowerDNS/pdns/pull/3622>`__ Display the
1568 ACL content on startup
1569 - `#3627 <https://github.com/PowerDNS/pdns/pull/3627>`__ Remove ECS
1570 option from response's OPT RR when necessary
1571 - `#3633 <https://github.com/PowerDNS/pdns/pull/3633>`__ Count "TTL too
1572 short" cache events
1573 - `#3677 <https://github.com/PowerDNS/pdns/pull/3677>`__ systemd-notify
1574 support
1575
1576 Bug fixes
1577 ~~~~~~~~~
1578
1579 - `#3388 <https://github.com/PowerDNS/pdns/pull/3388>`__ Lock the Lua
1580 context before executing a LuaAction
1581 - `#3433 <https://github.com/PowerDNS/pdns/pull/3433>`__ Check that the
1582 answer matches the initial query
1583 - `#3461 <https://github.com/PowerDNS/pdns/pull/3461>`__ Fix crash when
1584 calling rmServer() with an invalid index
1585 - `#3550 <https://github.com/PowerDNS/pdns/pull/3550>`__,\ `#3551 <https://github.com/PowerDNS/pdns/pull/3551>`__
1586 Fix build failure on FreeBSD (Ruben Kerkhof)
1587 - `#3594 <https://github.com/PowerDNS/pdns/pull/3594>`__ Prevent EOF
1588 error for empty console response w/o sodium
1589 - `#3634 <https://github.com/PowerDNS/pdns/pull/3634>`__ Prevent
1590 dangling TCP fd in case setupTCPDownstream() fails
1591 - `#3641 <https://github.com/PowerDNS/pdns/pull/3641>`__ Under
1592 threshold, QPS action should return None, not Allow
1593 - `#3658 <https://github.com/PowerDNS/pdns/pull/3658>`__ Fix a race
1594 condition in MaxQPSIPRule
1595
1596 1.0.0-alpha2
1597 ------------
1598
1599 Released February 5th 2016
1600
1601 Changes since 1.0.0-alpha1:
1602
1603 New features
1604 ~~~~~~~~~~~~
1605
1606 - Lua functions now receive a DNSQuestion ``dq`` object instead of
1607 several parameters. This adds a greater compatibility with PowerDNS
1608 and allows adding more parameters without breaking the API
1609 (`#3198 <https://github.com/PowerDNS/pdns/issues/3198>`__)
1610 - Added a ``source`` option to ``newServer()`` to specify the local
1611 address or interface used to contact a downstream server
1612 (`#3138 <https://github.com/PowerDNS/pdns/issues/3138>`__)
1613 - CNAME and IPv6-only support have been added to spoofed responses
1614 (`#3064 <https://github.com/PowerDNS/pdns/issues/3064>`__)
1615 - ``grepq()`` can be used to search for slow queries, along with
1616 ``topSlow()``
1617 - New Lua functions: ``addDomainCNAMESpoof()``, ``AllowAction()`` by
1618 @bearggg, ``exceedQRate()``, ``MacAddrAction()``, ``makeRule()``,
1619 ``NotRule()``, ``OrRule()``, ``QClassRule()``, ``RCodeAction()``,
1620 ``SpoofCNAMEAction()``, ``SuffixMatchNodeRule()``, ``TCPRule()``,
1621 ``topSlow()``
1622 - ``NetmaskGroup`` support have been added in Lua
1623 (`#3144 <https://github.com/PowerDNS/pdns/issues/3144>`__)
1624 - Added ``MacAddrAction()`` to add the source MAC address to the
1625 forwarded query
1626 (`#3313 <https://github.com/PowerDNS/pdns/issues/3313>`__)
1627
1628 Bug fixes
1629 ~~~~~~~~~
1630
1631 - An issue in DelayPipe could make dnsdist crash at startup
1632 - ``downstream-timeouts`` metric was not always updated
1633 - ``truncateTC`` was unproperly updating the response length
1634 (`#3126 <https://github.com/PowerDNS/pdns/issues/3126>`__)
1635 - DNSCrypt responses larger than queries were unproperly truncated
1636 - An issue prevented info message from being displayed in non-verbose
1637 mode, fixed by Jan Broer
1638 - Reinstating an expired Dynamic Rule was not correctly logged
1639 (`#3323 <https://github.com/PowerDNS/pdns/issues/3323>`__)
1640 - Initialized counters in the TCP client thread might have cause FD and
1641 memory leak, reported by Martin Pels
1642 (`#3300 <https://github.com/PowerDNS/pdns/issues/3300>`__)
1643 - We now drop queries containing no question (qdcount == 0)
1644 (`#3290 <https://github.com/PowerDNS/pdns/issues/3290>`__)
1645 - Outstanding TCP queries count was not always correct
1646 (`#3288 <https://github.com/PowerDNS/pdns/issues/3288>`__)
1647 - A locking issue in exceedRespGen() might have caused crashs
1648 (`#3277 <https://github.com/PowerDNS/pdns/issues/3277>`__)
1649 - Useless sockets were created in client mode
1650 (`#3257 <https://github.com/PowerDNS/pdns/issues/3257>`__)
1651 - ``addAnyTCRule()`` was generating TC=1 responses even over TCP
1652 (`#3251 <https://github.com/PowerDNS/pdns/issues/3251>`__)
1653
1654 Web interface
1655 ~~~~~~~~~~~~~
1656
1657 - Cleanup of the HTML by Sander Hoentjen
1658 - Fixed an XSS reported by @janeczku
1659 (`#3217 <https://github.com/PowerDNS/pdns/issues/3217>`__)
1660 - Removed remote images
1661 - Set the charset to UTF-8, added some security-related and CORS HTTP
1662 headers
1663 - Added server latency by Jan Broer
1664 (`#3201 <https://github.com/PowerDNS/pdns/issues/3201>`__)
1665 - Switched to official minified versions of JS scripts, by Sander
1666 Hoentjen (`#3317 <https://github.com/PowerDNS/pdns/issues/3317>`__)
1667 - Don't log unauthenticated HTTP request as an authentication failure
1668
1669 Various documentation updates and minor cleanups:
1670 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1671
1672 - Added documentation for Advanced DNS Protection features (Dynamic
1673 rules, ``maintenance()``)
1674 - Make ``topBandwidth()`` default to the top 10 clients
1675 - Replaced readline with libedit
1676 - Added GPL2 License
1677 (`#3200 <https://github.com/PowerDNS/pdns/issues/3200>`__)
1678 - Added incbin License
1679 (`#3269 <https://github.com/PowerDNS/pdns/issues/3269>`__)
1680 - Updated completion rules
1681 - Removed wrong option ``--daemon-no`` by Stefan Schmidt
1682
1683 1.0.0-alpha1
1684 ------------
1685
1686 Released December 24th 2015
1687
1688 Initial release