Changes in 2.0.5-beta:
[Autogenerated from the Git log, sorted by hand.]
DOCUMENTATION
o Update all our copyright notices to say "2010" (17efc1c)
o Add Christopher Clark and Maxim Yegorushkin to the LICENSE file (38b7b57)
o Clarify Christopher Clark's status as writer of original ht code. (78772c3)
o Try to comment some of the event code more (cdd4c49)
o Add a few more evmap/changelist comments (c247adc)
o Add a comment to explain why evdns_request is now separte from request (ceefbe8)
o Document evutil_secure_rng_init() and evutil_secure_rng_add_bytes() (a5bf43a)
o Stop distributing and installing manpages: they were too inaccurate (7731ec8)
NEW FEATURES AND INTERFACE CHANGES
o Remove signal_assign() and signal_new() macros. (2fac0f7)
o Make evdns use the regular logging system by default (b2f2be6)
o Allow evbuffer_read() to split across more than 2 iovecs (e470ad3)
o Functions to manipulate existing rate limiting groups. (ee41aca)
o Functions to track the total bytes sent over a rate limit group. (fb366c1)
o Detect and refuse reentrant event_base_loop() calls (b557b17)
o Limit the maximum number of events on each socket to 65535 (819f949)
o Add evbuffer_copyout to copy data from an evbuffer without draining (eb86c8c)
o Expose the request and reply members of rpc_req_generic() (07edf78 Shuo Chen)
o Add void* arguments to request_new and reply_new evrpc hooks (755fbf1 Shuo Chen)
o Seed the RNG using sysctl() as well as /dev/urandom (71fc3eb)
o Make evutil_secure_rng_init() work even with builtin arc4random (f980716)
o Report DNS error when lookup fails during bufferevent_socket_connect_hostname. (0ef4070 Christopher Davis)
o Release locks on bufferevents while executing callbacks (a5208fe Joachim Bauch) o Make debug mode catch mixed ET and non-ET events on an fd (cb67074)
o Catch attempts to enable debug_mode too late (9ecf0d4)
o Refuse null keys in evhttp_parse_query() (953e229 Frank Denis)
BUGFIXES
o Avoid a spurious close(-1) on Linux (70a44b6)
o Do not close(-1) when freeing an uninitialized socket bufferevent (b34abf3)
o Free evdns_base->req_heads on evdns_base_free (859af67)
o Avoid an (untriggerable so far) crash bug in bufferevent_free() (0cf1431)
o Set mem_offset for every bufferevent type (657d1b6)
o Fix infrequent memory leak in bufferevent_init_common(). (8398641 Jardel Weyrich)
o Make evutil_signal_active() match declaration. (e1e703d Patrick Galbraith)
o Fix minheap code to use replacement malloc functions (a527618)
o Fix a free(NULL) in minheap-internal.h (6f20492)
o Fix critical bug in evbuffer_write when writev is not available (cda56ab)
o Make the no_iovecs case of write_atmost compile (8e227b0)
o Fix a memory leak when appending/prepending to a buffer with unused space. (45068a3)
o Clean up a mistake in pointer manipulation in evbuffer_remove (28bfed4 Christopher Davis)
o Always round up when there's a fractional number of msecs. (8f9e60c Christopher Davis)
o Fix compiler warnings under WIN32 (d469c50 Giuseppe Scrivano)
o Clean up properly when adding a signal handler fails. (b84b598 Gilad Benjamini) o Ensure that evdns_request is a persistent handle. (15bb82d Christopher Davis)
o Free search state when finished searching to avoid an infinite loop. (a625840 Christopher Davis)
o Assert for valid requests as necessary. (67072f3 Christopher Davis)
o do not leak the request object on persistent connections (9d8edf2)
o Make evdns logging threadsafe (b1c7950)
o Fix a couple of bugs in the BSD sysctl arc4seed logic (a47a4b7)
o Remove one last bug in last_with_datap logic. Found with valgrind (d49b92a)
o fix a leak when unpausing evrpc requests (94ee125)
o Fix a memory leak when unmarshalling RPC object arrays (f6ab2a2)
o Fix compilation when openssl support is disabled (40c301b)
o Allow empty reason line in HTTP status (739e688 Pierre Phaneuf)
o Fix a compile warning introduced in 739e688 (bd1ed5f Sebastian Hahn)
o Fix nonstandard TAILQ_FOREACH_REVERSE() definition (71afc52 Frank Denis)
o Try /proc on Linux as entropy fallback; use sysctl as last resort (20fda29)
o Fix symbol conflict between mm_*() macros and libmm (99e50e9)
o Fix some crazy macro mistakes in arc4random.c (90d4225)
o Make evbuffer_add_file() work on windows (dcdae6b)
o Fix unused-variable warning when building with threads disabled (ad811cd)
o Numerous opensolaris compilation fixes (c44de06)
o Fix getaddrinfo with protocol unset on Solaris 9. Found by Dagobert Michelsen (2cf2a28)
o Fix another nasty solaris getaddrinfo() behavior (3557071)
o Define _REENTRANT as needed on Solaris, elsewhere (c1cd32a)
o Fix some autoconf issues on OpenBSD (7c519df)
BUILD AND DISTRIBUTION CHANGES
o Distribute libevent.pc.in, not libevent.pc (22aff04)
o Avoid errors in evutil.c when building with _UNICODE defined (b677032 Brodie Thiesfield)
o Avoid errors in http.c when building with VC 2003 .NET (13e4f3b Brodie Thiesfield)
o Support the standard 'make check' target in place of 'make verify' (426c8fb)
o Remove redundant stuff from EXTRA_DIST (b660edf)
o Switch to using AM conditionals in place of AC_LIBOBJ (2e898f5)
o Remove an orphaned RELEASE flag in Makefile.am (0794b0d)
o Give a better warning for bad automake versions. (77c917d)
o Use dist_bin_SCRIPTS, not EXTRA_DIST, to distribute scripts (9eb2fd7)
o Never test for select() on windows (3eb044d Trond Norbye)
o Do not inhibit automake dependencies generation (10c4c90 Giuseppe Scrivano)
o Create shared libraries under Windows (3cbca86 Giuseppe Scrivano)
o Add ctags/etags files to .gitignore (0861d17)
o Only specify -no-undefined on mingw (25433b9)
o Only add libevent_core.la to LIBADD on mingw (fdc6297)
TESTING
o Get bench_http to work on Windows; add a switch to enable IOCP. (4ac38a5 Christopher Davis)
o VC has no getopt(), so do without in bench_http. (1273d2f Christopher Davis)
o Fix an obnoxious typo in the bufferevent_timeout_filter test (0d047c3)
o Fix a write of uninitialized RAM in regression tests (68dc742)
o Fix some memory leaks in the unit tests (274a7bd)
o Make 'main/many_events' test 70 fds, not 64. (33874b0)
o Unit-test every evbuffer_add_file() implementation. (06a4443)
o Add more unit tests for evbuffer_expand (8c83e99)
o Test another case of evbuffer_prepend (1234b95)
o Fix a possible double-free bug in SSL bufferevents with CLOSE_ON_FREE (7501895) o Add dns/search_cancel unit test. (39b870b Christopher Davis)
o Make http_base_test stop leaking an event_base. (96730d3)
o Detect broken unsetenv at unit-test runtime (f37cd4c)
o Implement regress_make_tempfile on win32 to test evbuffer_add_file (b4f12a1)
o add more (currently skipped) add_file tests on win32 (05de45d)
o Fix bench_http build on win32. (384d124)
o Make unit test for add_file able to tell "error" from "done" (88a543f)
o Make test for bufferevent_connect_hostname system-neutral (f89168e)
o Make test.sh support mingw/msys on win32 (0ee6f6c)
o Fix test.sh on freebsd (3d9e05b)
INTERNALS, PERFORMANCE, AND AND CODE CLEANUPS
o Improve the speed of evbuffer_readln() (cc1600a)
o more whitespace normalization (2c2618d)
o Revise evbuffer to add last_with_data (2a6d2a1)
o Use last_with_data in place of previous_to_last (c8ac57f)
o Remove previous_to_last from evbuffer (6f47bd1)
o Fix last_with_data compilation on windows (1e7b986)
o Add some glass-box tests for the last_with_data code. (17da042)
o Improve robustness for refcounting (f1bc125)
o Remove a needless min_heap_shift_up_() call (7204b91)
o Increase MIN_BUFFER_SIZE to 512 (1024 on 64-bit) (2014ae4)
o Do not use evbuffer_expand() to add the first chain to a buffer (5c0ebb3)
o Make evbuffer_prepend handle empty buffers better (c87272b)
o Replace last_with_data with a slightly smarter version (b7442f8)
o Turn the increasingly complex *CHAIN() macros into functions (96865c4)
o Rewrite evbuffer_expand and its users (d5ebcf3)
o Add evutil_tv_to_msec for safe conversion of timevals to milliseconds. (850c3ff Christopher Davis)
o Initialize last_with_datap correctly in evbuffer_overlapped (a0983b6)
o Replace EVUTIL_CLOSESOCKET macro with a function (899c1dc Sebastian Sjöberg)
o Move domain search state to evdns_request. (beaa14a Christopher Davis)
o Remove redundant checks for lock!=NULL before calling EVLOCK_LOCK (50ec59f)
o Rename current_base symbol to event_global_current_base (c16e684)
o Fix whitespace in evutil.c (935e150)
o Replace users of "int fd" with "evutil_socket_t fd" in portable code (c7cf6f0)