]> granicus.if.org Git - libevent/commitdiff
Update changelog for 2.1.2-alpha
authorNick Mathewson <nickm@torproject.org>
Sun, 18 Nov 2012 15:53:26 +0000 (10:53 -0500)
committerNick Mathewson <nickm@torproject.org>
Sun, 18 Nov 2012 15:53:26 +0000 (10:53 -0500)
ChangeLog
README

index 274141bb473837e5b3c9a2c9b800946d3b60664f..70eccafa9758077e937cf80d52ab6be76a09ca3c 100644 (file)
--- a/ChangeLog
+++ b/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)
 
diff --git a/README b/README
index 313a803b85bef700908d8b52f4862568142eb659..2723a2cac0c38cb8822a37c948aaa61c8515ab4f 100644 (file)
--- a/README
+++ b/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.