Hi everyone! Thanks to many people's hard work, Libevent 2.0 has now had its first release candidate. You can download it from the Sourceforge site at:
https://sourceforge.net/projects/levent/files/libevent/libevent-2.0/libevent-2.0.6-rc.tar.gz/download There's also a pgp signature of it (by me) there, at: https://sourceforge.net/projects/levent/files/libevent/libevent-2.0/libevent-2.0.6-rc.tar.gz.asc/download Don't forget to validate the signature. The complete list of changes is available in the ChangeLog file, included with the distribution. Niels will upload this to monkey.org as soon as he has a chance; he's been super-busy with his work lately, which is why I've been doing the "lead developer" stuff with this release. *** A note on http status With regret, I need to say that this release is really only "-rc" quality with respect to the non-evhttp parts of the code; the evhttp module should still be considered "beta" quality. I hope we can bring it up to snuff in the next release or two. Personally, I haven't been comfortable enough in the evhttp code to merge patches in it without review from Niels, and Niels has been to busy with work to get the time to fix bugs. I hope that we can change that with the next release or two, but we're going to need lots of help. *** What's new in 2.0.5-rc: Some highlights include: o Avoid event_del on uninitialized event in event_base_free (6d19510) o Correctly recognize .255 addresses as link-local when looking for interfaces (8c3452b) o Use generic win32 interfaces, not ASCII-only ones, where possible (899b0a3) o Fix the default HTTP error template (06bd056 Felix Nawothnig) o Close the file in evutil_read_file whether there's an error or not (0798dd1 Pierre Phaneuf) o Fix possible nullptr dereference in evhttp_send_reply_end() (29b2e23 Felix Nawothnig) o Fix a deadlock related to event-base notification. Diagnosed by Zhou Li, Avi Bab, and Scott Lamb. (17522d2) o Possible fix to 100% cpu usage with epoll and openssl (cf249e7 Mike Smellie) o Don't race when calling event_active/event_add on a running signal event (fc5e0a2) o Suppress a spurious EPERM warning in epoll.c (e73cbde) o Fix wrong size calculation of iovec buffers when exact=1 (65abdc2 niks) o Change bufferevent_openssl::do_write so it doesn't call SSL_write with a 0 length buffer (c991317 Mike Smellie) o Fix compilation of sample/le-proxy.c on win32 (13b912e Trond Norbye) o Fix rate-limit calculation on openssl bufferevents (009f300) o Remember to initialize timeout events for bufferevent_async (de1f5d6 Christopher Davis) o Move event-config.h to include/event2 (ec347b9) And others too numerous to list; see the ChangeLog file for the full details, and the git log for the even more full details. *** Fun facts about Libevent 2.0.5-rc: This release changes fewer lines than any other release in the 2.0 series: 2.0.6-rc: 104 files changed, 1749 insertions(+), 1192 deletions(-) 2.0.5-beta: 122 files changed, 3283 insertions(+), 1194 deletions(-) 2.0.4-alpha: 122 files changed, 8112 insertions(+), 4190 deletions(-) 2.0.3-alpha: 98 files changed, 10131 insertions(+), 2213 deletions(-) 2.0.2-alpha: 90 files changed, 5677 insertions(+), 1619 deletions(-) 2.0.1-alpha: 113 files changed, 23909 insertions(+), 7670 deletions(-) Unit test coverage is at 79.76%, up from 79.35% in Libevent 2.0.5-beta. The most tested nontrivial module is evmap.c at 92.44%. The least tested is bufferevent_ratelim.c at 58.05%. (Numbers taken from my Linux desktop; your coverage may vary.) The documentation at http://www.wangafu.net/~nickm/libevent-book/ now covers 66% of the exposed functions, constants, and structures in the Libevent headers. *** Status: Libevent 2.0.x-rc and beyond. Libevent 2.0 is *still* in feature-freeze (we won't add any more features to it), hack-freeze (no clever backend rewrites, refactorings, or major performance hacks), and API freeze (all code written to work with the documented APIs of Libevent 2.0.5-beta should continue to work with future versions of Libevent). We might change our minds about any of the above if there turn out to be exceptionally good reasons to do so; this is an aspiration, not a promise. ;) Please upload bug reports and patches to the sourceforge site at https://sourceforge.net/projects/levent/ . Feature requests and non-bugfix enhancements will be acknowledged but politely deferred till we fork Libevent 2.0 into a stable maintenance branch and start development on 2.1. *** Acknowledgements Many thanks to everybody who contributed code, suggestions, or bug reports to this release, including but absolutely not limited to Niels Provos, Christopher Davis, Trond Norbye, Joachim Bauch, Mike Smellie, Zhou Li, Avi Bab, Scott Lamb, Sebastian Hahn, Felix Nawothnig, Pierre Phaneuf, and Brodie Thiesfield, and my deep apologies if I forgot to list you here. peace, -- Nick Mathewson *********************************************************************** To unsubscribe, send an e-mail to majord...@freehaven.net with unsubscribe libevent-users in the body.