Home | History | Annotate | Line # | Download | only in libevent
ChangeLog revision 1.1.1.1
      1  1.1  christos Changes in version 2.1.3-alpha (?? ??? 201?)
      2  1.1  christos 
      3  1.1  christos 
      4  1.1  christos Changes in version 2.1.2-alpha (18 Nov 2012)
      5  1.1  christos 
      6  1.1  christos  Libevent 2.1.2-alpha includes more portable for monotonic timers,
      7  1.1  christos  refactors much of Libevent's internal and external infrastructure,
      8  1.1  christos  closes some longstanding gaps in the interface, makde other
      9  1.1  christos  improvements.  Ths log below tries to organize features by rough area of
     10  1.1  christos  effect.  It omits a few commits which were pure bugfixes on other commits
     11  1.1  christos  listed below.  For more detail, see the git changelogs.  For more
     12  1.1  christos  insight, see the "whatsnew-2.1.txt" document included in the Libevent
     13  1.1  christos  2.1.2-alpha distribution.
     14  1.1  christos 
     15  1.1  christos  Libevent 2.1.2-alpha also includes all changes made in 2.0.19-stable
     16  1.1  christos  through 2.0.21-stable inclusive.
     17  1.1  christos 
     18  1.1  christos  Performance (core):
     19  1.1  christos    o Replace pipe-based notification with EVFILT_USER where possible. This
     20  1.1  christos      should make multithreaded programs on OSX and *BSD alert the main thread a
     21  1.1  christos      little faster. (53a07fe)
     22  1.1  christos    o Make th_base_lock nonrecursive. (9cd5acb)
     23  1.1  christos 
     24  1.1  christos  New/Changed API Functions:
     25  1.1  christos    o New event_get_priority() function to return an event's priority (f90e255)
     26  1.1  christos    o Add a bufferevent_get_priority() function (bd39554)
     27  1.1  christos    o Add an event_base_loopcontinue() to tell Libevent to rescan for more
     28  1.1  christos      events right away (7d6aa5e)
     29  1.1  christos    o Add a new callback to get called on evbuffer_file_segment free
     30  1.1  christos      (e9f8feb yangacer, 64051b9)
     31  1.1  christos    o Expose event_base_foreach_event() as a public API. (84fd6d7 Roman
     32  1.1  christos       Puls, 232055e, ffe1643)
     33  1.1  christos    o Add an event_remove_timer() to remove timer on an event without
     34  1.1  christos      deleting it (e3b2e08)
     35  1.1  christos    o Make bufferevent_set_timeouts(bev, NULL, NULL) have plausible
     36  1.1  christos      semantics (9dee36b)
     37  1.1  christos    o Rename event_enable_lock_debuging() to ..._debugging(). (The old name
     38  1.1  christos      should still work.) (07e132e)
     39  1.1  christos    o Add missing implementation for event_enable_debug_logging (3b3e21d)
     40  1.1  christos 
     41  1.1  christos  PORTABLE MONOTONIC TIMERS:
     42  1.1  christos 
     43  1.1  christos    Libevent 2.1.2 includes internal support for monotonic timers on
     44  1.1  christos    (nearly) all supported platforms, including Windows, and OSX.  Libevent
     45  1.1  christos    applications should now be more resilient to jumps forwards or backwards
     46  1.1  christos    in the system clock.  Also, on Linux systems with epoll, we now
     47  1.1  christos    optionally support microsecond-level timeouts (whereas epoll only
     48  1.1  christos    supports millisecond-precision timeouts).
     49  1.1  christos 
     50  1.1  christos    o Use mach_absolute_time() for monotonic clock support on OSX. (b8fd6f9)
     51  1.1  christos    o Do not track use_monotonic field when is no monotonic clock (cb653a0)
     52  1.1  christos    o EVENT_BASE_FLAG_PRECISE_TIMER indicates we want fine timer precision
     53  1.1  christos      (ddd69d3)
     54  1.1  christos    o On Linux, use CLOCK_MONOTONIC_COARSE by default (55780a7)
     55  1.1  christos    o Implement a GetTickCount-based monotonic timer for Windows (d5e1d5a)
     56  1.1  christos    o Refactor monotonic timer handling into a new type and set of
     57  1.1  christos      functions; add a gettimeofday-based ratcheting implementation (f5e4eb0)
     58  1.1  christos    o Add EVENT_PRECISE_TIMER environment var for selecting precise-but-slow
     59  1.1  christos      timer (a2598ec)
     60  1.1  christos    o Implement fast/precise monotonic clocks on Windows (2c47045)
     61  1.1  christos    o Simple unit tests for monotonic timers (630f077)
     62  1.1  christos    o Improve the monotonic-time unit test: make it check the step size (7428c78)
     63  1.1  christos    o When PRECISE_TIMERS is set with epoll, use timerfd for microsecond
     64  1.1  christos      precision (26c7582)
     65  1.1  christos    o Split out time-related evutil functions into a new evutil_time.c (c419485)
     66  1.1  christos    o Split out time-related prototypes into time-internal.h (71bca50)
     67  1.1  christos    o Add evutil_time.obj to Makefile.nmake (0ba0683)
     68  1.1  christos    o Avoid giving a spurious warning when timerfd support is unavailable
     69  1.1  christos      (1aaf9f0 Dave Hart)
     70  1.1  christos    o Make test_evutil_monotonic a little more tolerant (def3b83)
     71  1.1  christos    o Avoid unused-var warning on systems with clock_gettime but without
     72  1.1  christos      CLOCK_MONOTONIC_COARSE (9be5468)
     73  1.1  christos 
     74  1.1  christos EVENT_BASE_ONCE LEAKS:
     75  1.1  christos    If a callback added by event_base_once() is never invoked, Libevent no
     76  1.1  christos    longer leaks internal memory.
     77  1.1  christos 
     78  1.1  christos    o Free dangling event_once objects on event_base_free() (c17dd59)
     79  1.1  christos    o Add a unit test in which an event is created with event_base_once()
     80  1.1  christos      but never fires (4343edf)
     81  1.1  christos 
     82  1.1  christos TESTING SUPPORT, FIXES AND IMPROVEMENTS:
     83  1.1  christos 
     84  1.1  christos    Libevent now disables by default its unit tests that would touch the
     85  1.1  christos    network, or that tend to fail on heavily-loaded systems.  To re-enable
     86  1.1  christos    them, invoke the ./test/regress program with the @all alias.
     87  1.1  christos 
     88  1.1  christos    o Simplify test.sh code significantly. (9b856fd Ross Lagerwall)
     89  1.1  christos    o Make all tests that hit the network disabled by default (f2cea87)
     90  1.1  christos    o Avoid a resource leak on error in http client benchmark (ea92fba)
     91  1.1  christos    o Update to latest tinytest (911b4f0349377) (ef7c4f7)
     92  1.1  christos    o Avoid (unlikely) overflow in bench_httpclient.c (5671033)
     93  1.1  christos    o Shave 700 msec off the persistent_timeout_jump test (21205b8)
     94  1.1  christos    o Check return value of write() in regress.c (c8009d2)
     95  1.1  christos    o Make load-dependent monotonic timer tests off-by-default (2b6fe8b)
     96  1.1  christos    o Add deferred_cb_skew to list of timing-dependent tests (34c8f31)
     97  1.1  christos    o Avoid test -e; older shs don't have one. (f1bd938)
     98  1.1  christos    o Fix renegotiation test to work around openssl 1.0.1 bug (c2f3086)
     99  1.1  christos    o Fix a couple of compile warnings in the unit tests (5a9a014)
    100  1.1  christos 
    101  1.1  christos MISC:
    102  1.1  christos    o Change evutil_weakrand_() to avoid platform random() (e86af4b Nicholas
    103  1.1  christos      Marriott, 3aa4415)
    104  1.1  christos 
    105  1.1  christos INFRASTRUCTURE (Active-later events):
    106  1.1  christos    As a simplification and optimization to Libevent's "deferred callback"
    107  1.1  christos    logic (introduced in 2.0 to avoid callback recursion), Libevent now
    108  1.1  christos    treats all of its deferrable callback types using the same logic it uses
    109  1.1  christos    for active events.  Now deferred events no longer cause priority
    110  1.1  christos    inversion, no longer require special code to cancel them, and so on.
    111  1.1  christos 
    112  1.1  christos    o Refactor the callback part of an event into its own event_callback
    113  1.1  christos      type (cba59e5)
    114  1.1  christos    o Add "active later" event_callbacks to supersede deferred (745a63d)
    115  1.1  christos    o event_base_assert_ok: check value of event_active_count for
    116  1.1  christos      correctness (fec8bae)
    117  1.1  christos    o Replace deferred_cbs with event_callback-based implementation. (ae2b84b)
    118  1.1  christos    o Replace more deferred_cb names with event_callback (a4079aa)
    119  1.1  christos    o Give event_base_process_active a single exit path (581b5be)
    120  1.1  christos    o Restore our priority-inversion-prevention code with deferreds (c0e425a)
    121  1.1  christos    o Refactor event_persist_closure: raise and extract some common logic
    122  1.1  christos      (bec22b4)
    123  1.1  christos    o Remove the unused bits from EVLIST_ALL (9889a3d)
    124  1.1  christos 
    125  1.1  christos BUILD IMPROVEMENTS:
    126  1.1  christos  Libevent 2.1.2-alpha modernizes Libevent's use of autotools, and makes
    127  1.1  christos  numerous other build system. Parallel builds should be faster, and all
    128  1.1  christos  builds should be quieter.
    129  1.1  christos 
    130  1.1  christos    o Split long lists in Makefile.am into one-item-per-line (2711cda)
    131  1.1  christos    o Remove unnecessary code in configure.in. (e65914f Ross Lagerwall)
    132  1.1  christos    o attempt to support OpenSSL in Makefile.nmake (eba0eb2 Patrick Pelletier)
    133  1.1  christos    o Use newer syntax for autoconf/automake init (7d60ba8)
    134  1.1  christos    o Enable silent build rules by default. Override with V=1 (7b18e5c)
    135  1.1  christos    o Switch to non-recursive makefiles (7092f3b)
    136  1.1  christos    o Rename subordinate Makefile.ams to include.am (6cdfeeb)
    137  1.1  christos    o Make quiet build even quieter (371a123)
    138  1.1  christos    o New --quiet option for event_rpcgen.py (aa59c1e)
    139  1.1  christos    o Be quiet when making regress.gen.[ch] (607a8ff)
    140  1.1  christos    o Fix handling of no-python case for nonrecursive make (1e3123d)
    141  1.1  christos    o We now require automake 1.9 or later. Modernize! (b7f6e89)
    142  1.1  christos    o Rename configure.in to configure.ac. (b3fea67 Ross Lagerwall)
    143  1.1  christos    o Use correct openssl libs and includes in pkgconfig file (d70af27)
    144  1.1  christos    o Use the same CFLAGS for openssl when building unit tests as with
    145  1.1  christos      libevent (1d9d511)
    146  1.1  christos 
    147  1.1  christos DOCUMENTATION
    148  1.1  christos    o Note that make_base_notifiable should not be necessary (26ee5f9)
    149  1.1  christos    o Be more clear that LEV_OPT_DEFERRED_ACCEPT has tricky prereqs (371efeb)
    150  1.1  christos    o Add caveat to docs about bufferevent_free() with data in outbuf (6fab9ee)
    151  1.1  christos    o Make it more clear that NOLOCK means "I promise, no multithreading"
    152  1.1  christos     (9444524)
    153  1.1  christos    o Fix a comment in test-fdleak after 077c7e949. (3881d8f Ross Lagerwall)
    154  1.1  christos    o Make the Makefile.nmake warning slightly less dire (e7bf4c8)
    155  1.1  christos    o Fix typo : events instead of evets (05f1aca Azat Khuzhin)
    156  1.1  christos    o Additional comments about OPENSSL_DIR variable, prompted by Dave Hart
    157  1.1  christos      (6bde2ef Patrick Pelletier)
    158  1.1  christos 
    159  1.1  christos EVHTTP:
    160  1.1  christos    o ignore LWS after field-content in headers (370a2c0 Artem Germanov)
    161  1.1  christos    o Clean up rtrim implementation (aa59d80)
    162  1.1  christos    o Remove trailing tabs in HTTP headers as well. (ac42519)
    163  1.1  christos    o Remove internal ws from multiline http headers correctly (c6ff381)
    164  1.1  christos    o Move evutil_rtrim_lws_ to evutil.c where it belongs (61b93af)
    165  1.1  christos    o add evhttp_request_get_response_code_line (4f4d0c9 Jay R. Wren)
    166  1.1  christos    o Use EVUTIL_SOCKET_ERROR() wrapper to save/restore errno in
    167  1.1  christos      evhttp_connection_fail_ (7afbd60)
    168  1.1  christos    o preserve errno in evhttp_connection_fail_ for inspection by the
    169  1.1  christos      callback (36d0ee5 Patrick Pelletier)
    170  1.1  christos 
    171  1.1  christos BUGFIXES:
    172  1.1  christos    o Correctly handle running on a system where accept4 doesn't work. (9fbfe9b)
    173  1.1  christos    o Avoid double-free on error in evbuffer_add_file. Found by
    174  1.1  christos      coverity. (6a81b1f)
    175  1.1  christos    o Fix another possible uninitialized read in dns regression tests. Found
    176  1.1  christos      by coverity. (13525c5)
    177  1.1  christos    o Add checks for functions in test-ratelim.c; found by Coverity (aa501e1)
    178  1.1  christos    o Avoid memory leak in test_event_calloc unit test; found by coverity
    179  1.1  christos      (92817a1)
    180  1.1  christos    o Fix a shadowed variable in addfile_test_readcb; found by coverity
    181  1.1  christos      (225344c)
    182  1.1  christos    o Check return value when using LEV_OPT_DEFERRED_ACCEPT. Found by
    183  1.1  christos      coverity (6487f63)
    184  1.1  christos    o Prevent reference leak of bufferevent if getaddrinfo fails. (b757786
    185  1.1  christos      Joachim Bauch)
    186  1.1  christos    o Make event_base_getnpriorities work with old "implicit base" code
    187  1.1  christos      (c46cb9c)
    188  1.1  christos    o Simplify and correct evutil_open_closeonexec_ (0de587f)
    189  1.1  christos    o Fix event_dlist definition when sys/queue not included (81b6209
    190  1.1  christos      Derrick Pallas)
    191  1.1  christos 
    192  1.1  christos 
    193  1.1  christos 
    194  1.1  christos Changes in version 2.1.1-alpha (4 Apr 2012)
    195  1.1  christos 
    196  1.1  christos  Libevent 2.1.1-alpha includes a number of new features and performance
    197  1.1  christos  improvements.  The log below tries to organize them by rough area of
    198  1.1  christos  effect.  It omits some commits which were pure bugfixes on other commits
    199  1.1  christos  listed below.  For more detail, see the git changelogs.  For more
    200  1.1  christos  insight, see the "whatsnew-2.1.txt" document included in the Libevent
    201  1.1  christos  2.1.1-alpha distribution.
    202  1.1  christos 
    203  1.1  christos  Performance: Core
    204  1.1  christos    o Replace several TAILQ users with LIST. LIST can be a little faster than
    205  1.1  christos      TAILQ for cases where we don't need queue-like behavior. (f9db33d,
    206  1.1  christos      6494772, d313c29, 974d004)
    207  1.1  christos    o Disabled code to optimize the case where we reinsert an existing
    208  1.1  christos      timeout (e47042f, 09cbc3d)
    209  1.1  christos    o Remove a needless base-notify when rescheduling the first timeout (77a96fd)
    210  1.1  christos    o Save a needless comparison when removing/adjusting timeouts (dd5189b)
    211  1.1  christos    o Possible optimization: split event_queue_insert/remove into
    212  1.1  christos      separate functions. needs testing (efc4dc5)
    213  1.1  christos    o Make event_count maintenance branchless at the expense of an
    214  1.1  christos      extra shift. Needs benchmarking (d1cee3b)
    215  1.1  christos    o In the 2.1 branch, let's try out lazy gettimeofday/clock_gettime
    216  1.1  christos      comparison (2a83ecc)
    217  1.1  christos    o Optimization in event_process_active(): ignore maxcb & endtime
    218  1.1  christos      for highest priority events. (a9866aa Alexander Drozdov)
    219  1.1  christos    o Bypass event_add when using event_base_once() for a 0-sec timeout (35c5c95)
    220  1.1  christos    o Remove the eventqueue list and the ev_next pointers. (604569b 066775e)
    221  1.1  christos 
    222  1.1  christos  Performance: Evbuffers
    223  1.1  christos    o Roughly 20% speed increase when line-draining a buffer using
    224  1.1  christos      EVBUFFER_EOL_CRLF (5dde0f0 Mina Naguib)
    225  1.1  christos    o Try to squeeze a little more speed out of EVBUFFER_EOL_CRLF (7b9d139)
    226  1.1  christos    o Fix a bug in the improved EOL_CRLF code (d927965)
    227  1.1  christos    o Remove a needless branch in evbuffer_drain() (d19a326)
    228  1.1  christos 
    229  1.1  christos  Performance: Linux
    230  1.1  christos    o Infrastructure for using faster/fewer syscalls when creating
    231  1.1  christos      sockets (a1c042b)
    232  1.1  christos    o Minimize syscalls during socket creation in listener.c (7e9e289)
    233  1.1  christos    o Use a wrapper function to create the notification
    234  1.1  christos      pipe/socketpair/eventfd (ca76cd9)
    235  1.1  christos    o Use pipes for telling signals to main thread when possible (a35f396)
    236  1.1  christos    o Save syscalls when constructing listener sockets for evhttp (af6c9d8)
    237  1.1  christos    o Save some syscalls when creating evdns sockets (713e570)
    238  1.1  christos    o Save some syscalls when constructing a socket for a bufferevent (33fca62)
    239  1.1  christos    o Prefer epoll_create1 on Linuxen that have it (bac906c)
    240  1.1  christos 
    241  1.1  christos  Performance: Epoll backend
    242  1.1  christos    o Use current event set rather than current pending change when
    243  1.1  christos      deciding whether to no-op a del (04ba27e Mike Smellie)
    244  1.1  christos    o Replace big chain of if/thens in epoll.c with a table lookup (8c83eb6)
    245  1.1  christos    o Clean up error handling in epoll_apply_one_change() a little (2d55a19)
    246  1.1  christos 
    247  1.1  christos  Performance: Evport backend
    248  1.1  christos    o evport: use evmap_io to track fdinfo status. Should save time and
    249  1.1  christos      RAM. (4687ce4)
    250  1.1  christos    o evport: Remove a linear search over recent events when
    251  1.1  christos      reactivating them (0f77efe)
    252  1.1  christos    o evport: Use portev_user to remember fdinfo struct (276ec0e)
    253  1.1  christos    o evport: don't scan more events in ed_pending than needed (849a5cf)
    254  1.1  christos    o evport: Remove artificial low limit on max events per getn call (c04d927)
    255  1.1  christos    o Reenable main/many_events_slow_add for evport in 2.1 (e903db3)
    256  1.1  christos 
    257  1.1  christos  Performance: Windows
    258  1.1  christos    o Use GetSystemTimeAsFileTime to implement gettimeofday on
    259  1.1  christos      win32. It's faster and more accurate than our old
    260  1.1  christos      approach. (b8b8aa5)
    261  1.1  christos 
    262  1.1  christos  New functions and features: debugging
    263  1.1  christos    o Add event_enable_debug_logging() to control use of debug logs (e30a82f)
    264  1.1  christos 
    265  1.1  christos  New functions and features: core
    266  1.1  christos    o Add event_config function to limit time/callbacks between calls
    267  1.1  christos      to dispatch (fd4de1e, 9fa56bd, a37a0c0, 3c63edd)
    268  1.1  christos    o New EVLOOP_NO_EXIT_ON_EMPTY option to keep looping even when no
    269  1.1  christos      events are pending (084e68f)
    270  1.1  christos    o Add event_base_get_npriorities() function. (ee3a4ee Alexander Drozdov)
    271  1.1  christos    o Make evbase_priority_init() and evbase_get_npriorities()
    272  1.1  christos      threadsafe (3c55b5e)
    273  1.1  christos    o New event_base_update_cache_time() to set cached_tv to current
    274  1.1  christos      time (212533e Abel Mathew)
    275  1.1  christos    o Add event_self_cbarg() to be used in conjunction with
    276  1.1  christos      event_new(). (ed36e6a Ross Lagerwall, fa931bb, 09a1906, 1338e6c,
    277  1.1  christos      33e43ef)
    278  1.1  christos    o Add a new libevent_global_shutdown() to free all globals before
    279  1.1  christos      exiting. (041ca00 Mark Ellzey, f98c158, 15296d0, 55e991b)
    280  1.1  christos    o Use getifaddrs to detect our interfaces if possible (7085a45)
    281  1.1  christos    o Add event_base_get_running_event() to get the event* whose cb we
    282  1.1  christos      are in (c5732fd, 13dad99)
    283  1.1  christos 
    284  1.1  christos  New functions and features: building
    285  1.1  christos    o Implement --enable-gcc-hardening configure option (7550267 Sebastian Hahn)
    286  1.1  christos 
    287  1.1  christos  New functions and features: evbuffers
    288  1.1  christos    o Add evbuffer_add_file_segment() so one fd can be used efficiently
    289  1.1  christos      in more than one evbuffer_add_file at a time (e72afae, c2d9884,
    290  1.1  christos      3f405d2, 0aad014)
    291  1.1  christos    o Fix windows file segment mappings (8254de7)
    292  1.1  christos    o Allow evbuffer_ptr_set to yield a point just after the end of the
    293  1.1  christos      buffer. (e6fe1da)
    294  1.1  christos    o Allow evbuffer_ptr to point to position 0 in an empty evbuffer
    295  1.1  christos      (7aeb2fd Nir Soffer)
    296  1.1  christos    o Set the special "not found" evbuffer_ptr consistently. (e3e97ae Nir Soffer)
    297  1.1  christos    o support adding buffers to other buffers non-destructively
    298  1.1  christos      (9d7368a Joachim Bauch)
    299  1.1  christos    o prevent nested multicast references, reworked locking (26041a8
    300  1.1  christos      Joachim Bauch)
    301  1.1  christos    o New EVBUFFER_EOL_NUL to read NUL-terminated strings from an
    302  1.1  christos      evbuffer (d7a8b36 Andrea Montefusco, 54142c9)
    303  1.1  christos    o Make evbuffer_file_segment_types adaptable (c6bbbf1)
    304  1.1  christos    o Added evbuffer_add_iovec and unit tests. (aaec5ac Mark Ellzey, 27b5398)
    305  1.1  christos    o Add evbuffer_copyout_from to copy data from the middle of a
    306  1.1  christos      buffer (27e2225)
    307  1.1  christos 
    308  1.1  christos  New functions and features: bufferevents
    309  1.1  christos    o Allow users to set allow_dirty_shutdown (099d27d Catalin Patulea)
    310  1.1  christos    o Tweak allow_dirty_shutdown documentation (a44cd2b)
    311  1.1  christos    o Fix two issues in the allow_dirty_shutdown code. (f3b89de)
    312  1.1  christos    o Add a bufferevent_getcb() to find a bufferevent's current
    313  1.1  christos      callbacks (a650394)
    314  1.1  christos    o bufferevent: Add functions to set/get max_single_read/write
    315  1.1  christos      values. (998c813 Alexander Drozdov)
    316  1.1  christos    o bev_ssl: Be more specific in event callbacks. evhttp in particular gets
    317  1.1  christos      confused without at least one of BEV_EVENT_{READING|WRITING}. (f7eb69a
    318  1.1  christos      Catalin Patulea)
    319  1.1  christos 
    320  1.1  christos  New functions and features: evconnlisteners
    321  1.1  christos    o Support TCP_DEFER_ACCEPT sockopts for listeners (5880e4a Mark Ellzey,
    322  1.1  christos      a270728)
    323  1.1  christos    o Add another caveat to the TCP_DEFER_ACCEPT documentation (a270728)
    324  1.1  christos    o Allow evconnlistener to be created in disabled state. (9593a33
    325  1.1  christos      Alexander Drozdov)
    326  1.1  christos    o The LEV_OPT_CLOSE_ON_EXEC flag now applies to accepted listener
    327  1.1  christos      sockets too (4970329)
    328  1.1  christos 
    329  1.1  christos  Evhttp:
    330  1.1  christos    o Add new evhttp_{connection_}set_timeout_tv() functions to set
    331  1.1  christos      finger-grained http timeouts (6350e6c Constantine Verutin)
    332  1.1  christos    o Performance tweak to evhttp_parse_request_line. (aee1a97 Mark Ellzey)
    333  1.1  christos    o Add missing break to evhttp_parse_request_line (0fcc536)
    334  1.1  christos    o Add evhttp callback for bufferevent creation; this lets evhttp
    335  1.1  christos      support SSL. (8d3a850)
    336  1.1  christos    o Remove calls to deprecated bufferevent functions from evhttp.c (4d63758)
    337  1.1  christos    o evhttp: Add evhttp_foreach_bound_socket. (a2c48e3 Samy Al Bahra)
    338  1.1  christos 
    339  1.1  christos  Build improvements:
    340  1.1  christos    o Add AC_USE_SYSTEM_EXTENSIONS to configure.in. Requires follow on
    341  1.1  christos      patches for correctness and robustness. (1fa7dbe Kevin Bowling)
    342  1.1  christos    o Filter '# define' statements from autoconf and generate
    343  1.1  christos      event-private.h (321b558 Kevin Bowling)
    344  1.1  christos    o Remove internal usage of _GNU_SOURCE (3b26541 Kevin Bowling)
    345  1.1  christos    o Eliminate a couple more manual internal _GNU_SOURCE defines (c51ef93
    346  1.1  christos      Kevin Bowling)
    347  1.1  christos    o Add AC_GNU_SOURCE to the fallback case. (ea8fa4c Kevin Bowling)
    348  1.1  christos    o Use a Configuration Header Template for evconfig-private.h (868f888
    349  1.1  christos      Kevin Bowling)
    350  1.1  christos    o Fix a comment warning and add evconfig-private.h to .gitignore
    351  1.1  christos      (f6d66bc Kevin Bowling)
    352  1.1  christos    o Include evconfig-private.h in internal files for great good. (0915ca0
    353  1.1  christos      Kevin Bowling)
    354  1.1  christos    o Backport libevent to vanilla Autoconf 2.59 (as used in RHEL5)
    355  1.1  christos      (ad03952 Kevin Bowling)
    356  1.1  christos    o Prefer the ./configure evconfig-private.h in MinGW, just in
    357  1.1  christos      case. (f964b72 Kevin Bowling)
    358  1.1  christos    o Shell hack for weird mkdir -p commands (fd7b5a8 Kevin Bowling)
    359  1.1  christos    o Add evconfig-private to remaining files (ded0a09 Kevin Bowling)
    360  1.1  christos    o Allow use of --enable-silent-rules for quieter compilation with
    361  1.1  christos      automake 1.11 (f1f8514 Dave Hart)
    362  1.1  christos    o Use "_WIN32", not WIN32: it's standard and we don't need to fake it
    363  1.1  christos      (9f560b)
    364  1.1  christos    o In configure, test for _WIN32 not WIN32. (85078b1 Peter Rosin)
    365  1.1  christos    o Do not define WIN32 in Makefile.nmake (d41f3ea Peter Rosin)
    366  1.1  christos    o Provide the autoconf m4 macros for the new OpenSSL via pkg-config
    367  1.1  christos      stuff. (674dc3d Harlan Stenn)
    368  1.1  christos    o Use pkg-config (if available) to handle OpenSSL. (1c63860 Harlan Stenn)
    369  1.1  christos    o We need AM_CPPFLAGS when compiling bufferevent_openssl.c (6d2613b
    370  1.1  christos      Harlan Stenn)
    371  1.1  christos    o Fix OSX build: $(OPENSSL_INCS) needs to be after
    372  1.1  christos      $(AM_CPPFLAGS). (46f1769 Zack Weinberg)
    373  1.1  christos    o Make gcc warnings on by default, and --enable-gcc-warnings only add
    374  1.1  christos      -Werror (d46517e Sebastian Hahn)
    375  1.1  christos    o Split up extra-long AC_CHECK_FUNCS/HEADERS lines in configure.in (88a30ad)
    376  1.1  christos    o Move libevent 1.x headers to include/, to put all public headers in
    377  1.1  christos      one place. (bbea8d6)
    378  1.1  christos    o Put #ifdef around some files to support alternate build
    379  1.1  christos      systems. (76d4c92 Ross Lagerwall)
    380  1.1  christos    o Also make win32select.c conditional for IDE users (bf2c5a7)
    381  1.1  christos 
    382  1.1  christos  Debugging:
    383  1.1  christos    o Add a magic number to debug_locks to better catch lock-coding
    384  1.1  christos      errors. (b4a29c0 Dave Hart)
    385  1.1  christos    o munge the debug_lock signature before freeing it: it might help us
    386  1.1  christos      catch use-after-free (f28084d)
    387  1.1  christos    o Added --enable-event-debugging in configure (bc7b4e4, a9c2c9a Mark Ellzey)
    388  1.1  christos    o Debug addition for printing usec on TIMEOUT debugging. (ac43ce0 Mark Ellzey)
    389  1.1  christos    o Added usec debug in another area for debug (3baab0d Mark Ellzey)
    390  1.1  christos    o added timeout debug logs to include event ptr. (4b7d298 Mark Ellzey)
    391  1.1  christos    o more event dbg updates (6727543 Mark Ellzey)
    392  1.1  christos    o Clarify event_enable_debug_logging a little (6207826)
    393  1.1  christos    o Make --enable-verbose-debug option match its help text (10c3450)
    394  1.1  christos    o Add argument checks to some memory functions in `event.c'. (c8953d1
    395  1.1  christos      Mansour Moufid)
    396  1.1  christos 
    397  1.1  christos  Testing:
    398  1.1  christos    o More abstraction in test.sh (cd74c4e)
    399  1.1  christos    o Add failing test for evbuffer_search_range. (8e26154 Nir Soffer)
    400  1.1  christos    o Tweaks to return types with end-of-buf ptrs (9ab8ab8)
    401  1.1  christos    o Add an (internal) usleep function for use by unit tests (f25d9d3)
    402  1.1  christos    o Synchronize with upstream tinytest (6c81be7)
    403  1.1  christos    o Make test-changelist faster (7622d26)
    404  1.1  christos    o Reduce the timeout in the main/fork test. (ab14f7c)
    405  1.1  christos    o New evhttp function to adjust initial retry timeout (350a3c4)
    406  1.1  christos    o Make regression tests run over 3x faster. (67a1763)
    407  1.1  christos    o Use test_timeval_diff_eq more consistently (b77b43f)
    408  1.1  christos    o Allow more slop in deferred_cb_skew test; freebsd needs it (b9f7e5f)
    409  1.1  christos    o When including an -internal.h header outside the main tree, do so
    410  1.1  christos      early (95e2455)
    411  1.1  christos    o Add a new test: test-fdleak which tests for fd leaks by creating many
    412  1.1  christos      sockets. (2ef9278 Ross Lagerwall, f7af194, 1c4288f, etc)
    413  1.1  christos    o Add a unit test for event_base_dump_events() (7afe48a, 8d08cce)
    414  1.1  christos    o Test more bufferevent_ratelim features (c24f91a)
    415  1.1  christos 
    416  1.1  christos  Documentation:
    417  1.1  christos    o Improve evbuffer_ptr documentation (261ba63)
    418  1.1  christos    o added comments to describe refcounting of multicast chains (ba24f61
    419  1.1  christos      Joachim Bauch)
    420  1.1  christos    o Add doxygen for event_base_dump_events (cad5753)
    421  1.1  christos 
    422  1.1  christos  OSX:
    423  1.1  christos    o Use "unlimited select" on OSX so that we can have more than
    424  1.1  christos      FD_SETSIZE fds (1fb5cc6)
    425  1.1  christos 
    426  1.1  christos  KQueue:
    427  1.1  christos    o Use SIG_IGN instead of a do-nothing handler for signal events with
    428  1.1  christos      kqueue (148458e Zack Weinberg)
    429  1.1  christos 
    430  1.1  christos  evprc:
    431  1.1  christos    o event_rpcgen.py now prints status information to stdout and errors to
    432  1.1  christos      stderr. (ffb0ba0 Ross Lagerwall)
    433  1.1  christos 
    434  1.1  christos  Code improvement and refactoring:
    435  1.1  christos    o Make event_reinit() more robust and maintainable (272033e)
    436  1.1  christos    o Restore fast-path event_reinit() for slower backends (2c4b5de)
    437  1.1  christos    o Check changelist as part of checking representational integrity (39b3f38)
    438  1.1  christos    o Fix a compile warning in event_reinit (e4a56ed Sebastian Hahn)
    439  1.1  christos    o Refactor the functions that run over every event. (c89b4e6)
    440  1.1  christos    o Remove the last vestiges of _EVENT_USE_EVENTLIST (a3cec90)
    441  1.1  christos    o Make event-config.h depend on Makefile.am (2958a5c)
    442  1.1  christos 
    443  1.1  christos  Build fixes:
    444  1.1  christos    o Don't do clang version detection when disabling some flags (083296b
    445  1.1  christos      Sebastian Hahn)
    446  1.1  christos 
    447  1.1  christos  C standards conformance:
    448  1.1  christos    o Check for NULL return on win32 mm_calloc, and set ENOMEM. (af7ba69)
    449  1.1  christos    o Convert event-config.h macros to avoid reserved identifiers (68120d9)
    450  1.1  christos    o Generate event-config.h using the correct macros. (f82c57e)
    451  1.1  christos    o Convert include-guard macro convention to avoid reserved identifiers
    452  1.1  christos      (3f8c7cd)
    453  1.1  christos    o Make event_rpcgen.py output conform to identifier conventions (372bff1)
    454  1.1  christos    o Stop referring to an obsolete include guard in bench_http.h (5c0f7e0)
    455  1.1  christos    o Make the generated event-config.h use correct include guards (639383a)
    456  1.1  christos    o Fix all identifiers with names beginning with underscore. (cb9da0b)
    457  1.1  christos    o Make event_rpcgen.py output conform to identifier conventions, more
    458  1.1  christos      (bcefd24)
    459  1.1  christos    o Fix some problems introduced by automated identifier cleanup script
    460  1.1  christos      (c963534)
    461  1.1  christos    o Have all visible internal function names end with an underscore. (8ac3c4c)
    462  1.1  christos    o Apply the naming convention to our EVUTIL_IS* functions (c7848fa)
    463  1.1  christos    o Clean up lingering _identifiers. (946b584)
    464  1.1  christos    o Fix doxygen to use new macro conventions (da455e9)
    465  1.1  christos 
    466  1.1  christos  Bugfixes:
    467  1.1  christos    o Do not use system EAI/AI values if we are not using the system
    468  1.1  christos      getaddrinfo. (7bcac07)
    469  1.1  christos 
    470  1.1  christos  Sample Code:
    471  1.1  christos    o Fix up sample/event-test.c to use newer interfaces and make it
    472  1.1  christos      actually work. (19bab4f Ross Lagerwall)
    473  1.1  christos    o On Unix, remove event.fifo left by sample/event-test.c. (c0dacd2 Ross
    474  1.1  christos      Lagerwall)
    475  1.1  christos    o Rename event-test.c to event-read-fifo.c. (a5b370a Ross Lagerwall)
    476  1.1  christos    o event-read-fifo: Use EV_PERSIST appropriately (24dab0b)
    477  1.1  christos 
    478  1.1  christos 
    479  1.1  christos 
    480  1.1  christos 
    481