mirror of
https://github.com/cuberite/libevent.git
synced 2025-08-04 01:36:23 -04:00
Update changelog for 2.1.2-alpha
This commit is contained in:
parent
5af4caa9ee
commit
143cb613bd
190
ChangeLog
190
ChangeLog
@ -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)
|
Changes in version 2.1.1-alpha (4 Apr 2012)
|
||||||
|
|
||||||
|
18
README
18
README
@ -92,20 +92,27 @@ fixing bugs:
|
|||||||
Lawnstein Chan
|
Lawnstein Chan
|
||||||
Shuo Chen
|
Shuo Chen
|
||||||
Ka-Hing Cheung
|
Ka-Hing Cheung
|
||||||
|
Andrew Cox
|
||||||
|
Paul Croome
|
||||||
|
George Danchev
|
||||||
Andrew Danforth
|
Andrew Danforth
|
||||||
Ed Day
|
Ed Day
|
||||||
Christopher Davis
|
Christopher Davis
|
||||||
Mike Davis
|
Mike Davis
|
||||||
|
Antony Dovgal
|
||||||
Mihai Draghicioiu
|
Mihai Draghicioiu
|
||||||
Alexander Drozdov
|
Alexander Drozdov
|
||||||
Mark Ellzey
|
Mark Ellzey
|
||||||
Shie Erlich
|
Shie Erlich
|
||||||
Leonid Evdokimov
|
Leonid Evdokimov
|
||||||
|
Juan Pablo Fernandez
|
||||||
Christophe Fillot
|
Christophe Fillot
|
||||||
Mike Frysinger
|
Mike Frysinger
|
||||||
Remi Gacogne
|
Remi Gacogne
|
||||||
|
Artem Germanov
|
||||||
Alexander von Gernler
|
Alexander von Gernler
|
||||||
Artur Grabowski
|
Artur Grabowski
|
||||||
|
Diwaker Gupta
|
||||||
Sebastian Hahn
|
Sebastian Hahn
|
||||||
Dave Hart
|
Dave Hart
|
||||||
Greg Hazel
|
Greg Hazel
|
||||||
@ -115,6 +122,7 @@ fixing bugs:
|
|||||||
Mark Heily
|
Mark Heily
|
||||||
Michael Herf
|
Michael Herf
|
||||||
Greg Hewgill
|
Greg Hewgill
|
||||||
|
Andrew Hochhaus
|
||||||
Aaron Hopkins
|
Aaron Hopkins
|
||||||
Tani Hosokawa
|
Tani Hosokawa
|
||||||
Jamie Iles
|
Jamie Iles
|
||||||
@ -122,6 +130,8 @@ fixing bugs:
|
|||||||
Evan Jones
|
Evan Jones
|
||||||
George Kadianakis
|
George Kadianakis
|
||||||
Phua Keat
|
Phua Keat
|
||||||
|
Azat Khuzhin
|
||||||
|
Alexander Klauer
|
||||||
Kevin Ko
|
Kevin Ko
|
||||||
Brian Koehmstedt
|
Brian Koehmstedt
|
||||||
Marko Kreen
|
Marko Kreen
|
||||||
@ -136,6 +146,7 @@ fixing bugs:
|
|||||||
David Libenzi
|
David Libenzi
|
||||||
Yan Lin
|
Yan Lin
|
||||||
Moshe Litvin
|
Moshe Litvin
|
||||||
|
Simon Liu
|
||||||
Mitchell Livingston
|
Mitchell Livingston
|
||||||
Hagne Mahre
|
Hagne Mahre
|
||||||
Lubomir Marinov
|
Lubomir Marinov
|
||||||
@ -157,8 +168,10 @@ fixing bugs:
|
|||||||
Jon Oberheide
|
Jon Oberheide
|
||||||
Phil Oleson
|
Phil Oleson
|
||||||
Dave Pacheco
|
Dave Pacheco
|
||||||
|
Derrick Pallas
|
||||||
Tassilo von Parseval
|
Tassilo von Parseval
|
||||||
Catalin Patulea
|
Catalin Patulea
|
||||||
|
Patrick Pelletier
|
||||||
Simon Perreault
|
Simon Perreault
|
||||||
Pierre Phaneuf
|
Pierre Phaneuf
|
||||||
Amarin Phaosawasdi
|
Amarin Phaosawasdi
|
||||||
@ -166,6 +179,7 @@ fixing bugs:
|
|||||||
Dimitre Piskyulev
|
Dimitre Piskyulev
|
||||||
Pavel Plesov
|
Pavel Plesov
|
||||||
Jon Poland
|
Jon Poland
|
||||||
|
Roman Puls
|
||||||
Nate R
|
Nate R
|
||||||
Robert Ransom
|
Robert Ransom
|
||||||
Bert JW Regeer
|
Bert JW Regeer
|
||||||
@ -192,11 +206,13 @@ fixing bugs:
|
|||||||
Colin Watt
|
Colin Watt
|
||||||
Zack Weinberg
|
Zack Weinberg
|
||||||
Jardel Weyrich
|
Jardel Weyrich
|
||||||
|
Jay R. Wren
|
||||||
|
Zack Weinberg
|
||||||
Alejo
|
Alejo
|
||||||
Alex
|
Alex
|
||||||
Taral
|
Taral
|
||||||
propanbutan
|
propanbutan
|
||||||
mmadia
|
mmadia
|
||||||
|
yangacer
|
||||||
|
|
||||||
If we have forgotten your name, please contact us.
|
If we have forgotten your name, please contact us.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user