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