Update changelog for 2.1.2-alpha

This commit is contained in:
Nick Mathewson 2012-11-18 10:53:26 -05:00
parent 5af4caa9ee
commit 143cb613bd
2 changed files with 206 additions and 2 deletions

190
ChangeLog
View File

@ -1,4 +1,192 @@
Changes in version 2.1.2-alpha (?? ??? 2012)
Changes in version 2.1.2-alpha (18 Nov 2012)
Libevent 2.1.2-alpha includes more portable for monotonic timers,
refactors much of Libevent's internal and external infrastructure,
closes some longstanding gaps in the interface, makde other
improvements. Ths log below tries to organize features by rough area of
effect. It omits a few commits which were pure bugfixes on other commits
listed below. For more detail, see the git changelogs. For more
insight, see the "whatsnew-2.1.txt" document included in the Libevent
2.1.2-alpha distribution.
Libevent 2.1.2-alpha also includes all changes made in 2.0.19-stable
through 2.0.21-stable inclusive.
Performance (core):
o Replace pipe-based notification with EVFILT_USER where possible. This
should make multithreaded programs on OSX and *BSD alert the main thread a
little faster. (53a07fe)
o Make th_base_lock nonrecursive. (9cd5acb)
New/Changed API Functions:
o New event_get_priority() function to return an event's priority (f90e255)
o Add a bufferevent_get_priority() function (bd39554)
o Add an event_base_loopcontinue() to tell Libevent to rescan for more
events right away (7d6aa5e)
o Add a new callback to get called on evbuffer_file_segment free
(e9f8feb yangacer, 64051b9)
o Expose event_base_foreach_event() as a public API. (84fd6d7 Roman
Puls, 232055e, ffe1643)
o Add an event_remove_timer() to remove timer on an event without
deleting it (e3b2e08)
o Make bufferevent_set_timeouts(bev, NULL, NULL) have plausible
semantics (9dee36b)
o Rename event_enable_lock_debuging() to ..._debugging(). (The old name
should still work.) (07e132e)
o Add missing implementation for event_enable_debug_logging (3b3e21d)
PORTABLE MONOTONIC TIMERS:
Libevent 2.1.2 includes internal support for monotonic timers on
(nearly) all supported platforms, including Windows, and OSX. Libevent
applications should now be more resilient to jumps forwards or backwards
in the system clock. Also, on Linux systems with epoll, we now
optionally support microsecond-level timeouts (whereas epoll only
supports millisecond-precision timeouts).
o Use mach_absolute_time() for monotonic clock support on OSX. (b8fd6f9)
o Do not track use_monotonic field when is no monotonic clock (cb653a0)
o EVENT_BASE_FLAG_PRECISE_TIMER indicates we want fine timer precision
(ddd69d3)
o On Linux, use CLOCK_MONOTONIC_COARSE by default (55780a7)
o Implement a GetTickCount-based monotonic timer for Windows (d5e1d5a)
o Refactor monotonic timer handling into a new type and set of
functions; add a gettimeofday-based ratcheting implementation (f5e4eb0)
o Add EVENT_PRECISE_TIMER environment var for selecting precise-but-slow
timer (a2598ec)
o Implement fast/precise monotonic clocks on Windows (2c47045)
o Simple unit tests for monotonic timers (630f077)
o Improve the monotonic-time unit test: make it check the step size (7428c78)
o When PRECISE_TIMERS is set with epoll, use timerfd for microsecond
precision (26c7582)
o Split out time-related evutil functions into a new evutil_time.c (c419485)
o Split out time-related prototypes into time-internal.h (71bca50)
o Add evutil_time.obj to Makefile.nmake (0ba0683)
o Avoid giving a spurious warning when timerfd support is unavailable
(1aaf9f0 Dave Hart)
o Make test_evutil_monotonic a little more tolerant (def3b83)
o Avoid unused-var warning on systems with clock_gettime but without
CLOCK_MONOTONIC_COARSE (9be5468)
EVENT_BASE_ONCE LEAKS:
If a callback added by event_base_once() is never invoked, Libevent no
longer leaks internal memory.
o Free dangling event_once objects on event_base_free() (c17dd59)
o Add a unit test in which an event is created with event_base_once()
but never fires (4343edf)
TESTING SUPPORT, FIXES AND IMPROVEMENTS:
Libevent now disables by default its unit tests that would touch the
network, or that tend to fail on heavily-loaded systems. To re-enable
them, invoke the ./test/regress program with the @all alias.
o Simplify test.sh code significantly. (9b856fd Ross Lagerwall)
o Make all tests that hit the network disabled by default (f2cea87)
o Avoid a resource leak on error in http client benchmark (ea92fba)
o Update to latest tinytest (911b4f0349377) (ef7c4f7)
o Avoid (unlikely) overflow in bench_httpclient.c (5671033)
o Shave 700 msec off the persistent_timeout_jump test (21205b8)
o Check return value of write() in regress.c (c8009d2)
o Make load-dependent monotonic timer tests off-by-default (2b6fe8b)
o Add deferred_cb_skew to list of timing-dependent tests (34c8f31)
o Avoid test -e; older shs don't have one. (f1bd938)
o Fix renegotiation test to work around openssl 1.0.1 bug (c2f3086)
o Fix a couple of compile warnings in the unit tests (5a9a014)
MISC:
o Change evutil_weakrand_() to avoid platform random() (e86af4b Nicholas
Marriott, 3aa4415)
INFRASTRUCTURE (Active-later events):
As a simplification and optimization to Libevent's "deferred callback"
logic (introduced in 2.0 to avoid callback recursion), Libevent now
treats all of its deferrable callback types using the same logic it uses
for active events. Now deferred events no longer cause priority
inversion, no longer require special code to cancel them, and so on.
o Refactor the callback part of an event into its own event_callback
type (cba59e5)
o Add "active later" event_callbacks to supersede deferred (745a63d)
o event_base_assert_ok: check value of event_active_count for
correctness (fec8bae)
o Replace deferred_cbs with event_callback-based implementation. (ae2b84b)
o Replace more deferred_cb names with event_callback (a4079aa)
o Give event_base_process_active a single exit path (581b5be)
o Restore our priority-inversion-prevention code with deferreds (c0e425a)
o Refactor event_persist_closure: raise and extract some common logic
(bec22b4)
o Remove the unused bits from EVLIST_ALL (9889a3d)
BUILD IMPROVEMENTS:
Libevent 2.1.2-alpha modernizes Libevent's use of autotools, and makes
numerous other build system. Parallel builds should be faster, and all
builds should be quieter.
o Split long lists in Makefile.am into one-item-per-line (2711cda)
o Remove unnecessary code in configure.in. (e65914f Ross Lagerwall)
o attempt to support OpenSSL in Makefile.nmake (eba0eb2 Patrick Pelletier)
o Use newer syntax for autoconf/automake init (7d60ba8)
o Enable silent build rules by default. Override with V=1 (7b18e5c)
o Switch to non-recursive makefiles (7092f3b)
o Rename subordinate Makefile.ams to include.am (6cdfeeb)
o Make quiet build even quieter (371a123)
o New --quiet option for event_rpcgen.py (aa59c1e)
o Be quiet when making regress.gen.[ch] (607a8ff)
o Fix handling of no-python case for nonrecursive make (1e3123d)
o We now require automake 1.9 or later. Modernize! (b7f6e89)
o Rename configure.in to configure.ac. (b3fea67 Ross Lagerwall)
o Use correct openssl libs and includes in pkgconfig file (d70af27)
o Use the same CFLAGS for openssl when building unit tests as with
libevent (1d9d511)
DOCUMENTATION
o Note that make_base_notifiable should not be necessary (26ee5f9)
o Be more clear that LEV_OPT_DEFERRED_ACCEPT has tricky prereqs (371efeb)
o Add caveat to docs about bufferevent_free() with data in outbuf (6fab9ee)
o Make it more clear that NOLOCK means "I promise, no multithreading"
(9444524)
o Fix a comment in test-fdleak after 077c7e949. (3881d8f Ross Lagerwall)
o Make the Makefile.nmake warning slightly less dire (e7bf4c8)
o Fix typo : events instead of evets (05f1aca Azat Khuzhin)
o Additional comments about OPENSSL_DIR variable, prompted by Dave Hart
(6bde2ef Patrick Pelletier)
EVHTTP:
o ignore LWS after field-content in headers (370a2c0 Artem Germanov)
o Clean up rtrim implementation (aa59d80)
o Remove trailing tabs in HTTP headers as well. (ac42519)
o Remove internal ws from multiline http headers correctly (c6ff381)
o Move evutil_rtrim_lws_ to evutil.c where it belongs (61b93af)
o add evhttp_request_get_response_code_line (4f4d0c9 Jay R. Wren)
o Use EVUTIL_SOCKET_ERROR() wrapper to save/restore errno in
evhttp_connection_fail_ (7afbd60)
o preserve errno in evhttp_connection_fail_ for inspection by the
callback (36d0ee5 Patrick Pelletier)
BUGFIXES:
o Correctly handle running on a system where accept4 doesn't work. (9fbfe9b)
o Avoid double-free on error in evbuffer_add_file. Found by
coverity. (6a81b1f)
o Fix another possible uninitialized read in dns regression tests. Found
by coverity. (13525c5)
o Add checks for functions in test-ratelim.c; found by Coverity (aa501e1)
o Avoid memory leak in test_event_calloc unit test; found by coverity
(92817a1)
o Fix a shadowed variable in addfile_test_readcb; found by coverity
(225344c)
o Check return value when using LEV_OPT_DEFERRED_ACCEPT. Found by
coverity (6487f63)
o Prevent reference leak of bufferevent if getaddrinfo fails. (b757786
Joachim Bauch)
o Make event_base_getnpriorities work with old "implicit base" code
(c46cb9c)
o Simplify and correct evutil_open_closeonexec_ (0de587f)
o Fix event_dlist definition when sys/queue not included (81b6209
Derrick Pallas)
Changes in version 2.1.1-alpha (4 Apr 2012)

18
README
View File

@ -92,20 +92,27 @@ fixing bugs:
Lawnstein Chan
Shuo Chen
Ka-Hing Cheung
Andrew Cox
Paul Croome
George Danchev
Andrew Danforth
Ed Day
Christopher Davis
Mike Davis
Antony Dovgal
Mihai Draghicioiu
Alexander Drozdov
Mark Ellzey
Shie Erlich
Leonid Evdokimov
Juan Pablo Fernandez
Christophe Fillot
Mike Frysinger
Remi Gacogne
Artem Germanov
Alexander von Gernler
Artur Grabowski
Diwaker Gupta
Sebastian Hahn
Dave Hart
Greg Hazel
@ -115,6 +122,7 @@ fixing bugs:
Mark Heily
Michael Herf
Greg Hewgill
Andrew Hochhaus
Aaron Hopkins
Tani Hosokawa
Jamie Iles
@ -122,6 +130,8 @@ fixing bugs:
Evan Jones
George Kadianakis
Phua Keat
Azat Khuzhin
Alexander Klauer
Kevin Ko
Brian Koehmstedt
Marko Kreen
@ -136,6 +146,7 @@ fixing bugs:
David Libenzi
Yan Lin
Moshe Litvin
Simon Liu
Mitchell Livingston
Hagne Mahre
Lubomir Marinov
@ -157,8 +168,10 @@ fixing bugs:
Jon Oberheide
Phil Oleson
Dave Pacheco
Derrick Pallas
Tassilo von Parseval
Catalin Patulea
Patrick Pelletier
Simon Perreault
Pierre Phaneuf
Amarin Phaosawasdi
@ -166,6 +179,7 @@ fixing bugs:
Dimitre Piskyulev
Pavel Plesov
Jon Poland
Roman Puls
Nate R
Robert Ransom
Bert JW Regeer
@ -192,11 +206,13 @@ fixing bugs:
Colin Watt
Zack Weinberg
Jardel Weyrich
Jay R. Wren
Zack Weinberg
Alejo
Alex
Taral
propanbutan
mmadia
yangacer
If we have forgotten your name, please contact us.