[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[Libevent-users] ANN: Libevent 2.0.6-rc released



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 majordomo@xxxxxxxxxxxxx with
unsubscribe libevent-users    in the body.