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)
|
||||
|
||||
|
18
README
18
README
@ -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.
|
||||
|
Loading…
x
Reference in New Issue
Block a user