10.1.36 (2021-09-22):
2    - initial support for as-transparent route-servers in import as-path
3    generation: now you can use -f 0 to not enforce first asn in path.
4    No actual changes for Bird and JSON, not yet supported for Nokia
5    (including MD) and OpenBGPD. Use case reported by Mikhail Grishin.
6    - correct sequencing in empty prefix-lists. Reported by Brooks Swinnerton.
7    - fix empty route-filter-lists generation. Reported by Antti Ristimäki.
8    - minor documentation cleanup: bgpq3 supports much more vendors
9    than just Cisco and Juniper. Copyright years updated.
10    - Nokia SR OS "classic" actually supports aggregation and
11    and more-specific filtering in prefix-lists. Thanks to mfisher128
12    for reporting.
13    - change log level for prefixes with wrong address family from error
14    to debugging: it's perfectly correct to have prefixes of different
15    families in route-sets. Thanks to Jay Ford for suggestion.
16    - increase select timeout to 30 sec.
17    - correct spacing for IOS-XR. Reported by Mathias Wolkert.
18    - hyperaggregation (supernets-only) mode.
19    - correct Huawei as-path-filter generation. Thanks to JKejsjwq.
20    - implement -f 0 (transparent route-server scenario) for Nokia too.
21    - document IOS-XR prefix-list limitation. Thanks to Saku Ytti.
22
230.1.35 (2018-11-30):
24    - initial support for Juniper route-filter-lists (JunOS 16.2+).
25    - too large (>124bytes) sources list was not handled correctly.
26    Reported by Pier Carlo Chiodi.
27	- initial support for Huawei format (prefix-lists and as-path filters)
28	New flag -U. Requested by Alexander Wagberg.
29	- fix ipv6 prefix-ranges. Reported by Jay Ford.
30    - OpenBGPd change: -E now generates prefix-set instead of prefix-list.
31    Based on submission by Denis Fondras
32    - new option -w, allowing to 'validate' AS numbers included in as-path
33    access-lists: only those AS having registered route-objects are allowed.
34    By default checks route[4] presence, to check route6 objects shall be
35    used together with -6.
36    - cleanup OpenBGPd prefix-sets. Submitted by Claudio Jeker.
37	- new flag -t: generate as-sets for OpenBGPD (OpenBSD 6.4+), BIRD and
38    JSON formats. Based on submission by Claudio Jeker.
39    - new flag -n: support for Nokia SR OS MD-CLI. Based on examples
40    provided by Greg Hankins.
41    - irrd queries for asn32 changed from asdot to asplain notation.
42    Thanks to Troy2914 for heads up.
43
440.1.35-rc2 (2017-06-14)
45    - OpenBSD need <sys/select.h>. Reported by Denis Fondras.
46    - OpenBGPD output shall not emit 'deny any from any' in case of empty
47    prefix-list. New flag -a <asn> introduced to allow peer-as indication.
48    When this flag is not specified, empty prefix-list is generated (will
49    not be accepted by OpenBGPD).
50    Reported by Denis Fondras
51
520.1.35-rc (2017-30-05)
53	- Nokia SR OS (formerly Alcatel-Lucent) support. Based on submission by
54    Michail Litvak.
55    - sync man-page with readme.md
56    - socket() EAFNOSUPPORT error handling
57
580.1.33 (2016-10-14)
59    - OpenBGPD support (-B). Submitted by Peter Hessler.
60
610.1.32 (2016-08-28)
62    - rollback 0.1.32-rc2 (2015-07-01) change: by default all IRRD sources
63      are allowed by default. Documentation updated to mark radb,ripe,apnic
64      as 'recommended', not as 'preset default'.
65
66untagged yet (2016-05-10)
67    - fix: was not able to build on Solaris. Thanks to Mansoor Ali Khan.
68    - feature: IOS XR mode now supports as-paths (ios-regexs). Thanks
69      to Tassos Chatzithomaoglou for examples and proofreading.
70    (additions from 2015-09-23)
71    - bugfix: stoplist shall be able to catch AS numbers as promised.
72    - bugfix: bgpq3 shall not hang at unknown escapes in -M..
73    - gotcha: "ANY" object in recursive mode ignored: shut complaints on
74     "ERROR:unexpected object 'ANY' in expanded_macro_limit (in response
75      to !iAS-SET-SCOPESKY)" (object contains mbrs-by-ref: ANY).
76    (additions from 2015-08-30)
77    - bugfix: OpenBSD sys/queue.h does not have STAILQ_ interface.
78      Thanks to Pedro Caetano for reporting and testing.
79    - feature: alternate whois port can be configured with -h host[:port]
80    - feature: new format char %N (object name) in formatted output.
81      Thanks to Denis Fondras.
82    - feature: new format chars %m (prefix mask) and %i (inverse mask) in
83      formatted output.
84
850.1.32-rc5 (2015-07-12)
86    - feature: -L <depth>: limit recursion depth when expanding as-sets
87      (default: not limited). Based on idea by Eugene Demidov.
88    - feature: stoplist. Now you can add EXCEPT Object... at the end of
89      bgpq3 command line and corresponding as-sets and asns will not be
90      expanded (does not works for prefixes and prefix-sets yet).
91    - internals: major pipelining rewrite and some code cleanup.
92
930.1.32-rc4 (2015-07-06)
94    - change: BIRD can't handle empty lists (NAME = []), so they are not
95      generated at all.
96
970.1.32-rc3 (2015-07-01)
98    - feature: option -s can be used to generate sequence numbers in IOS
99      prefix-lists
100	- feature: option -F <fmt> can be used to generate output in user-defined
101      format. Only prefix-lists supported for now.
102
1030.1.32-rc2 (2015-07-01)
104    - bugfix: when no sources provided in command line and via IRRD_SOURCES env,
105      no source limitation were sent to IRRd. Thanks to Mikhail A. Grishin.
106
1070.1.32-rc (2015-06-28)
108    - bugfix: F source(s) unavailable message from IRRD was ignored.
109      Please note: this error is caught only when all the specified sources
110      are invalid. For example, 'bgpq3 -s nonexistant' will fail, however,
111      'bgpq3 -s nonexistant,ripe' will not fail and will use only ripe source.
112      Thanks to Mikhail A. Grishin for reporting.
113    - RIPE-style queries (-T route6 -i origin asNNN) replaced with IRRd-style
114      !6asNNN queries.
115
1160.1.31   (2015-06-23)
117    - pipelining mode now counts buffered requests and issues dequeue
118      when new request can overflow allocated buffer. So, bgpq3 shall no
119      more require TCP tuning (it is still recomended, though).
120    - tcp tuning parameters decreased in README (sx_maxsockbuf will not
121      allow buffer over 2Mb anyway).
122
1230.1.30   (2015-06-16)
124    - bugfix: private asns with number > 2^31 were printed as negative integers.
125      Thanks to Henrik Thostrup Jensen.
126    - do not use ASNs reserved for documentation purposes and private use:
127       64496-64511 For documentation and sample code; reserved by [RFC5398]
128       64512-65534 For private use; reserved by [RFC6996]
129       65535       Reserved by [RFC7300]
130       65536-65551 For documentation and sample code; reserved by [RFC5398]
131       4200000000-4294967294  For private use; reserved by [RFC6996]
132       4294967295  Reserved by [RFC7300]
133      Please, use new -p flag to include these asn's.
134      Suggested by Henrik Thostrup Jensen and Job Snijders.
135    - allow as-path generation with BIRD output. Suggested by Jiri Mikulas.
136    - merge README.md changes by Job Snijders.
137    - bugfix: incorrect asdot representation (as101. without symbols after dot)
138      is not allowed anymore.
139
1400.1.29   (2015-05-04)
141    - do not include routes registered for AS23456 (transition-as) by default.
142    Use new option -2 to restore old behaviour.
143
1440.1.28   (2015-03-10)
145    - minor changes: .spec update, non-silent failure on wrong af,
146    more room for masklen...
147
1480.1.27   (2015-03-10)
149    - bugfix: some ipv6 prefixes were not parsed correctly since 0.1.26.
150    Thanks to Job Snijders.
151
1520.1.26   (2015-02-19)
153    - RPSL <address-prefix-range> support, can be found in rs-esnetcustomers.
154    Thanks to Kris O'Connell for reporting.
155
1560.1.25   (2014-10-29)
157    - JSON support extended to handle "as-paths" too. Well, actually, as
158    there are no defined format for as-path in json, bgpq3 just creates
159    simple object like following:
160
161		snar@fri:~/compile/bgpq3>./bgpq3 -j3f 20597 as-eltel
162		{"NN": [
163		  112,5495,6857,8377,20597,34102,35357,43951,
164		  52007,56764,197759,197888,198610,201499
165		]}
166
167	Based on suggestion by Henrik Thostrup Jensen.
168    - -W len option documented.
169
1700.1.24   (2014-07-31)
171    - empty prefix-lists (Cisco), extended access-lists (Cisco), as-path
172    filters (Cisco and Juniper) and route-filters (Juniper) handling:
173    explicit 'deny any' entry now generated instead of implicit 'permit-any'.
174    Based on suggestion by Tore Anderson.
175
1760.1.23   (2014-07-30)
177    - bugfix: use of -M option caused major slowdown as it turned off
178    request pipelining... Thanks to Tore Anderson.
179
1800.1.22   (2014-07-27)
181    - bugfix: allow network object with stray spaces after prefix length.
182    Found by Tom Eichhorn in 2620:74:14::/48 (VeriSign Route6, RADB).
183    - bugfix: networks with leading zeros (02.51.252.0/22, as4787) are not
184    parsed correctly in inet_ntop.. Found by Tom Eichhorn.
185
1860.1.21   (2014-06-05)
187    - new flag -b: generate prefix-filters for BIRD (http://bird.network.cz),
188    contributed by Job Snijders.
189
1900.1.20-todo2 (2014-05-01)
191    - new flag -r <len>, allowing bgpq to generate limited set of more-specific
192    routes - only routes with prefix-length >= <len> are accepted.
193    Thanks to Pavel Gulchouck for suggesion.
194
1950.1.20-todo (2013-10-07)
196    - socket close code fixed. Thanks to Martin J. Levy.
197    - new flag -4, "force ipv4". Actually does a little more than allowing
198    for pedantic checks. Thanks to Martin J. Levy.
199
2000.1.19 (2013-05-09)
201    - CLANG compilation issues fixed.
202    - bgpq3.spec added. Thanks to Arnoud Vermeer.
203
2040.1.18 (2013-01-08)
205    - JSON output format. Thanks to Job Snijders (Atrato Networks).
206
2070.1.17 (2012-10-25)
208    - route-sets handling in command-line added. Thanks to Alexandr Turovsky
209    for pointing out.
210    - bug in aggregation documentation fixed. Thanks to Nikolay Shopik.
211
2120.1.16 (2012-01-19)
213    - new option -m <len>: maximum length of accepted prefixes.
214    Suggested by Eugene Demidov, used to discard 'too long prefixes'
215    (like /30-/32) even if they are registered in IRR. By default
216    limit is not set and all prefixes accepted.
217    - documentation redesigned into text/markdown and text/html (manpage
218    supported still).
219
2200.1.15 (2011-07-15)
221    - prefix-set's for Cisco IOS XR now supported too.
222
2230.1.14 (2011-06-18)
224    - Fixed bug in sx_maxsockbuf in rare cases of OS maxsockbuf >2M.
225    Thanks to Andreas Lundin.
226
2270.1.13 (2011-06-14)
228    - never publically released.
229
2300.1.12 (2010-10-08)
231    - Fixed bug preventing AS262144 (that's AS4.0 in asdot) to expand.
232    Thanks to Sergey Matveychuk
233
2340.1.11 (2010-04-19)
235    - Fixed another bug in aggregation (-A) mode, thanks to Dmitry Tejblum.
236
2370.1.10 (2009-06-13)
238    - Fixed bug in aggregation (-A) mode, thanks to Sergey Gonchar.
239
2400.1.9 (2009-03-27)
241    - RIPE changed ASN32 notation to asplain. And RADB does not support
242    asplain indexing (yet?).... Fixed. Thanks to Pavel Gluchouk.
243
2440.1.8 (2008-12-25)
245    - new flag -D for Cisco asdot notation. Cisco behaviour is a bit
246    strange for me, but, well, that's their decision:
247When the asdot format is enabled as the default, any regular expressions
248to match 4-byte autonomous system numbers must be written using the asdot
249format, or else the regular expression match will fail.
250    (c) http://www.cisco.com/en/US/docs/ios/12_0s/release/ntes/120SNEWF.html
251        #wp3521658 (note the URL wrap).
252
2530.1.7 (2008-12-19):
254    - man page. Finally :)
255    - option -h now means not help, but now it can be used to point to
256    alternate IRRD host, like in old bgpq.
257
2580.1.6 (2008-08-08):
259    - maxsockbuf call added, that can help with pipelining of really large
260    as-sets.
261    - new key -M <extra match condition> for juniper route-filters, f.e.:
262    bgpq3 -JEM "protocol bgp;\n    community no-export" -l PolicyName/TermName
263    will generate term with additional match conditions, like:
264
265    policy-options {
266     policy-statement PolicyName {
267      term TermName {
268    replace:
269       from {
270        protocol bgp;
271        community no-export;
272        route-filter 10.0.0.0/24 exact;
273       }
274      }
275     }
276    }
277
2780.1.5 (2008-06-02):
279    - route-set's expansion added. Fully functional for IPv4 prefixes, but
280    not for IPv6 - only those prefixes explicitely marked as 'member-of: RS..'
281    will be expanded. This is due to limitation in IRRd.
282    - extended access-lists (Cisco) and route-filters (Juniper) generation
283    is supported now with new -E key. For Cisco ipv6 access-lists is not
284    yet supported.
285
2860.1.4 (2008-05-30):
287    - bugfix for juniper as-path group generation. Thanks to Alexander Shikoff.
288
2890.1.3 (2008-05-20):
290    - aggregation (-A) now supported for Cisco prefix-lists.
291    - pipelining now can be enabled for RIPE-style queries too (ipv6).
292    - more-specific routes (-R len) feature ported from bgpq
293    - pipelining now set by default. -T flag now disables pipelining.
294    - strlcpy.c imported into sources. Not found on Linux :)
295
2960.1.2 (2008-05-19):
297    - final support for asn32, now with correct syntax for Juniper.
298    - experimental 'pipelining' mode (flag -T), much faster when
299    working with big as-set's.
300    - RIPE-style query (-i origin) now requests only route6 objects.
301
3020.1.1 (2008-05-16):
303    - initial support for asn32 added (flag -3). By default it's off,
304    and when bgpq sees 32-bit asn in resolver queue, it either replaces
305    it with AS23456 (in as-path generation mode) or queries radb for
306    prefixes with that origin.
307    Note: for now only JunOS 9.1 can handle asn32, not Cisco IOS..
308
309