]> granicus.if.org Git - libevent/commitdiff
Update changelog for 2.1.6-beta (ugh, pretty huge)
authorAzat Khuzhin <a3at.mail@gmail.com>
Mon, 4 Jul 2016 15:13:02 +0000 (18:13 +0300)
committerAzat Khuzhin <a3at.mail@gmail.com>
Fri, 26 Aug 2016 22:28:36 +0000 (01:28 +0300)
Changes for:
- 2.1.5-beta: 118
- 2.1.6-beta: 350

We should really hurry with the release!

ChangeLog

index 1499637504963a99a76fb9e2130c59dcaab2f349..ad960356de14353bcc97a287f527b6b9241d79fe 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,364 @@
+Changes in version 2.1.6-beta (4 July 2016)
+
+ Security Fixes (utils)
+   o evutil_parse_sockaddr_port(): fix buffer overflow (329acc1 Azat Khuzhin)
+
+ Security Fixes (evdns)
+   o evdns: name_parse(): fix remote stack overread (96f64a0 Azat Khuzhin)
+   o evdns: fix searching empty hostnames (ec65c42 Azat Khuzhin)
+
+ New APIs (evdns)
+   o New function to get address for nameserver. (537177d Nick Mathewson)
+
+ New APIs (bufferevents)
+   o expose bufferevent_incref/decref (with fewer modifications) (1ed6718 Mark Ellzey)
+
+ New APIs (internal)
+   o evdns: export cancel via callbacks in util (like async lib core/extra issues) (8cbe65d Azat Khuzhin)
+
+ New APIs/Improvements (http)
+   o http: take EVHTTP_CON_LINGERING_CLOSE into account for "Expect: 100-Continue" (ac448a7 Azat Khuzhin)
+   o http: lingering close (like nginx have) for entity-too-large (9fde518 Azat Khuzhin)
+   o http: read server response even after server closed the connection (680742e Azat Khuzhin)
+   o http: export evhttp_connection_set_family() (714fc70 Azat Khuzhin)
+   o http: reuse connected address only with EVHTTP_CON_REUSE_CONNECTED_ADDR (a50f5f0 Azat Khuzhin)
+   o http: use IP address that we got before (if any) during retrying (54c887d Azat Khuzhin)
+
+ Bugfixes (core)
+   o Fix getaddrinfo under solaris (for multiprotocol case) (40730ae Azat Khuzhin)
+   o Check for Mac OS X 10.4 kqueue bug properly (df6f99e Mark Mentovai)
+   o event_reinit: make signals works after fork() without evsig_add() (88640aa Nicholas Marriott)
+   o event_reinit: always re-init signal's socketpair (ad0c237 Nicholas Marriott)
+   o Free event queues even for recursive finalizers (7c8d015 Azat Khuzhin)
+   o Fix checking for make_base_notifiable() (f337296 Azat Khuzhin)
+   o Set correct socklen for PF_INET6 sockaddr len (3499ad9 Mark Ellzey)
+   o Fix garbage value in socketpair util function, stdint? (043ae74 Mark Ellzey)
+   o fix the return value of event_deferred_cb_schedule_ (38cef64 Greg Hazel)
+   o event_free_debug_globals_locks(): disable lock debugging (e5c87d1 Azat Khuzhin)
+   o event: call event_disable_debug_mode() in libevent_global_shutdown() (941faae Azat Khuzhin)
+   o ht-internal: don't reset hth_table_length explicitly in name_##HT_CLEAR (597c7b2 Azat Khuzhin)
+
+ Bugfixes (evthread)
+   o evthread: fix evthread_setup_global_lock_() for debug-lock with a real-lock case (e4556fc Azat Khuzhin)
+   o evthread: evthreadimpl_disable_lock_debugging_() for libevent_global_shutdown() (ccc5593 Azat Khuzhin)
+
+ Bugfixes (evdns)
+   o evdns: avoid double-free in evdns_base_free() for probing requests (4db15e0 Azat Khuzhin)
+   o evdns: evdns_base_free(): fix UAF of evdns_base with @fail_requests (00313c5 Azat Khuzhin)
+   o evdns: evdns_base_free(): free requests before namservers (14f84bb Azat Khuzhin)
+   o evdns: fix randomize-case by make case-insensitive as required (9c238de Azat Khuzhin)
+
+ Bugfixes (bufferevents)
+   o be_sock: handle readv() returns ECONNREFUSED (freebsd 9.2) (3189eb0 Azat Khuzhin)
+   o be_filter: avoid data stuck under active watermarks (b627ad8 Eduardo Panisset)
+   o Fix bufferevent_pair to properly set BEV_EVENT_{READING,WRITING} on flush. (2851889 David Paschich)
+   o be_openssl: clear all pending errors before SSL_*() calls (38e0f4a Azat Khuzhin)
+   o be_sock: cancel in-progress dns requests (86dfd2c Azat Khuzhin)
+   o be_sock: unfreeze buffers on fd changing (255525d Azat Khuzhin)
+   o be_sock: bufferevent_socket_connect_hostname(): make it thread-safe (809bb39 Azat Khuzhin)
+   o be_openssl: don't call do_write() directly from outbuf_cb (da52933 Azat Khuzhin)
+   o be_openssl: use bufferevent_enable() instead of bufferevent_add_event_() (0c66d32 Azat Khuzhin)
+   o be_openssl: don't add events during bev creation (like be_sock) (f4b6284 Azat Khuzhin)
+   o Fix lock leak in be_pair_flush() if flush type is BEV_NORMAL (f45d39d Bill Vaughan)
+   o be_openssl: don't use *_auto() in do_handshake() we can't have fd == -1 there (877280d Azat Khuzhin)
+   o be_openssl: don't call set_open_callbacks() if fd == -1 (e8a2da9 Azat Khuzhin)
+   o be_openssl: get rid off hackish "fd_is_set", to fix some corner cases (40b0379 Azat Khuzhin)
+   o be: we don't need to use getpeername() we we have conn_address (2c271e2 Azat Khuzhin)
+   o Call underlying bev ctrl SET_FD on filtered bufferevents (c2aa7dc Mark Ellzey)
+   o be_pair: release shared lock with the latest of bufferevent_pair (92a359e Azat Khuzhin)
+
+ Bugfixes (http)
+   o [Issue #313] set method to ASCII "NULL" if evhttp_method() returns NULL (17cc636 Mark Ellzey)
+   o evhttp_have_expect(): fix -Wlogical-not-parentheses (24b5214 Azat Khuzhin)
+   o http: set fd to -1 unconditioally, to avoid leaking of DNS requests (7a4b472 Azat Khuzhin)
+   o http: avoid leaking of fd in evhttp_connection_free() (f0e1341 Azat Khuzhin)
+   o http: get fd from be layer during connection reset (4a53c54 Azat Khuzhin)
+   o http: fix EVHTTP_CON_READ_ON_WRITE_ERROR when it doesn't supported by OS (2ff164a Azat Khuzhin)
+   o http: do not do function calls under EVUTIL_ASSERT() to fix NDEBUG builds (7c89999 Azat Khuzhin)
+   o http: fix leaking of response_code_line (8f18a62 Azat Khuzhin)
+   o http: fix "Expect: 100-continue" client side (0b46b39 Azat Khuzhin)
+   o http: fix conflicts EVHTTP_CON_AUTOFREE and EVHTTP_CON_REUSE_CONNECTED_ADDR (4dc0979 Azat Khuzhin)
+   o http: avoid epoll_ctl() on already closed fd (triggers by http/chunk_out) (ab3bc69 Azat Khuzhin)
+   o http: install timeout for read too during connect for ssl (040000d Azat Khuzhin)
+   o http: fix evhttp_request_own() by checking EVHTTP_USER_OWNED in more cases (b0d3964 Azat Khuzhin)
+   o http: fix detecting EOF without write (7ed02ac Azat Khuzhin)
+   o evhttp: Fix failure to send all output data for POST/PUT requests (24eea0d John Ohl)
+   o Fix evhttp_uriencode() regression. (c6b1ec1 Mark Ellzey)
+   o removed unused vars (e94250c Mark Ellzey)
+   o pointer overflow checks for evhttp_uriencode (72afe4c Zonr Chang)
+
+ Bugfixes (evbuffers)
+   o buffer: fix overflow check in evbuffer_expand_singlechain() (a3f4ccd Azat Khuzhin)
+   o buffer: evbuffer_add_buffer(): clean empty chains from destination buffer (26fd932 Azat Khuzhin)
+   o Fix n_add_for_cb in evbuffer_prepend() in case of new buffer required (0abd039 Azat Khuzhin)
+   o be_filter: actually disable output_filter during processing output (c031215 Simon Perreault)
+   o evbuffer_add: Use last_with_datap if set, not last. (a8769ef Marcus Sundberg)
+   o EVBUFFER_PTR_SET -> EVBUFFER_PTR_ADD (8674e4f jer-gentoo)
+
+ Bugfixes (evconnlistener)
+   o listener: unlock lev on error in listener_read_cb() (2a71b33 Azat Khuzhin)
+   o Fix potential fd leak in listener_read_cb() (a695a72 Mark Ellzey)
+
+ Testing
+   o tests: use waitpid(..., WNOWAIT) to fix failing of main/fork under solaris (43eb56c Azat Khuzhin)
+   o test: replace sleeping with syncing pair in main/fork (16d220c Azat Khuzhin)
+   o test/http: do not run tests that based on backlog filling (freebsd) (500b6b7 Azat Khuzhin)
+   o test/bufferevent/iocp: fix test name for "bufferevent_connect_fail_eventcb" (4410e9d Azat Khuzhin)
+   o test/ssl: use send()/recv()/EVUTIL_ERR_RW_RETRIABLE()/EVUTIL_SOCKET_ERROR() to fix win32 (a9e8cd6 Azat Khuzhin)
+   o test/https_basic: increase timeout for complete write (fixes win32) (d5a2f2f Azat Khuzhin)
+   o test: fix building with --disable-thread-support under win32 (a487706 Azat Khuzhin)
+   o test/buffer: evbuffer_add_buffer() with empty chains (a272bc4 Azat Khuzhin)
+   o test/buffer: evbuffer_remove_buffer() with empty chains (prepend) (f0cfa14 Azat Khuzhin)
+   o test/buffer: evbuffer_remove_buffer() with empty chains (evbuffer_add_buffer()) (2880ce6 Azat Khuzhin)
+   o test/buffer: cover evbuffer_expand() for overflow (48dab7a Azat Khuzhin)
+   o test/be_filter: creating test case for data stuck with active watermarks (766194b Eduardo Panisset)
+   o test/http: avoid using conditionals with omitted operands (fixes VS2015) (2a4bf29 Azat Khuzhin)
+   o test/http: don't mix declarations and code (fixes -Wdeclaration-after-statement) (aabf1c2 Azat Khuzhin)
+   o test/buffer: fix leak in test_evbuffer_prepend() (c08d90b Azat Khuzhin)
+   o test/buffer: avoid errors with --no-fork (reinitialize static vars) (e7d1e39 Azat Khuzhin)
+   o test/buffer: cover n_add_for_cb when evbuffer_prepend() need to allocate buffer (e77ff41 Azat Khuzhin)
+   o test/tinytest_macros: add new one tt_nstr_op() (bd19a28 Azat Khuzhin)
+   o test/bufferevent: check that output_filter disabled during processing output (ae28812 Azat Khuzhin)
+   o test/listener: regression for missing unlock in listener_read_cb() (7d85651 Azat Khuzhin)
+   o test/regress: add tests for evbuffer_add() breakage on empty last chain (d5ee739 Marcus Sundberg)
+   o test/http: fix running some tests sequential (with --no-fork) (bddad71 Azat Khuzhin)
+   o test/http: localize evhttp server structure (cbc3209 Azat Khuzhin)
+   o test/dns: regression for empty hostname (d7348ba Azat Khuzhin)
+   o test/http: fix SERVER_TIMEOUT tests under win32 (d49a658 Azat Khuzhin)
+   o test/http: add a helper for creating timedout/failed request (376f107 Azat Khuzhin)
+   o test/http: adopt for C90 (mixed code and declarations) (d02a285 Azat Khuzhin)
+   o test/http: cover NS timed out during request cancellations separatelly (0c343af Azat Khuzhin)
+   o test/http: request cancellation with resolving/{conn,write}-timeouts in progress (334340d Azat Khuzhin)
+   o test/http: exit from the loop in the errorcb to wait cancellation (927ab33 Azat Khuzhin)
+   o regress_clean_dnsserver(): reset global port vars (351207f Azat Khuzhin)
+   o test/http: read_on_write_error: fix it for win32 (3b58169 Azat Khuzhin)
+   o test/http: separate coverage for EVHTTP_CON_READ_ON_WRITE_ERROR (5c2b4c1 Azat Khuzhin)
+   o test/http: cover "Expect: 100-continue" client-server interaction (31d8116 Azat Khuzhin)
+   o test/http: *lingering tests shouldn't have "Expect: 100-continue" (ed469ab Azat Khuzhin)
+   o test: use EVUTIL_SHUT_WR (04fc82f Azat Khuzhin)
+   o test/http: avoid huge stack allocations to fix win32 builds (3166765 Azat Khuzhin)
+   o test: http/lingering_close: cover EVHTTP_SERVER_LINGERING_CLOSE (e122ca1 Azat Khuzhin)
+   o test: http/non_lingering_close: cover ~EVHTTP_SERVER_LINGERING_CLOSE (f41e1b0 Azat Khuzhin)
+   o test: http/*: update expected HTTP codes for body exceeds `max_body_size` (addf2b9 Azat Khuzhin)
+   o test: http/data_length_constrains: set EVHTTP_CON_READ_ON_WRITE_ERROR (d38a723 Azat Khuzhin)
+   o test: increase buffer size for http/data_length_constraints to trigger EPIPE (0792e1e Azat Khuzhin)
+   o test/tinytest_demo: include <windows.h> for win32 to fix tdm-gcc (f062bbe Azat Khuzhin)
+   o test/regress: cover event_del() waiting mechanism (5b58b70 Azat Khuzhin)
+   o test/regress: cover existing signal callbacks and fork() + event_reinit() (ceddc60 Azat Khuzhin)
+   o test/regress: cover signals after fork() + event_reinit() (b075b81 Azat Khuzhin)
+   o test/regress: main/fork: rewrite assertions by just removing event in callback (088d8b3 Azat Khuzhin)
+   o test/dns: check exit code of evdns_getaddrinfo() (0b9d432 Azat Khuzhin)
+   o test/dns: cover evdns_getaddrinfo() and evdns_base_free() with @fail_requests (4ad3483 Azat Khuzhin)
+   o test/dns: cover @fail_requests for evdns_base_free() (d6c6fb4 Azat Khuzhin)
+   o test/dns: more graceful coverage of @fail_requests (123d372 Azat Khuzhin)
+   o test/ssl: cover busy-loop (i.e. {read,write}-blocked-on-{write,read} stuff) (da0ea7a Azat Khuzhin)
+   o test/http: write_during_read for https (23c77b6 Azat Khuzhin)
+   o test/http: connection_fail for https (7ea26f7 Azat Khuzhin)
+   o test/http: stream_out for https (ac04968 Azat Khuzhin)
+   o test/http: chunk_out for https (a71ffb9 Azat Khuzhin)
+   o test/regress: fix ssl-less builds (need to make this prettier) (3160716 Azat Khuzhin)
+   o test/http: allow dirty shutdown for ssl to fix https_incomplete (1ede326 Azat Khuzhin)
+   o test/http: https basic (59714b4 Azat Khuzhin)
+   o test/http: incomplete{,_timeout} for https (615490d Azat Khuzhin)
+   o test/http: add simplest test for http/https/https_dirty_shutdown (93b19dc Azat Khuzhin)
+   o test/http: https: retry coverage (7c2d24a Azat Khuzhin)
+   o test/http: https server support (plus some helpers) (a7088ad Azat Khuzhin)
+   o test/http: more sanity checks (a27c53c Azat Khuzhin)
+   o test/ssl: export getkey()/getcert()/get_ssl_ctx()/init_ssl() for https (0c4c387 Azat Khuzhin)
+   o test/regress_be: basic coverage bufferevent_flush() for pair/sock layers (ad52602 Azat Khuzhin)
+   o test/regress_be: socket_filter_inactive: check bufferevent after creation (f8081af Azat Khuzhin)
+   o test/regress_be: cover finalizers from inactive to active queue (337684b Azat Khuzhin)
+   o test/regress_buffer: fix clang compilation warnings (d8fd4c0 Azat Khuzhin)
+   o test/regress_http: fix compilation warnings (-Wmissing-field-initializers) (cd422e0 Azat Khuzhin)
+   o test/regress_dns: fix compilation warnings (-Wmissing-field-initializers/for) (f55db98 Azat Khuzhin)
+   o tests/regress_dns: cover that randomize-case works case-insensitive (1e8bfbc Azat Khuzhin)
+   o test: fix bufferevent/bufferevent_pair_release_lock in debug mode (3f749e9 Azat Khuzhin)
+   o test: fix bufferevent/bufferevent_pair_release_lock for freebsd (79f9ace Azat Khuzhin)
+   o test/regress_be: bufferevent_enable() shouldn't call eventcb by it's own (a0f308d Azat Khuzhin)
+   o test/regress_be: introduce fake_listener_create() (37dc9e0 Azat Khuzhin)
+   o test/regress_http: cover evhttp_request_own() (6f6fa0d Azat Khuzhin)
+   o test/regress_http: cover write during read (3d15aeb Azat Khuzhin)
+   o test/regress_http: verify that closecb will be called without multiple write (4be6c70 Azat Khuzhin)
+   o test/regress: fix bufferevent_pair_release_lock with EVENT_DEBUG_MODE (6ea6655 Azat Khuzhin)
+   o test/regress_ssl: check events fd/pending after timeout triggered (cdafdf0 Azat Khuzhin)
+   o test/regress_ssl: cover case when server didn't up (failed with timeout) (74845f1 Azat Khuzhin)
+   o test/regress_ssl: covert that we can't change fd with underlying (df507af Azat Khuzhin)
+   o test/regress_ssl: cover that events (read/write) at finish not pending (762edb4 Azat Khuzhin)
+   o test/regress_ssl: cover fd manipulations (b78a829 Azat Khuzhin)
+   o test/regress_ssl: convert open_ssl_bufevs() to mask (46bba73 Azat Khuzhin)
+   o test/regress_ssl: convert client/server to mask too (3455991 Azat Khuzhin)
+   o test/regress_ssl: cover "allow_dirty_shutdown" (0430327 Azat Khuzhin)
+   o test/regress_ssl: convert regress_bufferevent_openssl() to bitmask (342e116 Azat Khuzhin)
+   o tests/regress_ssl: drop duplicated assert (25e56fd Azat Khuzhin)
+   o test/regress_http: initialize "dns_base" to avoid reading trash (9f0bff3 Azat Khuzhin)
+   o test/http: cover retrying with saved conn_address by shutting down dns server (f4874d8 Azat Khuzhin)
+   o be_pair/regress: cover use of shared lock (lock/unlock/free) (a558fcd Azat Khuzhin)
+   o regress_dns: drop hack for event_debug_map_HT_GROW in leak tests (3540a19 Azat Khuzhin)
+
+ Sample code
+   o Fix memory leak in signal-test.c (666db91 basavesh.as)
+   o sample/hello-world: exAmple, not eXMple (2d3cd35 kirillDanshin)
+   o dns-example: allow to set ns from args (df19a97 Azat Khuzhin)
+   o dns-example: convert to getopt() (32f8592 Azat Khuzhin)
+   o http-connect: make it win32 compilable (1bf7595 Azat Khuzhin)
+   o sample/https-client: allow to change path to ca-certificates (fdf713a Azat Khuzhin)
+   o sample/https-client: check for ERR_remove_thread_state() existence (c4e9d9b Azat Khuzhin)
+   o sample/https-client: replace ERR_remove_state() by ERR_remove_thread_state() (77ad68a Azat Khuzhin)
+   o sample/https-client: add -timeout option (4637aa8 Azat Khuzhin)
+   o sample/https-client: don't try to free uninitialized SSL (f3d7ff5 Azat Khuzhin)
+   o sample/https-client: graceful exit with freeing memory (to make valgrind happy) (24a1f25 Azat Khuzhin)
+   o https-client: correctly handle URLs with no path (like "https://host:port") (29a0482 Andrey Skriabin)
+   o sample/http-connect: don't use assert() to make it work with NDEBUG (6dc71e7 Azat Khuzhin)
+   o sample/http-connect: made it compatible with C90 (f976d43 Azat Khuzhin)
+   o sample: add HTTP CONNECT tunnelling example using libevent http layer (1d34498 Azat Khuzhin)
+   o Update dns-example. (620ff24 Mark Ellzey)
+
+ Documentation
+   o Update README.md (b8ec70c Mark Ellzey)
+   o Update README.md (80faee9 Mark Ellzey)
+   o Update README.md (ad4a897 Mark Ellzey)
+   o Update README.md (a2b2e1e Mark Ellzey)
+   o Update README.md (0dfa5dc Mark Ellzey)
+
+ Code Improvements (evthread)
+   o evthread: add evthread_get_{lock,condition}_callbacks() helpers (c0b34f6 Azat Khuzhin)
+
+ Code Improvements (core)
+   o util: make @sa const for evutil_socket_connect_() (a8d32c2 Azat Khuzhin)
+
+ Code Improvements (http)
+   o http: assert's that evbuffer_drain() success on connection reset (2185e63 Azat Khuzhin)
+   o http: introduce evhttp_request_free_() helper (22061ac Azat Khuzhin)
+   o http: introduce evhttp_is_request_connection_close() helper (6540da3 Azat Khuzhin)
+
+ Code Improvements (bufferevents)
+   o be_sock: bufferevent_socket_set_conn_address(): assert instead of silent no-op (0ab88c2 Azat Khuzhin)
+   o be_sock: sanity check in bufferevent_socket_set_conn_address() (eedbeff Azat Khuzhin)
+   o be: replace sockaddr_storage with sockaddr_in6 for conn_address (3889612 Azat Khuzhin)
+   o be: replace conn_address by full struct instead of pointer (e5615aa Azat Khuzhin)
+   o bufferevent: move conn_address out from http into bufferevent (8bb3842 Azat Khuzhin)
+   o be: make @sa const for bufferevent_socket_connect() (dc33c78 Azat Khuzhin)
+
+ Cleanups (core)
+   o Refactoring conditional directives that break parts of statements. (4b41eeb lzmths)
+   o epoll: introduce PRINT_CHANGES() macro to avoid copy-pasting (a1b142b Azat Khuzhin)
+   o tab (6e7a580 Greg Hazel)
+
+ Cleanups (evbuffers)
+   o buffer_compat: fix comment -- we have EVBUFFER_EOL_ANY not EOL_STYLE_ANY (575ff67 Azat Khuzhin)
+
+ Cleanups (bufferevents)
+   o be_sock: evutil_getaddrinfo_async_() always return 0 (dbff101 Azat Khuzhin)
+   o be_sock: drop be_sock_add() macro (useless and debug unfriendly) (fad5fe2 Azat Khuzhin)
+   o be: introduce bufferevent_generic_adj_existing_timeouts_() (3c1f58f Azat Khuzhin)
+   o be: add_event: use evutil_timerisset() (a96b73b Azat Khuzhin)
+   o be_openssl: introduce be_openssl_auto_fd() helper (2a8a711 Azat Khuzhin)
+   o be_openssl: introduce set_open_callbacks_auto() (510da71 Azat Khuzhin)
+
+ Cleanups (http)
+   o http: make fallback for EVHTTP_CON_READ_ON_WRITE_ERROR more cleaner (d405492 Azat Khuzhin)
+   o http: coding style issue (365f181 Azat Khuzhin)
+
+ Cleanups (evdns)
+   o evnds: inline TEST_NAME macro to make debuggin easier (0c615f4 Azat Khuzhin)
+
+ Portability Fixes
+   o [#372] check for errno.h (3031617 Mark Ellzey)
+   o Fixed Unicode issue in error messages. (e8b7895 Mattes D)
+   o Assume that ke_udata is an integer type on CloudABI. (5602e45 Ed Schouten)
+   o Add missing include of <netinet/in.h>. (b2c68bc Ed Schouten)
+   o Include <sys/ioctl.h>, <sys/resource.h> and <sys/wait.h> optionally. (c1404b5 Ed Schouten)
+   o Test against SO_REUSEADDR (along with _WIN32). (ce1776c Ed Schouten)
+   o Always define missing TAILQ functions from sys/queue.h (2828bdb Christopher Wiley)
+   o Don't use BSD u_* types. (fd36647 Ed Schouten)
+   o Remove BSD-ism: TIMEVAL_TO_TIMESPEC(). (193c7de Ed Schouten)
+   o be: include all variations of headers for sockaddr_in6 struct (c212291 Azat Khuzhin)
+   o be: fix sockaddr_in6 type definition for win32 (c42bc6b Azat Khuzhin)
+
+ Continious Integration:
+   o travis: split long lines, and make it cleaner (685a6a1 Azat Khuzhin)
+   o travis: fix autotools on osx by reinstalling libtool (088ea5e Azat Khuzhin)
+   o appveyor/autotools: link with openssl by passing LDFLAGS/CFLAGS (6fcfa25 Azat Khuzhin)
+   o appveyor: image already had openssl installed (4634b85 Azat Khuzhin)
+   o appveyor: check -DUNICODE -D_UNICODE according to ReleaseChecklist (cmake only) (e9acc44 Azat Khuzhin)
+   o appveyor: ignore failure of mingw-get (1810857 Azat Khuzhin)
+   o appveyor: drop shallow_clone, since we use tags for detecting version in cmake (ac90133 Azat Khuzhin)
+   o appveyor: support cmake & autotools using build matrix (like travis-ci has) (8f95015 Azat Khuzhin)
+   o travis-ci/osx: relink gcc/g++ instead of clang (481481d Azat Khuzhin)
+   o travis-ci: enable multi-os mode (osx, linux) (79917e4 Azat Khuzhin)
+   o travis-ci: increase matrix (--disable-foo) (59649f7 Azat Khuzhin)
+   o travis-ci: adjust alignment (c8be339 Azat Khuzhin)
+   o travis: add builds without debug mode into matrix (3e56da2 Azat Khuzhin)
+   o test: run regress with EVENT_DEBUG_MODE=1 and without (cf2cf2a Azat Khuzhin)
+   o Update travis config for status updates (37453ab Mark Ellzey)
+   o Use autotools for appveyor until cmake is fixed. (1cc2e29 Mark Ellzey)
+   o Fix the link for appveyor OpenSSL installer (WIN32) (107d565 Mark Ellzey)
+   o Forgot to install OpenSSL for appveyor (26164a5 Joakim Söderberg)
+   o Add support for appveyor.com windows CI (5f89c37 Joakim Söderberg)
+
+ Build Improvements/Fixes:
+   o evutil: mark ai_find_protocol() static (prototype-less) (5a157c8 Azat Khuzhin)
+   o cmake/solaris: set CMAKE_REQUIRED_LIBRARIES to fix functions detections (dc95823 Azat Khuzhin)
+   o cmake/solaris: fix building (link with socket,nsl) (050bfc7 Azat Khuzhin)
+   o cmake: check for ZLIB_INCLUDE_DIR, since we can have only library without headers (c4dfb93 Azat Khuzhin)
+   o autotools/win32: fix searching ssl library (671a24f Azat Khuzhin)
+   o cmake/win32: do not compile regress_thread on -DEVENT__DISABLE_THREAD_SUPPORT=ON (de0c196 Azat Khuzhin)
+   o cmake/win32: do not compile evthread_win32 on -DEVENT__DISABLE_THREAD_SUPPORT=ON (ecb0ec8 Azat Khuzhin)
+   o cmake: fix -DEVENT__ENABLE_VERBOSE_DEBUG (typo on -DUSE_DEBUG) (e35f224 Azat Khuzhin)
+   o cmake: do not use stderr for notifications/version-info (38716c6 Azat Khuzhin)
+   o autoconf: fix --disable-thread-support build under win32 (bb09535 Azat Khuzhin)
+   o buffer: don't mix code and declarations (8892f4c Azat Khuzhin)
+   o Update gitignore file to ignore cscope gen'ed files (0aaa4fb Neeraj Badlani)
+   o For non GCC/clang on OSX the -Wno-deprecated-declarations may not be valid (b5ca365 Rainer Keller)
+   o automake: define serial-tests only if automake have this option (61179de Azat Khuzhin)
+   o test/automake: don't use paralell test harness (since automake 1.12) (44d755e Azat Khuzhin)
+   o Ignore all pkgconfig generated stuff (ce38993 Azat Khuzhin)
+   o libevent_core and libevent_extra also deserve a pkgconfig file (b8d7c62 Jan Heylen)
+   o Ignore verify_tests.bat (win32 version) (0f2de10 Azat Khuzhin)
+   o cmake: require 3.1 only for win32 to make it work under ubunty precise (87f7238 Azat Khuzhin)
+   o cmake: require at least 3.1 for target_sources() (c46ead5 Azat Khuzhin)
+   o cmake: fix adding of compiler flags, and now it will (36588e1 Azat Khuzhin)
+   o Replace -Wswitch-enum with -Wswitch, and add it into cmake rules too (f29f59e Azat Khuzhin)
+   o test/regress_ssl: Fix compile problems for win32 (73d0360 Trond Norbye)
+   o util: fix "%zu" format on TDM-gcc/MinGW-w64 (79b69d8 Azat Khuzhin)
+   o cmake: don't define EVENT__NEED_DLLIMPORT always (fixes VS2013 static build) (49bd790 Azat Khuzhin)
+   o Add missing return statement to del_wait_thread so libevent can build. (4f778ab Nick Mathewson)
+   o cmake: fix building dns-example under win32 (missing getopt) (a1609a8 Azat Khuzhin)
+   o visibility: align it to make it more readable (bb6b53d Azat Khuzhin)
+   o cmake: Fix detection of ssize_t/SSIZE_T (7707f6b Azat Khuzhin)
+   o Ignore more configure stuff (configure.lineno) (8d34302 Azat Khuzhin)
+   o Fixed issue with cmake version generation (d56efd9 Mark Ellzey)
+   o Cmake is now officially working. (7f9646d Mark Ellzey)
+   o More cmake updates, lot's of missing definitions (49a5381 Mark Ellzey)
+   o CMake syntax fixes fo .in files (6aad23d Mark Ellzey)
+   o Revert "The Windows socket type is defined as SOCKET." (a264da8 Mark Ellzey)
+   o CMAKE CMAKE CMAKE CLEANUPS (a9db46a Mark Ellzey)
+   o Lot's of cmake updates (8b228e2 Mark Ellzey)
+   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)
+   o The Windows socket type is defined as SOCKET. (c9e6c3d billsegall)
+   o autotools: fix getservbyname() detection (959a4c2 Azat Khuzhin)
+   o Add missing <string.h> for openssl_hostname_validation module (3316a21 Azat Khuzhin)
+   o make test/regress_ssl.c compile without warnings (9f02a44 Thomas Bernard)
+   o test/regress_be: drop debug __asm__(int3) to fix arm build (8240379 Azat Khuzhin)
+   o event_debug_created_threadable_ctx_: fix compilation without debug mode (a068f2e Azat Khuzhin)
+   o Add a prototype for event_disable_debug_mode() (bfcedee Sebastian Hahn)
+   o http: eliminate warning about "socklen" in evhttp_connection_connect_() (dfad1a4 Azat Khuzhin)
+   o Updated gitignore (1dbb55d Mark Ellzey)
+   o Update bench_httpclient.c (cb96931 Seungmo Koo)
+   o *fix: bench_httpclient to support win32 (4e9325e zeliard)
+   o Commented out a WIN32 threading / timing test for now (e84e269 Mark Ellzey)
+   o Fix mixed declarations and code (forbidden by ISO C90) (0c7f217 Thomas Bernard)
+   o Fix "function declaration isn’t a prototype" (746d2c5 Thomas Bernard)
+   o This fixes a bug introduced in 27bd9faf498b91923296cc91643e03ec4055c230 (19ba454 Joakim Söderberg)
+   o changed strtotimeval signature as per #211 (bdbc823 Xiao Bao Clark)
+   o Added cmake-generated files to ignore list. (6c12bfe Matyas Dolak)
+   o Ignore `make dist` generated files (8a2c6c7 Azat Khuzhin)
+
+  Debugging
+   o Debug mode option to error on evthread init AFTER other event calls. (dcfb19a Mark Ellzey)
+
+
+
 Changes in version 2.1.5-beta (5 January 2015)
 
  Security Fixes (evbuffers)