xref: /freebsd/contrib/libevent/ChangeLog (revision b50261e21f39a6c7249a49e7b60aa878c98512a8)
1*b50261e2SCy SchubertChanges in version 2.1.12-stable (05 Jul 2020)
2*b50261e2SCy Schubert
3*b50261e2SCy Schubert This release contains mostly bug fixes (I decided not to port some features
4*b50261e2SCy Schubert that can be ported even without ABI breakage, if you cannot find feature that
5*b50261e2SCy Schubert you are interested in, please give us a note!)
6*b50261e2SCy Schubert
7*b50261e2SCy Schubert Since 2.1.12 libevent will use github actions as main CI, since
8*b50261e2SCy Schubert it recommends itself better then travis/appveyor (and had been removed from
9*b50261e2SCy Schubert upstream).
10*b50261e2SCy Schubert
11*b50261e2SCy Schubert Look carefully at "slightly touches the behaviour" section.
12*b50261e2SCy Schubert
13*b50261e2SCy Schubert Below you will find some of changes (this list has been cleaned up from the
14*b50261e2SCy Schubert patches that touches only tests and similar):
15*b50261e2SCy Schubert
16*b50261e2SCy Schubert CI:
17*b50261e2SCy Schubert  o Backport github actions to 2.1 (be3acd7c Azat Khuzhin)
18*b50261e2SCy Schubert  o Merge branch 'event_rpcgen.py-cleanup' (f0ded5f3, 48e04887 Enji Cooper)
19*b50261e2SCy Schubert  o Add API/ABI checker (using LVC) (709210d4, 2af1f6cc yuangongji)
20*b50261e2SCy Schubert
21*b50261e2SCy Schubert test:
22*b50261e2SCy Schubert  o tinytest: support timeout on Windows (794e8f75 yuangongji)
23*b50261e2SCy Schubert  o Merge branch 'osx-clock' (e85afbe3 Azat Khuzhin)
24*b50261e2SCy Schubert  o test-ratelim: calculate timers bias (for slow CPUs) to avoid false-positive (8ad26d0b Azat Khuzhin)
25*b50261e2SCy Schubert
26*b50261e2SCy Schubert fixes:
27*b50261e2SCy Schubert  o buffer: do not pass NULL to memcpy() from evbuffer_pullup() (5b063049 Azat Khuzhin)
28*b50261e2SCy Schubert  o http: fix undefined-shift in EVUTIL_IS*_ helpers (6b8d02a7 Azat Khuzhin)
29*b50261e2SCy Schubert  o Check error code of evhttp_add_header_internal() in evhttp_parse_query_impl() (97e28f09 Azat Khuzhin)
30*b50261e2SCy Schubert  o http: fix EVHTTP_CON_AUTOFREE in case of timeout (and some else) (1be25938 Azat Khuzhin)
31*b50261e2SCy Schubert  o evdns: Add additional validation for values of dns options (c2972453 ayuseleznev)
32*b50261e2SCy Schubert  o There is typo in GetAdaptersAddresses windows library. It should be iphlpapi.dll (891adda9 Aleksandr-Melnikov)
33*b50261e2SCy Schubert  o Merge branch 'EV_CLOSED-and-EV_ET-fixes' (db2efdf5 Azat Khuzhin)
34*b50261e2SCy Schubert  o Fix memory corruption in EV_CLOSURE_EVENT_FINALIZE with debug enabled (8ccd8f56 Jan Kasiak)
35*b50261e2SCy Schubert  o increase segment refcnt only if evbuffer_add_file_segment() succeeds (30662a3c yuangongji)
36*b50261e2SCy Schubert  o evdns: fix a crash when evdns_base with waiting requests is freed (6f8e0e97 ayuseleznev)
37*b50261e2SCy Schubert  o event_base_once: fix potential null pointer threat (2e9ceb16 chenguolong)
38*b50261e2SCy Schubert  o http: do not assume body for CONNECT (1b42270b Azat Khuzhin)
39*b50261e2SCy Schubert  o evbuffer_add_file: fix freeing of segment in the error path (5f017bde Azat Khuzhin)
40*b50261e2SCy Schubert  o Fix checking return value of the evdns_base_resolv_conf_parse() (fc51bf2c Azat Khuzhin)
41*b50261e2SCy Schubert  o Merge branch 'fix-signal-leak' (poll/select now needs reinit) (1c9cc07b Azat Khuzhin)
42*b50261e2SCy Schubert
43*b50261e2SCy Schubert improvements:
44*b50261e2SCy Schubert  o evutil_time: improve evutil_gettimeofday on Windows (a8219143 Nick Grifka)
45*b50261e2SCy Schubert  o Support EV_CLOSED on linux for poll(2) (2530e7c6 Azat Khuzhin)
46*b50261e2SCy Schubert  o Parse IPv6 scope IDs. (f602211f Philip Homburg)
47*b50261e2SCy Schubert  o evutil_time: Implements usleep() using wait funtion on Windows (d42240d1 yuangongji)
48*b50261e2SCy Schubert  o evutil_time: detect and use _gmtime64_s()/_gmtime64() (f4a6152c yuangongji)
49*b50261e2SCy Schubert
50*b50261e2SCy Schubert slightly touches the behaviour:
51*b50261e2SCy Schubert  o bufferevent: allow setting priority on socket and openssl type (4dd3acdd Nicolas J. Bouliane)
52*b50261e2SCy Schubert  o Fix EV_CLOSED detection/reporting (epoll only) (1df324d4 Azat Khuzhin) (XXX)
53*b50261e2SCy Schubert  o Revert "Warn if forked from the event loop during event_reinit()" (71f5c0d3 Azat Khuzhin)
54*b50261e2SCy Schubert
55*b50261e2SCy Schubert samples:
56*b50261e2SCy Schubert  o https-client: load certificates from the system cert store on Windows (e9478640 yuangongji)
57*b50261e2SCy Schubert
58*b50261e2SCy Schubert build fixes:
59*b50261e2SCy Schubert  o Do not use sysctl.h on linux (it had been deprecated) (d2871a37 Azat Khuzhin)
60*b50261e2SCy Schubert  o cmake: avoid problems from use of CMAKE_USE_PTHREADS_INIT (a62ec765 Paul Osborne)
61*b50261e2SCy Schubert  o Update list of cmake files for autotools dist archive (2016f017 Azat Khuzhin)
62*b50261e2SCy Schubert  o LibeventConfig.cmake: restore CMAKE_FIND_LIBRARY_SUFFIXES and LIBEVENT_STATIC_LINK default (640f9cf6 Mario Emmenlauer)
63*b50261e2SCy Schubert  o cmake: fix getaddrinfo checking error (dea51c2e yuangongji)
64*b50261e2SCy Schubert  o autoconf: fix getaddrinfo checking errors on mingw (b9bf7fa7 yuangongji)
65*b50261e2SCy Schubert  o Do not use shared global structures on CYGWIN (8a9b5655 Azat Khuzhin)
66*b50261e2SCy Schubert  o Added uninstall target check to cmakelists (3f1fb1f9 Dimo Markov)
67*b50261e2SCy Schubert  o Fix compilation without OPENSSL_API_COMPAT (921bdcdd Azat Khuzhin)
68*b50261e2SCy Schubert  o cmake: improve package config file (1c047618, baec84f2 yuangongji)
69*b50261e2SCy Schubert  o Link with iphlpapi only on windows (976f7d34 Azat Khuzhin)
70*b50261e2SCy Schubert  o autotools: fails build when need but can not find openssl (93174bb5 yuangongji)
71*b50261e2SCy Schubert  o Merge branch 'http-connect' (e2424229 Azat Khuzhin)
72*b50261e2SCy Schubert  o Fix compat with NetBSD >= 10 (5febb4e1 Kamil Rytarowski)
73*b50261e2SCy Schubert  o cmake: fix getrandom() detection (e0e5f3bd Azat Khuzhin)
74*b50261e2SCy Schubert  o arc4random: replace sysctl() with getrandom (on linux) (66ec78fd Azat Khuzhin)
75*b50261e2SCy Schubert  o Upgrade autoconf (after upgrading minimum required to 2.67) (45da7d9d yuangongji)
76*b50261e2SCy Schubert  o eliminate some C4267 warnings in Windows (9e468c77 yuangongji)
77*b50261e2SCy Schubert  o autotools: attach doxygen target into all target (5d1e8570 yuangongji)
78*b50261e2SCy Schubert  o cmake: attach doxygen target into all target (7a85300a yuangongji)
79*b50261e2SCy Schubert  o Change the minimum version of automake to 1.13 and autoconf to 2.67 (fdb8fb66 ygj6)
80*b50261e2SCy Schubert  o Add Uninstall.cmake.in into dist archive (877f2355 Azat Khuzhin)
81*b50261e2SCy Schubert
82*b50261e2SCy SchubertChanges in version 2.1.11-stable (01 Aug 2019)
83*b50261e2SCy Schubert
84*b50261e2SCy Schubert This release contains one ABI breakage fix (that had been introduced in
85*b50261e2SCy Schubert 2.1.10, and strictly speaking this release breaks ABI again to make it
86*b50261e2SCy Schubert compatible with 2.1.9 and less, please take a look at 18104973 for more
87*b50261e2SCy Schubert details). Apart from that it contains some bug fixes, that grouped below.
88*b50261e2SCy Schubert
89*b50261e2SCy Schubert And even though the return value for evbuffer_setcb() had been changed it
90*b50261e2SCy Schubert should ABI compatible (anyway that function is in -compat.h header).
91*b50261e2SCy Schubert
92*b50261e2SCy Schubert There is also one patch that introduce new functionality, this is 546a366c,
93*b50261e2SCy Schubert to tune SO_RCVBUF/SO_SNDBUF in evdns, but one can count it as a bug-fix on
94*b50261e2SCy Schubert the application level, since before you cannot tune this settings and hence
95*b50261e2SCy Schubert you could stumble on problems.
96*b50261e2SCy Schubert
97*b50261e2SCy Schubert ABI breakage:
98*b50261e2SCy Schubert  o Protect min_heap_push_ against integer overflow. (8c899768 Tobias Stoeckmann)
99*b50261e2SCy Schubert  o Revert "Protect min_heap_push_ against integer overflow." (18104973 Azat Khuzhin)
100*b50261e2SCy Schubert
101*b50261e2SCy Schubert functionality:
102*b50261e2SCy Schubert  o evdns: add new options -- so-rcvbuf/so-sndbuf (546a366c Azat Khuzhin)
103*b50261e2SCy Schubert
104*b50261e2SCy Schubert build:
105*b50261e2SCy Schubert  o Change autoconf version to 2.62 and automake version to 1.11.2 (2a333008 yuangongji)
106*b50261e2SCy Schubert  o cmake: install shared library only if it was requested (596855f7 Azat Khuzhin)
107*b50261e2SCy Schubert  o Missing <winerror.h> on win7/MinGW(MINGW32_NT-6.1)/MSYS (9559349c yuangongji)
108*b50261e2SCy Schubert  o cmake: set library names to be the same as with autotools (305251b9 yuangongji)
109*b50261e2SCy Schubert  o Enable _GNU_SOURCE for Android (f013fc7d Keith Smiley)
110*b50261e2SCy Schubert  o Enable kqueue for APPLE targets (3aa68a82 Keith Smiley)
111*b50261e2SCy Schubert  o autotools: do not install bufferevent_ssl.h under --disable-openssl (5349a07e Azat Khuzhin)
112*b50261e2SCy Schubert  o cmake: link against shell32.lib/advapi32.lib (c9ce638c Azat Khuzhin)
113*b50261e2SCy Schubert  o Add README.md into dist archive (3660a4cc Azat Khuzhin)
114*b50261e2SCy Schubert  o cmake: add missing autotools targets (doxygen, uninstall, event_rpcgen.py) (2d65071c yuangongji)
115*b50261e2SCy Schubert  o m4/libevent_openssl.m4: fix detection of openssl (d4056e59 Fabrice Fontaine)
116*b50261e2SCy Schubert  o Fix detection of the __has_attribute() for apple clang [ci skip] (7fd7c5ef Azat Khuzhin)
117*b50261e2SCy Schubert
118*b50261e2SCy Schubert lib:
119*b50261e2SCy Schubert  o buffer: fix possible NULL dereference in evbuffer_setcb() on ENOMEM (598f247d Azat Khuzhin)
120*b50261e2SCy Schubert  o Warn if forked from the event loop during event_reinit() (b75922ae Azat Khuzhin)
121*b50261e2SCy Schubert  o evutil: set the have_checked_interfaces in evutil_check_interfaces()
122*b50261e2SCy Schubert    (ef498aa2, a09265ac jeremyerb)
123*b50261e2SCy Schubert
124*b50261e2SCy Schubert samples:
125*b50261e2SCy Schubert  o https-client: correction error checking (a8a04565 wenyg)
126*b50261e2SCy Schubert
127*b50261e2SCy Schubert
128*b50261e2SCy SchubertChanges in version 2.1.10-stable (26 May 2019)
129*b50261e2SCy Schubert
130*b50261e2SCy Schubert This release contains mostly fixes (some evbuffer oddity, AF_UNIX handling in
131*b50261e2SCy Schubert http server, some UB fixes and others) but also some new functionality
132*b50261e2SCy Schubert (without ABI breakage as usual) and now dist archive can be used for building
133*b50261e2SCy Schubert on windows (getopt had been added into it).
134*b50261e2SCy Schubert
135*b50261e2SCy Schubert Above you will find changelog for this particular release (but with some
136*b50261e2SCy Schubert trivial fixes pruned out from it - to make it a little bit more informative).
137*b50261e2SCy Schubert
138*b50261e2SCy Schubert To view full changelog please use git:
139*b50261e2SCy Schubert   git log --format='  o %s (%h %aN)' release-2.1.9-beta...release-2.1.10-stable
140*b50261e2SCy Schubert
141*b50261e2SCy Schubert dist:
142*b50261e2SCy Schubert  o Add getopt into dist archive (7042ff24 Azat Khuzhin)
143*b50261e2SCy Schubert
144*b50261e2SCy Schubert functionality:
145*b50261e2SCy Schubert  o evdns: add DNS_OPTION_NAMESERVERS_NO_DEFAULT/EVDNS_BASE_NAMESERVERS_NO_DEFAULT
146*b50261e2SCy Schubert  (58e81106 Azat Khuzhin)
147*b50261e2SCy Schubert  o Add support for EV_TIMEOUT to event_base_active_by_fd (3f893f0a John Ohl)
148*b50261e2SCy Schubert
149*b50261e2SCy Schubert fixes:
150*b50261e2SCy Schubert  o Merge branch 'evbuffer-fixes-806-v2' (2fea04b3 Azat Khuzhin)
151*b50261e2SCy Schubert  o Merge branch 'issue-807-accept4-getnameinfo-AF_UNIX' (7c4da937, e2790a7f
152*b50261e2SCy Schubert    Azat Khuzhin)
153*b50261e2SCy Schubert  o kqueue: Avoid undefined behaviour. (e70e18e9 Tobias Stoeckmann)
154*b50261e2SCy Schubert  o Prevent integer overflow in kq_build_changes_list. (43a55a23 Tobias Stoeckmann)
155*b50261e2SCy Schubert  o evdns: fix lock/unlock mismatch in evdns_close_server_port() (54103883 zhuizhuhaomeng)
156*b50261e2SCy Schubert  o Merge remote-tracking branch 'official/pr/804' -- Enforce limit of NSIG
157*b50261e2SCy Schubert    signals (87fa93a8 Tobias Stoeckmann)
158*b50261e2SCy Schubert  o Protect min_heap_push_ against integer overflow. (0b46bb8c Tobias Stoeckmann)
159*b50261e2SCy Schubert  o le-proxy: initiate use of the Winsock DLL (2a1e1530 linxiaohui)
160*b50261e2SCy Schubert  o Fix leaks in error path of the bufferevent_init_common_() (bb0f8fe7 Azat Khuzhin)
161*b50261e2SCy Schubert  o buffer: make evbuffer_prepend() of zero-length array no-op (61fa7b7d Azat Khuzhin)
162*b50261e2SCy Schubert  o Merge branch 'evbuffer-empty-chain-handling' (6a3dd717 Azat Khuzhin)
163*b50261e2SCy Schubert  o Don't loose top error in SSL (3d1a7a1d Yury Korzhetsky)
164*b50261e2SCy Schubert  o Remove needless check for arc4_seeded_ok (6602a97d Seong-Joong Kim)
165*b50261e2SCy Schubert  o Merge pull request #769 from sungjungk/fix-return-handling (91084140 Nathan French)
166*b50261e2SCy Schubert
167*b50261e2SCy Schubert build:
168*b50261e2SCy Schubert  o Define `_GNU_SOURCE` properly/consistently per autoconf (00ba9fa2 Enji Cooper)
169*b50261e2SCy Schubert  o signal: guard __cdecl definition with #ifdef (d89045a6 Azat Khuzhin)
170*b50261e2SCy Schubert  o Link test/regress with event_core/event_extra over event (22380996 Azat Khuzhin)
171*b50261e2SCy Schubert
172*b50261e2SCy Schubert tests:
173*b50261e2SCy Schubert  o Use kill() over raise() for raising the signal (fixes osx 10.14 with
174*b50261e2SCy Schubert    kqueue) (3db5296b, a45f6733 Azat Khuzhin)
175*b50261e2SCy Schubert  o tinytest: implement per-test timeout (via alarm() under !win32 only)
176*b50261e2SCy Schubert    (b64dbfb6, 75d7e1ff Azat Khuzhin)
177*b50261e2SCy Schubert
178*b50261e2SCy SchubertChanges in version 2.1.9-beta (10 February 2019)
179*b50261e2SCy Schubert
180*b50261e2SCy Schubert This changelog will differs from other releases in the next few clauses:
181*b50261e2SCy Schubert - contains only highlighted changes (so now it will not contains a lot of
182*b50261e2SCy Schubert   patches that fixes some stuff in regression tests, typos, leaks fixes in
183*b50261e2SCy Schubert   samples and so forth)
184*b50261e2SCy Schubert - no authors (since merge commits breaks them anyway, but AUTHORS sections in
185*b50261e2SCy Schubert   README will be kept up to date)
186*b50261e2SCy Schubert - group name trimmed from commit subjects trimmed
187*b50261e2SCy Schubert - it's been 2 years since the previoius release, so it is pretty huge
188*b50261e2SCy Schubert
189*b50261e2SCy Schubert And I think that this is more useful, so from now on it will always has the
190*b50261e2SCy Schubert same look (until there will too many objections of course).
191*b50261e2SCy Schubert
192*b50261e2SCy Schubert To view full changelog please use git:
193*b50261e2SCy Schubert   git log --format='  o %s (%h %aN)' release-2.1.8-stable...release-2.1.9-beta
194*b50261e2SCy Schubert
195*b50261e2SCy Schubert
196*b50261e2SCy Schubert dist archive:
197*b50261e2SCy Schubert  o Add cmake rules into dist archive (bf3a67cf)
198*b50261e2SCy Schubert  o Add missing print-winsock-errors.c into dist archive (822d6462)
199*b50261e2SCy Schubert  o Include openssl-compat.h into dist archive (08658136)
200*b50261e2SCy Schubert
201*b50261e2SCy Schubert core:
202*b50261e2SCy Schubert  o Merge branch 'check-O_NONBLOCK-in-debug' (a39898f3, a8155c62)
203*b50261e2SCy Schubert  o Merge branch 'event-ET-#636-v2' (ca4b6404)
204*b50261e2SCy Schubert  o Fix visibility issues under (mostly on win32)
205*b50261e2SCy Schubert    (349081e1g, 802be13ag, a1f28e2f)
206*b50261e2SCy Schubert  o Define __EXT_POSIX2 for QNX (a2176f2c)
207*b50261e2SCy Schubert  o Cleanup __func__ detection (b3af7bdd)
208*b50261e2SCy Schubert  o Add convenience macros for user-triggered events (06ec5de6)
209*b50261e2SCy Schubert  o Notify event base if there are no more events, so it can exit without delay (d9d1c09e)
210*b50261e2SCy Schubert  o Fix base unlocking in event_del() if event_base_set() runned in another thread (4f0f40e3)
211*b50261e2SCy Schubert  o If precise_time is false, we should not set EVENT_BASE_FLAG_PRECISE_TIMER (27dee54d)
212*b50261e2SCy Schubert  o Fix race in access to ev_res from event loop with event_active() (43d92a6d)
213*b50261e2SCy Schubert  o Return from event_del() after the last event callback termination (876c7ac7)
214*b50261e2SCy Schubert
215*b50261e2SCy Schubert http:
216*b50261e2SCy Schubert  o Merge branch 'http-EVHTTP_CON_READ_ON_WRITE_ERROR-fixes-v2' (eb7b472b)
217*b50261e2SCy Schubert  o Preserve socket error from listen across closesocket cleanup (2ccd00a6)
218*b50261e2SCy Schubert  o fix connection retries when there more then one request for connection (d30e7bba)
219*b50261e2SCy Schubert  o improve error path for bufferevent_{setfd,enable,disable}() (a8cc449e)
220*b50261e2SCy Schubert  o Fix conceivable UAF of the bufferevent in evhttp_connection_free() (6ac2ec25)
221*b50261e2SCy Schubert  o Merge branch 'http-request-line-parsing' (cdcfbafe)
222*b50261e2SCy Schubert  o Fix evhttp_connection_get_addr() fox incomming http connections (4215c003)
223*b50261e2SCy Schubert  o fix leaks in evhttp_uriencode() (123362e9)
224*b50261e2SCy Schubert  o CONNECT method only takes an authority (7d1ffe64)
225*b50261e2SCy Schubert  o Allow bodies for GET/DELETE/OPTIONS/CONNECT (23eb38b9)
226*b50261e2SCy Schubert  o Do not crash when evhttp_send_reply_start() is called after a timeout. (826f1134)
227*b50261e2SCy Schubert  o Fix crashing http server when callback do not reply in place (5b40744d, b2581380)
228*b50261e2SCy Schubert  o fix handling of close_notify (ssl) in http with openssl bufferevents (7e91622b)
229*b50261e2SCy Schubert
230*b50261e2SCy Schubert evrpc:
231*b50261e2SCy Schubert  o use *_new_with_arg() to match function prototype (a95cc9e3)
232*b50261e2SCy Schubert  o avoid NULL dereference on request is not EVHTTP_REQ_POST (e05136c7)
233*b50261e2SCy Schubert
234*b50261e2SCy Schubert regression tests:
235*b50261e2SCy Schubert  o Merge branch 'TT_RETRIABLE' (6ea1ec68, f9b592aa)
236*b50261e2SCy Schubert
237*b50261e2SCy Schubert bufferevent:
238*b50261e2SCy Schubert  o Merge branch 'iocp-fixes' (6bfac964)
239*b50261e2SCy Schubert  o Merge branch 'be-wm-overrun-v2' (3f692fff)
240*b50261e2SCy Schubert  o bufferevent_socket_connect{,_hostname}() missing event callback and use ret code (1dde74ef)
241*b50261e2SCy Schubert  o don't fail be_null_filter if bytes are copied (b92b0792)
242*b50261e2SCy Schubert  o Call underlying bev ctrl GET_FD on filtered bufferevents (ebfac517)
243*b50261e2SCy Schubert
244*b50261e2SCy Schubert bufferevent_openssl/openssl:
245*b50261e2SCy Schubert  o Merge branch 'ssl_bufferevent_wm_filter-fix' (30020a35)
246*b50261e2SCy Schubert  o be_openssl: avoid leaking of SSL structure (e86ccfe5)
247*b50261e2SCy Schubert  o Fix build with LibreSSL 2.7 (894ca48a)
248*b50261e2SCy Schubert  o Add missing includes into openssl-compat.h (01bc36c1)
249*b50261e2SCy Schubert  o Explicitly call SSL_clear when reseting the fd. (29b7a516)
250*b50261e2SCy Schubert  o Unbreak build with LibreSSL after openssl 1.1 support added (230af9f0)
251*b50261e2SCy Schubert
252*b50261e2SCy Schubert samples:
253*b50261e2SCy Schubert  o Merge branch 'sample-http-server' (b6309bcc)
254*b50261e2SCy Schubert  o sample/https-client: use host SSL certificate store by default (5c0132f3)
255*b50261e2SCy Schubert
256*b50261e2SCy Schubert listener:
257*b50261e2SCy Schubert  o ipv6only socket bind support (ba148796)
258*b50261e2SCy Schubert  o Merge branch 'listener-immediate-close' (df2ed13f)
259*b50261e2SCy Schubert  o Merge branch 'evconnlistener-do-not-close-client-fd' (42e851bb)
260*b50261e2SCy Schubert
261*b50261e2SCy Schubert evdns:
262*b50261e2SCy Schubert  o evdns: handle NULL filename explicitly (0033f5cc)
263*b50261e2SCy Schubert  o Merge branch 'evdns_getaddrinfo-race-fix' (3237d697)
264*b50261e2SCy Schubert  o Generating evdns_base_config_windows_nameservers docs on all platforms (3bd2ce43)
265*b50261e2SCy Schubert
266*b50261e2SCy Schubert utils:
267*b50261e2SCy Schubert  o Merge branch 'evutil_found_ifaddr-dev' (b07e43e6)
268*b50261e2SCy Schubert  o Avoid possible SEGVs in select() (in unit tests) (8818c86c)
269*b50261e2SCy Schubert  o Port `event_rpcgen.py` and `test/check-dumpevents.py` to Python 3. (532a8cc3)
270*b50261e2SCy Schubert
271*b50261e2SCy Schubert buffer:
272*b50261e2SCy Schubert  o Fix assert() condition in evbuffer_drain() for IOCP (d6326104)
273*b50261e2SCy Schubert  o fix incorrect unlock of the buffer mutex (for deferred callbacks) (2b4d127d)
274*b50261e2SCy Schubert  o Fix wrong assert in evbuffer_drain() (9f4d0dce)
275*b50261e2SCy Schubert
276*b50261e2SCy Schubert cmake:
277*b50261e2SCy Schubert  o fix checking of devpoll backend (like in autotools, by devpoll.h existence) (7f161902)
278*b50261e2SCy Schubert  o support static runtime (MSVC) (c8b3ec17, 61fb055a)
279*b50261e2SCy Schubert  o do not build both (SHARED and STATIC) for MSVC/win32 (bc7f2fd9)
280*b50261e2SCy Schubert  o introduce EVENT__LIBRARY_TYPE option (eb10a738)
281*b50261e2SCy Schubert  o ensure windows dll's are installed as well as lib files (29590718)
282*b50261e2SCy Schubert  o Fix generation of LibeventConfig.cmake for the installation tree (7fa08c4b)
283*b50261e2SCy Schubert  o fix pkgconfig generation (copy-paste typo) (cc554d87)
284*b50261e2SCy Schubert  o Merge branch 'cmake-missing-bits' (9806b126)
285*b50261e2SCy Schubert  o Fix detection of timerfd_create() in CMake. (e50af331)
286*b50261e2SCy Schubert  o Merge branch 'cmake-configure-fixes-v2' (a0bfe2c4)
287*b50261e2SCy Schubert  o Do not add epoll_sub (syscall wrappers) for epoll in cmake (cea61de6)
288*b50261e2SCy Schubert  o Fix RPATH for APPLE (45b1f379)
289*b50261e2SCy Schubert
290*b50261e2SCy Schubert autotools:
291*b50261e2SCy Schubert  o include win32 specific headers for socklen_t detection on win32/mingw (d7579fb9)
292*b50261e2SCy Schubert  o Ignore evconfig-private.h for autotools (37423849)
293*b50261e2SCy Schubert  o config.h can't be prefixed unconditionally (63a054f8)
294*b50261e2SCy Schubert  o Merge branch 'pull-628' (7e56c8b2)
295*b50261e2SCy Schubert  o Provide Makefile variables LIBEVENT_{CFLAGS,CPPFLAGS,LDFLAGS} (2f060c5f)
296*b50261e2SCy Schubert  o confirm openssl is working before using (b39ccf8e)
297*b50261e2SCy Schubert  o pass $(OPENSSL_INCS) for samples (FTBFS macOS) (c2495265)
298*b50261e2SCy Schubert  o Add configure check for midipix (d433201e)
299*b50261e2SCy Schubert  o Fix tests with detached builds (c46ff439)
300*b50261e2SCy Schubert
301*b50261e2SCy Schubert build:
302*b50261e2SCy Schubert  o Fix arc4random_addrandom() detecting and fallback (regression) (303d6d77)
303*b50261e2SCy Schubert  o Merge branch 'win32-fixes' (ebd12e6d)
304*b50261e2SCy Schubert  o Merge branch 'fix-openssl-linking' (e7bd9e03)
305*b50261e2SCy Schubert  o Merge branch 'fix-struct-linger' (8567f2f5)
306*b50261e2SCy Schubert
307*b50261e2SCy Schubert CI:
308*b50261e2SCy Schubert  o travis-ci/appveyor now uses fast_finish+allow_failures
309*b50261e2SCy Schubert    (5e97b6e6, dd472e7d, dfb5fc167)
310*b50261e2SCy Schubert  o Merge branch 'travis-ci-osx-fixes' (9f02b39c)
311*b50261e2SCy Schubert  o Merge branch 'win64-fixes' (aee0fcd5)
312*b50261e2SCy Schubert
313*b50261e2SCy Schubert
314c43e99fdSEd MasteChanges in version 2.1.8-stable (22 January 2017)
315c43e99fdSEd Maste
316c43e99fdSEd Maste Libevent 2.1.8-stable, it contains openssl fixes for resetting fd and using
317c43e99fdSEd Maste bufferevent_openssl_filter_new(). vagrant fixes, some build fixes, increased
318c43e99fdSEd Maste timeout for some tests (to reduce number of failures due to timing issues),
319c43e99fdSEd Maste date in RFC1123 format and running tests in parallel.
320c43e99fdSEd Maste
321c43e99fdSEd Maste There are highlighted changes above.
322c43e99fdSEd Maste
323c43e99fdSEd Maste Build fixes:
324c43e99fdSEd Maste  o Fix _FILE_OFFSET_BITS redinition (solaris/autotools) (336f3b11 Azat Khuzhin)
325c43e99fdSEd Maste  o util-internal: fix __func__ redefinition (netbsd) (253e7fa9 Azat Khuzhin)
326c43e99fdSEd Maste  o Fix signedness differ for iov_base (solaris) (2c62062e Azat Khuzhin)
327c43e99fdSEd Maste  o evutil_time: include <unistd.h> when there is only sleep()/usleep() (3e75194c Azat Khuzhin)
328c43e99fdSEd Maste  o http: fix formatter for pritnf for req->ntoread (osx) (1cbf26f6 Azat Khuzhin)
329c43e99fdSEd Maste Testing environment:
330c43e99fdSEd Maste  o Merge branch 'automake-tests-parallel-v4' (*includes ci bits also*) (59e217df Azat Khuzhin)
331c43e99fdSEd Maste Vagrant env fixes:
332c43e99fdSEd Maste  o vagrant/netbsd: missing libtool (9c9be399 Azat Khuzhin)
333c43e99fdSEd Maste  o vagrant/netbsd: more reliable way of installing packages (36da6877 Azat Khuzhin)
334c43e99fdSEd Maste  o vagrant/osx: use make instead of gmake (there is no gmake) (f7c70aef Azat Khuzhin)
335c43e99fdSEd Maste  o vagrant: add centos box (ca591c5b Azat Khuzhin)
336c43e99fdSEd Maste Tests:
337c43e99fdSEd Maste  o test/dns: replace servname since solaris does not have "http" (d6bafbbe Azat Khuzhin)
338c43e99fdSEd Maste  o test/thread: netbsd is too slow, increase timeout for conditions_simple (3c7422fc Azat Khuzhin)
339c43e99fdSEd Maste  o test/dns: run async resolving after sync one (to avoid timeouts) (07862531 Azat Khuzhin)
340c43e99fdSEd Maste  o test/http: turn off some tests that based on backlog filling (falky) (26f416c1 Azat Khuzhin)
341c43e99fdSEd Maste Bugfixes:
342c43e99fdSEd Maste  o Merge branch 'openssl-filter-fixes-v4' (83e0f43b Azat Khuzhin)
343c43e99fdSEd Maste  o Merge branch 'date-rfc1123' (68def435,4798de6c,4545807d Azat Khuzhin)
344c43e99fdSEd Maste  o Merge branch 'be-openssl-fd-reset-fix-v2' (86fa0070,32adf434 Azat Khuzhin)
345c43e99fdSEd Maste  o Merge branch 'openssl-1.1-init-fixes-v2' (18a161f0 Azat Khuzhin)
346c43e99fdSEd Maste  o Fix incorrect MIME type (23f9a20e johnsonlee)
347c43e99fdSEd Maste Trivial fixes:
348c43e99fdSEd Maste Documentation updates:
349c43e99fdSEd Maste  o Update README.md (3821cca1 Breaker)
350c43e99fdSEd Maste
351c43e99fdSEd Maste
352c43e99fdSEd MasteChanges in version 2.1.7-rc (2 Novemer 2016)
353c43e99fdSEd Maste
354c43e99fdSEd Maste Libevent 2.1.7-rc contains openssl 1.1 support, build fixes, CI improvements
355c43e99fdSEd Maste and plus Vagrantfile for testing under multiple OS'es.
356c43e99fdSEd Maste
357c43e99fdSEd Maste
358c43e99fdSEd Maste Continious Integration:
359c43e99fdSEd Maste  o Use coveralls.io via travis (9ac000c Azat Khuzhin)
360c43e99fdSEd Maste  o travis-ci: use container-based infrastructure (7e12e96 Azat Khuzhin)
361c43e99fdSEd Maste  o travis-ci/osx: fix compiling/linking openssl libraries (9d2f8d4 Azat Khuzhin)
362c43e99fdSEd Maste  o travis-ci: use gcc-5 (fixes osx|gcc failures) (d7ceae5 Azat Khuzhin)
363c43e99fdSEd Maste  o Testing with vagrant for 6 OS and cmake+autoconf (9585338 Azat Khuzhin)
364c43e99fdSEd Maste  o travis-ci/osx: install lcov (e4e099b Azat Khuzhin)
365c43e99fdSEd Maste
366c43e99fdSEd Maste Build Improvements/Fixes:
367c43e99fdSEd Maste  o Fix cmake -DEVENT__COVERAGE=ON (40fbffc Azat Khuzhin)
368c43e99fdSEd Maste  o autogen.sh: learn about gmake (9376ac4 Azat Khuzhin)
369c43e99fdSEd Maste  o autogen.sh: remove all autoconf/automake caches, if any (69cce25 Azat Khuzhin)
370c43e99fdSEd Maste  o cmake: fix finding python2, and check that it is really 2 (3453c08 Azat Khuzhin)
371c43e99fdSEd Maste  o cmake: fix CheckFunctionExistsEx/CheckPrototypeDefinition (CMP0054) (43b69b2 Azat Khuzhin)
372c43e99fdSEd Maste  o cmake: cleanup (dc624ad Zonr Chang)
373c43e99fdSEd Maste  o cmake/win32: fix running regress, but fixing finding python2 interpreter (bcb990a Azat Khuzhin)
374c43e99fdSEd Maste  o cmake: use PYTHON_EXECUTABLE to find python2 (a4d044c Azat Khuzhin)
375c43e99fdSEd Maste  o Merge branch 'force-disable-clockgettime' (83c7cdf Azat Khuzhin)
376c43e99fdSEd Maste
377c43e99fdSEd Maste Code Improvements (core)
378c43e99fdSEd Maste  o use ev_uint16_t instead of unsigned short for port (e983712 Thomas Bernard)
379c43e99fdSEd Maste  o Merge branch 'contrib-guide-v2' (b9c5077 Azat Khuzhin)
380c43e99fdSEd Maste  o poll: Prevent libevent from spinning if POLLNVAL occurs (675974c Tim Hentenaar)
381c43e99fdSEd Maste
382c43e99fdSEd Maste Testing:
383c43e99fdSEd Maste  o test/regress: cover a polling of invalid fd (cb0df5c Tim Hentenaar)
384c43e99fdSEd Maste
385c43e99fdSEd Maste Code Improvements (bufferevent_openssl)
386c43e99fdSEd Maste  o Make it build using OpenSSL 1.1.0 (3e9e0a0 Kurt Roeckx)
387c43e99fdSEd Maste  o Don't call BIO_number_{read|written} on NULL BIOs. (6702da1 Adam Langley)
388c43e99fdSEd Maste  o Switch from a 512 to 2048-bit RSA key. (f9803a6 Adam Langley)
389c43e99fdSEd Maste
390c43e99fdSEd Maste Trivial fixes:
391c43e99fdSEd Maste  o Ignore temporary configure files (8fb08ae Azat Khuzhin)
392c43e99fdSEd Maste  o README.md: fix typo: ar -> are (2361616 Simone Basso)
393c43e99fdSEd Maste  o be: just a simple mistake, reinclude the <errno.h> (7521664 Seven)
394c43e99fdSEd Maste
395c43e99fdSEd MasteChanges in version 2.1.6-beta (4 July 2016)
396c43e99fdSEd Maste
397c43e99fdSEd Maste Libevent 2.1.6-beta contains mostly bug fixes (evbuffers, evthread, evdns,
398c43e99fdSEd Maste bufferevents, core, http, samples), improvements but mostly to fix some
399c43e99fdSEd Maste possible issues (EVHTTP_CON_LINGERING_CLOSE), a lot of new unit tests and new
400c43e99fdSEd Maste appveyor integration.
401c43e99fdSEd Maste
402c43e99fdSEd Maste Security Fixes (utils)
403c43e99fdSEd Maste   o evutil_parse_sockaddr_port(): fix buffer overflow (329acc1 Azat Khuzhin)
404c43e99fdSEd Maste
405c43e99fdSEd Maste Security Fixes (evdns)
406c43e99fdSEd Maste   o evdns: name_parse(): fix remote stack overread (96f64a0 Azat Khuzhin)
407c43e99fdSEd Maste   o evdns: fix searching empty hostnames (ec65c42 Azat Khuzhin)
408c43e99fdSEd Maste
409c43e99fdSEd Maste New APIs (evdns)
410c43e99fdSEd Maste   o New function to get address for nameserver. (537177d Nick Mathewson)
411c43e99fdSEd Maste
412c43e99fdSEd Maste New APIs (bufferevents)
413c43e99fdSEd Maste   o expose bufferevent_incref/decref (with fewer modifications) (1ed6718 Mark Ellzey)
414c43e99fdSEd Maste
415c43e99fdSEd Maste New APIs (internal)
416c43e99fdSEd Maste   o evdns: export cancel via callbacks in util (like async lib core/extra issues) (8cbe65d Azat Khuzhin)
417c43e99fdSEd Maste
418c43e99fdSEd Maste New APIs/Improvements (http)
419c43e99fdSEd Maste   o http: take EVHTTP_CON_LINGERING_CLOSE into account for "Expect: 100-Continue" (ac448a7 Azat Khuzhin)
420c43e99fdSEd Maste   o http: lingering close (like nginx have) for entity-too-large (9fde518 Azat Khuzhin)
421c43e99fdSEd Maste   o http: read server response even after server closed the connection (680742e Azat Khuzhin)
422c43e99fdSEd Maste   o http: export evhttp_connection_set_family() (714fc70 Azat Khuzhin)
423c43e99fdSEd Maste   o http: reuse connected address only with EVHTTP_CON_REUSE_CONNECTED_ADDR (a50f5f0 Azat Khuzhin)
424c43e99fdSEd Maste   o http: use IP address that we got before (if any) during retrying (54c887d Azat Khuzhin)
425c43e99fdSEd Maste
426c43e99fdSEd Maste Bugfixes (core)
427c43e99fdSEd Maste   o Fix getaddrinfo under solaris (for multiprotocol case) (40730ae Azat Khuzhin)
428c43e99fdSEd Maste   o Check for Mac OS X 10.4 kqueue bug properly (df6f99e Mark Mentovai)
429c43e99fdSEd Maste   o event_reinit: make signals works after fork() without evsig_add() (88640aa Nicholas Marriott)
430c43e99fdSEd Maste   o event_reinit: always re-init signal's socketpair (ad0c237 Nicholas Marriott)
431c43e99fdSEd Maste   o Free event queues even for recursive finalizers (7c8d015 Azat Khuzhin)
432c43e99fdSEd Maste   o Fix checking for make_base_notifiable() (f337296 Azat Khuzhin)
433c43e99fdSEd Maste   o Set correct socklen for PF_INET6 sockaddr len (3499ad9 Mark Ellzey)
434c43e99fdSEd Maste   o Fix garbage value in socketpair util function, stdint? (043ae74 Mark Ellzey)
435c43e99fdSEd Maste   o fix the return value of event_deferred_cb_schedule_ (38cef64 Greg Hazel)
436c43e99fdSEd Maste   o event_free_debug_globals_locks(): disable lock debugging (e5c87d1 Azat Khuzhin)
437c43e99fdSEd Maste   o event: call event_disable_debug_mode() in libevent_global_shutdown() (941faae Azat Khuzhin)
438c43e99fdSEd Maste   o ht-internal: don't reset hth_table_length explicitly in name_##HT_CLEAR (597c7b2 Azat Khuzhin)
439c43e99fdSEd Maste
440c43e99fdSEd Maste Bugfixes (evthread)
441c43e99fdSEd Maste   o evthread: fix evthread_setup_global_lock_() for debug-lock with a real-lock case (e4556fc Azat Khuzhin)
442c43e99fdSEd Maste   o evthread: evthreadimpl_disable_lock_debugging_() for libevent_global_shutdown() (ccc5593 Azat Khuzhin)
443c43e99fdSEd Maste
444c43e99fdSEd Maste Bugfixes (evdns)
445c43e99fdSEd Maste   o evdns: avoid double-free in evdns_base_free() for probing requests (4db15e0 Azat Khuzhin)
446c43e99fdSEd Maste   o evdns: evdns_base_free(): fix UAF of evdns_base with @fail_requests (00313c5 Azat Khuzhin)
447c43e99fdSEd Maste   o evdns: evdns_base_free(): free requests before namservers (14f84bb Azat Khuzhin)
448c43e99fdSEd Maste   o evdns: fix randomize-case by make case-insensitive as required (9c238de Azat Khuzhin)
449c43e99fdSEd Maste
450c43e99fdSEd Maste Bugfixes (bufferevents)
451c43e99fdSEd Maste   o be_sock: handle readv() returns ECONNREFUSED (freebsd 9.2) (3189eb0 Azat Khuzhin)
452c43e99fdSEd Maste   o be_filter: avoid data stuck under active watermarks (b627ad8 Eduardo Panisset)
453c43e99fdSEd Maste   o Fix bufferevent_pair to properly set BEV_EVENT_{READING,WRITING} on flush. (2851889 David Paschich)
454c43e99fdSEd Maste   o be_openssl: clear all pending errors before SSL_*() calls (38e0f4a Azat Khuzhin)
455c43e99fdSEd Maste   o be_sock: cancel in-progress dns requests (86dfd2c Azat Khuzhin)
456c43e99fdSEd Maste   o be_sock: unfreeze buffers on fd changing (255525d Azat Khuzhin)
457c43e99fdSEd Maste   o be_sock: bufferevent_socket_connect_hostname(): make it thread-safe (809bb39 Azat Khuzhin)
458c43e99fdSEd Maste   o be_openssl: don't call do_write() directly from outbuf_cb (da52933 Azat Khuzhin)
459c43e99fdSEd Maste   o be_openssl: use bufferevent_enable() instead of bufferevent_add_event_() (0c66d32 Azat Khuzhin)
460c43e99fdSEd Maste   o be_openssl: don't add events during bev creation (like be_sock) (f4b6284 Azat Khuzhin)
461c43e99fdSEd Maste   o Fix lock leak in be_pair_flush() if flush type is BEV_NORMAL (f45d39d Bill Vaughan)
462c43e99fdSEd Maste   o be_openssl: don't use *_auto() in do_handshake() we can't have fd == -1 there (877280d Azat Khuzhin)
463c43e99fdSEd Maste   o be_openssl: don't call set_open_callbacks() if fd == -1 (e8a2da9 Azat Khuzhin)
464c43e99fdSEd Maste   o be_openssl: get rid off hackish "fd_is_set", to fix some corner cases (40b0379 Azat Khuzhin)
465c43e99fdSEd Maste   o be: we don't need to use getpeername() we we have conn_address (2c271e2 Azat Khuzhin)
466c43e99fdSEd Maste   o Call underlying bev ctrl SET_FD on filtered bufferevents (c2aa7dc Mark Ellzey)
467c43e99fdSEd Maste   o be_pair: release shared lock with the latest of bufferevent_pair (92a359e Azat Khuzhin)
468c43e99fdSEd Maste
469c43e99fdSEd Maste Bugfixes (http)
470c43e99fdSEd Maste   o [Issue #313] set method to ASCII "NULL" if evhttp_method() returns NULL (17cc636 Mark Ellzey)
471c43e99fdSEd Maste   o evhttp_have_expect(): fix -Wlogical-not-parentheses (24b5214 Azat Khuzhin)
472c43e99fdSEd Maste   o http: set fd to -1 unconditioally, to avoid leaking of DNS requests (7a4b472 Azat Khuzhin)
473c43e99fdSEd Maste   o http: avoid leaking of fd in evhttp_connection_free() (f0e1341 Azat Khuzhin)
474c43e99fdSEd Maste   o http: get fd from be layer during connection reset (4a53c54 Azat Khuzhin)
475c43e99fdSEd Maste   o http: fix EVHTTP_CON_READ_ON_WRITE_ERROR when it doesn't supported by OS (2ff164a Azat Khuzhin)
476c43e99fdSEd Maste   o http: do not do function calls under EVUTIL_ASSERT() to fix NDEBUG builds (7c89999 Azat Khuzhin)
477c43e99fdSEd Maste   o http: fix leaking of response_code_line (8f18a62 Azat Khuzhin)
478c43e99fdSEd Maste   o http: fix "Expect: 100-continue" client side (0b46b39 Azat Khuzhin)
479c43e99fdSEd Maste   o http: fix conflicts EVHTTP_CON_AUTOFREE and EVHTTP_CON_REUSE_CONNECTED_ADDR (4dc0979 Azat Khuzhin)
480c43e99fdSEd Maste   o http: avoid epoll_ctl() on already closed fd (triggers by http/chunk_out) (ab3bc69 Azat Khuzhin)
481c43e99fdSEd Maste   o http: install timeout for read too during connect for ssl (040000d Azat Khuzhin)
482c43e99fdSEd Maste   o http: fix evhttp_request_own() by checking EVHTTP_USER_OWNED in more cases (b0d3964 Azat Khuzhin)
483c43e99fdSEd Maste   o http: fix detecting EOF without write (7ed02ac Azat Khuzhin)
484c43e99fdSEd Maste   o evhttp: Fix failure to send all output data for POST/PUT requests (24eea0d John Ohl)
485c43e99fdSEd Maste   o Fix evhttp_uriencode() regression. (c6b1ec1 Mark Ellzey)
486c43e99fdSEd Maste   o removed unused vars (e94250c Mark Ellzey)
487c43e99fdSEd Maste   o pointer overflow checks for evhttp_uriencode (72afe4c Zonr Chang)
488c43e99fdSEd Maste
489c43e99fdSEd Maste Bugfixes (evbuffers)
490c43e99fdSEd Maste   o buffer: fix overflow check in evbuffer_expand_singlechain() (a3f4ccd Azat Khuzhin)
491c43e99fdSEd Maste   o buffer: evbuffer_add_buffer(): clean empty chains from destination buffer (26fd932 Azat Khuzhin)
492c43e99fdSEd Maste   o Fix n_add_for_cb in evbuffer_prepend() in case of new buffer required (0abd039 Azat Khuzhin)
493c43e99fdSEd Maste   o be_filter: actually disable output_filter during processing output (c031215 Simon Perreault)
494c43e99fdSEd Maste   o evbuffer_add: Use last_with_datap if set, not last. (a8769ef Marcus Sundberg)
495c43e99fdSEd Maste   o EVBUFFER_PTR_SET -> EVBUFFER_PTR_ADD (8674e4f jer-gentoo)
496c43e99fdSEd Maste
497c43e99fdSEd Maste Bugfixes (evconnlistener)
498c43e99fdSEd Maste   o listener: unlock lev on error in listener_read_cb() (2a71b33 Azat Khuzhin)
499c43e99fdSEd Maste   o Fix potential fd leak in listener_read_cb() (a695a72 Mark Ellzey)
500c43e99fdSEd Maste
501c43e99fdSEd Maste Testing
502c43e99fdSEd Maste   o tests: use waitpid(..., WNOWAIT) to fix failing of main/fork under solaris (43eb56c Azat Khuzhin)
503c43e99fdSEd Maste   o test: replace sleeping with syncing pair in main/fork (16d220c Azat Khuzhin)
504c43e99fdSEd Maste   o test/http: do not run tests that based on backlog filling (freebsd) (500b6b7 Azat Khuzhin)
505c43e99fdSEd Maste   o test/bufferevent/iocp: fix test name for "bufferevent_connect_fail_eventcb" (4410e9d Azat Khuzhin)
506c43e99fdSEd Maste   o test/ssl: use send()/recv()/EVUTIL_ERR_RW_RETRIABLE()/EVUTIL_SOCKET_ERROR() to fix win32 (a9e8cd6 Azat Khuzhin)
507c43e99fdSEd Maste   o test/https_basic: increase timeout for complete write (fixes win32) (d5a2f2f Azat Khuzhin)
508c43e99fdSEd Maste   o test: fix building with --disable-thread-support under win32 (a487706 Azat Khuzhin)
509c43e99fdSEd Maste   o test/buffer: evbuffer_add_buffer() with empty chains (a272bc4 Azat Khuzhin)
510c43e99fdSEd Maste   o test/buffer: evbuffer_remove_buffer() with empty chains (prepend) (f0cfa14 Azat Khuzhin)
511c43e99fdSEd Maste   o test/buffer: evbuffer_remove_buffer() with empty chains (evbuffer_add_buffer()) (2880ce6 Azat Khuzhin)
512c43e99fdSEd Maste   o test/buffer: cover evbuffer_expand() for overflow (48dab7a Azat Khuzhin)
513c43e99fdSEd Maste   o test/be_filter: creating test case for data stuck with active watermarks (766194b Eduardo Panisset)
514c43e99fdSEd Maste   o test/http: avoid using conditionals with omitted operands (fixes VS2015) (2a4bf29 Azat Khuzhin)
515c43e99fdSEd Maste   o test/http: don't mix declarations and code (fixes -Wdeclaration-after-statement) (aabf1c2 Azat Khuzhin)
516c43e99fdSEd Maste   o test/buffer: fix leak in test_evbuffer_prepend() (c08d90b Azat Khuzhin)
517c43e99fdSEd Maste   o test/buffer: avoid errors with --no-fork (reinitialize static vars) (e7d1e39 Azat Khuzhin)
518c43e99fdSEd Maste   o test/buffer: cover n_add_for_cb when evbuffer_prepend() need to allocate buffer (e77ff41 Azat Khuzhin)
519c43e99fdSEd Maste   o test/tinytest_macros: add new one tt_nstr_op() (bd19a28 Azat Khuzhin)
520c43e99fdSEd Maste   o test/bufferevent: check that output_filter disabled during processing output (ae28812 Azat Khuzhin)
521c43e99fdSEd Maste   o test/listener: regression for missing unlock in listener_read_cb() (7d85651 Azat Khuzhin)
522c43e99fdSEd Maste   o test/regress: add tests for evbuffer_add() breakage on empty last chain (d5ee739 Marcus Sundberg)
523c43e99fdSEd Maste   o test/http: fix running some tests sequential (with --no-fork) (bddad71 Azat Khuzhin)
524c43e99fdSEd Maste   o test/http: localize evhttp server structure (cbc3209 Azat Khuzhin)
525c43e99fdSEd Maste   o test/dns: regression for empty hostname (d7348ba Azat Khuzhin)
526c43e99fdSEd Maste   o test/http: fix SERVER_TIMEOUT tests under win32 (d49a658 Azat Khuzhin)
527c43e99fdSEd Maste   o test/http: add a helper for creating timedout/failed request (376f107 Azat Khuzhin)
528c43e99fdSEd Maste   o test/http: adopt for C90 (mixed code and declarations) (d02a285 Azat Khuzhin)
529c43e99fdSEd Maste   o test/http: cover NS timed out during request cancellations separatelly (0c343af Azat Khuzhin)
530c43e99fdSEd Maste   o test/http: request cancellation with resolving/{conn,write}-timeouts in progress (334340d Azat Khuzhin)
531c43e99fdSEd Maste   o test/http: exit from the loop in the errorcb to wait cancellation (927ab33 Azat Khuzhin)
532c43e99fdSEd Maste   o regress_clean_dnsserver(): reset global port vars (351207f Azat Khuzhin)
533c43e99fdSEd Maste   o test/http: read_on_write_error: fix it for win32 (3b58169 Azat Khuzhin)
534c43e99fdSEd Maste   o test/http: separate coverage for EVHTTP_CON_READ_ON_WRITE_ERROR (5c2b4c1 Azat Khuzhin)
535c43e99fdSEd Maste   o test/http: cover "Expect: 100-continue" client-server interaction (31d8116 Azat Khuzhin)
536c43e99fdSEd Maste   o test/http: *lingering tests shouldn't have "Expect: 100-continue" (ed469ab Azat Khuzhin)
537c43e99fdSEd Maste   o test: use EVUTIL_SHUT_WR (04fc82f Azat Khuzhin)
538c43e99fdSEd Maste   o test/http: avoid huge stack allocations to fix win32 builds (3166765 Azat Khuzhin)
539c43e99fdSEd Maste   o test: http/lingering_close: cover EVHTTP_SERVER_LINGERING_CLOSE (e122ca1 Azat Khuzhin)
540c43e99fdSEd Maste   o test: http/non_lingering_close: cover ~EVHTTP_SERVER_LINGERING_CLOSE (f41e1b0 Azat Khuzhin)
541c43e99fdSEd Maste   o test: http/*: update expected HTTP codes for body exceeds `max_body_size` (addf2b9 Azat Khuzhin)
542c43e99fdSEd Maste   o test: http/data_length_constrains: set EVHTTP_CON_READ_ON_WRITE_ERROR (d38a723 Azat Khuzhin)
543c43e99fdSEd Maste   o test: increase buffer size for http/data_length_constraints to trigger EPIPE (0792e1e Azat Khuzhin)
544c43e99fdSEd Maste   o test/tinytest_demo: include <windows.h> for win32 to fix tdm-gcc (f062bbe Azat Khuzhin)
545c43e99fdSEd Maste   o test/regress: cover event_del() waiting mechanism (5b58b70 Azat Khuzhin)
546c43e99fdSEd Maste   o test/regress: cover existing signal callbacks and fork() + event_reinit() (ceddc60 Azat Khuzhin)
547c43e99fdSEd Maste   o test/regress: cover signals after fork() + event_reinit() (b075b81 Azat Khuzhin)
548c43e99fdSEd Maste   o test/regress: main/fork: rewrite assertions by just removing event in callback (088d8b3 Azat Khuzhin)
549c43e99fdSEd Maste   o test/dns: check exit code of evdns_getaddrinfo() (0b9d432 Azat Khuzhin)
550c43e99fdSEd Maste   o test/dns: cover evdns_getaddrinfo() and evdns_base_free() with @fail_requests (4ad3483 Azat Khuzhin)
551c43e99fdSEd Maste   o test/dns: cover @fail_requests for evdns_base_free() (d6c6fb4 Azat Khuzhin)
552c43e99fdSEd Maste   o test/dns: more graceful coverage of @fail_requests (123d372 Azat Khuzhin)
553c43e99fdSEd Maste   o test/ssl: cover busy-loop (i.e. {read,write}-blocked-on-{write,read} stuff) (da0ea7a Azat Khuzhin)
554c43e99fdSEd Maste   o test/http: write_during_read for https (23c77b6 Azat Khuzhin)
555c43e99fdSEd Maste   o test/http: connection_fail for https (7ea26f7 Azat Khuzhin)
556c43e99fdSEd Maste   o test/http: stream_out for https (ac04968 Azat Khuzhin)
557c43e99fdSEd Maste   o test/http: chunk_out for https (a71ffb9 Azat Khuzhin)
558c43e99fdSEd Maste   o test/regress: fix ssl-less builds (need to make this prettier) (3160716 Azat Khuzhin)
559c43e99fdSEd Maste   o test/http: allow dirty shutdown for ssl to fix https_incomplete (1ede326 Azat Khuzhin)
560c43e99fdSEd Maste   o test/http: https basic (59714b4 Azat Khuzhin)
561c43e99fdSEd Maste   o test/http: incomplete{,_timeout} for https (615490d Azat Khuzhin)
562c43e99fdSEd Maste   o test/http: add simplest test for http/https/https_dirty_shutdown (93b19dc Azat Khuzhin)
563c43e99fdSEd Maste   o test/http: https: retry coverage (7c2d24a Azat Khuzhin)
564c43e99fdSEd Maste   o test/http: https server support (plus some helpers) (a7088ad Azat Khuzhin)
565c43e99fdSEd Maste   o test/http: more sanity checks (a27c53c Azat Khuzhin)
566c43e99fdSEd Maste   o test/ssl: export getkey()/getcert()/get_ssl_ctx()/init_ssl() for https (0c4c387 Azat Khuzhin)
567c43e99fdSEd Maste   o test/regress_be: basic coverage bufferevent_flush() for pair/sock layers (ad52602 Azat Khuzhin)
568c43e99fdSEd Maste   o test/regress_be: socket_filter_inactive: check bufferevent after creation (f8081af Azat Khuzhin)
569c43e99fdSEd Maste   o test/regress_be: cover finalizers from inactive to active queue (337684b Azat Khuzhin)
570c43e99fdSEd Maste   o test/regress_buffer: fix clang compilation warnings (d8fd4c0 Azat Khuzhin)
571c43e99fdSEd Maste   o test/regress_http: fix compilation warnings (-Wmissing-field-initializers) (cd422e0 Azat Khuzhin)
572c43e99fdSEd Maste   o test/regress_dns: fix compilation warnings (-Wmissing-field-initializers/for) (f55db98 Azat Khuzhin)
573c43e99fdSEd Maste   o tests/regress_dns: cover that randomize-case works case-insensitive (1e8bfbc Azat Khuzhin)
574c43e99fdSEd Maste   o test: fix bufferevent/bufferevent_pair_release_lock in debug mode (3f749e9 Azat Khuzhin)
575c43e99fdSEd Maste   o test: fix bufferevent/bufferevent_pair_release_lock for freebsd (79f9ace Azat Khuzhin)
576c43e99fdSEd Maste   o test/regress_be: bufferevent_enable() shouldn't call eventcb by it's own (a0f308d Azat Khuzhin)
577c43e99fdSEd Maste   o test/regress_be: introduce fake_listener_create() (37dc9e0 Azat Khuzhin)
578c43e99fdSEd Maste   o test/regress_http: cover evhttp_request_own() (6f6fa0d Azat Khuzhin)
579c43e99fdSEd Maste   o test/regress_http: cover write during read (3d15aeb Azat Khuzhin)
580c43e99fdSEd Maste   o test/regress_http: verify that closecb will be called without multiple write (4be6c70 Azat Khuzhin)
581c43e99fdSEd Maste   o test/regress: fix bufferevent_pair_release_lock with EVENT_DEBUG_MODE (6ea6655 Azat Khuzhin)
582c43e99fdSEd Maste   o test/regress_ssl: check events fd/pending after timeout triggered (cdafdf0 Azat Khuzhin)
583c43e99fdSEd Maste   o test/regress_ssl: cover case when server didn't up (failed with timeout) (74845f1 Azat Khuzhin)
584c43e99fdSEd Maste   o test/regress_ssl: covert that we can't change fd with underlying (df507af Azat Khuzhin)
585c43e99fdSEd Maste   o test/regress_ssl: cover that events (read/write) at finish not pending (762edb4 Azat Khuzhin)
586c43e99fdSEd Maste   o test/regress_ssl: cover fd manipulations (b78a829 Azat Khuzhin)
587c43e99fdSEd Maste   o test/regress_ssl: convert open_ssl_bufevs() to mask (46bba73 Azat Khuzhin)
588c43e99fdSEd Maste   o test/regress_ssl: convert client/server to mask too (3455991 Azat Khuzhin)
589c43e99fdSEd Maste   o test/regress_ssl: cover "allow_dirty_shutdown" (0430327 Azat Khuzhin)
590c43e99fdSEd Maste   o test/regress_ssl: convert regress_bufferevent_openssl() to bitmask (342e116 Azat Khuzhin)
591c43e99fdSEd Maste   o tests/regress_ssl: drop duplicated assert (25e56fd Azat Khuzhin)
592c43e99fdSEd Maste   o test/regress_http: initialize "dns_base" to avoid reading trash (9f0bff3 Azat Khuzhin)
593c43e99fdSEd Maste   o test/http: cover retrying with saved conn_address by shutting down dns server (f4874d8 Azat Khuzhin)
594c43e99fdSEd Maste   o be_pair/regress: cover use of shared lock (lock/unlock/free) (a558fcd Azat Khuzhin)
595c43e99fdSEd Maste   o regress_dns: drop hack for event_debug_map_HT_GROW in leak tests (3540a19 Azat Khuzhin)
596c43e99fdSEd Maste
597c43e99fdSEd Maste Sample code
598c43e99fdSEd Maste   o Fix memory leak in signal-test.c (666db91 basavesh.as)
599c43e99fdSEd Maste   o sample/hello-world: exAmple, not eXMple (2d3cd35 kirillDanshin)
600c43e99fdSEd Maste   o dns-example: allow to set ns from args (df19a97 Azat Khuzhin)
601c43e99fdSEd Maste   o dns-example: convert to getopt() (32f8592 Azat Khuzhin)
602c43e99fdSEd Maste   o http-connect: make it win32 compilable (1bf7595 Azat Khuzhin)
603c43e99fdSEd Maste   o sample/https-client: allow to change path to ca-certificates (fdf713a Azat Khuzhin)
604c43e99fdSEd Maste   o sample/https-client: check for ERR_remove_thread_state() existence (c4e9d9b Azat Khuzhin)
605c43e99fdSEd Maste   o sample/https-client: replace ERR_remove_state() by ERR_remove_thread_state() (77ad68a Azat Khuzhin)
606c43e99fdSEd Maste   o sample/https-client: add -timeout option (4637aa8 Azat Khuzhin)
607c43e99fdSEd Maste   o sample/https-client: don't try to free uninitialized SSL (f3d7ff5 Azat Khuzhin)
608c43e99fdSEd Maste   o sample/https-client: graceful exit with freeing memory (to make valgrind happy) (24a1f25 Azat Khuzhin)
609c43e99fdSEd Maste   o https-client: correctly handle URLs with no path (like "https://host:port") (29a0482 Andrey Skriabin)
610c43e99fdSEd Maste   o sample/http-connect: don't use assert() to make it work with NDEBUG (6dc71e7 Azat Khuzhin)
611c43e99fdSEd Maste   o sample/http-connect: made it compatible with C90 (f976d43 Azat Khuzhin)
612c43e99fdSEd Maste   o sample: add HTTP CONNECT tunnelling example using libevent http layer (1d34498 Azat Khuzhin)
613c43e99fdSEd Maste   o Update dns-example. (620ff24 Mark Ellzey)
614c43e99fdSEd Maste
615c43e99fdSEd Maste Documentation
616c43e99fdSEd Maste   o Update README.md (b8ec70c Mark Ellzey)
617c43e99fdSEd Maste   o Update README.md (80faee9 Mark Ellzey)
618c43e99fdSEd Maste   o Update README.md (ad4a897 Mark Ellzey)
619c43e99fdSEd Maste   o Update README.md (a2b2e1e Mark Ellzey)
620c43e99fdSEd Maste   o Update README.md (0dfa5dc Mark Ellzey)
621c43e99fdSEd Maste
622c43e99fdSEd Maste Code Improvements (evthread)
623c43e99fdSEd Maste   o evthread: add evthread_get_{lock,condition}_callbacks() helpers (c0b34f6 Azat Khuzhin)
624c43e99fdSEd Maste
625c43e99fdSEd Maste Code Improvements (core)
626c43e99fdSEd Maste   o util: make @sa const for evutil_socket_connect_() (a8d32c2 Azat Khuzhin)
627c43e99fdSEd Maste
628c43e99fdSEd Maste Code Improvements (http)
629c43e99fdSEd Maste   o http: assert's that evbuffer_drain() success on connection reset (2185e63 Azat Khuzhin)
630c43e99fdSEd Maste   o http: introduce evhttp_request_free_() helper (22061ac Azat Khuzhin)
631c43e99fdSEd Maste   o http: introduce evhttp_is_request_connection_close() helper (6540da3 Azat Khuzhin)
632c43e99fdSEd Maste
633c43e99fdSEd Maste Code Improvements (bufferevents)
634c43e99fdSEd Maste   o be_sock: bufferevent_socket_set_conn_address(): assert instead of silent no-op (0ab88c2 Azat Khuzhin)
635c43e99fdSEd Maste   o be_sock: sanity check in bufferevent_socket_set_conn_address() (eedbeff Azat Khuzhin)
636c43e99fdSEd Maste   o be: replace sockaddr_storage with sockaddr_in6 for conn_address (3889612 Azat Khuzhin)
637c43e99fdSEd Maste   o be: replace conn_address by full struct instead of pointer (e5615aa Azat Khuzhin)
638c43e99fdSEd Maste   o bufferevent: move conn_address out from http into bufferevent (8bb3842 Azat Khuzhin)
639c43e99fdSEd Maste   o be: make @sa const for bufferevent_socket_connect() (dc33c78 Azat Khuzhin)
640c43e99fdSEd Maste
641c43e99fdSEd Maste Cleanups (core)
642c43e99fdSEd Maste   o Refactoring conditional directives that break parts of statements. (4b41eeb lzmths)
643c43e99fdSEd Maste   o epoll: introduce PRINT_CHANGES() macro to avoid copy-pasting (a1b142b Azat Khuzhin)
644c43e99fdSEd Maste   o tab (6e7a580 Greg Hazel)
645c43e99fdSEd Maste
646c43e99fdSEd Maste Cleanups (evbuffers)
647c43e99fdSEd Maste   o buffer_compat: fix comment -- we have EVBUFFER_EOL_ANY not EOL_STYLE_ANY (575ff67 Azat Khuzhin)
648c43e99fdSEd Maste
649c43e99fdSEd Maste Cleanups (bufferevents)
650c43e99fdSEd Maste   o be_sock: evutil_getaddrinfo_async_() always return 0 (dbff101 Azat Khuzhin)
651c43e99fdSEd Maste   o be_sock: drop be_sock_add() macro (useless and debug unfriendly) (fad5fe2 Azat Khuzhin)
652c43e99fdSEd Maste   o be: introduce bufferevent_generic_adj_existing_timeouts_() (3c1f58f Azat Khuzhin)
653c43e99fdSEd Maste   o be: add_event: use evutil_timerisset() (a96b73b Azat Khuzhin)
654c43e99fdSEd Maste   o be_openssl: introduce be_openssl_auto_fd() helper (2a8a711 Azat Khuzhin)
655c43e99fdSEd Maste   o be_openssl: introduce set_open_callbacks_auto() (510da71 Azat Khuzhin)
656c43e99fdSEd Maste
657c43e99fdSEd Maste Cleanups (http)
658c43e99fdSEd Maste   o http: make fallback for EVHTTP_CON_READ_ON_WRITE_ERROR more cleaner (d405492 Azat Khuzhin)
659c43e99fdSEd Maste   o http: coding style issue (365f181 Azat Khuzhin)
660c43e99fdSEd Maste
661c43e99fdSEd Maste Cleanups (evdns)
662c43e99fdSEd Maste   o evnds: inline TEST_NAME macro to make debuggin easier (0c615f4 Azat Khuzhin)
663c43e99fdSEd Maste
664c43e99fdSEd Maste Portability Fixes
665c43e99fdSEd Maste   o [#372] check for errno.h (3031617 Mark Ellzey)
666c43e99fdSEd Maste   o Fixed Unicode issue in error messages. (e8b7895 Mattes D)
667c43e99fdSEd Maste   o Assume that ke_udata is an integer type on CloudABI. (5602e45 Ed Schouten)
668c43e99fdSEd Maste   o Add missing include of <netinet/in.h>. (b2c68bc Ed Schouten)
669c43e99fdSEd Maste   o Include <sys/ioctl.h>, <sys/resource.h> and <sys/wait.h> optionally. (c1404b5 Ed Schouten)
670c43e99fdSEd Maste   o Test against SO_REUSEADDR (along with _WIN32). (ce1776c Ed Schouten)
671c43e99fdSEd Maste   o Always define missing TAILQ functions from sys/queue.h (2828bdb Christopher Wiley)
672c43e99fdSEd Maste   o Don't use BSD u_* types. (fd36647 Ed Schouten)
673c43e99fdSEd Maste   o Remove BSD-ism: TIMEVAL_TO_TIMESPEC(). (193c7de Ed Schouten)
674c43e99fdSEd Maste   o be: include all variations of headers for sockaddr_in6 struct (c212291 Azat Khuzhin)
675c43e99fdSEd Maste   o be: fix sockaddr_in6 type definition for win32 (c42bc6b Azat Khuzhin)
676c43e99fdSEd Maste
677c43e99fdSEd Maste Continious Integration:
678c43e99fdSEd Maste   o travis: split long lines, and make it cleaner (685a6a1 Azat Khuzhin)
679c43e99fdSEd Maste   o travis: fix autotools on osx by reinstalling libtool (088ea5e Azat Khuzhin)
680c43e99fdSEd Maste   o appveyor/autotools: link with openssl by passing LDFLAGS/CFLAGS (6fcfa25 Azat Khuzhin)
681c43e99fdSEd Maste   o appveyor: image already had openssl installed (4634b85 Azat Khuzhin)
682c43e99fdSEd Maste   o appveyor: check -DUNICODE -D_UNICODE according to ReleaseChecklist (cmake only) (e9acc44 Azat Khuzhin)
683c43e99fdSEd Maste   o appveyor: ignore failure of mingw-get (1810857 Azat Khuzhin)
684c43e99fdSEd Maste   o appveyor: drop shallow_clone, since we use tags for detecting version in cmake (ac90133 Azat Khuzhin)
685c43e99fdSEd Maste   o appveyor: support cmake & autotools using build matrix (like travis-ci has) (8f95015 Azat Khuzhin)
686c43e99fdSEd Maste   o travis-ci/osx: relink gcc/g++ instead of clang (481481d Azat Khuzhin)
687c43e99fdSEd Maste   o travis-ci: enable multi-os mode (osx, linux) (79917e4 Azat Khuzhin)
688c43e99fdSEd Maste   o travis-ci: increase matrix (--disable-foo) (59649f7 Azat Khuzhin)
689c43e99fdSEd Maste   o travis-ci: adjust alignment (c8be339 Azat Khuzhin)
690c43e99fdSEd Maste   o travis: add builds without debug mode into matrix (3e56da2 Azat Khuzhin)
691c43e99fdSEd Maste   o test: run regress with EVENT_DEBUG_MODE=1 and without (cf2cf2a Azat Khuzhin)
692c43e99fdSEd Maste   o Update travis config for status updates (37453ab Mark Ellzey)
693c43e99fdSEd Maste   o Use autotools for appveyor until cmake is fixed. (1cc2e29 Mark Ellzey)
694c43e99fdSEd Maste   o Fix the link for appveyor OpenSSL installer (WIN32) (107d565 Mark Ellzey)
695c43e99fdSEd Maste   o Forgot to install OpenSSL for appveyor (26164a5 Joakim Söderberg)
696c43e99fdSEd Maste   o Add support for appveyor.com windows CI (5f89c37 Joakim Söderberg)
697c43e99fdSEd Maste
698c43e99fdSEd Maste Build Improvements/Fixes:
699c43e99fdSEd Maste   o evutil: mark ai_find_protocol() static (prototype-less) (5a157c8 Azat Khuzhin)
700c43e99fdSEd Maste   o cmake/solaris: set CMAKE_REQUIRED_LIBRARIES to fix functions detections (dc95823 Azat Khuzhin)
701c43e99fdSEd Maste   o cmake/solaris: fix building (link with socket,nsl) (050bfc7 Azat Khuzhin)
702c43e99fdSEd Maste   o cmake: check for ZLIB_INCLUDE_DIR, since we can have only library without headers (c4dfb93 Azat Khuzhin)
703c43e99fdSEd Maste   o autotools/win32: fix searching ssl library (671a24f Azat Khuzhin)
704c43e99fdSEd Maste   o cmake/win32: do not compile regress_thread on -DEVENT__DISABLE_THREAD_SUPPORT=ON (de0c196 Azat Khuzhin)
705c43e99fdSEd Maste   o cmake/win32: do not compile evthread_win32 on -DEVENT__DISABLE_THREAD_SUPPORT=ON (ecb0ec8 Azat Khuzhin)
706c43e99fdSEd Maste   o cmake: fix -DEVENT__ENABLE_VERBOSE_DEBUG (typo on -DUSE_DEBUG) (e35f224 Azat Khuzhin)
707c43e99fdSEd Maste   o cmake: do not use stderr for notifications/version-info (38716c6 Azat Khuzhin)
708c43e99fdSEd Maste   o autoconf: fix --disable-thread-support build under win32 (bb09535 Azat Khuzhin)
709c43e99fdSEd Maste   o buffer: don't mix code and declarations (8892f4c Azat Khuzhin)
710c43e99fdSEd Maste   o Update gitignore file to ignore cscope gen'ed files (0aaa4fb Neeraj Badlani)
711c43e99fdSEd Maste   o For non GCC/clang on OSX the -Wno-deprecated-declarations may not be valid (b5ca365 Rainer Keller)
712c43e99fdSEd Maste   o automake: define serial-tests only if automake have this option (61179de Azat Khuzhin)
713c43e99fdSEd Maste   o test/automake: don't use paralell test harness (since automake 1.12) (44d755e Azat Khuzhin)
714c43e99fdSEd Maste   o Ignore all pkgconfig generated stuff (ce38993 Azat Khuzhin)
715c43e99fdSEd Maste   o libevent_core and libevent_extra also deserve a pkgconfig file (b8d7c62 Jan Heylen)
716c43e99fdSEd Maste   o Ignore verify_tests.bat (win32 version) (0f2de10 Azat Khuzhin)
717c43e99fdSEd Maste   o cmake: require 3.1 only for win32 to make it work under ubunty precise (87f7238 Azat Khuzhin)
718c43e99fdSEd Maste   o cmake: require at least 3.1 for target_sources() (c46ead5 Azat Khuzhin)
719c43e99fdSEd Maste   o cmake: fix adding of compiler flags, and now it will (36588e1 Azat Khuzhin)
720c43e99fdSEd Maste   o Replace -Wswitch-enum with -Wswitch, and add it into cmake rules too (f29f59e Azat Khuzhin)
721c43e99fdSEd Maste   o test/regress_ssl: Fix compile problems for win32 (73d0360 Trond Norbye)
722c43e99fdSEd Maste   o util: fix "%zu" format on TDM-gcc/MinGW-w64 (79b69d8 Azat Khuzhin)
723c43e99fdSEd Maste   o cmake: don't define EVENT__NEED_DLLIMPORT always (fixes VS2013 static build) (49bd790 Azat Khuzhin)
724c43e99fdSEd Maste   o Add missing return statement to del_wait_thread so libevent can build. (4f778ab Nick Mathewson)
725c43e99fdSEd Maste   o cmake: fix building dns-example under win32 (missing getopt) (a1609a8 Azat Khuzhin)
726c43e99fdSEd Maste   o visibility: align it to make it more readable (bb6b53d Azat Khuzhin)
727c43e99fdSEd Maste   o cmake: Fix detection of ssize_t/SSIZE_T (7707f6b Azat Khuzhin)
728c43e99fdSEd Maste   o Ignore more configure stuff (configure.lineno) (8d34302 Azat Khuzhin)
729c43e99fdSEd Maste   o Fixed issue with cmake version generation (d56efd9 Mark Ellzey)
730c43e99fdSEd Maste   o Cmake is now officially working. (7f9646d Mark Ellzey)
731c43e99fdSEd Maste   o More cmake updates, lot's of missing definitions (49a5381 Mark Ellzey)
732c43e99fdSEd Maste   o CMake syntax fixes fo .in files (6aad23d Mark Ellzey)
733c43e99fdSEd Maste   o Revert "The Windows socket type is defined as SOCKET." (a264da8 Mark Ellzey)
734c43e99fdSEd Maste   o CMAKE CMAKE CMAKE CLEANUPS (a9db46a Mark Ellzey)
735c43e99fdSEd Maste   o Lot's of cmake updates (8b228e2 Mark Ellzey)
736c43e99fdSEd Maste   o Provide a mechanism for building the library on Windows with different compiler flags. Add a batch file that builds it for the M[DT][d] options and performs a hunt and gather of the different output libraries. (ded8086 billsegall)
737c43e99fdSEd Maste   o The Windows socket type is defined as SOCKET. (c9e6c3d billsegall)
738c43e99fdSEd Maste   o autotools: fix getservbyname() detection (959a4c2 Azat Khuzhin)
739c43e99fdSEd Maste   o Add missing <string.h> for openssl_hostname_validation module (3316a21 Azat Khuzhin)
740c43e99fdSEd Maste   o make test/regress_ssl.c compile without warnings (9f02a44 Thomas Bernard)
741c43e99fdSEd Maste   o test/regress_be: drop debug __asm__(int3) to fix arm build (8240379 Azat Khuzhin)
742c43e99fdSEd Maste   o event_debug_created_threadable_ctx_: fix compilation without debug mode (a068f2e Azat Khuzhin)
743c43e99fdSEd Maste   o Add a prototype for event_disable_debug_mode() (bfcedee Sebastian Hahn)
744c43e99fdSEd Maste   o http: eliminate warning about "socklen" in evhttp_connection_connect_() (dfad1a4 Azat Khuzhin)
745c43e99fdSEd Maste   o Updated gitignore (1dbb55d Mark Ellzey)
746c43e99fdSEd Maste   o Update bench_httpclient.c (cb96931 Seungmo Koo)
747c43e99fdSEd Maste   o *fix: bench_httpclient to support win32 (4e9325e zeliard)
748c43e99fdSEd Maste   o Commented out a WIN32 threading / timing test for now (e84e269 Mark Ellzey)
749c43e99fdSEd Maste   o Fix mixed declarations and code (forbidden by ISO C90) (0c7f217 Thomas Bernard)
750c43e99fdSEd Maste   o Fix "function declaration isn’t a prototype" (746d2c5 Thomas Bernard)
751c43e99fdSEd Maste   o This fixes a bug introduced in 27bd9faf498b91923296cc91643e03ec4055c230 (19ba454 Joakim Söderberg)
752c43e99fdSEd Maste   o changed strtotimeval signature as per #211 (bdbc823 Xiao Bao Clark)
753c43e99fdSEd Maste   o Added cmake-generated files to ignore list. (6c12bfe Matyas Dolak)
754c43e99fdSEd Maste   o Ignore `make dist` generated files (8a2c6c7 Azat Khuzhin)
755c43e99fdSEd Maste
756c43e99fdSEd Maste  Debugging
757c43e99fdSEd Maste   o Debug mode option to error on evthread init AFTER other event calls. (dcfb19a Mark Ellzey)
758c43e99fdSEd Maste
759c43e99fdSEd Maste
760c43e99fdSEd Maste
761c43e99fdSEd MasteChanges in version 2.1.5-beta (5 January 2015)
762c43e99fdSEd Maste
763c43e99fdSEd Maste Security Fixes (evbuffers)
764c43e99fdSEd Maste   o Avoid integer overflow bugs in evbuffer_add() and related functions.  See CVE-2014-6272 advisory for more information. (d49bc0e88b81a5812116074dc007f1db0ca1eecd)
765c43e99fdSEd Maste
766c43e99fdSEd Maste New APIs (evconnlistener)
767c43e99fdSEd Maste   o Provide support for SO_REUSEPORT through LEV_OPT_REUSABLE_PORT (b625361 Maciej Soltysiak)
768c43e99fdSEd Maste
769c43e99fdSEd Maste Bugfixes (core)
770c43e99fdSEd Maste    o Fix use-after-free error in EV_CLOSURE_EVENT callback (3cc0eac John Ohl)
771c43e99fdSEd Maste    o Fix race caused by event_active (3c7d6fc vjpai)
772c43e99fdSEd Maste
773c43e99fdSEd Maste Bugfixes (evbuffer)
774c43e99fdSEd Maste   o Fix evbuffer_peek() with len==-1 and start_at non-NULL. (ba59923)
775c43e99fdSEd Maste   o Consistently check for failure from evbuffer_pullup() (60f8f72)
776c43e99fdSEd Maste   o Fix evbuffer_peek() with len==-1 and start_at non-NULL. (fb7e76a)
777c43e99fdSEd Maste
778c43e99fdSEd Maste Bugfixes (windows, IOCP)
779c43e99fdSEd Maste   o be async: avoid double close() (f133b86 Azat Khuzhin)
780c43e99fdSEd Maste
781c43e99fdSEd Maste Bugfixes (bufferevents)
782c43e99fdSEd Maste   o Fix issue #127, double free for filterevents that use BEV_OPT_CLOSE_ON_FREE (2c82aa0 John Ohl)
783c43e99fdSEd Maste   o make bufferevent_getwatermark api more robust (a21e510 ufo2243)
784c43e99fdSEd Maste   o [Bugfix] fix bufferevent setwatermark suspend_read (b34e4ac ufo2243)
785c43e99fdSEd Maste   o bufferevent_openssl: reset fd_is_set when setfd with -1 is called (3da84c2 Azat Khuzhin)
786c43e99fdSEd Maste   o Fix compilation for older OpenSSL versions. (5c7282f Joakim Soderberg)
787c43e99fdSEd Maste
788c43e99fdSEd Maste New APIs (evhttp)
789c43e99fdSEd Maste   o Add evhttp_connection_set_family() to set addrinfo->family for DNS requests (12c29b0 Azat Khuzhin)
790c43e99fdSEd Maste   o Implement interface that provides the ability to have an outbound evhttp_connection free itself once all requests have completed (2b9ec4c,10fe4f John Ohl)
791c43e99fdSEd Maste
792c43e99fdSEd Maste New APIs (core)
793c43e99fdSEd Maste   o Implement new/free for struct evutil_monotonic_timer and export monotonic time functions (f2645f8 Andrea Shepard)
794c43e99fdSEd Maste
795c43e99fdSEd Maste Bugfixes (evdns)
796c43e99fdSEd Maste   o Load hosts file on Windows. (a0b247c Vilmos Nebehaj)
797c43e99fdSEd Maste   o Don't truncate hosts file path on Windows. (d0dc861 Vilmos Nebehaj)
798c43e99fdSEd Maste   o Fix a crash in evdns related to shutting down evdns (9f39c88,e8fe749)
799c43e99fdSEd Maste   o evdns: avoid read-after-free in evdns_request_timeout_callback() (61262a0 Azat Khuzhin)
800c43e99fdSEd Maste   o Correctly handle allocation failures in evdns_getaddrinfo (6a53d15)
801c43e99fdSEd Maste   o evdns: fix EVDNS_BASE_DISABLE_WHEN_INACTIVE in case retransmit/retry (74d0eee Azat Khuzhin)
802c43e99fdSEd Maste   o evdns: add retry/reissue tests for EVDNS_BASE_DISABLE_WHEN_INACTIVE (3ca9d43 Azat Khuzhin)
803c43e99fdSEd Maste   o evdns: fail ns after we are failing/retrasmitting request (97c750d Azat Khuzhin)
804c43e99fdSEd Maste
805c43e99fdSEd Maste Bugfixes (evhttp)
806c43e99fdSEd Maste   o http: reset connection before installing retry timer (fix http retries handling) (bc79cc5 Azat Khuzhin)
807c43e99fdSEd Maste
808c43e99fdSEd Maste
809c43e99fdSEd Maste Testing
810c43e99fdSEd Maste   o regress_dns: fix leaks in getaddrinfo_async{,_cancel_stress} tests (2fdc5f2 Azat Khuzhin)
811c43e99fdSEd Maste   o test: add family argument for http_connection_test_() (177b8a7 Azat Khuzhin)
812c43e99fdSEd Maste   o test: add regress for evhttp_connection_set_family() with AF_INET and AF_UNSPEC (42aefeb Azat Khuzhin)
813c43e99fdSEd Maste   o test/http: add regress test for set family to AF_INET6 (3fbf3cc Azat Khuzhin)
814c43e99fdSEd Maste   o Update to a more recent tinytest_macros. (8da5a18)
815c43e99fdSEd Maste   o test/regress: add simplestsignal: to track reorder bugs separately (b897bef Azat Khuzhin)
816c43e99fdSEd Maste   o test/evbuffer_peek: add regress in case we have first buffer greater (e2d139d Azat Khuzhin)
817c43e99fdSEd Maste   o More evbuffer_peek() test cases (154006a)
818c43e99fdSEd Maste   o use correct tt macro for pointer compare (08c88ea)
819c43e99fdSEd Maste   o regress_buffer: fix 'memcmp' compare size (79800df Maks Naumov)
820c43e99fdSEd Maste   o Fix a use-after-free in unit tests. CID 752027 (3739057)
821c43e99fdSEd Maste   o Fix a dead-code warning in unit tests. CID 1193548 (c119f24)
822c43e99fdSEd Maste   o Use evutil_weakrand() in unit tests. (a677b72, 364c110)
823c43e99fdSEd Maste   o Use a more precise calculation for max in time-ratelim.c (ca5b5c7)
824c43e99fdSEd Maste   o Make a buffer larger in the tests to avoid a scary evbuffer_copyout_from() (fb57b8b)
825c43e99fdSEd Maste   o Fix several memory leaks in the unit tests. (89c1a3b)
826c43e99fdSEd Maste   o Add test for evhttp_connection_free_on_completion (b0e9924 John Ohl)
827c43e99fdSEd Maste   o Fix annoying heisenbug in test-time.c (cb73704)
828c43e99fdSEd Maste
829c43e99fdSEd Maste Sample code
830c43e99fdSEd Maste   o Make http-server.c output into good html5 (6d72bdc)
831c43e99fdSEd Maste   o Use FindClose for handle from FindFirstFile in http-server.c (6466e88)
832c43e99fdSEd Maste   o https-client: add -retries argument, for connection retries (d9da844 Azat Khuzhin)
833c43e99fdSEd Maste
834c43e99fdSEd Maste Bugfixes (build)
835c43e99fdSEd Maste   o Add missing headerfile for cmake (15d90cc Trond Norbye)
836c43e99fdSEd Maste   o ignore one more test binary (b6593aa Michael Richardson)
837c43e99fdSEd Maste   o ignore config.cache/test-driver files (c83f333 Mike Frysinger)
838c43e99fdSEd Maste   o add a --disable-samples configure flag (0c492b3 Mike Frysinger)
839c43e99fdSEd Maste   o Add a few files created by "make verify" to .gitignore. (1a8295a Pierre Phaneuf)
840c43e99fdSEd Maste   o updates in cmake build (27bd9fa Sergey Nikulov)
841c43e99fdSEd Maste   o Fix cmake error when the Module path has more than one entry. (befbd13 Acer Yang)
842c43e99fdSEd Maste   o Fix CMake shared library build (e69d910 Nobuaki Sukegawa)
843c43e99fdSEd Maste   o Fix warnings when compiling with clang 3.5 (f5b4765 John Ohl)
844c43e99fdSEd Maste   o Fix mixed declarations and code (forbidden by ISO C90) (8afbdbc Thomas Bernard)
845c43e99fdSEd Maste
846c43e99fdSEd Maste Bugfixes (miscellaneous)
847c43e99fdSEd Maste   o tree.h: drop duplicated content of tree.h (6193187 Azat Khuzhin)
848c43e99fdSEd Maste   o evdns: disable probing with EVDNS_BASE_DISABLE_WHEN_INACTIVE (610410b,ad0493e,fea86a6,d83b337,5ca9e97 Azat Khuzhin)
849c43e99fdSEd Maste   o [Bugfix] fix grammer error (3a4d249 ufo2243)
850c43e99fdSEd Maste   o Change return type of evutil_load_windows_system_library_ to HMODULE (f691389)
851c43e99fdSEd Maste   o Fix a c90 warning (76643dd)
852c43e99fdSEd Maste   o Fix a typo in a doxygen comment. Reported by 亦得. (be1aeff)
853c43e99fdSEd Maste   o remove trailing comma from enum (b361b8a Jean-Philippe Ouellet)
854c43e99fdSEd Maste
855c43e99fdSEd Maste Bugfixes (FreeBSD)
856c43e99fdSEd Maste   o Handle ENOTCAPABLE from FreeBSD - this is returned if an event in the changelist is for an FD that has been closed. (6fd7394 Adrian Chadd)
857c43e99fdSEd Maste
858c43e99fdSEd Maste
859c43e99fdSEd Maste
860c43e99fdSEd MasteChanges in version 2.1.4-alpha (21 Mar 2014)
861c43e99fdSEd Maste
862c43e99fdSEd Maste Libevent 2.1.4-alpha adds a number of new miscellaneous APIs to make
863c43e99fdSEd Maste Libevent more useful, including support for early close detection with
864c43e99fdSEd Maste epoll via EPOLLRDHUP, triggering bufferevent callbacks, adding more
865c43e99fdSEd Maste evhttp callbacks, and more. There are also numerous bugfixes, including
866c43e99fdSEd Maste a number for finalize-related issues from 2.1.3-alpha; and an
867c43e99fdSEd Maste alternative (non-primary!) cmake-based build mechanism.
868c43e99fdSEd Maste
869c43e99fdSEd Maste New APIs (core)
870c43e99fdSEd Maste   o Added event_base_get_num_events() (0fa107d Mobai Zhang)
871c43e99fdSEd Maste   o New event_base_active_by_fd API (865a142 Greg Hazel, 5c9da9a, 87fa2b0)
872c43e99fdSEd Maste   o Add event_base_active_by_signal by analogy (4865943)
873c43e99fdSEd Maste   o Add access to max event count stats (5173bef, efbd3dc, 26230a2
874c43e99fdSEd Maste     Andrew Sweeney)
875c43e99fdSEd Maste   o Implemented EV_CLOSED event for epoll backend
876c43e99fdSEd Maste     (EPOLLRDHUP). (b1b69ac Diego Giagio, 53d2793, 43ffcf6, dfe1e52
877c43e99fdSEd Maste     Marcin Juszkiewicz, ff26633 Joakim Soderberg, 3908a5e)
878c43e99fdSEd Maste
879c43e99fdSEd Maste New APIs (evutil_secure_rng)
880c43e99fdSEd Maste   o Add evutil_secure_rng_set_urandom_device_file (2bbb5d7)
881c43e99fdSEd Maste
882c43e99fdSEd Maste New APIs (bufferevents)
883c43e99fdSEd Maste   o Add function to fetch underlying ratelimit cfg (4b3d5af Mark Ellzey)
884c43e99fdSEd Maste   o Pass and return const for bufferevent_get_token_bucket_cfg (1c77fbb
885c43e99fdSEd Maste     Mark Ellzey)
886c43e99fdSEd Maste   o Add watermark introspection (4ce242b Ondřej Kuzník)
887c43e99fdSEd Maste   o Add an option to trigger bufferevent I/O callbacks (61ee18b Ondřej Kuzník)
888c43e99fdSEd Maste   o Add an option to trigger bufferevent event callbacks (a7384c7
889c43e99fdSEd Maste     Ondřej Kuzník)
890c43e99fdSEd Maste   o Clarifications in response to merge req. comments (bd41947 Ondřej
891c43e99fdSEd Maste     Kuzník)
892c43e99fdSEd Maste   o Minor optimizations on bufferevent_trigger options (a3172a4)
893c43e99fdSEd Maste
894c43e99fdSEd Maste New APIs (evhttp)
895c43e99fdSEd Maste   o Add evhttp_connection_get_server(). (a7f82a3 Maxime Henrion)
896c43e99fdSEd Maste   o add a http default content type option (5a5acd9 Nicolas Martyanoff)
897c43e99fdSEd Maste   o http: implement new evhttp_connection_get_addr() api. (0c7f040 Azat
898c43e99fdSEd Maste     Khuzhin)
899c43e99fdSEd Maste   o Add a variant of evhttp_send_reply_chunk() with a callback on
900c43e99fdSEd Maste     evhttp_write_buffer() (8d8decf Julien BLACHE)
901c43e99fdSEd Maste   o Allow registering callback for parsing HTTP headers (b0bd7fe Balint Reczey)
902c43e99fdSEd Maste   o Provide on request complete callback facility (b083ca0 Andrew Sweeney)
903c43e99fdSEd Maste   o evhttp_request_set_on_complete_cb to be more specific about what
904c43e99fdSEd Maste     the function actually does and usage (da86dda Andrew Sweeney)
905c43e99fdSEd Maste   o Update unit test to make sure that the callback happens after the
906c43e99fdSEd Maste     output data is written (b85f398 Andrew Sweeney)
907c43e99fdSEd Maste
908c43e99fdSEd Maste Features (evdns)
909c43e99fdSEd Maste   o bug fix for issues #293 evdns_base_load_hosts doesn't remove
910c43e99fdSEd Maste     outdated addresses (954d2f9, f03d353, 45eba6f Kuldeep Gupta)
911c43e99fdSEd Maste
912c43e99fdSEd Maste Features: (cmake build support)
913c43e99fdSEd Maste   o Initial CMake commit. (e415196 Joakim Soderberg)
914c43e99fdSEd Maste   o Add all tests and benchmarks to CMake project. (e9fc014 Joakim Soderberg)
915c43e99fdSEd Maste   o More work on adding tests to CMake project (99c1dc3 Joakim Soderberg)
916c43e99fdSEd Maste   o Generate a dummy evconfig-private.h so things build
917c43e99fdSEd Maste     properly. (ce14def Joakim Soderberg)
918c43e99fdSEd Maste   o Link libm on unix platforms. (58fcd42 Joakim Soderberg)
919c43e99fdSEd Maste   o Added some GCC specific options. (19222e5 Joakim Soderberg)
920c43e99fdSEd Maste   o Use evutil_closesocket instead. (dbf2b51 Joakim Soderberg)
921c43e99fdSEd Maste   o Add copyright and licensing files for CMake modules. (c259d53
922c43e99fdSEd Maste     Joakim Soderberg)
923c43e99fdSEd Maste   o Only include WIN32 getopt where it is used. (9bbce0b Joakim Soderberg)
924c43e99fdSEd Maste   o Fix bench_cascade program on Windows. (78da644 Joakim Soderberg)
925c43e99fdSEd Maste   o Don't segfault on no found event backend. (8f2af50 Joakim Soderberg)
926c43e99fdSEd Maste   o Only test the event backends available on the system. (7ea4159
927c43e99fdSEd Maste     Joakim Soderberg)
928c43e99fdSEd Maste   o Added a "make verify" target. (e053c4f Joakim Soderberg)
929c43e99fdSEd Maste   o Fix the make "verify" target on Windows. (67e5d74 Joakim Soderberg)
930c43e99fdSEd Maste   o Get rid of deprecation warnings for OpenSSL on OSX 10.7+ (69c3516
931c43e99fdSEd Maste     Joakim Söderberg)
932c43e99fdSEd Maste   o Fix kqueue support. (a831f2f Joakim Söderberg)
933c43e99fdSEd Maste   o Added a test for testing if kqueue works with pipes. (2799b35
934c43e99fdSEd Maste     Joakim Söderberg)
935c43e99fdSEd Maste   o Change the BSD license from 4 to 3-clause. (86df3ed Joakim Soderberg)
936c43e99fdSEd Maste   o Minimum required python version is 2.4. (968e97b Joakim Soderberg)
937c43e99fdSEd Maste   o Get rid of unknown pragma warnings. (0ef1d04 Joakim Soderberg)
938c43e99fdSEd Maste   o Add a "make verify_coverage" target generation coverage
939c43e99fdSEd Maste     info. (f2483f8 Joakim Soderberg)
940c43e99fdSEd Maste   o Fix the "make verify" target on NetBSD (4ac086a Joakim Soderberg)
941c43e99fdSEd Maste   o Only look for ZLib when it is used (if tests are
942c43e99fdSEd Maste     included). (f780593 Joakim Soderberg)
943c43e99fdSEd Maste   o Added EVENT__ENABLE_GCC_WARNINGS, turns all warnings into
944c43e99fdSEd Maste     errors. (dd413bd Joakim Soderberg)
945c43e99fdSEd Maste   o Add CMake config and install targets. (f3446ed Joakim Soderberg)
946c43e99fdSEd Maste   o Fix typo (4b754df Joakim Soderberg)
947c43e99fdSEd Maste   o Some work on making it possible to simply do add_subdirectory() on
948c43e99fdSEd Maste     the project. (49ab363 Joakim Soderberg)
949c43e99fdSEd Maste   o Set USE_DEBUG=1 on EVENT__ENABLE_VERBOSE_DEBUG (fd42e70 Joakim Soderberg)
950c43e99fdSEd Maste   o Fix so that old nmake project still builds. (24d6466 Joakim
951c43e99fdSEd Maste     Soderberg)
952c43e99fdSEd Maste   o Rename README to README.md and use markdown to format. (d2bc39a
953c43e99fdSEd Maste     Joakim Soderberg)
954c43e99fdSEd Maste   o Update README with CMake build instructions. (604b8cc Joakim Soderberg)
955c43e99fdSEd Maste   o Clean up the README some. (8d4cb35 JoakimSoderberg)
956c43e99fdSEd Maste   o Forgotten headers for old nmake project compatability. (8697b99
957c43e99fdSEd Maste     Joakim Soderberg)
958c43e99fdSEd Maste   o Change all uses of WIN32 to _WIN32 (4e14395 Joakim Söderberg)
959c43e99fdSEd Maste   o Fix include bug. (2024467 Joakim Söderberg)
960c43e99fdSEd Maste   o Check if we're on OSX before disabling deprecation in le-proxy
961c43e99fdSEd Maste     (8b40a5b Joakim Söderberg)
962c43e99fdSEd Maste   o Fix broken autotools build. (ae1bd82 Joakim Söderberg)
963c43e99fdSEd Maste   o Disclaimerize cmake a little in the README (d03b5bf)
964c43e99fdSEd Maste   o Fix CMake compile when OpenSSL is disabled. (e423d42 Joakim
965c43e99fdSEd Maste     Söderberg)
966c43e99fdSEd Maste   o CMake: Get rid of python not found warning when regress tests
967c43e99fdSEd Maste     turned off. (d38d798 Joakim Söderberg)
968c43e99fdSEd Maste   o Fix https-client compilation on Windows. (d7be788 Joakim Soderberg)
969c43e99fdSEd Maste   o Guard against EVENT_NOWIN32 being set during testing. (f1715b4
970c43e99fdSEd Maste     Joakim Soderberg)
971c43e99fdSEd Maste   o Check for OSX when checking for clang. (e212c54 Joakim Soderberg)
972c43e99fdSEd Maste   o Added a Travis-CI configuration file. (8c0f0a9 Joakim Soderberg)
973c43e99fdSEd Maste   o Added -Qunused-arguments for clang on macosx (ed99d92 Trond Norbye)
974c43e99fdSEd Maste   o Rename event_extras to event_extra (a0dd5df Trond Norbye)
975c43e99fdSEd Maste   o Add option to build shared library (4545fa9 Trond Norbye)
976c43e99fdSEd Maste   o Add -Qunused-arguments for clang on macos (b56611d Trond Norbye)
977c43e99fdSEd Maste   o Add cmake-related files to .gitignore (e061321 Trond Norbye)
978c43e99fdSEd Maste   o Export event_extra not event_extras. (2b41bcf Joakim Söderberg)
979c43e99fdSEd Maste
980c43e99fdSEd Maste Bugfixes (core)
981c43e99fdSEd Maste   o If evsel->del() fails, don't leave the evmap in an inconsistent
982c43e99fdSEd Maste     state (9b5a527 Maxime Henrion)
983c43e99fdSEd Maste   o Move event_debug_note_teardown_ before mm_free. (69b5c64)
984c43e99fdSEd Maste   o Check CLOCK_MONOTONIC_* at runtime if needed. (911abf3)
985c43e99fdSEd Maste   o Fix reinit of fds with EV_WRITE but not EV_READ. (ebfd8a8 maksqwe)
986c43e99fdSEd Maste   o Tweaked callbacks to prevent race condition
987c43e99fdSEd Maste     (https://github.com/libevent/libevent/issues/104) (40830f1, 2ea15ed
988c43e99fdSEd Maste     John Ohl)
989c43e99fdSEd Maste   o Move assert(ev) to before we use ev in EV_CLOSURE_EVENT_FINALIZE
990c43e99fdSEd Maste     case (9805972)
991c43e99fdSEd Maste
992c43e99fdSEd Maste Bugfixes (evhttp)
993c43e99fdSEd Maste   o Fix a double close() bug in evhttp when the underlying bufferevent uses
994c43e99fdSEd Maste     BEV_OPT_CLOSE_ON_FREE. (31db8a0 Maxime Henrion)
995c43e99fdSEd Maste   o Fix an unlikely but possible error case for http connections (f22049e)
996c43e99fdSEd Maste   o Avoid racy bufferevent activation (5eb1788 Nate Rosenblum)
997c43e99fdSEd Maste
998c43e99fdSEd Maste Bugfixes on 2.0 (Windows)
999c43e99fdSEd Maste   o Use windows vsnprintf fixup logic on all windows environments (e826f19)
1000c43e99fdSEd Maste   o libevent/win32_dealloc() : fix sizeof(pointer) vs sizeof(*pointer)
1001c43e99fdSEd Maste    (b8f5980 Frank Denis)
1002c43e99fdSEd Maste
1003c43e99fdSEd Maste Bugfixes (evutil_secure_rng)
1004c43e99fdSEd Maste   o When we seed from /proc/sys/kernel/random/uuid, count it as success
1005c43e99fdSEd Maste     (e35b540)
1006c43e99fdSEd Maste   o We should return after arc4random_buf() (1ea1f26 Makoto Kato)
1007c43e99fdSEd Maste   o Avoid other RNG initialization FS reads when urandom file is
1008c43e99fdSEd Maste     specified (9695e9c)
1009c43e99fdSEd Maste   o Really remove RNG seeds from the stack (f5ced88)
1010c43e99fdSEd Maste   o Fix another arc4random_buf-related warning (e64a2b0)
1011c43e99fdSEd Maste
1012c43e99fdSEd Maste Bugfixes (bufferevents)
1013c43e99fdSEd Maste   o Initialize async bufferevent timeout CBs unconditionally (af9b2a7)
1014c43e99fdSEd Maste
1015c43e99fdSEd Maste Bugfixes (evdns)
1016c43e99fdSEd Maste   o Checking request nameserver for NULL, before using it. (5c710c0
1017c43e99fdSEd Maste     Belobrov Andrey)
1018c43e99fdSEd Maste   o Fix SEGFAULT after evdns_base_resume if no nameservers
1019c43e99fdSEd Maste     installed. (14971a8 Azat Khuzhin)
1020c43e99fdSEd Maste   o Actually use the log facility for reporting evdns problems. (e1766a1)
1021c43e99fdSEd Maste   o Fix SEGFAULT after evdns_base_resume if no nameservers
1022c43e99fdSEd Maste     installed. (f8d7df8 Azat Khuzhin)
1023c43e99fdSEd Maste   o fix for ServFail from RIPE Atlas release (62f596b Antony Antony)
1024c43e99fdSEd Maste
1025c43e99fdSEd Maste Bugfixes (compilation)
1026c43e99fdSEd Maste   o Fix test compilation with nmake: add the gdi.lib dependency (5ba8ab7)
1027c43e99fdSEd Maste   o Whoops. It is gdi.lib, not gdi32.lib. (github issue #61) (8ab612e)
1028c43e99fdSEd Maste   o Don't use return since return type is void and build error occurs
1029c43e99fdSEd Maste     using clang (838161d Makoto Kato)
1030c43e99fdSEd Maste   o Use void casts to suppress some "unchecked return value" warns (7080d55)
1031c43e99fdSEd Maste   o rpcgen: Generate regress.gen.[c,h] in build rather than src dir
1032c43e99fdSEd Maste     (243386c Ross Lagerwall)
1033c43e99fdSEd Maste   o Fix a compiler warning when checking for arc4random_buf linker
1034c43e99fdSEd Maste     breakage. (5cb3865)
1035c43e99fdSEd Maste   o Fix 'make distcheck' by adding regress.gen.[ch] to DISTCLEANFILES
1036c43e99fdSEd Maste    (239d834)
1037c43e99fdSEd Maste
1038c43e99fdSEd Maste   o Fix a c90 warning (c207682)
1039c43e99fdSEd Maste   o Fix consts in WIN32-Code/getopt*.[ch] (57abb35)
1040c43e99fdSEd Maste
1041c43e99fdSEd Maste Bugfixes (locks, synchronization)
1042c43e99fdSEd Maste   o Missed lock acquire/release in event_base_cancel_single_callback_()
1043c43e99fdSEd Maste     (d3d999a Azat Khuzhin)
1044c43e99fdSEd Maste   o Fix locking in bufferevent_get_options_(). (dbc9cd4 Maxime Henrion)
1045c43e99fdSEd Maste
1046c43e99fdSEd Maste Bugfixes (leaks)
1047c43e99fdSEd Maste   o Avoid leaking segment mappings when offset is not a page multiple (d409514)
1048c43e99fdSEd Maste
1049c43e99fdSEd Maste Testing
1050c43e99fdSEd Maste   o Add tests for evdns_base_resume(). (1cd9ff5 Azat Khuzhin)
1051c43e99fdSEd Maste   o Fix dns/leak_resume_send_err test. (7e876df Azat Khuzhin)
1052c43e99fdSEd Maste   o Add checks for evhttp_connection_get_server() in unit
1053c43e99fdSEd Maste     tests. (fbc323b Maxime Henrion)
1054c43e99fdSEd Maste   o Fix a (failure-only) null dereference in the unit tests (1104d0b)
1055c43e99fdSEd Maste   o Fix a logic error in test_evbuffer_freeze (7765884)
1056c43e99fdSEd Maste   o Add missing check to test_evbuffer_file_segment_add_cleanup_cb (eba4506)
1057c43e99fdSEd Maste   o Fix some crash-on-fail cases in DNS regression tests (87cd6f0)
1058c43e99fdSEd Maste   o DNS tests: add a missing check (f314900)
1059c43e99fdSEd Maste   o Finalize tests: add a missing check (82b6956)
1060c43e99fdSEd Maste   o test_evutil_rtrim: add another missing check. (e193c95)
1061c43e99fdSEd Maste   o regress_main: logging all if env EVENT_DEBUG_LOGGING_ALL isset
1062c43e99fdSEd Maste     (611e28b Azat Khuzhin)
1063c43e99fdSEd Maste   o regress_http: add tests for evhttp_connection_get_addr() (4dd500c
1064c43e99fdSEd Maste     Azat Khuzhin)
1065c43e99fdSEd Maste   o Update to the latest version of tinytest (7a80476)
1066c43e99fdSEd Maste   o Heap-allocate zlib data structure in regress_zlib tests (4947c18)
1067c43e99fdSEd Maste
1068c43e99fdSEd Maste Performance tweaks (core)
1069c43e99fdSEd Maste   o Avoid redundant syscall to make a nonblocking socket nonblocking
1070c43e99fdSEd Maste     (42c03da Maxime Henrion)
1071c43e99fdSEd Maste   o Avoid redundant syscall if making a socket cloexec twice (1f29b18)
1072c43e99fdSEd Maste   o Avoid redundant invocations of init_extension_functions for IOCP (3b77d62)
1073c43e99fdSEd Maste
1074c43e99fdSEd Maste Documentation
1075c43e99fdSEd Maste   o Document that arc4random is not a great cryptographic PRNG. (6e49696)
1076c43e99fdSEd Maste   o Small doxygen tweaks (6e67b51)
1077c43e99fdSEd Maste   o Try another doxygen tweak (ccf432b)
1078c43e99fdSEd Maste   o Clarify event_base_loop exit conditions (031a803)
1079c43e99fdSEd Maste   o Fix a typo (be7bf2c Ondřej Kuzník)
1080c43e99fdSEd Maste   o Document deferred eventcb behaviour (13a9a02 Ondřej Kuzník)
1081c43e99fdSEd Maste   o Typo fixes from Linus Nordberg (cec62cb, 8cd695b)
1082c43e99fdSEd Maste   o Fix duplicate paragraph in evbuffer_ptr documentation (58408ee)
1083c43e99fdSEd Maste
1084c43e99fdSEd Maste Code Improvements (coverity)
1085c43e99fdSEd Maste   o Fix a pile of coverity warnings in the unit tests (867f401)
1086c43e99fdSEd Maste   o Fix coverity warnings in benchmark tools. (ff7f739)
1087c43e99fdSEd Maste   o Whoops; fix compilation in bench.c (544cf88)
1088c43e99fdSEd Maste   o Remove spurious checks in evrpc.c error cases (coverity) (991b362)
1089c43e99fdSEd Maste   o Fix a couple of compilation warnings in regress_http.c (860767e)
1090c43e99fdSEd Maste   o Fix even more coverity warnings. (d240328)
1091c43e99fdSEd Maste   o Stop checking for inet_aton; we don't use it. (f665d5c)
1092c43e99fdSEd Maste   o Add an include to evrpc-internal to fix openbsd compilation warning
1093c43e99fdSEd Maste     (5e161c6)
1094c43e99fdSEd Maste
1095c43e99fdSEd Maste Cleanups
1096c43e99fdSEd Maste   o Remove an unreachable return statement in minheap-internal.h (e639a9e)
1097c43e99fdSEd Maste   o Refactor evmap_{io,signal}_active_() to tolerate bad inputs (974c60e)
1098c43e99fdSEd Maste   o Fix needless bufferevent includes in evdns.c (254c04e)
1099c43e99fdSEd Maste   o Fix a couple of "#ifdef WIN32" instances (88ecda3)
1100c43e99fdSEd Maste   o Remove unneeded declaration in bufferevent-internal.h (4c8ebcd)
1101c43e99fdSEd Maste
1102c43e99fdSEd Maste Sample code
1103c43e99fdSEd Maste   o le-proxy: Fail more gracefully if opening listener fails (44b2491)
1104c43e99fdSEd Maste   o http-server: drop uri_root from base_url in http-server. (6171e1c Azat Khuzhin)
1105c43e99fdSEd Maste   o https-client: POST supported, args supported (c5887f7 Alexey Ozeritsky)
1106c43e99fdSEd Maste   o https-client: code cleanup (29af65e Alexey Ozeritsky)
1107c43e99fdSEd Maste   o https-client: Small tweaks to https-client.c (90786eb)
1108c43e99fdSEd Maste   o https-client: Set hostname for SNI extension (by f69m) (d1976f8)
1109c43e99fdSEd Maste   o https-client: add a cast to https-client.c (462e6b6)
1110c43e99fdSEd Maste
1111c43e99fdSEd Maste
1112c43e99fdSEd Maste
1113c43e99fdSEd MasteChanges in version 2.1.3-alpha (1 May 2013)
1114c43e99fdSEd Maste
1115c43e99fdSEd Maste Libevent 2.1.3-alpha fixes various bugs, adds new unit tests, and cleans
1116c43e99fdSEd Maste up the code in a couple of places. It has a new callback in evhttp for
1117c43e99fdSEd Maste reporting errors during a request, a new feature for allowing evdns to
1118c43e99fdSEd Maste not keep the event_base looping when there are no requests inflight, and
1119c43e99fdSEd Maste example code for writing an https client.
1120c43e99fdSEd Maste
1121c43e99fdSEd Maste Libevent 2.1.3-alpha also has an important new (experimental) event
1122c43e99fdSEd Maste finalization feature to allow safe event teardown in multithreaded
1123c43e99fdSEd Maste programs. This ought to fix the longstanding bug with deadlocks in
1124c43e99fdSEd Maste multithreaded use of SSL-based bufferevents that some people have been
1125c43e99fdSEd Maste experiencing since Libevent 2.0.
1126c43e99fdSEd Maste
1127c43e99fdSEd Maste
1128c43e99fdSEd Maste Core (event finalization)
1129c43e99fdSEd Maste   o Implement event_finalize() and related functions to avoid certain
1130c43e99fdSEd Maste     deadlocks (8eedeab)
1131c43e99fdSEd Maste   o Use finalization feature so bufferevents can avoid deadlocks (02fbf68)
1132c43e99fdSEd Maste   o Always run pending finalizers when event_base_free() is called (e9ebef8)
1133c43e99fdSEd Maste   o Remove bufferevent_del_generic_timeout_cbs as now unused (4ea4c6a)
1134c43e99fdSEd Maste   o More documentation for finalization feature (a800b91)
1135c43e99fdSEd Maste   o Make the event_finalize* functions return an error code (5d11f4f)
1136c43e99fdSEd Maste   o Mark the finalize stuff as experiemental in case it needs to
1137c43e99fdSEd Maste     change (23e2e29)
1138c43e99fdSEd Maste
1139c43e99fdSEd Maste Evdns
1140c43e99fdSEd Maste   o evdns: New flag to make evdns not prevent the event loop from
1141c43e99fdSEd Maste     exiting (6b7fa62 Azat Khuzhin)
1142c43e99fdSEd Maste
1143c43e99fdSEd Maste Bugfixes (Core)
1144c43e99fdSEd Maste   o Make event_remove_timer behave correctly with persistent timers (5623e80)
1145c43e99fdSEd Maste   o Unit test for event_remove_timer with EV_PERSIST. (96150dd)
1146c43e99fdSEd Maste   o Double-check next timeout when adding events (9443868 Nate Rosenblum)
1147c43e99fdSEd Maste   o event_base_update_cache_time should be a no-op if the loop isn't
1148c43e99fdSEd Maste     running (5e6fa2a)
1149c43e99fdSEd Maste
1150c43e99fdSEd Maste Bugfixes (evhttp, crash fix, from 2.0)
1151c43e99fdSEd Maste   o fix #73 and fix http_connection_fail_test to catch it (b618204 Greg Hazel)
1152c43e99fdSEd Maste
1153c43e99fdSEd Maste Bugfixes (compilation and portability, from 2.0)
1154c43e99fdSEd Maste   o Fix compilation with WIN32_HAVE_CONDITION_VARIABLES enabled (7e45739)
1155c43e99fdSEd Maste   o Fix missing AC_PROG_SED on older Autoconfs (9ab2b3f Tay Ray Chuan)
1156c43e99fdSEd Maste   o Backport libevent to vanilla Autoconf 2.59 (as used in RHEL5)
1157c43e99fdSEd Maste     (74d4c44 Kevin Bowling)
1158c43e99fdSEd Maste   o Use AC_CONFIG_HEADERS in place of AM_CONFIG_HEADERS for autmake
1159c43e99fdSEd Maste     1.13 compat (817ea36)
1160c43e99fdSEd Maste   o Rename configure.in to configure.ac to appease newer autoconfs (0c79787)
1161c43e99fdSEd Maste   o Avoid using top_srcdir in TESTS: new automakes do not like this (a55514e)
1162c43e99fdSEd Maste
1163c43e99fdSEd Maste Bugfixes (resource leaks/lock errors on error, from 2.0)
1164c43e99fdSEd Maste   o Avoid leaking fds on evconnlistener with no callback set (69db261)
1165c43e99fdSEd Maste   o Avoid double-close on getsockname error in evutil_ersatz_socketpair
1166c43e99fdSEd Maste     (0a822a6)
1167c43e99fdSEd Maste   o Fix a locking error in bufferevent_socket_get_dns_error. (0a5eb2e)
1168c43e99fdSEd Maste
1169c43e99fdSEd Maste Documentation Fixes (from 2.0)
1170c43e99fdSEd Maste   o Fix a mistake in evbuffer_remove() arguments in example http server code
1171c43e99fdSEd Maste     (c322c20 Gyepi Sam)
1172c43e99fdSEd Maste   o Fix a typo in a comment in buffer.h. Spotted by Alt_F4 (773b0a5)
1173c43e99fdSEd Maste
1174c43e99fdSEd Maste Documentation Fixes
1175c43e99fdSEd Maste   o minor documentation typos (809586a Patrick Pelletier)
1176c43e99fdSEd Maste   o Fix cut-and-paste err in whatsnew-2.1 (49905ac)
1177c43e99fdSEd Maste   o Fix comment to refer to sample/include.am correctly (9e8cdf3 Sebastian
1178c43e99fdSEd Maste     Hahn)
1179c43e99fdSEd Maste   o Fix typo : Dispatching instead of Dispaching (0c2bacc Volker Lendecke)
1180c43e99fdSEd Maste   o fix some hinky indentation in evhttp_make_request (80e220e Patrick
1181c43e99fdSEd Maste     Pelletier)
1182c43e99fdSEd Maste   o "buffer" spelling (a452811 Patrick Pelletier)
1183c43e99fdSEd Maste   o Specify return behavior in header for evbuffer_pullup() in corner case
1184c43e99fdSEd Maste     (cf8d1cd Dan Petro)
1185c43e99fdSEd Maste   o Clarify an important point about event_base_foreach_event() (920a5e6)
1186c43e99fdSEd Maste
1187c43e99fdSEd Maste Compilation Fixes/Tool Support
1188c43e99fdSEd Maste   o avoid valgrind false positive by zeroing epoll_event (1258614 Patrick
1189c43e99fdSEd Maste     Pelletier)
1190c43e99fdSEd Maste   o Fix harmless clang enum warning (b452a43 Sebastian Hahn)
1191c43e99fdSEd Maste   o remove all exes on "make clean", not just regress.exe (974bfa0 Patrick
1192c43e99fdSEd Maste     Pelletier)
1193c43e99fdSEd Maste   o Make --disable-libevent-regress work again (787fd74)
1194c43e99fdSEd Maste   o Do not build strlcpy.c when it will have no code. (4914620)
1195c43e99fdSEd Maste
1196c43e99fdSEd Maste Portability Fixes
1197c43e99fdSEd Maste   o When EWOULDBLOCK is not EAGAIN, treat it as equivalent to it (bf7a0ff)
1198c43e99fdSEd Maste   o Preliminary changes for Minix3. (0dda56a Nicholas Heath)
1199c43e99fdSEd Maste   o Use AC_CONFIG_HEADERS in place of AM_CONFIG_HEADERS for autmake 1.13
1200c43e99fdSEd Maste     compat (bf278b)
1201c43e99fdSEd Maste   o Avoid using $(top_srcdir) in TESTS. (2863c83)
1202c43e99fdSEd Maste   o build test/test-script.sh on systems with a less-featureful $< (f935e21)
1203c43e99fdSEd Maste   o Implement EVUTIL_ERR_IS_EAGAIN on windows. (42aaf4d)
1204c43e99fdSEd Maste
1205c43e99fdSEd Maste Evhttp changes:
1206c43e99fdSEd Maste   o Fix ipv6 support for http. When URL contain domain, not IP
1207c43e99fdSEd Maste     address. (71e709c Azat Khuzhin)
1208c43e99fdSEd Maste   o uri decode: fix for warning "use of uninitialised value" (64b6ece Azat
1209c43e99fdSEd Maste     Khuzhin)
1210c43e99fdSEd Maste   o uri decode: changed the test for the existence of the next character
1211c43e99fdSEd Maste     (e1903e3 Azat Khuzhin)
1212c43e99fdSEd Maste   o Move prototype of evhttp_decode_uri_internal() to http-internal.h
1213c43e99fdSEd Maste     (de8101a Azat Khuzhin)
1214c43e99fdSEd Maste   o Test: decoding just part of string with evhttp_decode_uri_internal()
1215c43e99fdSEd Maste     (1367653 Azat Khuzhin)
1216c43e99fdSEd Maste   o Add new error_cb for actual reporting of HTTP request errors. (7b07719
1217c43e99fdSEd Maste     Azat Khuzhin)
1218c43e99fdSEd Maste   o Add test for EVREQ_HTTP_REQUEST_CANCEL into http_cancel_test() (862c217
1219c43e99fdSEd Maste     Azat Khuzhin)
1220c43e99fdSEd Maste   o Drop extra header http_struct.h from regress_http.c (54cc800 Azat Khuzhin)
1221c43e99fdSEd Maste
1222c43e99fdSEd Maste Testing
1223c43e99fdSEd Maste   o Add regress test ipv6_for_domain. (9ec88bd Azat Khuzhin)
1224c43e99fdSEd Maste   o Add an environment variable (EVENT_DEBUG_MODE) to run unit tests in debug
1225c43e99fdSEd Maste     mode (2fad0f3)
1226c43e99fdSEd Maste   o Add a test with an active_later event at event_base_free time. (1c3147f)
1227c43e99fdSEd Maste   o Make all tests pass under EVENT_DEBUG_MODE=1 (b1b054f)
1228c43e99fdSEd Maste   o Add some verbose notes to bufferevent unit tests (9d893c9)
1229c43e99fdSEd Maste   o New test for active_later->active transition on event_active (a153874)
1230c43e99fdSEd Maste   o New tests for event_base_foreach_event() (0b096ef)
1231c43e99fdSEd Maste   o Unit tests for event_base_gettimeofday_cached() and
1232c43e99fdSEd Maste     event_base_update_cache_time() (30ea291)
1233c43e99fdSEd Maste   o A test for event_get_assignment() (f09629e)
1234c43e99fdSEd Maste   o More unit tests for initializing common timeouts. (d596739)
1235c43e99fdSEd Maste   o Fix a bug in the new main/event_foreach test (702c9aa)
1236c43e99fdSEd Maste
1237c43e99fdSEd Maste Windows:
1238c43e99fdSEd Maste   o use FormatMessage for winsock errors (0c6ec5d, 2078e9b, 4ccdd53, c9ad3af
1239c43e99fdSEd Maste     Patrick Pelletier)
1240c43e99fdSEd Maste   o a program to print out the error strings for winsock errors (7296512
1241c43e99fdSEd Maste     Patrick Pelletier)
1242c43e99fdSEd Maste   o Fix a warning introduced in 0c6ec5d8 (eeb700c)
1243c43e99fdSEd Maste   o Fix another warning introduced in 0c6ec5d8 (ed26561)
1244c43e99fdSEd Maste
1245c43e99fdSEd Maste Examples (http)
1246c43e99fdSEd Maste   o Add sample/https-client.c, an example of stacking evhttp as a client on
1247c43e99fdSEd Maste     top of bufferevent_ssl. (be46c99 Catalin Patulea)
1248c43e99fdSEd Maste   o use ${OPENSSL_LIBS} instead of -lssl -lcrypto (bf31fa5 Patrick Pelletier)
1249c43e99fdSEd Maste   o https-client was putting newlines at 256-byte boundaries (42d7441 Patrick
1250c43e99fdSEd Maste     Pelletier)
1251c43e99fdSEd Maste   o better handling of OpenSSL errors (5754d96 Patrick Pelletier)
1252c43e99fdSEd Maste   o use Debian's default root certificate location (aacd674 Patrick Pelletier)
1253c43e99fdSEd Maste   o use iSECPartners code to validate hostname in certificate (64d9f16
1254c43e99fdSEd Maste     Patrick Pelletier)
1255c43e99fdSEd Maste   o avoid sign mismatch warning in openssl_hostname_validation.c (6021cb5
1256c43e99fdSEd Maste     Patrick Pelletier)
1257c43e99fdSEd Maste   o pull in wildcard matching code from cURL (4db9da6 Patrick Pelletier)
1258c43e99fdSEd Maste   o Another tweak to https-client.c (95acdaa)
1259c43e99fdSEd Maste   o Remove http_struct.h usage in sample/https-client.c (8a90a85)
1260c43e99fdSEd Maste
1261c43e99fdSEd Maste
1262c43e99fdSEd Maste
1263c43e99fdSEd MasteChanges in version 2.1.2-alpha (18 Nov 2012)
1264c43e99fdSEd Maste
1265c43e99fdSEd Maste Libevent 2.1.2-alpha includes more portable for monotonic timers,
1266c43e99fdSEd Maste refactors much of Libevent's internal and external infrastructure,
1267c43e99fdSEd Maste closes some longstanding gaps in the interface, makde other
1268c43e99fdSEd Maste improvements.  Ths log below tries to organize features by rough area of
1269c43e99fdSEd Maste effect.  It omits a few commits which were pure bugfixes on other commits
1270c43e99fdSEd Maste listed below.  For more detail, see the git changelogs.  For more
1271c43e99fdSEd Maste insight, see the "whatsnew-2.1.txt" document included in the Libevent
1272c43e99fdSEd Maste 2.1.2-alpha distribution.
1273c43e99fdSEd Maste
1274c43e99fdSEd Maste Libevent 2.1.2-alpha also includes all changes made in 2.0.19-stable
1275c43e99fdSEd Maste through 2.0.21-stable inclusive.
1276c43e99fdSEd Maste
1277c43e99fdSEd Maste Performance (core):
1278c43e99fdSEd Maste   o Replace pipe-based notification with EVFILT_USER where possible. This
1279c43e99fdSEd Maste     should make multithreaded programs on OSX and *BSD alert the main thread a
1280c43e99fdSEd Maste     little faster. (53a07fe)
1281c43e99fdSEd Maste   o Make th_base_lock nonrecursive. (9cd5acb)
1282c43e99fdSEd Maste
1283c43e99fdSEd Maste New/Changed API Functions:
1284c43e99fdSEd Maste   o New event_get_priority() function to return an event's priority (f90e255)
1285c43e99fdSEd Maste   o Add a bufferevent_get_priority() function (bd39554)
1286c43e99fdSEd Maste   o Add an event_base_loopcontinue() to tell Libevent to rescan for more
1287c43e99fdSEd Maste     events right away (7d6aa5e)
1288c43e99fdSEd Maste   o Add a new callback to get called on evbuffer_file_segment free
1289c43e99fdSEd Maste     (e9f8feb yangacer, 64051b9)
1290c43e99fdSEd Maste   o Expose event_base_foreach_event() as a public API. (84fd6d7 Roman
1291c43e99fdSEd Maste      Puls, 232055e, ffe1643)
1292c43e99fdSEd Maste   o Add an event_remove_timer() to remove timer on an event without
1293c43e99fdSEd Maste     deleting it (e3b2e08)
1294c43e99fdSEd Maste   o Make bufferevent_set_timeouts(bev, NULL, NULL) have plausible
1295c43e99fdSEd Maste     semantics (9dee36b)
1296c43e99fdSEd Maste   o Rename event_enable_lock_debuging() to ..._debugging(). (The old name
1297c43e99fdSEd Maste     should still work.) (07e132e)
1298c43e99fdSEd Maste   o Add missing implementation for event_enable_debug_logging (3b3e21d)
1299c43e99fdSEd Maste
1300c43e99fdSEd Maste PORTABLE MONOTONIC TIMERS:
1301c43e99fdSEd Maste
1302c43e99fdSEd Maste   Libevent 2.1.2 includes internal support for monotonic timers on
1303c43e99fdSEd Maste   (nearly) all supported platforms, including Windows, and OSX.  Libevent
1304c43e99fdSEd Maste   applications should now be more resilient to jumps forwards or backwards
1305c43e99fdSEd Maste   in the system clock.  Also, on Linux systems with epoll, we now
1306c43e99fdSEd Maste   optionally support microsecond-level timeouts (whereas epoll only
1307c43e99fdSEd Maste   supports millisecond-precision timeouts).
1308c43e99fdSEd Maste
1309c43e99fdSEd Maste   o Use mach_absolute_time() for monotonic clock support on OSX. (b8fd6f9)
1310c43e99fdSEd Maste   o Do not track use_monotonic field when is no monotonic clock (cb653a0)
1311c43e99fdSEd Maste   o EVENT_BASE_FLAG_PRECISE_TIMER indicates we want fine timer precision
1312c43e99fdSEd Maste     (ddd69d3)
1313c43e99fdSEd Maste   o On Linux, use CLOCK_MONOTONIC_COARSE by default (55780a7)
1314c43e99fdSEd Maste   o Implement a GetTickCount-based monotonic timer for Windows (d5e1d5a)
1315c43e99fdSEd Maste   o Refactor monotonic timer handling into a new type and set of
1316c43e99fdSEd Maste     functions; add a gettimeofday-based ratcheting implementation (f5e4eb0)
1317c43e99fdSEd Maste   o Add EVENT_PRECISE_TIMER environment var for selecting precise-but-slow
1318c43e99fdSEd Maste     timer (a2598ec)
1319c43e99fdSEd Maste   o Implement fast/precise monotonic clocks on Windows (2c47045)
1320c43e99fdSEd Maste   o Simple unit tests for monotonic timers (630f077)
1321c43e99fdSEd Maste   o Improve the monotonic-time unit test: make it check the step size (7428c78)
1322c43e99fdSEd Maste   o When PRECISE_TIMERS is set with epoll, use timerfd for microsecond
1323c43e99fdSEd Maste     precision (26c7582)
1324c43e99fdSEd Maste   o Split out time-related evutil functions into a new evutil_time.c (c419485)
1325c43e99fdSEd Maste   o Split out time-related prototypes into time-internal.h (71bca50)
1326c43e99fdSEd Maste   o Add evutil_time.obj to Makefile.nmake (0ba0683)
1327c43e99fdSEd Maste   o Avoid giving a spurious warning when timerfd support is unavailable
1328c43e99fdSEd Maste     (1aaf9f0 Dave Hart)
1329c43e99fdSEd Maste   o Make test_evutil_monotonic a little more tolerant (def3b83)
1330c43e99fdSEd Maste   o Avoid unused-var warning on systems with clock_gettime but without
1331c43e99fdSEd Maste     CLOCK_MONOTONIC_COARSE (9be5468)
1332c43e99fdSEd Maste
1333c43e99fdSEd MasteEVENT_BASE_ONCE LEAKS:
1334c43e99fdSEd Maste   If a callback added by event_base_once() is never invoked, Libevent no
1335c43e99fdSEd Maste   longer leaks internal memory.
1336c43e99fdSEd Maste
1337c43e99fdSEd Maste   o Free dangling event_once objects on event_base_free() (c17dd59)
1338c43e99fdSEd Maste   o Add a unit test in which an event is created with event_base_once()
1339c43e99fdSEd Maste     but never fires (4343edf)
1340c43e99fdSEd Maste
1341c43e99fdSEd MasteTESTING SUPPORT, FIXES AND IMPROVEMENTS:
1342c43e99fdSEd Maste
1343c43e99fdSEd Maste   Libevent now disables by default its unit tests that would touch the
1344c43e99fdSEd Maste   network, or that tend to fail on heavily-loaded systems.  To re-enable
1345c43e99fdSEd Maste   them, invoke the ./test/regress program with the @all alias.
1346c43e99fdSEd Maste
1347c43e99fdSEd Maste   o Simplify test.sh code significantly. (9b856fd Ross Lagerwall)
1348c43e99fdSEd Maste   o Make all tests that hit the network disabled by default (f2cea87)
1349c43e99fdSEd Maste   o Avoid a resource leak on error in http client benchmark (ea92fba)
1350c43e99fdSEd Maste   o Update to latest tinytest (911b4f0349377) (ef7c4f7)
1351c43e99fdSEd Maste   o Avoid (unlikely) overflow in bench_httpclient.c (5671033)
1352c43e99fdSEd Maste   o Shave 700 msec off the persistent_timeout_jump test (21205b8)
1353c43e99fdSEd Maste   o Check return value of write() in regress.c (c8009d2)
1354c43e99fdSEd Maste   o Make load-dependent monotonic timer tests off-by-default (2b6fe8b)
1355c43e99fdSEd Maste   o Add deferred_cb_skew to list of timing-dependent tests (34c8f31)
1356c43e99fdSEd Maste   o Avoid test -e; older shs don't have one. (f1bd938)
1357c43e99fdSEd Maste   o Fix renegotiation test to work around openssl 1.0.1 bug (c2f3086)
1358c43e99fdSEd Maste   o Fix a couple of compile warnings in the unit tests (5a9a014)
1359c43e99fdSEd Maste
1360c43e99fdSEd MasteMISC:
1361c43e99fdSEd Maste   o Change evutil_weakrand_() to avoid platform random() (e86af4b Nicholas
1362c43e99fdSEd Maste     Marriott, 3aa4415)
1363c43e99fdSEd Maste
1364c43e99fdSEd MasteINFRASTRUCTURE (Active-later events):
1365c43e99fdSEd Maste   As a simplification and optimization to Libevent's "deferred callback"
1366c43e99fdSEd Maste   logic (introduced in 2.0 to avoid callback recursion), Libevent now
1367c43e99fdSEd Maste   treats all of its deferrable callback types using the same logic it uses
1368c43e99fdSEd Maste   for active events.  Now deferred events no longer cause priority
1369c43e99fdSEd Maste   inversion, no longer require special code to cancel them, and so on.
1370c43e99fdSEd Maste
1371c43e99fdSEd Maste   o Refactor the callback part of an event into its own event_callback
1372c43e99fdSEd Maste     type (cba59e5)
1373c43e99fdSEd Maste   o Add "active later" event_callbacks to supersede deferred (745a63d)
1374c43e99fdSEd Maste   o event_base_assert_ok: check value of event_active_count for
1375c43e99fdSEd Maste     correctness (fec8bae)
1376c43e99fdSEd Maste   o Replace deferred_cbs with event_callback-based implementation. (ae2b84b)
1377c43e99fdSEd Maste   o Replace more deferred_cb names with event_callback (a4079aa)
1378c43e99fdSEd Maste   o Give event_base_process_active a single exit path (581b5be)
1379c43e99fdSEd Maste   o Restore our priority-inversion-prevention code with deferreds (c0e425a)
1380c43e99fdSEd Maste   o Refactor event_persist_closure: raise and extract some common logic
1381c43e99fdSEd Maste     (bec22b4)
1382c43e99fdSEd Maste   o Remove the unused bits from EVLIST_ALL (9889a3d)
1383c43e99fdSEd Maste||||||| merged common ancestors
1384c43e99fdSEd MasteChanges in version 2.0.22-stable (?? Dec 2013)
1385c43e99fdSEd Maste
1386c43e99fdSEd Maste (As of 3b77d62829c4393bda6f9105a5d3b73b48a64b71.)
1387c43e99fdSEd Maste
1388c43e99fdSEd MasteBUGFIXES (evhttp)
1389c43e99fdSEd Maste o fix #73 and fix http_connection_fail_test to catch it (crash fix) (b618204 Greg Hazel)
1390c43e99fdSEd Maste o Avoid racy bufferevent activation (5eb1788 Nate Rosenblum)
1391c43e99fdSEd Maste
1392c43e99fdSEd MasteBUGFIXES (compilation and portability)
1393c43e99fdSEd Maste o Fix compilation with WIN32_HAVE_CONDITION_VARIABLES enabled (7e45739)
1394c43e99fdSEd Maste o Fix missing AC_PROG_SED on older Autoconfs (9ab2b3f Tay Ray Chuan)
1395c43e99fdSEd Maste o Backport libevent to vanilla Autoconf 2.59 (as used in RHEL5) (74d4c44 Kevin Bowling)
1396c43e99fdSEd Maste o Use AC_CONFIG_HEADERS in place of AM_CONFIG_HEADERS for autmake 1.13 compat (817ea36)
1397c43e99fdSEd Maste o Rename configure.in to configure.ac to appease newer autoconfs (0c79787)
1398c43e99fdSEd Maste o Avoid using top_srcdir in TESTS: new automakes do not like this (a55514e)
1399c43e99fdSEd Maste o Use windows vsnprintf fixup logic on all windows environments (e826f19)
1400c43e99fdSEd Maste o Fix a compiler warning when checking for arc4random_buf linker breakage. (5cb3865)
1401c43e99fdSEd Maste o Fix another arc4random_buf-related warning (e64a2b0)
1402c43e99fdSEd Maste
1403c43e99fdSEd MasteBUGFIXES (resource leaks/lock errors on error)
1404c43e99fdSEd Maste o Avoid leaking fds on evconnlistener with no callback set (69db261)
1405c43e99fdSEd Maste o Avoid double-close on getsockname error in evutil_ersatz_socketpair (0a822a6)
1406c43e99fdSEd Maste o Fix a locking error in bufferevent_socket_get_dns_error. (0a5eb2e)
1407c43e99fdSEd Maste o libevent/win32_dealloc() : fix sizeof(pointer) vs sizeof(*pointer) (b8f5980 Frank Denis)
1408c43e99fdSEd Maste
1409c43e99fdSEd MasteBUGFIXES (miscellaneous)
1410c43e99fdSEd Maste o Avoid other RNG initialization FS reads when urandom file is specified (9695e9c, bb52471)
1411c43e99fdSEd Maste o Avoid redundant invocations of init_extension_functions for IOCP (3b77d62)
1412c43e99fdSEd Maste
1413c43e99fdSEd MasteBUFGIXES (evdns)
1414c43e99fdSEd Maste o Checking request nameserver for NULL, before using it. (5c710c0 Belobrov Andrey)
1415c43e99fdSEd Maste o Fix SEGFAULT after evdns_base_resume if no nameservers installed. (f8d7df8 Azat Khuzhin)
1416c43e99fdSEd Maste
1417c43e99fdSEd MasteBUGFIXES (evutil_secure_random)
1418c43e99fdSEd Maste o When we seed from /proc/sys/kernel/random/uuid, count it as success (e35b540)
1419c43e99fdSEd Maste o Document that arc4random is not a great cryptographic PRNG. (6e49696)
1420c43e99fdSEd Maste o Add evutil_secure_rng_set_urandom_device_file (2bbb5d7)
1421c43e99fdSEd Maste o Really remove RNG seeds from the stack (f5ced88)
1422c43e99fdSEd Maste
1423c43e99fdSEd Maste
1424c43e99fdSEd MasteDOCUMENTATION FIXES
1425c43e99fdSEd Maste o Fix a mistake in evbuffer_remove() arguments in example http server code (c322c20 Gyepi Sam)
1426c43e99fdSEd Maste o Fix a typo in a comment in buffer.h. Spotted by Alt_F4 (773b0a5)
1427c43e99fdSEd Maste
1428c43e99fdSEd Maste
1429c43e99fdSEd Maste
1430c43e99fdSEd MasteChanges in version 2.0.21-stable (18 Nov 2012)
1431c43e99fdSEd MasteBUGFIXES:
1432c43e99fdSEd Maste o ssl: Don't discard SSL read event when timeout and read come close together (576b29f)
1433c43e99fdSEd Maste o ssl: Stop looping in "consider_reading" if reading is suspended. (f719b8a Joachim Bauch)
1434c43e99fdSEd Maste o ssl: No need to reserve space if reading is suspended. (1acf2eb Joachim Bauch)
1435c43e99fdSEd Maste o dns: Avoid a memory-leak on OOM in evdns. (73e85dd, f2bff75 George Danchev)
1436c43e99fdSEd Maste o build: Use python2 rather than python (0eb0109 Ross Lagerwall)
1437c43e99fdSEd Maste o build: Compile without warnings on mingw64 (94866c2)
1438c43e99fdSEd Maste o build: Fix compilation on mingw64 with -DUSE_DEBUG (62bd2c4)
1439c43e99fdSEd Maste o build: Make rpcgen_wrapper.sh work on systems without a "python2" binary (f3009e4)
1440c43e99fdSEd Maste o iocp: Close IOCP listener socket on free when LEV_OPT_CLOSE_ON_FREE is set (cb853ea Juan Pablo Fernandez)
1441c43e99fdSEd Maste o core: Avoid crash when event_pending() called with no event_base set on event (e3cccf3)
1442c43e99fdSEd Maste o misc: remove stray 'x' so print_err will compile when uncommented (ac35650 Patrick Pelletier)
1443c43e99fdSEd Maste o tests: Fix renegotiation test to work around openssl 1.0.1 bug (c2f3086)
1444c43e99fdSEd Maste o tests: Warn when openssl version in unit test mismatches compiled version. (ac009f9)
1445c43e99fdSEd Maste
1446c43e99fdSEd Maste
1447c43e99fdSEd MasteChanges in version 2.0.20-stable (23 Aug 2012)
1448c43e99fdSEd MasteBUGFIXES:
1449c43e99fdSEd Maste o core: Make event_pending() threadsafe. (be7a95c Simon Liu)
1450c43e99fdSEd Maste o win32: avoid crash when waiting forever on zero fds. (160e58b)
1451c43e99fdSEd Maste o evhttp: Fix a memory leak on error in evhttp_uriencode (11c8b31)
1452c43e99fdSEd Maste o evbuffer: Avoid possible needless call to writev. Found by coverity. (6a4ec5c)
1453c43e99fdSEd Maste o evdns: memset sockaddr_in before using it. Found by coverity. (a1a0e67)
1454c43e99fdSEd Maste o evhttp: Check more setsockopt return values when binding sockets. Found by coverity (a0912e3)
1455c43e99fdSEd Maste o evdns: Avoid segfault on weird timeout during name lookup. (dc32077 Greg Hazel)
1456c43e99fdSEd Maste o bufferevent_ssl: Correctly invoke callbacks when a SSL bufferevent reads some and then blocks. (606ac43)
1457c43e99fdSEd Maste
1458c43e99fdSEd Maste
1459c43e99fdSEd MastePORTABILITY FIXES:
1460c43e99fdSEd Maste o check for arc4random_buf at runtime, on OS X (bff5f94 Greg Hazel)
1461c43e99fdSEd Maste o Correctly check for arc4random_buf (fcec3e8 Sebastian Hahn)
1462c43e99fdSEd Maste o Add explicit AC_PROG_SED to configure.in so all autoconfs will expose $(SED) (ca80ea6)
1463c43e99fdSEd Maste
1464c43e99fdSEd MasteBUILD FIXES:
1465c43e99fdSEd Maste o Add GCC annotations so that the vsprintf functions get checked properly (117e327)
1466c43e99fdSEd Maste o Fix an unused variable warning on *BSD. (c0720c1)
1467c43e99fdSEd Maste
1468c43e99fdSEd MasteUNIT TEST FIXES:
1469c43e99fdSEd Maste o Fix a couple of memory leaks (found with Valgrind). (3b2529a Ross Lagerwall)
1470c43e99fdSEd Maste o Remove deadcode in http regression tests. Found by coverity. (5553346)
1471c43e99fdSEd Maste o Fix possible uninitialized read in dns regression tests. Found by coverity. (2259777)
1472c43e99fdSEd Maste o Set umask before calling mkstemp in unit tests. Found by coverity (f1ce15d)
1473c43e99fdSEd Maste o Fix various check-after-dereference issues in unit tests: found by coverity (4f3732d)
1474c43e99fdSEd Maste o Fix resource leaks in the unit tests; found by coverity (270f279)
1475c43e99fdSEd Maste o Add some missing null checks to unit tests; found by coverity (f021c3d)
1476c43e99fdSEd Maste o Avoid more crashes/bad calls in unit tests; found by coverity (3cde5bf)
1477c43e99fdSEd Maste o Remove unused variable; spotted by coverity (6355b2a)
1478c43e99fdSEd Maste o Add checks to various return values in unit tests. Found by coverity (b9e7329)
1479c43e99fdSEd Maste o Move assignment outside tt_assert in ssl unit tests. Appeases coverity. (a2006c0)
1480c43e99fdSEd Maste
1481c43e99fdSEd Maste
1482c43e99fdSEd Maste
1483c43e99fdSEd MasteChanges in version 2.0.19-stable (3 May 2012)
1484c43e99fdSEd MasteBUGFIXES (CORE):
1485c43e99fdSEd Maste o Refactor event_persist_closure: raise and extract some common logic (bec22b4)
1486c43e99fdSEd Maste o If time has jumped so we'd reschedule a periodic event in the past, schedule it for the future instead (dfd808c)
1487c43e99fdSEd Maste o If a higher-priority event becomes active, don't continue running events of the current priority. (2bfda40)
1488c43e99fdSEd Maste
1489c43e99fdSEd MasteBUGFIXES (SSL):
1490c43e99fdSEd Maste o Fixed potential double-readcb execution with openssl bufferevents. (4e62cd1 Mark Ellzey)
1491c43e99fdSEd Maste
1492c43e99fdSEd MasteBUGFIXES (DNS):
1493c43e99fdSEd Maste o Cancel a probe request when the server is freed, and ignore cancelled probe callbacks (94d2336 Greg Hazel)
1494c43e99fdSEd Maste o Remove redundant DNS_ERR_CANCEL check, move comment (46b8060 Greg Hazel)
1495c43e99fdSEd Maste o When retransmitting a timed-out DNS request, pick a fresh nameserver. (3d9e52a)
1496c43e99fdSEd Maste
1497c43e99fdSEd MasteDOCUMENTATION FIXES:
1498c43e99fdSEd Maste o Fix a typo in the bufferevent documentation (98e9119)
1499c43e99fdSEd Maste o Add missing ) to changelog; spotted by rransom (4c7ee6b)
1500c43e99fdSEd Maste o Fix the website URL in the readme (f775521)
1501c43e99fdSEd Maste
1502c43e99fdSEd MasteCOMPILATION FIXES:
1503c43e99fdSEd Maste o Fix a compilation error with MSVC 2005 due to use of mode_t (336dcae)
1504c43e99fdSEd Maste o Configure with gcc older than 2.95 (4a6fd43 Sebastian Hahn)
1505c43e99fdSEd Maste o Generate event-config.h with a single sed script (30b6f88 Zack Weinberg)
1506c43e99fdSEd Maste
1507c43e99fdSEd MasteFORWARD-COMPATIBILITY:
1508c43e99fdSEd Maste o Backport: provide EVENT_LOG_* names, and deprecate _EVENT_LOG_* (d1a03b2)
1509c43e99fdSEd Maste
1510c43e99fdSEd MasteTESTING/DEBUGGING SUPPORT:
1511c43e99fdSEd Maste o dns-example.c can now take a resolv.conf file on the commandline (6610fa5)
1512c43e99fdSEd Maste o Make some evdns.c debug logs more verbose (d873d67)
1513c43e99fdSEd Maste o Work-around a stupid gcov-breaking bug in OSX 10.6 (b3887cd)
1514c43e99fdSEd Maste
1515c43e99fdSEd Maste
1516c43e99fdSEd Maste
1517c43e99fdSEd MasteChanges in version 2.0.18-stable (22 Mar 2012)
1518c43e99fdSEd MasteBUGFIXES (core):
1519c43e99fdSEd Maste o Make uses of open() close-on-exec safe by introducing an internal evutil_open_closeonexec. (d2b5f72 Ross Lagerwall, 03dce42)
1520c43e99fdSEd Maste
1521c43e99fdSEd MasteBUGFIXES (kqueue):
1522c43e99fdSEd Maste o Properly zero the kevent in kq_setup_kevent() (c2c7b39 Sebastian Hahn)
1523c43e99fdSEd Maste
1524c43e99fdSEd MasteBUILD FIXES:
1525c43e99fdSEd Maste o Added OPENSSL_LDFLAGS env variable which is appended to SSL checks. (9278196 Mark Ellzey)
1526c43e99fdSEd Maste o Changed OPENSSL_LDFLAGS to OPENSSL_LIBADD (2d67b63 Mark Ellzey)
1527c43e99fdSEd Maste o Don't do clang version detection when disabling some flags (083296b Sebastian Hahn)
1528c43e99fdSEd Maste
1529c43e99fdSEd MasteBUGFIXES (dns):
1530c43e99fdSEd Maste o Stop crashing in evdns when nameserver probes give a weird error (bec5068)
1531c43e99fdSEd Maste
1532c43e99fdSEd Maste
1533c43e99fdSEd MasteChanges in version 2.0.17-stable (10 Feb 2012)
1534c43e99fdSEd Maste
1535c43e99fdSEd MasteBUGFIXES (core):
1536c43e99fdSEd Maste o Be absolutely sure to clear pncalls before leaving event_signal_closure (11f36a5)
1537c43e99fdSEd Maste o check for sysctl before we use it (358c745 Mike Frysinger)
1538c43e99fdSEd Maste o Remove bogus casts of socket to int before calling ev_callback (f032516)
1539c43e99fdSEd Maste o Make evconnlistener work around bug in older Linux when getting nmapped (ecfc720)
1540c43e99fdSEd Maste o Fix a list corruption bug when using event_reinit() with signals present (6e41cdc)
1541c43e99fdSEd Maste o Fix a fd leak in event_reinit() (3f18ad1)
1542c43e99fdSEd Maste o Do a memberwise comparison of threading function tables (c94a5f2 Nate R)
1543c43e99fdSEd Maste o Use C-style comments in C source files (for compatibility with compilers such as xlc on AIX). (d84d917 Greg Hewgill)
1544c43e99fdSEd Maste o Avoid crash when freeing event_iocp and using event_set_mem_functions (19715a6)
1545c43e99fdSEd Maste o In the kqueue backend, do not report EBADF as an EV_READ (5d7bfa1 Nicholas Marriott)
1546c43e99fdSEd Maste
1547c43e99fdSEd MasteBUGFIXES (evbuffer and bufferevents):
1548c43e99fdSEd Maste o Fix behavior of evbuffer_peek(buf,-1,NULL,NULL,0) (c986f23 Zack Weinberg)
1549c43e99fdSEd Maste o Loop on filtering SSL reads until we are blocked or exhausted. (5b4b812)
1550c43e99fdSEd Maste
1551c43e99fdSEd MasteBUGFIXES (evhttp):
1552c43e99fdSEd Maste o Force strict validation of HTTP version in response. (790f6b3 Catalin Patulea)
1553c43e99fdSEd Maste
1554c43e99fdSEd MasteBUGFIXES (evdns):
1555c43e99fdSEd Maste o evdns: fix a bug in circular-queue implementation (d6094b1)
1556c43e99fdSEd Maste
1557c43e99fdSEd MasteBUILD FIXES:
1558c43e99fdSEd Maste o Fix a silly compilation error with the sun compiler (1927776 Colin Watt)
1559c43e99fdSEd Maste o Suppress a gcc warning from ignoring fwrite return in http-sample.c (7206e8c)
1560c43e99fdSEd Maste
1561c43e99fdSEd MasteDOCUMENTATION FIXES:
1562c43e99fdSEd Maste o Slightly clarify evbuffer_peek documentation (7bbf6ca)
1563c43e99fdSEd Maste o Update copyright notices to 2012 (e49e289)
1564c43e99fdSEd Maste
1565c43e99fdSEd MasteNEW APIS:
1566c43e99fdSEd Maste o Backport evhttp_connection_get_bufferevent to Libevent 2.0 (da70fa7 Arno Bakker)
1567c43e99fdSEd Maste
1568c43e99fdSEd MasteTESTS AND TEST FIXES:
1569c43e99fdSEd Maste o Fix a race condition in the dns/bufferevent_connect_hostname test. (cba48c7)
1570c43e99fdSEd Maste o Add function to check referential integrity of an event_base (27737d5)
1571c43e99fdSEd Maste o Check event_base correctness at end of each unit test (3312b02)
1572c43e99fdSEd Maste o Workaround in the unit tests for an apparent epoll bug in Linux 3.2 (dab9187)
1573c43e99fdSEd Maste o Better workaround for Linux 3.2 edge-triggered epoll bug (9f9e259)
1574c43e99fdSEd Maste
1575c43e99fdSEd MasteChanges in version 2.0.16-stable (18 Nov 2011)
1576c43e99fdSEd MasteBUGFIXES (core):
1577c43e99fdSEd Maste o More detailed message in case of libevent self-debugging failure. (9e6a4ef Leonid Evdokimov)
1578c43e99fdSEd Maste o epoll: close fd on alloc fail at initialization (1aee718 Jamie Iles)
1579c43e99fdSEd Maste o Fix compile warning from saying event2/*.h inside a comment (447b0ba)
1580c43e99fdSEd Maste o Warn when unable to construct base because of failing make_base_notifiable (4e797f3)
1581c43e99fdSEd Maste o Don't try to make notifiable event_base when no threading fns are configured (e787413)
1582c43e99fdSEd Maste
1583c43e99fdSEd MasteBUGFIXES (evbuffer):
1584c43e99fdSEd Maste o unit test for remove_buffer bug (90bd620 Greg Hazel)
1585c43e99fdSEd Maste o Fix an evbuffer crash in evbuffer_remove_buffer() (c37069c)
1586c43e99fdSEd Maste
1587c43e99fdSEd MasteBUGFIXES (bufferevent_openssl):
1588c43e99fdSEd Maste o Refactor amount-to-read calculations in buffervent_ssl consider_reading() (a186e73 Mark Ellzey)
1589c43e99fdSEd Maste o Move SSL rate-limit enforcement into bytes_to_read() (96c562f)
1590c43e99fdSEd Maste o Avoid spinning on OpenSSL reads (2aa036f Mark Ellzey)
1591c43e99fdSEd Maste
1592c43e99fdSEd MasteBUGFIXES (dns)
1593c43e99fdSEd Maste o Empty DNS reply with OK status is another way to say NODATA. (21a08d6 Leonid Evdokimov)
1594c43e99fdSEd Maste
1595c43e99fdSEd MasteTESTING:
1596c43e99fdSEd Maste o Tests for 94fba5b and f72e8f6 (d58c15e Leonid Evdokimov)
1597c43e99fdSEd Maste o Test for commit aff6ba1 (f7841bf Leonid Evdokimov)
1598c43e99fdSEd Maste o Style and comment tweaks for dns/leak* tests (5e42202)
1599c43e99fdSEd Maste o improve test to remove at least one buffer from src (7eb52eb Greg Hazel)
1600c43e99fdSEd Maste
1601c43e99fdSEd MasteDOCUMENTATION:
1602c43e99fdSEd Maste o Add note about evhttp_send_reply_end to its doxygen (724bfb5)
1603c43e99fdSEd Maste o Update copyright dates to 2011. (3c824bd)
1604c43e99fdSEd Maste o Fix typo in whatsnew-2.0.txt (674bc6a Mansour Moufid)
1605c43e99fdSEd Maste o Improve win32 behavior of dns-sample.c code (a3f320e Gisle Vanem)
1606c43e99fdSEd Maste
1607c43e99fdSEd Maste
1608c43e99fdSEd Maste
1609c43e99fdSEd MasteChanges in version 2.0.15-stable (12 Oct 2011)
1610c43e99fdSEd MasteBUGFIXES (DNS):
1611c43e99fdSEd Maste o DNS: add ttl for negative answers using RFC 2308 idea. (f72e8f6 Leonid Evdokimov)
1612c43e99fdSEd Maste o Add DNS_ERR_NODATA error code to handle empty replies. (94fba5b Leonid Evdokimov)
1613c43e99fdSEd Maste
1614c43e99fdSEd MasteBUFGIXES (bufferevents and evbuffers):
1615c43e99fdSEd Maste o Make evbuffer callbacks get the right n_added value after evbuffer_add (1ef1f68 Alex)
1616c43e99fdSEd Maste o Prefer mmap to sendfile unless a DRAINS_TO_FD flag is set. Allows add_file to work with SSL. (0ba0af9)
1617c43e99fdSEd Maste
1618c43e99fdSEd MasteBUGFIXES (event loop):
1619c43e99fdSEd Maste o When a signal callback is activated to run multiple times, allow event_base_loopbreak to work even before they all have run. (4e8eb6a)
1620c43e99fdSEd Maste
1621c43e99fdSEd MasteDOCUMENTATION FIXES:
1622c43e99fdSEd Maste o Fix docstring in dns.h (2b6eae5 Leonid Evdokimov)
1623c43e99fdSEd Maste o refer to non-deprecated evdns functions in comments (ba5c27d Greg Hazel)
1624c43e99fdSEd Maste
1625c43e99fdSEd MasteBUILD AND TESTING FIXES:
1626c43e99fdSEd Maste o le-proxy and regress depend on openssl directly (9ae061a Sergey Avseyev)
1627c43e99fdSEd Maste o Use _SOURCES, not _sources, in sample/Makefile.am (7f82382)
1628c43e99fdSEd Maste o Fixed compiler warnings for unchecked read/write calls. (c3b62fd Mark Ellzey)
1629c43e99fdSEd Maste o Make write-checking fixes use tt_fail_perror (2b76847)
1630c43e99fdSEd Maste o Fix some "value never used" warnings with gcc 4.6.1 (39c0cf7)
1631c43e99fdSEd Maste
1632c43e99fdSEd Maste
1633c43e99fdSEd Maste
1634c43e99fdSEd MasteChanges in version 2.0.14-stable (31 Aug 2011)
1635c43e99fdSEd MasteBUGFIXES (bufferevents and evbuffers):
1636c43e99fdSEd Maste o Propagate errors on the underlying bufferevent to the user. (4a34394 Joachim Bauch)
1637c43e99fdSEd Maste o Ignore OpenSSL deprecation warnings on OS X (5d1b255 Sebastian Hahn)
1638c43e99fdSEd Maste o Fix handling of group rate limits under 64 bytes of burst (6d5440e)
1639c43e99fdSEd Maste o Solaris sendfile: correctly detect amount of data sent (643922e Michael Herf)
1640c43e99fdSEd Maste o Make rate limiting work with common_timeout logic (5b18f13)
1641c43e99fdSEd Maste o clear read watermark on underlying bufferevent when creating filtering bev to fix potentially failing fragmented ssl handshakes (54f7e61 Joachim Bauch)
1642c43e99fdSEd Maste
1643c43e99fdSEd MasteBUGFIXES (IOCP):
1644c43e99fdSEd Maste o IOCP: don't launch reads or writes on an unconnected socket (495c227)
1645c43e99fdSEd Maste o Make IOCP rate-limiting group support stricter and less surprising. (a98da7b)
1646c43e99fdSEd Maste o Have test-ratelim.c support IOCP (0ff2c5a)
1647c43e99fdSEd Maste o Make overlapped reads result in evbuffer callbacks getting invoked (6acfbdd)
1648c43e99fdSEd Maste o Correctly terminate IO on an async bufferevent on bufferevent_free (e6af35d)
1649c43e99fdSEd Maste
1650c43e99fdSEd MasteBUGFIXES (other):
1651c43e99fdSEd Maste o Fix evsig_dealloc memory leak with debugging turned on. (9b724b2 Leonid Evdokimov)
1652c43e99fdSEd Maste o Fix request_finished memory leak with debugging turned on. (aff6ba1 Leonid Evdokimov)
1653c43e99fdSEd Maste
1654c43e99fdSEd MasteBUILD AND TESTING FIXES:
1655c43e99fdSEd Maste o Allow OS-neutral builds for platforms where some versions have arc4random_buf (b442302 Mitchell Livingston)
1656c43e99fdSEd Maste o Try to fix 'make distcheck' errors when building out-of-tree (04656ea Dave Hart)
1657c43e99fdSEd Maste o Clean up some problems identified by Coverity. (7c11e51 Harlan Stenn)
1658c43e99fdSEd Maste
1659c43e99fdSEd Maste
1660c43e99fdSEd MasteChanges in version 2.0.13-stable (18 Jul 2011)
1661c43e99fdSEd MasteBUGFIXES
1662c43e99fdSEd Maste o Avoid race-condition when initializing global locks (b683cae)
1663c43e99fdSEd Maste o Fix bug in SSL bufferevents backed by a bev with a write high-watermarks (e050703 Joachim Bauch)
1664c43e99fdSEd Maste o Speed up invoke_callbacks on evbuffers when there are no callbacks (f87f568 Mark Ellzey)
1665c43e99fdSEd Maste o Avoid a segfault when all methods are disabled or broken (27ce38b)
1666c43e99fdSEd Maste o Fix incorrect results from evbuffer_search_eol(EOL_LF) (4461f1a)
1667c43e99fdSEd Maste o Add some missing checks for mm_calloc failures (89d5e09)
1668c43e99fdSEd Maste o Replace an assertion for event_base_free(NULL) with a check-and-warn (09fe97d)
1669c43e99fdSEd Maste o Report kqueue ebadf, epipe, and eperm as EV_READ events (1fd34ab)
1670c43e99fdSEd Maste o Check if the `evhttp_new_object' function in `http.c' returns NULL. (446cc7a Mansour Moufid)
1671c43e99fdSEd Maste o Use the correct printf args when formatting size_t (3203f88)
1672c43e99fdSEd Maste o Complain if the caller tries to change threading cbs after setting them (cb6ecee)
1673c43e99fdSEd Maste
1674c43e99fdSEd MasteDOCUMENTATION FIXES AND IMPROVEMENTS
1675c43e99fdSEd Maste o Revise the event/evbuffer/bufferevent doxygen for clarity and accuracy (2888fac)
1676c43e99fdSEd Maste o Update Doxyfile to produce more useful output (aea0555)
1677c43e99fdSEd Maste
1678c43e99fdSEd MasteTEST FIXES
1679c43e99fdSEd Maste o Fix up test_evutil_snprintf (caf695a)
1680c43e99fdSEd Maste o Fix tinytest invocation from windows shell (57def34 Ed Day)
1681c43e99fdSEd Maste
1682c43e99fdSEd MasteBUILD FIXES
1683c43e99fdSEd Maste o Use AM_CPPFLAGS in sample/Makefile.am, not AM_CFLAGS (4a5c82d)
1684c43e99fdSEd Maste o Fix select.c compilation on systems with no NFDBITS (49d1136)
1685c43e99fdSEd Maste o Fix a few warnings on OpenBSD (8ee9f9c Nicholas Marriott)
1686c43e99fdSEd Maste o Don't break when building tests from git without python installed (b031adf)
1687c43e99fdSEd Maste o Don't install event_rpcgen.py when --disable-libevent-install is used (e23cda3 Harlan Stenn)
1688c43e99fdSEd Maste o Fix AIX build issue with TAILQ_FOREACH definition (e934096)
1689c43e99fdSEd Maste
1690c43e99fdSEd Maste
1691c43e99fdSEd MasteChanges in version 2.0.12-stable (4 Jun 2011)
1692c43e99fdSEd MasteBUGFIXES
1693c43e99fdSEd Maste o Fix a warn-and-fail bug in kqueue by providing kevent() room to report errors (28317a0)
1694c43e99fdSEd Maste o Fix an assert-inducing fencepost bug in the select backend (d90149d)
1695c43e99fdSEd Maste o Fix failing http assertion introducd in commit 0d6622e (0848814 Kevin Ko)
1696c43e99fdSEd Maste o Fix a bug that prevented us from configuring IPv6 nameservers. (74760f1)
1697c43e99fdSEd Maste o Prevent size_t overflow in evhttp_htmlescape. (06c51cd Mansour Moufid)
1698c43e99fdSEd Maste o Added several checks for under/overflow conditions in evhttp_handle_chunked_read (a279272 Mark Ellzey)
1699c43e99fdSEd Maste o Added overflow checks in evhttp_read_body and evhttp_get_body (84560fc Mark Ellzey)
1700c43e99fdSEd Maste
1701c43e99fdSEd MasteDOCUMENTATION:
1702c43e99fdSEd Maste o Add missing words to EVLOOP_NONBLOCK documentation (9556a7d)
1703c43e99fdSEd Maste
1704c43e99fdSEd MasteBUILD FIXES
1705c43e99fdSEd Maste o libssl depends on libcrypto, not the other way around. (274dd03 Peter Rosin)
1706c43e99fdSEd Maste o Libtool brings in the dependencies of libevent_openssl.la automatically (7b819f2 Peter Rosin)
1707c43e99fdSEd Maste o Use OPENSSL_LIBS in Makefile.am (292092e Sebastian Hahn)
1708c43e99fdSEd Maste o Move the win32 detection in configure.in (ceb03b9 Sebastian Hahn)
1709c43e99fdSEd Maste o Correctly detect openssl on windows (6619385 Sebastian Hahn)
1710c43e99fdSEd Maste o Fix a compile warning with zlib 1.2.4 and 1.2.5 (5786b91 Sebastian Hahn)
1711c43e99fdSEd Maste o Fix compilation with GCC 2, which had no __builtin_expect (09d39a1 Dave Hart)
1712c43e99fdSEd Maste o Fix new warnings from GCC 4.6 (06a714f)
1713c43e99fdSEd Maste o Link with -lshell32 and -ladvapi32 on Win32. (86090ee Peter Rosin)
1714c43e99fdSEd Maste o Make the tests build when OpenSSL is not available. (07c41be Peter Rosin)
1715c43e99fdSEd Maste o Bring in the compile script from automake, if needed. (f3c7a4c Peter Rosin)
1716c43e99fdSEd Maste o MSVC does not provide S_ISDIR, so provide it manually. (70be7d1 Peter Rosin)
1717c43e99fdSEd Maste o unistd.h and sys/time.h might not exist. (fe93022 Peter Rosin)
1718c43e99fdSEd Maste o Make sure TINYTEST_LOCAL is defined when building tinytest.c (8fa030c Peter Rosin)
1719c43e99fdSEd Maste o Fix winsock2.h #include issues with MSVC (3d768dc Peter Rosin)
1720c43e99fdSEd Maste o Use evutil_gettimeofday instead of relying on the system gettimeofday. (0de87fe Peter Rosin)
1721c43e99fdSEd Maste o Always use evutil_snprintf, even if OS provides it (d1b2d11 Sebastian Hahn)
1722c43e99fdSEd Maste o InitializeCriticalSectionAndSpinCount requires _WIN32_WINNT >= 0x0403. (816115a Peter Rosin)
1723c43e99fdSEd Maste o cygwin: make it possible to build DLLs (d54d3fc)
1724c43e99fdSEd Maste
1725c43e99fdSEd Maste
1726c43e99fdSEd Maste
1727c43e99fdSEd MasteChanges in version 2.0.11-stable (27 Apr 2011)
1728c43e99fdSEd Maste  [Autogenerated from the Git log, sorted and cleaned by hand.]
1729c43e99fdSEd MasteBUGFIXES:
1730c43e99fdSEd Maste o Fix evport handling of POLLHUP and POLLERR (b42ce4b)
1731c43e99fdSEd Maste o Fix compilation on Windows with NDEBUG (cb8059d)
1732c43e99fdSEd Maste o Check for POLLERR, POLLHUP and POLLNVAL for Solaris event ports (0144886 Trond Norbye)
1733c43e99fdSEd Maste o Detect and handle more allocation failures. (666b096 Jardel Weyrich)
1734c43e99fdSEd Maste o Use event_err() only if the failure is truly unrecoverable. (3f8d22a Jardel Weyrich)
1735c43e99fdSEd Maste o Handle resize failures in the select backend better. (83e805a)
1736c43e99fdSEd Maste o Correctly free selectop fields when select_resize fails in select_init (0c0ec0b)
1737c43e99fdSEd Maste o Make --enable-gcc-warnings a no-op if not using gcc (3267703)
1738c43e99fdSEd Maste o Fix a type error in our (unused) arc4random_stir() (f736198)
1739c43e99fdSEd Maste o Correctly detect and stop non-chunked http requests when the body is too long (63a715e)
1740c43e99fdSEd Maste o Have event_base_gettimeofday_cached() always return wall-clock time (a459ef7)
1741c43e99fdSEd Maste o Workaround for http crash bug 3078187 (5dc5662 Tomash Brechko)
1742c43e99fdSEd Maste o Fix incorrect assertions and possible use-after-free in evrpc_free() (4b8f02f Christophe Fillot)
1743c43e99fdSEd Maste o Reset outgoing http connection when read data in idle state. (272823f Tomash Brechko)
1744c43e99fdSEd Maste o Fix subtle recursion in evhttp_connection_cb_cleanup(). (218cf19 Tomash Brechko)
1745c43e99fdSEd Maste o Fix the case when failed evhttp_make_request() leaved request in the queue. (0d6622e Tomash Brechko)
1746c43e99fdSEd Maste o Fix a crash bug in evdns server circular list code (00e91b3)
1747c43e99fdSEd Maste o Handle calloc failure in evdns. (Found by Dave Hart) (364291e)
1748c43e99fdSEd Maste o Fix a memory leak on win32 socket->event map. (b4f89f0)
1749c43e99fdSEd Maste o Add a forgotten NULL check to evhttp_parse_headers (12311ff Sebastian Hahn)
1750c43e99fdSEd Maste o Fix possible NULL-deref in evdns_cancel_request (5208544 Sebastian Hahn)
1751c43e99fdSEd Maste
1752c43e99fdSEd MastePORTABILITY:
1753c43e99fdSEd Maste o Fall back to sscanf if we have no other way to implement strtoll (453317b)
1754c43e99fdSEd Maste o Build correctly on platforms without sockaddr_storage (9184563)
1755c43e99fdSEd Maste o Try to build correctly on platforms with no IPv6 support (713c254)
1756c43e99fdSEd Maste o Build on systems without AI_PASSIVE (cb92113)
1757c43e99fdSEd Maste o Fix http unit test on non-windows platforms without getaddrinfo (6092f12)
1758c43e99fdSEd Maste o Do not check for gethostbyname_r versions if we have getaddrinfo (c1260b0)
1759c43e99fdSEd Maste o Include arpa/inet.h as needed on HPUX (10c834c Harlan Stenn)
1760c43e99fdSEd Maste o Include util-internal.h as needed to build on platforms with no sockaddr_storage (bbf5515 Harlan Stenn)
1761c43e99fdSEd Maste o Check for getservbyname even if not on win32. (af08a94 Harlan Stenn)
1762c43e99fdSEd Maste o Add -D_OSF_SOURCE to fix hpux builds (0b33479 Harlan Stenn)
1763c43e99fdSEd Maste o Check for allocation failures in apply_socktype_protocol_hack (637d17a)
1764c43e99fdSEd Maste o Fix the check for multicast or broadcast addresses in evutil_check_interfaces (1a21d7b)
1765c43e99fdSEd Maste o Avoid a free(NULL) if out-of-memory in evdns_getaddrinfo. Found by Dave Hart (3417f68)
1766c43e99fdSEd Maste
1767c43e99fdSEd MasteDEFENSIVE PROGRAMMING:
1768c43e99fdSEd Maste o Add compile-time check for AF_UNSPEC==PF_UNSPEC (3c8f4e7)
1769c43e99fdSEd Maste
1770c43e99fdSEd MasteBUGS IN TESTS:
1771c43e99fdSEd Maste o Fix test.sh output on solaris (b4f89b6 Dave Hart)
1772c43e99fdSEd Maste o Make test-eof fail with a timeout if we never get an eof. (05a2c22 Harlan Stenn)
1773c43e99fdSEd Maste o Use %s with printf in test.sh (039b9bd)
1774c43e99fdSEd Maste o Add an assert to appease clang's static analyzer (b0ff7eb Sebastian Hahn)
1775c43e99fdSEd Maste o Add a forgotten return value check in the unit tests (3819b62 Sebastian Hahn)
1776c43e99fdSEd Maste o Actually send NULL request in http_bad_request_test (b693c32 Sebastian Hahn)
1777c43e99fdSEd Maste o add some (void) casts for unused variables (65707d7 Sebastian Hahn)
1778c43e99fdSEd Maste o Refactor test_getaddrinfo_async_cancel_stress() (48c44a6 Sebastian Hahn)
1779c43e99fdSEd Maste o Be nice and "handle" error return values in sample code (4bac793 Sebastian Hahn)
1780c43e99fdSEd Maste o Check return value of evbuffer_add_cb in tests (93a1abb Sebastian Hahn)
1781c43e99fdSEd Maste o Remote some dead code from dns-example.c (744c745 Sebastian Hahn)
1782c43e99fdSEd Maste o Zero a struct sockaddr_in before using it (646f9fe Sebastian Hahn)
1783c43e99fdSEd Maste
1784c43e99fdSEd MasteBUILD FIXES:
1785c43e99fdSEd Maste o Fix warnings about AC_LANG_PROGRAM usage (f663112 Sebastian Hahn)
1786c43e99fdSEd Maste o Skip check for zlib if we have no zlib.h (a317c06 Harlan Stenn)
1787c43e99fdSEd Maste o Fix autoconf bracket issues; make check for getaddrinfo include netdb.h (833e5e9 Harlan Stenn)
1788c43e99fdSEd Maste o Correct an AM_CFLAGS to an AM_CPPFLAGS in test/Makefile.am (9c469db Dave Hart)
1789c43e99fdSEd Maste o Fix make distcheck & installation of libevent 1 headers (b5a1f9f Dave Hart)
1790c43e99fdSEd Maste o Fix compilation under LLVM/clang with --enable-gcc-warnings (ad9ff58 Sebastian Hahn)
1791c43e99fdSEd Maste
1792c43e99fdSEd MasteFEATURES:
1793c43e99fdSEd Maste o Make URI parser able to tolerate nonconformant URIs. (95060b5)
1794c43e99fdSEd Maste
1795c43e99fdSEd MasteDOCUMENTATION:
1796c43e99fdSEd Maste o Clarify event_set_mem_functions doc (926f816)
1797c43e99fdSEd Maste o Correct evhttp_del_accept_socket documentation on whether socket is closed (f665924)
1798c43e99fdSEd Maste o fix spelling mistake in whatsnew-2.0.txt (deb2f73)
1799c43e99fdSEd Maste o Fix sample/http-server ipv6 fixes (eb692be)
1800c43e99fdSEd Maste o Comment internal headers used in sample code. (4eb281c)
1801c43e99fdSEd Maste o Be explicit about how long event loops run in event.h documentation (f95bafb)
1802c43e99fdSEd Maste o Add comment to configure.in to explain gc-sections test logic (c621359)
1803c43e99fdSEd Maste o Fix a couple of memory leaks in samples/http-server.c. Found by Dave Hart. (2e9f665)
1804c43e99fdSEd Maste
1805c43e99fdSEd Maste
1806c43e99fdSEd Maste
1807c43e99fdSEd MasteBUILD IMPROVEMENTS:
1808c43e99fdSEd Maste Libevent 2.1.2-alpha modernizes Libevent's use of autotools, and makes
1809c43e99fdSEd Maste numerous other build system. Parallel builds should be faster, and all
1810c43e99fdSEd Maste builds should be quieter.
1811c43e99fdSEd Maste
1812c43e99fdSEd Maste   o Split long lists in Makefile.am into one-item-per-line (2711cda)
1813c43e99fdSEd Maste   o Remove unnecessary code in configure.in. (e65914f Ross Lagerwall)
1814c43e99fdSEd Maste   o attempt to support OpenSSL in Makefile.nmake (eba0eb2 Patrick Pelletier)
1815c43e99fdSEd Maste   o Use newer syntax for autoconf/automake init (7d60ba8)
1816c43e99fdSEd Maste   o Enable silent build rules by default. Override with V=1 (7b18e5c)
1817c43e99fdSEd Maste   o Switch to non-recursive makefiles (7092f3b)
1818c43e99fdSEd Maste   o Rename subordinate Makefile.ams to include.am (6cdfeeb)
1819c43e99fdSEd Maste   o Make quiet build even quieter (371a123)
1820c43e99fdSEd Maste   o New --quiet option for event_rpcgen.py (aa59c1e)
1821c43e99fdSEd Maste   o Be quiet when making regress.gen.[ch] (607a8ff)
1822c43e99fdSEd Maste   o Fix handling of no-python case for nonrecursive make (1e3123d)
1823c43e99fdSEd Maste   o We now require automake 1.9 or later. Modernize! (b7f6e89)
1824c43e99fdSEd Maste   o Rename configure.in to configure.ac. (b3fea67 Ross Lagerwall)
1825c43e99fdSEd Maste   o Use correct openssl libs and includes in pkgconfig file (d70af27)
1826c43e99fdSEd Maste   o Use the same CFLAGS for openssl when building unit tests as with
1827c43e99fdSEd Maste     libevent (1d9d511)
1828c43e99fdSEd Maste
1829c43e99fdSEd MasteDOCUMENTATION
1830c43e99fdSEd Maste   o Note that make_base_notifiable should not be necessary (26ee5f9)
1831c43e99fdSEd Maste   o Be more clear that LEV_OPT_DEFERRED_ACCEPT has tricky prereqs (371efeb)
1832c43e99fdSEd Maste   o Add caveat to docs about bufferevent_free() with data in outbuf (6fab9ee)
1833c43e99fdSEd Maste   o Make it more clear that NOLOCK means "I promise, no multithreading"
1834c43e99fdSEd Maste    (9444524)
1835c43e99fdSEd Maste   o Fix a comment in test-fdleak after 077c7e949. (3881d8f Ross Lagerwall)
1836c43e99fdSEd Maste   o Make the Makefile.nmake warning slightly less dire (e7bf4c8)
1837c43e99fdSEd Maste   o Fix typo : events instead of evets (05f1aca Azat Khuzhin)
1838c43e99fdSEd Maste   o Additional comments about OPENSSL_DIR variable, prompted by Dave Hart
1839c43e99fdSEd Maste     (6bde2ef Patrick Pelletier)
1840c43e99fdSEd Maste
1841c43e99fdSEd MasteEVHTTP:
1842c43e99fdSEd Maste   o ignore LWS after field-content in headers (370a2c0 Artem Germanov)
1843c43e99fdSEd Maste   o Clean up rtrim implementation (aa59d80)
1844c43e99fdSEd Maste   o Remove trailing tabs in HTTP headers as well. (ac42519)
1845c43e99fdSEd Maste   o Remove internal ws from multiline http headers correctly (c6ff381)
1846c43e99fdSEd Maste   o Move evutil_rtrim_lws_ to evutil.c where it belongs (61b93af)
1847c43e99fdSEd Maste   o add evhttp_request_get_response_code_line (4f4d0c9 Jay R. Wren)
1848c43e99fdSEd Maste   o Use EVUTIL_SOCKET_ERROR() wrapper to save/restore errno in
1849c43e99fdSEd Maste     evhttp_connection_fail_ (7afbd60)
1850c43e99fdSEd Maste   o preserve errno in evhttp_connection_fail_ for inspection by the
1851c43e99fdSEd Maste     callback (36d0ee5 Patrick Pelletier)
1852c43e99fdSEd Maste
1853c43e99fdSEd MasteBUGFIXES:
1854c43e99fdSEd Maste   o Correctly handle running on a system where accept4 doesn't work. (9fbfe9b)
1855c43e99fdSEd Maste   o Avoid double-free on error in evbuffer_add_file. Found by
1856c43e99fdSEd Maste     coverity. (6a81b1f)
1857c43e99fdSEd Maste   o Fix another possible uninitialized read in dns regression tests. Found
1858c43e99fdSEd Maste     by coverity. (13525c5)
1859c43e99fdSEd Maste   o Add checks for functions in test-ratelim.c; found by Coverity (aa501e1)
1860c43e99fdSEd Maste   o Avoid memory leak in test_event_calloc unit test; found by coverity
1861c43e99fdSEd Maste     (92817a1)
1862c43e99fdSEd Maste   o Fix a shadowed variable in addfile_test_readcb; found by coverity
1863c43e99fdSEd Maste     (225344c)
1864c43e99fdSEd Maste   o Check return value when using LEV_OPT_DEFERRED_ACCEPT. Found by
1865c43e99fdSEd Maste     coverity (6487f63)
1866c43e99fdSEd Maste   o Prevent reference leak of bufferevent if getaddrinfo fails. (b757786
1867c43e99fdSEd Maste     Joachim Bauch)
1868c43e99fdSEd Maste   o Make event_base_getnpriorities work with old "implicit base" code
1869c43e99fdSEd Maste     (c46cb9c)
1870c43e99fdSEd Maste   o Simplify and correct evutil_open_closeonexec_ (0de587f)
1871c43e99fdSEd Maste   o Fix event_dlist definition when sys/queue not included (81b6209
1872c43e99fdSEd Maste     Derrick Pallas)
1873c43e99fdSEd Maste
1874c43e99fdSEd Maste
1875c43e99fdSEd Maste
1876c43e99fdSEd MasteChanges in version 2.1.1-alpha (4 Apr 2012)
1877c43e99fdSEd Maste
1878c43e99fdSEd Maste Libevent 2.1.1-alpha includes a number of new features and performance
1879c43e99fdSEd Maste improvements.  The log below tries to organize them by rough area of
1880c43e99fdSEd Maste effect.  It omits some commits which were pure bugfixes on other commits
1881c43e99fdSEd Maste listed below.  For more detail, see the git changelogs.  For more
1882c43e99fdSEd Maste insight, see the "whatsnew-2.1.txt" document included in the Libevent
1883c43e99fdSEd Maste 2.1.1-alpha distribution.
1884c43e99fdSEd Maste
1885c43e99fdSEd Maste Performance: Core
1886c43e99fdSEd Maste   o Replace several TAILQ users with LIST. LIST can be a little faster than
1887c43e99fdSEd Maste     TAILQ for cases where we don't need queue-like behavior. (f9db33d,
1888c43e99fdSEd Maste     6494772, d313c29, 974d004)
1889c43e99fdSEd Maste   o Disabled code to optimize the case where we reinsert an existing
1890c43e99fdSEd Maste     timeout (e47042f, 09cbc3d)
1891c43e99fdSEd Maste   o Remove a needless base-notify when rescheduling the first timeout (77a96fd)
1892c43e99fdSEd Maste   o Save a needless comparison when removing/adjusting timeouts (dd5189b)
1893c43e99fdSEd Maste   o Possible optimization: split event_queue_insert/remove into
1894c43e99fdSEd Maste     separate functions. needs testing (efc4dc5)
1895c43e99fdSEd Maste   o Make event_count maintenance branchless at the expense of an
1896c43e99fdSEd Maste     extra shift. Needs benchmarking (d1cee3b)
1897c43e99fdSEd Maste   o In the 2.1 branch, let's try out lazy gettimeofday/clock_gettime
1898c43e99fdSEd Maste     comparison (2a83ecc)
1899c43e99fdSEd Maste   o Optimization in event_process_active(): ignore maxcb & endtime
1900c43e99fdSEd Maste     for highest priority events. (a9866aa Alexander Drozdov)
1901c43e99fdSEd Maste   o Bypass event_add when using event_base_once() for a 0-sec timeout (35c5c95)
1902c43e99fdSEd Maste   o Remove the eventqueue list and the ev_next pointers. (604569b 066775e)
1903c43e99fdSEd Maste
1904c43e99fdSEd Maste Performance: Evbuffers
1905c43e99fdSEd Maste   o Roughly 20% speed increase when line-draining a buffer using
1906c43e99fdSEd Maste     EVBUFFER_EOL_CRLF (5dde0f0 Mina Naguib)
1907c43e99fdSEd Maste   o Try to squeeze a little more speed out of EVBUFFER_EOL_CRLF (7b9d139)
1908c43e99fdSEd Maste   o Fix a bug in the improved EOL_CRLF code (d927965)
1909c43e99fdSEd Maste   o Remove a needless branch in evbuffer_drain() (d19a326)
1910c43e99fdSEd Maste
1911c43e99fdSEd Maste Performance: Linux
1912c43e99fdSEd Maste   o Infrastructure for using faster/fewer syscalls when creating
1913c43e99fdSEd Maste     sockets (a1c042b)
1914c43e99fdSEd Maste   o Minimize syscalls during socket creation in listener.c (7e9e289)
1915c43e99fdSEd Maste   o Use a wrapper function to create the notification
1916c43e99fdSEd Maste     pipe/socketpair/eventfd (ca76cd9)
1917c43e99fdSEd Maste   o Use pipes for telling signals to main thread when possible (a35f396)
1918c43e99fdSEd Maste   o Save syscalls when constructing listener sockets for evhttp (af6c9d8)
1919c43e99fdSEd Maste   o Save some syscalls when creating evdns sockets (713e570)
1920c43e99fdSEd Maste   o Save some syscalls when constructing a socket for a bufferevent (33fca62)
1921c43e99fdSEd Maste   o Prefer epoll_create1 on Linuxen that have it (bac906c)
1922c43e99fdSEd Maste
1923c43e99fdSEd Maste Performance: Epoll backend
1924c43e99fdSEd Maste   o Use current event set rather than current pending change when
1925c43e99fdSEd Maste     deciding whether to no-op a del (04ba27e Mike Smellie)
1926c43e99fdSEd Maste   o Replace big chain of if/thens in epoll.c with a table lookup (8c83eb6)
1927c43e99fdSEd Maste   o Clean up error handling in epoll_apply_one_change() a little (2d55a19)
1928c43e99fdSEd Maste
1929c43e99fdSEd Maste Performance: Evport backend
1930c43e99fdSEd Maste   o evport: use evmap_io to track fdinfo status. Should save time and
1931c43e99fdSEd Maste     RAM. (4687ce4)
1932c43e99fdSEd Maste   o evport: Remove a linear search over recent events when
1933c43e99fdSEd Maste     reactivating them (0f77efe)
1934c43e99fdSEd Maste   o evport: Use portev_user to remember fdinfo struct (276ec0e)
1935c43e99fdSEd Maste   o evport: don't scan more events in ed_pending than needed (849a5cf)
1936c43e99fdSEd Maste   o evport: Remove artificial low limit on max events per getn call (c04d927)
1937c43e99fdSEd Maste   o Reenable main/many_events_slow_add for evport in 2.1 (e903db3)
1938c43e99fdSEd Maste
1939c43e99fdSEd Maste Performance: Windows
1940c43e99fdSEd Maste   o Use GetSystemTimeAsFileTime to implement gettimeofday on
1941c43e99fdSEd Maste     win32. It's faster and more accurate than our old
1942c43e99fdSEd Maste     approach. (b8b8aa5)
1943c43e99fdSEd Maste
1944c43e99fdSEd Maste New functions and features: debugging
1945c43e99fdSEd Maste   o Add event_enable_debug_logging() to control use of debug logs (e30a82f)
1946c43e99fdSEd Maste
1947c43e99fdSEd Maste New functions and features: core
1948c43e99fdSEd Maste   o Add event_config function to limit time/callbacks between calls
1949c43e99fdSEd Maste     to dispatch (fd4de1e, 9fa56bd, a37a0c0, 3c63edd)
1950c43e99fdSEd Maste   o New EVLOOP_NO_EXIT_ON_EMPTY option to keep looping even when no
1951c43e99fdSEd Maste     events are pending (084e68f)
1952c43e99fdSEd Maste   o Add event_base_get_npriorities() function. (ee3a4ee Alexander Drozdov)
1953c43e99fdSEd Maste   o Make evbase_priority_init() and evbase_get_npriorities()
1954c43e99fdSEd Maste     threadsafe (3c55b5e)
1955c43e99fdSEd Maste   o New event_base_update_cache_time() to set cached_tv to current
1956c43e99fdSEd Maste     time (212533e Abel Mathew)
1957c43e99fdSEd Maste   o Add event_self_cbarg() to be used in conjunction with
1958c43e99fdSEd Maste     event_new(). (ed36e6a Ross Lagerwall, fa931bb, 09a1906, 1338e6c,
1959c43e99fdSEd Maste     33e43ef)
1960c43e99fdSEd Maste   o Add a new libevent_global_shutdown() to free all globals before
1961c43e99fdSEd Maste     exiting. (041ca00 Mark Ellzey, f98c158, 15296d0, 55e991b)
1962c43e99fdSEd Maste   o Use getifaddrs to detect our interfaces if possible (7085a45)
1963c43e99fdSEd Maste   o Add event_base_get_running_event() to get the event* whose cb we
1964c43e99fdSEd Maste     are in (c5732fd, 13dad99)
1965c43e99fdSEd Maste
1966c43e99fdSEd Maste New functions and features: building
1967c43e99fdSEd Maste   o Implement --enable-gcc-hardening configure option (7550267 Sebastian Hahn)
1968c43e99fdSEd Maste
1969c43e99fdSEd Maste New functions and features: evbuffers
1970c43e99fdSEd Maste   o Add evbuffer_add_file_segment() so one fd can be used efficiently
1971c43e99fdSEd Maste     in more than one evbuffer_add_file at a time (e72afae, c2d9884,
1972c43e99fdSEd Maste     3f405d2, 0aad014)
1973c43e99fdSEd Maste   o Fix windows file segment mappings (8254de7)
1974c43e99fdSEd Maste   o Allow evbuffer_ptr_set to yield a point just after the end of the
1975c43e99fdSEd Maste     buffer. (e6fe1da)
1976c43e99fdSEd Maste   o Allow evbuffer_ptr to point to position 0 in an empty evbuffer
1977c43e99fdSEd Maste     (7aeb2fd Nir Soffer)
1978c43e99fdSEd Maste   o Set the special "not found" evbuffer_ptr consistently. (e3e97ae Nir Soffer)
1979c43e99fdSEd Maste   o support adding buffers to other buffers non-destructively
1980c43e99fdSEd Maste     (9d7368a Joachim Bauch)
1981c43e99fdSEd Maste   o prevent nested multicast references, reworked locking (26041a8
1982c43e99fdSEd Maste     Joachim Bauch)
1983c43e99fdSEd Maste   o New EVBUFFER_EOL_NUL to read NUL-terminated strings from an
1984c43e99fdSEd Maste     evbuffer (d7a8b36 Andrea Montefusco, 54142c9)
1985c43e99fdSEd Maste   o Make evbuffer_file_segment_types adaptable (c6bbbf1)
1986c43e99fdSEd Maste   o Added evbuffer_add_iovec and unit tests. (aaec5ac Mark Ellzey, 27b5398)
1987c43e99fdSEd Maste   o Add evbuffer_copyout_from to copy data from the middle of a
1988c43e99fdSEd Maste     buffer (27e2225)
1989c43e99fdSEd Maste
1990c43e99fdSEd Maste New functions and features: bufferevents
1991c43e99fdSEd Maste   o Allow users to set allow_dirty_shutdown (099d27d Catalin Patulea)
1992c43e99fdSEd Maste   o Tweak allow_dirty_shutdown documentation (a44cd2b)
1993c43e99fdSEd Maste   o Fix two issues in the allow_dirty_shutdown code. (f3b89de)
1994c43e99fdSEd Maste   o Add a bufferevent_getcb() to find a bufferevent's current
1995c43e99fdSEd Maste     callbacks (a650394)
1996c43e99fdSEd Maste   o bufferevent: Add functions to set/get max_single_read/write
1997c43e99fdSEd Maste     values. (998c813 Alexander Drozdov)
1998c43e99fdSEd Maste   o bev_ssl: Be more specific in event callbacks. evhttp in particular gets
1999c43e99fdSEd Maste     confused without at least one of BEV_EVENT_{READING|WRITING}. (f7eb69a
2000c43e99fdSEd Maste     Catalin Patulea)
2001c43e99fdSEd Maste
2002c43e99fdSEd Maste New functions and features: evconnlisteners
2003c43e99fdSEd Maste   o Support TCP_DEFER_ACCEPT sockopts for listeners (5880e4a Mark Ellzey,
2004c43e99fdSEd Maste     a270728)
2005c43e99fdSEd Maste   o Add another caveat to the TCP_DEFER_ACCEPT documentation (a270728)
2006c43e99fdSEd Maste   o Allow evconnlistener to be created in disabled state. (9593a33
2007c43e99fdSEd Maste     Alexander Drozdov)
2008c43e99fdSEd Maste   o The LEV_OPT_CLOSE_ON_EXEC flag now applies to accepted listener
2009c43e99fdSEd Maste     sockets too (4970329)
2010c43e99fdSEd Maste
2011c43e99fdSEd Maste Evhttp:
2012c43e99fdSEd Maste   o Add new evhttp_{connection_}set_timeout_tv() functions to set
2013c43e99fdSEd Maste     finger-grained http timeouts (6350e6c Constantine Verutin)
2014c43e99fdSEd Maste   o Performance tweak to evhttp_parse_request_line. (aee1a97 Mark Ellzey)
2015c43e99fdSEd Maste   o Add missing break to evhttp_parse_request_line (0fcc536)
2016c43e99fdSEd Maste   o Add evhttp callback for bufferevent creation; this lets evhttp
2017c43e99fdSEd Maste     support SSL. (8d3a850)
2018c43e99fdSEd Maste   o Remove calls to deprecated bufferevent functions from evhttp.c (4d63758)
2019c43e99fdSEd Maste   o evhttp: Add evhttp_foreach_bound_socket. (a2c48e3 Samy Al Bahra)
2020c43e99fdSEd Maste
2021c43e99fdSEd Maste Build improvements:
2022c43e99fdSEd Maste   o Add AC_USE_SYSTEM_EXTENSIONS to configure.in. Requires follow on
2023c43e99fdSEd Maste     patches for correctness and robustness. (1fa7dbe Kevin Bowling)
2024c43e99fdSEd Maste   o Filter '# define' statements from autoconf and generate
2025c43e99fdSEd Maste     event-private.h (321b558 Kevin Bowling)
2026c43e99fdSEd Maste   o Remove internal usage of _GNU_SOURCE (3b26541 Kevin Bowling)
2027c43e99fdSEd Maste   o Eliminate a couple more manual internal _GNU_SOURCE defines (c51ef93
2028c43e99fdSEd Maste     Kevin Bowling)
2029c43e99fdSEd Maste   o Add AC_GNU_SOURCE to the fallback case. (ea8fa4c Kevin Bowling)
2030c43e99fdSEd Maste   o Use a Configuration Header Template for evconfig-private.h (868f888
2031c43e99fdSEd Maste     Kevin Bowling)
2032c43e99fdSEd Maste   o Fix a comment warning and add evconfig-private.h to .gitignore
2033c43e99fdSEd Maste     (f6d66bc Kevin Bowling)
2034c43e99fdSEd Maste   o Include evconfig-private.h in internal files for great good. (0915ca0
2035c43e99fdSEd Maste     Kevin Bowling)
2036c43e99fdSEd Maste   o Backport libevent to vanilla Autoconf 2.59 (as used in RHEL5)
2037c43e99fdSEd Maste     (ad03952 Kevin Bowling)
2038c43e99fdSEd Maste   o Prefer the ./configure evconfig-private.h in MinGW, just in
2039c43e99fdSEd Maste     case. (f964b72 Kevin Bowling)
2040c43e99fdSEd Maste   o Shell hack for weird mkdir -p commands (fd7b5a8 Kevin Bowling)
2041c43e99fdSEd Maste   o Add evconfig-private to remaining files (ded0a09 Kevin Bowling)
2042c43e99fdSEd Maste   o Allow use of --enable-silent-rules for quieter compilation with
2043c43e99fdSEd Maste     automake 1.11 (f1f8514 Dave Hart)
2044c43e99fdSEd Maste   o Use "_WIN32", not WIN32: it's standard and we don't need to fake it
2045c43e99fdSEd Maste     (9f560b)
2046c43e99fdSEd Maste   o In configure, test for _WIN32 not WIN32. (85078b1 Peter Rosin)
2047c43e99fdSEd Maste   o Do not define WIN32 in Makefile.nmake (d41f3ea Peter Rosin)
2048c43e99fdSEd Maste   o Provide the autoconf m4 macros for the new OpenSSL via pkg-config
2049c43e99fdSEd Maste     stuff. (674dc3d Harlan Stenn)
2050c43e99fdSEd Maste   o Use pkg-config (if available) to handle OpenSSL. (1c63860 Harlan Stenn)
2051c43e99fdSEd Maste   o We need AM_CPPFLAGS when compiling bufferevent_openssl.c (6d2613b
2052c43e99fdSEd Maste     Harlan Stenn)
2053c43e99fdSEd Maste   o Fix OSX build: $(OPENSSL_INCS) needs to be after
2054c43e99fdSEd Maste     $(AM_CPPFLAGS). (46f1769 Zack Weinberg)
2055c43e99fdSEd Maste   o Make gcc warnings on by default, and --enable-gcc-warnings only add
2056c43e99fdSEd Maste     -Werror (d46517e Sebastian Hahn)
2057c43e99fdSEd Maste   o Split up extra-long AC_CHECK_FUNCS/HEADERS lines in configure.in (88a30ad)
2058c43e99fdSEd Maste   o Move libevent 1.x headers to include/, to put all public headers in
2059c43e99fdSEd Maste     one place. (bbea8d6)
2060c43e99fdSEd Maste   o Put #ifdef around some files to support alternate build
2061c43e99fdSEd Maste     systems. (76d4c92 Ross Lagerwall)
2062c43e99fdSEd Maste   o Also make win32select.c conditional for IDE users (bf2c5a7)
2063c43e99fdSEd Maste
2064c43e99fdSEd Maste Debugging:
2065c43e99fdSEd Maste   o Add a magic number to debug_locks to better catch lock-coding
2066c43e99fdSEd Maste     errors. (b4a29c0 Dave Hart)
2067c43e99fdSEd Maste   o munge the debug_lock signature before freeing it: it might help us
2068c43e99fdSEd Maste     catch use-after-free (f28084d)
2069c43e99fdSEd Maste   o Added --enable-event-debugging in configure (bc7b4e4, a9c2c9a Mark Ellzey)
2070c43e99fdSEd Maste   o Debug addition for printing usec on TIMEOUT debugging. (ac43ce0 Mark Ellzey)
2071c43e99fdSEd Maste   o Added usec debug in another area for debug (3baab0d Mark Ellzey)
2072c43e99fdSEd Maste   o added timeout debug logs to include event ptr. (4b7d298 Mark Ellzey)
2073c43e99fdSEd Maste   o more event dbg updates (6727543 Mark Ellzey)
2074c43e99fdSEd Maste   o Clarify event_enable_debug_logging a little (6207826)
2075c43e99fdSEd Maste   o Make --enable-verbose-debug option match its help text (10c3450)
2076c43e99fdSEd Maste   o Add argument checks to some memory functions in `event.c'. (c8953d1
2077c43e99fdSEd Maste     Mansour Moufid)
2078c43e99fdSEd Maste
2079c43e99fdSEd Maste Testing:
2080c43e99fdSEd Maste   o More abstraction in test.sh (cd74c4e)
2081c43e99fdSEd Maste   o Add failing test for evbuffer_search_range. (8e26154 Nir Soffer)
2082c43e99fdSEd Maste   o Tweaks to return types with end-of-buf ptrs (9ab8ab8)
2083c43e99fdSEd Maste   o Add an (internal) usleep function for use by unit tests (f25d9d3)
2084c43e99fdSEd Maste   o Synchronize with upstream tinytest (6c81be7)
2085c43e99fdSEd Maste   o Make test-changelist faster (7622d26)
2086c43e99fdSEd Maste   o Reduce the timeout in the main/fork test. (ab14f7c)
2087c43e99fdSEd Maste   o New evhttp function to adjust initial retry timeout (350a3c4)
2088c43e99fdSEd Maste   o Make regression tests run over 3x faster. (67a1763)
2089c43e99fdSEd Maste   o Use test_timeval_diff_eq more consistently (b77b43f)
2090c43e99fdSEd Maste   o Allow more slop in deferred_cb_skew test; freebsd needs it (b9f7e5f)
2091c43e99fdSEd Maste   o When including an -internal.h header outside the main tree, do so
2092c43e99fdSEd Maste     early (95e2455)
2093c43e99fdSEd Maste   o Add a new test: test-fdleak which tests for fd leaks by creating many
2094c43e99fdSEd Maste     sockets. (2ef9278 Ross Lagerwall, f7af194, 1c4288f, etc)
2095c43e99fdSEd Maste   o Add a unit test for event_base_dump_events() (7afe48a, 8d08cce)
2096c43e99fdSEd Maste   o Test more bufferevent_ratelim features (c24f91a)
2097c43e99fdSEd Maste
2098c43e99fdSEd Maste Documentation:
2099c43e99fdSEd Maste   o Improve evbuffer_ptr documentation (261ba63)
2100c43e99fdSEd Maste   o added comments to describe refcounting of multicast chains (ba24f61
2101c43e99fdSEd Maste     Joachim Bauch)
2102c43e99fdSEd Maste   o Add doxygen for event_base_dump_events (cad5753)
2103c43e99fdSEd Maste
2104c43e99fdSEd Maste OSX:
2105c43e99fdSEd Maste   o Use "unlimited select" on OSX so that we can have more than
2106c43e99fdSEd Maste     FD_SETSIZE fds (1fb5cc6)
2107c43e99fdSEd Maste
2108c43e99fdSEd Maste KQueue:
2109c43e99fdSEd Maste   o Use SIG_IGN instead of a do-nothing handler for signal events with
2110c43e99fdSEd Maste     kqueue (148458e Zack Weinberg)
2111c43e99fdSEd Maste
2112c43e99fdSEd Maste evprc:
2113c43e99fdSEd Maste   o event_rpcgen.py now prints status information to stdout and errors to
2114c43e99fdSEd Maste     stderr. (ffb0ba0 Ross Lagerwall)
2115c43e99fdSEd Maste
2116c43e99fdSEd Maste Code improvement and refactoring:
2117c43e99fdSEd Maste   o Make event_reinit() more robust and maintainable (272033e)
2118c43e99fdSEd Maste   o Restore fast-path event_reinit() for slower backends (2c4b5de)
2119c43e99fdSEd Maste   o Check changelist as part of checking representational integrity (39b3f38)
2120c43e99fdSEd Maste   o Fix a compile warning in event_reinit (e4a56ed Sebastian Hahn)
2121c43e99fdSEd Maste   o Refactor the functions that run over every event. (c89b4e6)
2122c43e99fdSEd Maste   o Remove the last vestiges of _EVENT_USE_EVENTLIST (a3cec90)
2123c43e99fdSEd Maste   o Make event-config.h depend on Makefile.am (2958a5c)
2124c43e99fdSEd Maste
2125c43e99fdSEd Maste Build fixes:
2126c43e99fdSEd Maste   o Don't do clang version detection when disabling some flags (083296b
2127c43e99fdSEd Maste     Sebastian Hahn)
2128c43e99fdSEd Maste
2129c43e99fdSEd Maste C standards conformance:
2130c43e99fdSEd Maste   o Check for NULL return on win32 mm_calloc, and set ENOMEM. (af7ba69)
2131c43e99fdSEd Maste   o Convert event-config.h macros to avoid reserved identifiers (68120d9)
2132c43e99fdSEd Maste   o Generate event-config.h using the correct macros. (f82c57e)
2133c43e99fdSEd Maste   o Convert include-guard macro convention to avoid reserved identifiers
2134c43e99fdSEd Maste     (3f8c7cd)
2135c43e99fdSEd Maste   o Make event_rpcgen.py output conform to identifier conventions (372bff1)
2136c43e99fdSEd Maste   o Stop referring to an obsolete include guard in bench_http.h (5c0f7e0)
2137c43e99fdSEd Maste   o Make the generated event-config.h use correct include guards (639383a)
2138c43e99fdSEd Maste   o Fix all identifiers with names beginning with underscore. (cb9da0b)
2139c43e99fdSEd Maste   o Make event_rpcgen.py output conform to identifier conventions, more
2140c43e99fdSEd Maste     (bcefd24)
2141c43e99fdSEd Maste   o Fix some problems introduced by automated identifier cleanup script
2142c43e99fdSEd Maste     (c963534)
2143c43e99fdSEd Maste   o Have all visible internal function names end with an underscore. (8ac3c4c)
2144c43e99fdSEd Maste   o Apply the naming convention to our EVUTIL_IS* functions (c7848fa)
2145c43e99fdSEd Maste   o Clean up lingering _identifiers. (946b584)
2146c43e99fdSEd Maste   o Fix doxygen to use new macro conventions (da455e9)
2147c43e99fdSEd Maste
2148c43e99fdSEd Maste Bugfixes:
2149c43e99fdSEd Maste   o Do not use system EAI/AI values if we are not using the system
2150c43e99fdSEd Maste     getaddrinfo. (7bcac07)
2151c43e99fdSEd Maste
2152c43e99fdSEd Maste Sample Code:
2153c43e99fdSEd Maste   o Fix up sample/event-test.c to use newer interfaces and make it
2154c43e99fdSEd Maste     actually work. (19bab4f Ross Lagerwall)
2155c43e99fdSEd Maste   o On Unix, remove event.fifo left by sample/event-test.c. (c0dacd2 Ross
2156c43e99fdSEd Maste     Lagerwall)
2157c43e99fdSEd Maste   o Rename event-test.c to event-read-fifo.c. (a5b370a Ross Lagerwall)
2158c43e99fdSEd Maste   o event-read-fifo: Use EV_PERSIST appropriately (24dab0b)
2159c43e99fdSEd Maste
2160c43e99fdSEd Maste
2161c43e99fdSEd Maste
2162c43e99fdSEd Maste
2163