Home | History | Annotate | Line # | Download | only in libevent
ChangeLog revision 1.1.1.2.4.2
      1  1.1.1.2.4.2  snj Changes in version 2.1.4-beta (?? Dec 2013)
      2  1.1.1.2.4.2  snj 
      3  1.1.1.2.4.2  snj  (As of 735d838b0a537ae04f1e6a2e9cbc5f3f45ebb541)
      4  1.1.1.2.4.2  snj 
      5  1.1.1.2.4.2  snj 
      6  1.1.1.2.4.2  snj  Bugfixes (evdns)
      7  1.1.1.2.4.2  snj    o Checking request nameserver for NULL, before using it. (5c710c0
      8  1.1.1.2.4.2  snj      Belobrov Andrey)
      9  1.1.1.2.4.2  snj    o Fix SEGFAULT after evdns_base_resume if no nameservers installed. (14971a8
     10  1.1.1.2.4.2  snj      Azat Khuzhin)
     11  1.1.1.2.4.2  snj    o Actually use the log facility for reporting evdns problems. (e1766a1)
     12  1.1.1.2.4.2  snj    o Fix SEGFAULT after evdns_base_resume if no nameservers installed. (f8d7df8 Azat Khuzhin)
     13  1.1.1.2.4.2  snj 
     14  1.1.1.2.4.2  snj  Bugfixes (compilatin)
     15  1.1.1.2.4.2  snj    o Fix test compilation with nmake: add the gdi.lib dependency (5ba8ab7)
     16  1.1.1.2.4.2  snj    o Whoops. It is gdi.lib, not gdi32.lib. (github issue #61) (8ab612e)
     17  1.1.1.2.4.2  snj    o Don't use return since return type is void and build error occurs using clang (838161d Makoto Kato)
     18  1.1.1.2.4.2  snj    o Use void casts to suppress some "unchecked return value" warns (7080d55)
     19  1.1.1.2.4.2  snj    o rpcgen: Generate regress.gen.[c,h] in build rather than src dir (243386c Ross Lagerwall)
     20  1.1.1.2.4.2  snj    o Fix a compiler warning when checking for arc4random_buf linker breakage. (5cb3865)
     21  1.1.1.2.4.2  snj 
     22  1.1.1.2.4.2  snj  Bugfixes (locks, synchronization)
     23  1.1.1.2.4.2  snj    o Missed lock acquire/release in event_base_cancel_single_callback_()
     24  1.1.1.2.4.2  snj      (d3d999a Azat Khuzhin)
     25  1.1.1.2.4.2  snj    o Fix locking in bufferevent_get_options_(). (dbc9cd4 Maxime Henrion)
     26  1.1.1.2.4.2  snj 
     27  1.1.1.2.4.2  snj  Bugfixes (leaks)
     28  1.1.1.2.4.2  snj    o Avoid leaking segment mappings when offset is not a page multiple (d409514)
     29  1.1.1.2.4.2  snj 
     30  1.1.1.2.4.2  snj  Testing
     31  1.1.1.2.4.2  snj    o Add tests for evdns_base_resume(). (1cd9ff5 Azat Khuzhin)
     32  1.1.1.2.4.2  snj    o Fix dns/leak_resume_send_err test. (7e876df Azat Khuzhin)
     33  1.1.1.2.4.2  snj    o Add checks for evhttp_connection_get_server() in unit tests. (fbc323b Maxime Henrion)
     34  1.1.1.2.4.2  snj    o Fix a (failure-only) null dereference in the unit tests (1104d0b)
     35  1.1.1.2.4.2  snj    o Fix a logic error in test_evbuffer_freeze (7765884)
     36  1.1.1.2.4.2  snj    o Add missing check to test_evbuffer_file_segment_add_cleanup_cb (eba4506)
     37  1.1.1.2.4.2  snj    o Fix some crash-on-fail cases in DNS regression tests (87cd6f0)
     38  1.1.1.2.4.2  snj    o DNS tests: add a missing check (f314900)
     39  1.1.1.2.4.2  snj    o Finalize tests: add a missing check (82b6956)
     40  1.1.1.2.4.2  snj    o test_evutil_rtrim: add another missing check. (e193c95)
     41  1.1.1.2.4.2  snj    o regress_main: logging all if env EVENT_DEBUG_LOGGING_ALL isset (611e28b Azat Khuzhin)
     42  1.1.1.2.4.2  snj    o regress_http: add tests for evhttp_connection_get_addr() (4dd500c Azat Khuzhin)
     43  1.1.1.2.4.2  snj 
     44  1.1.1.2.4.2  snj  Bugfixes (core)
     45  1.1.1.2.4.2  snj    o If evsel->del() fails, don't leave the evmap in an inconsistent state
     46  1.1.1.2.4.2  snj      (9b5a527 Maxime Henrion)
     47  1.1.1.2.4.2  snj    o Move event_debug_note_teardown_ before mm_free. (69b5c64)
     48  1.1.1.2.4.2  snj    o Check CLOCK_MONOTONIC_* at runtime if needed. (911abf3)
     49  1.1.1.2.4.2  snj    o Fix reinit of fds with EV_WRITE but not EV_READ. (ebfd8a8 maksqwe)
     50  1.1.1.2.4.2  snj 
     51  1.1.1.2.4.2  snj  Performance tweaks (core)
     52  1.1.1.2.4.2  snj    o Avoid redundant syscall to make a nonblocking socket nonblocking
     53  1.1.1.2.4.2  snj      (42c03da Maxime Henrion)
     54  1.1.1.2.4.2  snj    o Avoid redundant syscall if making a socket cloexec twice (1f29b18)
     55  1.1.1.2.4.2  snj    o Avoid redundant invocations of init_extension_functions for IOCP (3b77d62)
     56  1.1.1.2.4.2  snj 
     57  1.1.1.2.4.2  snj  Bugfixes (evhttp)
     58  1.1.1.2.4.2  snj    o Fix a double close() bug in evhttp when the underlying bufferevent uses
     59  1.1.1.2.4.2  snj      BEV_OPT_CLOSE_ON_FREE. (31db8a0 Maxime Henrion)
     60  1.1.1.2.4.2  snj    o Fix an unlikely but possible error case for http connections (f22049e)
     61  1.1.1.2.4.2  snj    o Avoid racy bufferevent activation (5eb1788 Nate Rosenblum)
     62  1.1.1.2.4.2  snj 
     63  1.1.1.2.4.2  snj  Bugfixes on 2.0 (Windows)
     64  1.1.1.2.4.2  snj    o Use windows vsnprintf fixup logic on all windows environments (e826f19)
     65  1.1.1.2.4.2  snj    o libevent/win32_dealloc() : fix sizeof(pointer) vs sizeof(*pointer) (b8f5980 Frank Denis)
     66  1.1.1.2.4.2  snj 
     67  1.1.1.2.4.2  snj  Bugfixes (evutil_secure_rng)
     68  1.1.1.2.4.2  snj    o When we seed from /proc/sys/kernel/random/uuid, count it as success (e35b540)
     69  1.1.1.2.4.2  snj    o We should return after arc4random_buf() (1ea1f26 Makoto Kato)
     70  1.1.1.2.4.2  snj    o Avoid other RNG initialization FS reads when urandom file is specified (9695e9c)
     71  1.1.1.2.4.2  snj    o Really remove RNG seeds from the stack (f5ced88)
     72  1.1.1.2.4.2  snj    o Fix another arc4random_buf-related warning (e64a2b0)
     73  1.1.1.2.4.2  snj 
     74  1.1.1.2.4.2  snj  New APIs (core)
     75  1.1.1.2.4.2  snj    o Added event_base_get_num_events() (0fa107d Mobai Zhang)
     76  1.1.1.2.4.2  snj    o Add function to fetch underlying ratelimit cfg (4b3d5af Mark Ellzey)
     77  1.1.1.2.4.2  snj    o Pass and return const for bufferevent_get_token_bucket_cfg (1c77fbb Mark Ellzey)
     78  1.1.1.2.4.2  snj 
     79  1.1.1.2.4.2  snj  New APIs (evhttp)
     80  1.1.1.2.4.2  snj    o Add evhttp_connection_get_server(). (a7f82a3 Maxime Henrion)
     81  1.1.1.2.4.2  snj    o add a http default content type option (5a5acd9 Nicolas Martyanoff)
     82  1.1.1.2.4.2  snj    o http: implement new evhttp_connection_get_addr() api. (0c7f040 Azat Khuzhin)
     83  1.1.1.2.4.2  snj 
     84  1.1.1.2.4.2  snj 
     85  1.1.1.2.4.2  snj  Documentation
     86  1.1.1.2.4.2  snj    o Document that arc4random is not a great cryptographic PRNG. (6e49696)
     87  1.1.1.2.4.2  snj    o Small doxygen tweaks (6e67b51)
     88  1.1.1.2.4.2  snj    o Try another doxygen tweak (ccf432b)
     89  1.1.1.2.4.2  snj 
     90  1.1.1.2.4.2  snj  New APIs (evutil_secure_rng)
     91  1.1.1.2.4.2  snj    o Add evutil_secure_rng_set_urandom_device_file (2bbb5d7)
     92  1.1.1.2.4.2  snj 
     93  1.1.1.2.4.2  snj  Cleanups
     94  1.1.1.2.4.2  snj    o Remove an unreachable return statement in minheap-internal.h (e639a9e)
     95  1.1.1.2.4.2  snj 
     96  1.1.1.2.4.2  snj  Sample code
     97  1.1.1.2.4.2  snj    o sample/le-proxy: Fail more gracefully if opening listener fails (44b2491)
     98  1.1.1.2.4.2  snj    o sample: drop uri_root from base_url in http-server. (6171e1c Azat Khuzhin)
     99  1.1.1.2.4.2  snj 
    100  1.1.1.2.4.2  snj 
    101  1.1.1.2.4.2  snj 
    102  1.1.1.2.4.2  snj 
    103  1.1.1.2.4.2  snj 
    104  1.1.1.2.4.2  snj 
    105  1.1.1.2.4.2  snj 
    106  1.1.1.2.4.2  snj 
    107  1.1.1.2.4.2  snj 
    108  1.1.1.2.4.2  snj 
    109  1.1.1.2.4.2  snj 
    110  1.1.1.2.4.2  snj Changes in version 2.1.3-alpha (1 May 2013)
    111  1.1.1.2.4.2  snj 
    112  1.1.1.2.4.2  snj  Libevent 2.1.3-alpha fixes various bugs, adds new unit tests, and cleans
    113  1.1.1.2.4.2  snj  up the code in a couple of places. It has a new callback in evhttp for
    114  1.1.1.2.4.2  snj  reporting errors during a request, a new feature for allowing evdns to
    115  1.1.1.2.4.2  snj  not keep the event_base looping when there are no requests inflight, and
    116  1.1.1.2.4.2  snj  example code for writing an https client.
    117  1.1.1.2.4.2  snj 
    118  1.1.1.2.4.2  snj  Libevent 2.1.3-alpha also has an important new (experimental) event
    119  1.1.1.2.4.2  snj  finalization feature to allow safe event teardown in multithreaded
    120  1.1.1.2.4.2  snj  programs. This ought to fix the longstanding bug with deadlocks in
    121  1.1.1.2.4.2  snj  multithreaded use of SSL-based bufferevents that some people have been
    122  1.1.1.2.4.2  snj  experiencing since Libevent 2.0.
    123  1.1.1.2.4.2  snj 
    124  1.1.1.2.4.2  snj 
    125  1.1.1.2.4.2  snj  Core (event finalization)
    126  1.1.1.2.4.2  snj    o Implement event_finalize() and related functions to avoid certain
    127  1.1.1.2.4.2  snj      deadlocks (8eedeab)
    128  1.1.1.2.4.2  snj    o Use finalization feature so bufferevents can avoid deadlocks (02fbf68)
    129  1.1.1.2.4.2  snj    o Always run pending finalizers when event_base_free() is called (e9ebef8)
    130  1.1.1.2.4.2  snj    o Remove bufferevent_del_generic_timeout_cbs as now unused (4ea4c6a)
    131  1.1.1.2.4.2  snj    o More documentation for finalization feature (a800b91)
    132  1.1.1.2.4.2  snj    o Make the event_finalize* functions return an error code (5d11f4f)
    133  1.1.1.2.4.2  snj    o Mark the finalize stuff as experiemental in case it needs to
    134  1.1.1.2.4.2  snj      change (23e2e29)
    135  1.1.1.2.4.2  snj 
    136  1.1.1.2.4.2  snj  Evdns
    137  1.1.1.2.4.2  snj    o evdns: New flag to make evdns not prevent the event loop from
    138  1.1.1.2.4.2  snj      exiting (6b7fa62 Azat Khuzhin)
    139  1.1.1.2.4.2  snj 
    140  1.1.1.2.4.2  snj  Bugfixes (Core)
    141  1.1.1.2.4.2  snj    o Make event_remove_timer behave correctly with persistent timers (5623e80)
    142  1.1.1.2.4.2  snj    o Unit test for event_remove_timer with EV_PERSIST. (96150dd)
    143  1.1.1.2.4.2  snj    o Double-check next timeout when adding events (9443868 Nate Rosenblum)
    144  1.1.1.2.4.2  snj    o event_base_update_cache_time should be a no-op if the loop isn't
    145  1.1.1.2.4.2  snj      running (5e6fa2a)
    146  1.1.1.2.4.2  snj 
    147  1.1.1.2.4.2  snj  Bugfixes (evhttp, crash fix, from 2.0)
    148  1.1.1.2.4.2  snj    o fix #73 and fix http_connection_fail_test to catch it (b618204 Greg Hazel)
    149  1.1.1.2.4.2  snj 
    150  1.1.1.2.4.2  snj  Bugfixes (compilation and portability, from 2.0)
    151  1.1.1.2.4.2  snj    o Fix compilation with WIN32_HAVE_CONDITION_VARIABLES enabled (7e45739)
    152  1.1.1.2.4.2  snj    o Fix missing AC_PROG_SED on older Autoconfs (9ab2b3f Tay Ray Chuan)
    153  1.1.1.2.4.2  snj    o Backport libevent to vanilla Autoconf 2.59 (as used in RHEL5)
    154  1.1.1.2.4.2  snj      (74d4c44 Kevin Bowling)
    155  1.1.1.2.4.2  snj    o Use AC_CONFIG_HEADERS in place of AM_CONFIG_HEADERS for autmake
    156  1.1.1.2.4.2  snj      1.13 compat (817ea36)
    157  1.1.1.2.4.2  snj    o Rename configure.in to configure.ac to appease newer autoconfs (0c79787)
    158  1.1.1.2.4.2  snj    o Avoid using top_srcdir in TESTS: new automakes do not like this (a55514e)
    159  1.1.1.2.4.2  snj 
    160  1.1.1.2.4.2  snj  Bugfixes (resource leaks/lock errors on error, from 2.0)
    161  1.1.1.2.4.2  snj    o Avoid leaking fds on evconnlistener with no callback set (69db261)
    162  1.1.1.2.4.2  snj    o Avoid double-close on getsockname error in evutil_ersatz_socketpair
    163  1.1.1.2.4.2  snj      (0a822a6)
    164  1.1.1.2.4.2  snj    o Fix a locking error in bufferevent_socket_get_dns_error. (0a5eb2e)
    165  1.1.1.2.4.2  snj 
    166  1.1.1.2.4.2  snj  Documentation Fixes (from 2.0)
    167  1.1.1.2.4.2  snj    o Fix a mistake in evbuffer_remove() arguments in example http server code
    168  1.1.1.2.4.2  snj      (c322c20 Gyepi Sam)
    169  1.1.1.2.4.2  snj    o Fix a typo in a comment in buffer.h. Spotted by Alt_F4 (773b0a5)
    170  1.1.1.2.4.2  snj 
    171  1.1.1.2.4.2  snj  Documentation Fixes
    172  1.1.1.2.4.2  snj    o minor documentation typos (809586a Patrick Pelletier)
    173  1.1.1.2.4.2  snj    o Fix cut-and-paste err in whatsnew-2.1 (49905ac)
    174  1.1.1.2.4.2  snj    o Fix comment to refer to sample/include.am correctly (9e8cdf3 Sebastian
    175  1.1.1.2.4.2  snj      Hahn)
    176  1.1.1.2.4.2  snj    o Fix typo : Dispatching instead of Dispaching (0c2bacc Volker Lendecke)
    177  1.1.1.2.4.2  snj    o fix some hinky indentation in evhttp_make_request (80e220e Patrick
    178  1.1.1.2.4.2  snj      Pelletier)
    179  1.1.1.2.4.2  snj    o "buffer" spelling (a452811 Patrick Pelletier)
    180  1.1.1.2.4.2  snj    o Specify return behavior in header for evbuffer_pullup() in corner case
    181  1.1.1.2.4.2  snj      (cf8d1cd Dan Petro)
    182  1.1.1.2.4.2  snj    o Clarify an important point about event_base_foreach_event() (920a5e6)
    183  1.1.1.2.4.2  snj 
    184  1.1.1.2.4.2  snj  Compilation Fixes/Tool Support
    185  1.1.1.2.4.2  snj    o avoid valgrind false positive by zeroing epoll_event (1258614 Patrick
    186  1.1.1.2.4.2  snj      Pelletier)
    187  1.1.1.2.4.2  snj    o Fix harmless clang enum warning (b452a43 Sebastian Hahn)
    188  1.1.1.2.4.2  snj    o remove all exes on "make clean", not just regress.exe (974bfa0 Patrick
    189  1.1.1.2.4.2  snj      Pelletier)
    190  1.1.1.2.4.2  snj    o Make --disable-libevent-regress work again (787fd74)
    191  1.1.1.2.4.2  snj    o Do not build strlcpy.c when it will have no code. (4914620)
    192  1.1.1.2.4.2  snj 
    193  1.1.1.2.4.2  snj  Portability Fixes
    194  1.1.1.2.4.2  snj    o When EWOULDBLOCK is not EAGAIN, treat it as equivalent to it (bf7a0ff)
    195  1.1.1.2.4.2  snj    o Preliminary changes for Minix3. (0dda56a Nicholas Heath)
    196  1.1.1.2.4.2  snj    o Use AC_CONFIG_HEADERS in place of AM_CONFIG_HEADERS for autmake 1.13
    197  1.1.1.2.4.2  snj      compat (bf278b)
    198  1.1.1.2.4.2  snj    o Avoid using $(top_srcdir) in TESTS. (2863c83)
    199  1.1.1.2.4.2  snj    o build test/test-script.sh on systems with a less-featureful $< (f935e21)
    200  1.1.1.2.4.2  snj    o Implement EVUTIL_ERR_IS_EAGAIN on windows. (42aaf4d)
    201  1.1.1.2.4.2  snj 
    202  1.1.1.2.4.2  snj  Evhttp changes:
    203  1.1.1.2.4.2  snj    o Fix ipv6 support for http. When URL contain domain, not IP
    204  1.1.1.2.4.2  snj      address. (71e709c Azat Khuzhin)
    205  1.1.1.2.4.2  snj    o uri decode: fix for warning "use of uninitialised value" (64b6ece Azat
    206  1.1.1.2.4.2  snj      Khuzhin)
    207  1.1.1.2.4.2  snj    o uri decode: changed the test for the existence of the next character
    208  1.1.1.2.4.2  snj      (e1903e3 Azat Khuzhin)
    209  1.1.1.2.4.2  snj    o Move prototype of evhttp_decode_uri_internal() to http-internal.h
    210  1.1.1.2.4.2  snj      (de8101a Azat Khuzhin)
    211  1.1.1.2.4.2  snj    o Test: decoding just part of string with evhttp_decode_uri_internal()
    212  1.1.1.2.4.2  snj      (1367653 Azat Khuzhin)
    213  1.1.1.2.4.2  snj    o Add new error_cb for actual reporting of HTTP request errors. (7b07719
    214  1.1.1.2.4.2  snj      Azat Khuzhin)
    215  1.1.1.2.4.2  snj    o Add test for EVREQ_HTTP_REQUEST_CANCEL into http_cancel_test() (862c217
    216  1.1.1.2.4.2  snj      Azat Khuzhin)
    217  1.1.1.2.4.2  snj    o Drop extra header http_struct.h from regress_http.c (54cc800 Azat Khuzhin)
    218  1.1.1.2.4.2  snj 
    219  1.1.1.2.4.2  snj  Testing
    220  1.1.1.2.4.2  snj    o Add regress test ipv6_for_domain. (9ec88bd Azat Khuzhin)
    221  1.1.1.2.4.2  snj    o Add an environment variable (EVENT_DEBUG_MODE) to run unit tests in debug
    222  1.1.1.2.4.2  snj      mode (2fad0f3)
    223  1.1.1.2.4.2  snj    o Add a test with an active_later event at event_base_free time. (1c3147f)
    224  1.1.1.2.4.2  snj    o Make all tests pass under EVENT_DEBUG_MODE=1 (b1b054f)
    225  1.1.1.2.4.2  snj    o Add some verbose notes to bufferevent unit tests (9d893c9)
    226  1.1.1.2.4.2  snj    o New test for active_later->active transition on event_active (a153874)
    227  1.1.1.2.4.2  snj    o New tests for event_base_foreach_event() (0b096ef)
    228  1.1.1.2.4.2  snj    o Unit tests for event_base_gettimeofday_cached() and
    229  1.1.1.2.4.2  snj      event_base_update_cache_time() (30ea291)
    230  1.1.1.2.4.2  snj    o A test for event_get_assignment() (f09629e)
    231  1.1.1.2.4.2  snj    o More unit tests for initializing common timeouts. (d596739)
    232  1.1.1.2.4.2  snj    o Fix a bug in the new main/event_foreach test (702c9aa)
    233  1.1.1.2.4.2  snj 
    234  1.1.1.2.4.2  snj  Windows:
    235  1.1.1.2.4.2  snj    o use FormatMessage for winsock errors (0c6ec5d, 2078e9b, 4ccdd53, c9ad3af
    236  1.1.1.2.4.2  snj      Patrick Pelletier)
    237  1.1.1.2.4.2  snj    o a program to print out the error strings for winsock errors (7296512
    238  1.1.1.2.4.2  snj      Patrick Pelletier)
    239  1.1.1.2.4.2  snj    o Fix a warning introduced in 0c6ec5d8 (eeb700c)
    240  1.1.1.2.4.2  snj    o Fix another warning introduced in 0c6ec5d8 (ed26561)
    241  1.1.1.2.4.2  snj 
    242  1.1.1.2.4.2  snj  Examples (http)
    243  1.1.1.2.4.2  snj    o Add sample/https-client.c, an example of stacking evhttp as a client on
    244  1.1.1.2.4.2  snj      top of bufferevent_ssl. (be46c99 Catalin Patulea)
    245  1.1.1.2.4.2  snj    o use ${OPENSSL_LIBS} instead of -lssl -lcrypto (bf31fa5 Patrick Pelletier)
    246  1.1.1.2.4.2  snj    o https-client was putting newlines at 256-byte boundaries (42d7441 Patrick
    247  1.1.1.2.4.2  snj      Pelletier)
    248  1.1.1.2.4.2  snj    o better handling of OpenSSL errors (5754d96 Patrick Pelletier)
    249  1.1.1.2.4.2  snj    o use Debian's default root certificate location (aacd674 Patrick Pelletier)
    250  1.1.1.2.4.2  snj    o use iSECPartners code to validate hostname in certificate (64d9f16
    251  1.1.1.2.4.2  snj      Patrick Pelletier)
    252  1.1.1.2.4.2  snj    o avoid sign mismatch warning in openssl_hostname_validation.c (6021cb5
    253  1.1.1.2.4.2  snj      Patrick Pelletier)
    254  1.1.1.2.4.2  snj    o pull in wildcard matching code from cURL (4db9da6 Patrick Pelletier)
    255  1.1.1.2.4.2  snj    o Another tweak to https-client.c (95acdaa)
    256  1.1.1.2.4.2  snj    o Remove http_struct.h usage in sample/https-client.c (8a90a85)
    257  1.1.1.2.4.2  snj 
    258  1.1.1.2.4.2  snj 
    259  1.1.1.2.4.2  snj 
    260  1.1.1.2.4.2  snj Changes in version 2.1.2-alpha (18 Nov 2012)
    261  1.1.1.2.4.2  snj 
    262  1.1.1.2.4.2  snj  Libevent 2.1.2-alpha includes more portable for monotonic timers,
    263  1.1.1.2.4.2  snj  refactors much of Libevent's internal and external infrastructure,
    264  1.1.1.2.4.2  snj  closes some longstanding gaps in the interface, makde other
    265  1.1.1.2.4.2  snj  improvements.  Ths log below tries to organize features by rough area of
    266  1.1.1.2.4.2  snj  effect.  It omits a few commits which were pure bugfixes on other commits
    267  1.1.1.2.4.2  snj  listed below.  For more detail, see the git changelogs.  For more
    268  1.1.1.2.4.2  snj  insight, see the "whatsnew-2.1.txt" document included in the Libevent
    269  1.1.1.2.4.2  snj  2.1.2-alpha distribution.
    270  1.1.1.2.4.2  snj 
    271  1.1.1.2.4.2  snj  Libevent 2.1.2-alpha also includes all changes made in 2.0.19-stable
    272  1.1.1.2.4.2  snj  through 2.0.21-stable inclusive.
    273  1.1.1.2.4.2  snj 
    274  1.1.1.2.4.2  snj  Performance (core):
    275  1.1.1.2.4.2  snj    o Replace pipe-based notification with EVFILT_USER where possible. This
    276  1.1.1.2.4.2  snj      should make multithreaded programs on OSX and *BSD alert the main thread a
    277  1.1.1.2.4.2  snj      little faster. (53a07fe)
    278  1.1.1.2.4.2  snj    o Make th_base_lock nonrecursive. (9cd5acb)
    279  1.1.1.2.4.2  snj 
    280  1.1.1.2.4.2  snj  New/Changed API Functions:
    281  1.1.1.2.4.2  snj    o New event_get_priority() function to return an event's priority (f90e255)
    282  1.1.1.2.4.2  snj    o Add a bufferevent_get_priority() function (bd39554)
    283  1.1.1.2.4.2  snj    o Add an event_base_loopcontinue() to tell Libevent to rescan for more
    284  1.1.1.2.4.2  snj      events right away (7d6aa5e)
    285  1.1.1.2.4.2  snj    o Add a new callback to get called on evbuffer_file_segment free
    286  1.1.1.2.4.2  snj      (e9f8feb yangacer, 64051b9)
    287  1.1.1.2.4.2  snj    o Expose event_base_foreach_event() as a public API. (84fd6d7 Roman
    288  1.1.1.2.4.2  snj       Puls, 232055e, ffe1643)
    289  1.1.1.2.4.2  snj    o Add an event_remove_timer() to remove timer on an event without
    290  1.1.1.2.4.2  snj      deleting it (e3b2e08)
    291  1.1.1.2.4.2  snj    o Make bufferevent_set_timeouts(bev, NULL, NULL) have plausible
    292  1.1.1.2.4.2  snj      semantics (9dee36b)
    293  1.1.1.2.4.2  snj    o Rename event_enable_lock_debuging() to ..._debugging(). (The old name
    294  1.1.1.2.4.2  snj      should still work.) (07e132e)
    295  1.1.1.2.4.2  snj    o Add missing implementation for event_enable_debug_logging (3b3e21d)
    296  1.1.1.2.4.2  snj 
    297  1.1.1.2.4.2  snj  PORTABLE MONOTONIC TIMERS:
    298  1.1.1.2.4.2  snj 
    299  1.1.1.2.4.2  snj    Libevent 2.1.2 includes internal support for monotonic timers on
    300  1.1.1.2.4.2  snj    (nearly) all supported platforms, including Windows, and OSX.  Libevent
    301  1.1.1.2.4.2  snj    applications should now be more resilient to jumps forwards or backwards
    302  1.1.1.2.4.2  snj    in the system clock.  Also, on Linux systems with epoll, we now
    303  1.1.1.2.4.2  snj    optionally support microsecond-level timeouts (whereas epoll only
    304  1.1.1.2.4.2  snj    supports millisecond-precision timeouts).
    305  1.1.1.2.4.2  snj 
    306  1.1.1.2.4.2  snj    o Use mach_absolute_time() for monotonic clock support on OSX. (b8fd6f9)
    307  1.1.1.2.4.2  snj    o Do not track use_monotonic field when is no monotonic clock (cb653a0)
    308  1.1.1.2.4.2  snj    o EVENT_BASE_FLAG_PRECISE_TIMER indicates we want fine timer precision
    309  1.1.1.2.4.2  snj      (ddd69d3)
    310  1.1.1.2.4.2  snj    o On Linux, use CLOCK_MONOTONIC_COARSE by default (55780a7)
    311  1.1.1.2.4.2  snj    o Implement a GetTickCount-based monotonic timer for Windows (d5e1d5a)
    312  1.1.1.2.4.2  snj    o Refactor monotonic timer handling into a new type and set of
    313  1.1.1.2.4.2  snj      functions; add a gettimeofday-based ratcheting implementation (f5e4eb0)
    314  1.1.1.2.4.2  snj    o Add EVENT_PRECISE_TIMER environment var for selecting precise-but-slow
    315  1.1.1.2.4.2  snj      timer (a2598ec)
    316  1.1.1.2.4.2  snj    o Implement fast/precise monotonic clocks on Windows (2c47045)
    317  1.1.1.2.4.2  snj    o Simple unit tests for monotonic timers (630f077)
    318  1.1.1.2.4.2  snj    o Improve the monotonic-time unit test: make it check the step size (7428c78)
    319  1.1.1.2.4.2  snj    o When PRECISE_TIMERS is set with epoll, use timerfd for microsecond
    320  1.1.1.2.4.2  snj      precision (26c7582)
    321  1.1.1.2.4.2  snj    o Split out time-related evutil functions into a new evutil_time.c (c419485)
    322  1.1.1.2.4.2  snj    o Split out time-related prototypes into time-internal.h (71bca50)
    323  1.1.1.2.4.2  snj    o Add evutil_time.obj to Makefile.nmake (0ba0683)
    324  1.1.1.2.4.2  snj    o Avoid giving a spurious warning when timerfd support is unavailable
    325  1.1.1.2.4.2  snj      (1aaf9f0 Dave Hart)
    326  1.1.1.2.4.2  snj    o Make test_evutil_monotonic a little more tolerant (def3b83)
    327  1.1.1.2.4.2  snj    o Avoid unused-var warning on systems with clock_gettime but without
    328  1.1.1.2.4.2  snj      CLOCK_MONOTONIC_COARSE (9be5468)
    329  1.1.1.2.4.2  snj 
    330  1.1.1.2.4.2  snj EVENT_BASE_ONCE LEAKS:
    331  1.1.1.2.4.2  snj    If a callback added by event_base_once() is never invoked, Libevent no
    332  1.1.1.2.4.2  snj    longer leaks internal memory.
    333  1.1.1.2.4.2  snj 
    334  1.1.1.2.4.2  snj    o Free dangling event_once objects on event_base_free() (c17dd59)
    335  1.1.1.2.4.2  snj    o Add a unit test in which an event is created with event_base_once()
    336  1.1.1.2.4.2  snj      but never fires (4343edf)
    337  1.1.1.2.4.2  snj 
    338  1.1.1.2.4.2  snj TESTING SUPPORT, FIXES AND IMPROVEMENTS:
    339  1.1.1.2.4.2  snj 
    340  1.1.1.2.4.2  snj    Libevent now disables by default its unit tests that would touch the
    341  1.1.1.2.4.2  snj    network, or that tend to fail on heavily-loaded systems.  To re-enable
    342  1.1.1.2.4.2  snj    them, invoke the ./test/regress program with the @all alias.
    343  1.1.1.2.4.2  snj 
    344  1.1.1.2.4.2  snj    o Simplify test.sh code significantly. (9b856fd Ross Lagerwall)
    345  1.1.1.2.4.2  snj    o Make all tests that hit the network disabled by default (f2cea87)
    346  1.1.1.2.4.2  snj    o Avoid a resource leak on error in http client benchmark (ea92fba)
    347  1.1.1.2.4.2  snj    o Update to latest tinytest (911b4f0349377) (ef7c4f7)
    348  1.1.1.2.4.2  snj    o Avoid (unlikely) overflow in bench_httpclient.c (5671033)
    349  1.1.1.2.4.2  snj    o Shave 700 msec off the persistent_timeout_jump test (21205b8)
    350  1.1.1.2.4.2  snj    o Check return value of write() in regress.c (c8009d2)
    351  1.1.1.2.4.2  snj    o Make load-dependent monotonic timer tests off-by-default (2b6fe8b)
    352  1.1.1.2.4.2  snj    o Add deferred_cb_skew to list of timing-dependent tests (34c8f31)
    353  1.1.1.2.4.2  snj    o Avoid test -e; older shs don't have one. (f1bd938)
    354  1.1.1.2.4.2  snj    o Fix renegotiation test to work around openssl 1.0.1 bug (c2f3086)
    355  1.1.1.2.4.2  snj    o Fix a couple of compile warnings in the unit tests (5a9a014)
    356  1.1.1.2.4.2  snj 
    357  1.1.1.2.4.2  snj MISC:
    358  1.1.1.2.4.2  snj    o Change evutil_weakrand_() to avoid platform random() (e86af4b Nicholas
    359  1.1.1.2.4.2  snj      Marriott, 3aa4415)
    360  1.1.1.2.4.2  snj 
    361  1.1.1.2.4.2  snj INFRASTRUCTURE (Active-later events):
    362  1.1.1.2.4.2  snj    As a simplification and optimization to Libevent's "deferred callback"
    363  1.1.1.2.4.2  snj    logic (introduced in 2.0 to avoid callback recursion), Libevent now
    364  1.1.1.2.4.2  snj    treats all of its deferrable callback types using the same logic it uses
    365  1.1.1.2.4.2  snj    for active events.  Now deferred events no longer cause priority
    366  1.1.1.2.4.2  snj    inversion, no longer require special code to cancel them, and so on.
    367  1.1.1.2.4.2  snj 
    368  1.1.1.2.4.2  snj    o Refactor the callback part of an event into its own event_callback
    369  1.1.1.2.4.2  snj      type (cba59e5)
    370  1.1.1.2.4.2  snj    o Add "active later" event_callbacks to supersede deferred (745a63d)
    371  1.1.1.2.4.2  snj    o event_base_assert_ok: check value of event_active_count for
    372  1.1.1.2.4.2  snj      correctness (fec8bae)
    373  1.1.1.2.4.2  snj    o Replace deferred_cbs with event_callback-based implementation. (ae2b84b)
    374  1.1.1.2.4.2  snj    o Replace more deferred_cb names with event_callback (a4079aa)
    375  1.1.1.2.4.2  snj    o Give event_base_process_active a single exit path (581b5be)
    376  1.1.1.2.4.2  snj    o Restore our priority-inversion-prevention code with deferreds (c0e425a)
    377  1.1.1.2.4.2  snj    o Refactor event_persist_closure: raise and extract some common logic
    378  1.1.1.2.4.2  snj      (bec22b4)
    379  1.1.1.2.4.2  snj    o Remove the unused bits from EVLIST_ALL (9889a3d)
    380  1.1.1.2.4.2  snj 
    381  1.1.1.2.4.2  snj BUILD IMPROVEMENTS:
    382  1.1.1.2.4.2  snj  Libevent 2.1.2-alpha modernizes Libevent's use of autotools, and makes
    383  1.1.1.2.4.2  snj  numerous other build system. Parallel builds should be faster, and all
    384  1.1.1.2.4.2  snj  builds should be quieter.
    385  1.1.1.2.4.2  snj 
    386  1.1.1.2.4.2  snj    o Split long lists in Makefile.am into one-item-per-line (2711cda)
    387  1.1.1.2.4.2  snj    o Remove unnecessary code in configure.in. (e65914f Ross Lagerwall)
    388  1.1.1.2.4.2  snj    o attempt to support OpenSSL in Makefile.nmake (eba0eb2 Patrick Pelletier)
    389  1.1.1.2.4.2  snj    o Use newer syntax for autoconf/automake init (7d60ba8)
    390  1.1.1.2.4.2  snj    o Enable silent build rules by default. Override with V=1 (7b18e5c)
    391  1.1.1.2.4.2  snj    o Switch to non-recursive makefiles (7092f3b)
    392  1.1.1.2.4.2  snj    o Rename subordinate Makefile.ams to include.am (6cdfeeb)
    393  1.1.1.2.4.2  snj    o Make quiet build even quieter (371a123)
    394  1.1.1.2.4.2  snj    o New --quiet option for event_rpcgen.py (aa59c1e)
    395  1.1.1.2.4.2  snj    o Be quiet when making regress.gen.[ch] (607a8ff)
    396  1.1.1.2.4.2  snj    o Fix handling of no-python case for nonrecursive make (1e3123d)
    397  1.1.1.2.4.2  snj    o We now require automake 1.9 or later. Modernize! (b7f6e89)
    398  1.1.1.2.4.2  snj    o Rename configure.in to configure.ac. (b3fea67 Ross Lagerwall)
    399  1.1.1.2.4.2  snj    o Use correct openssl libs and includes in pkgconfig file (d70af27)
    400  1.1.1.2.4.2  snj    o Use the same CFLAGS for openssl when building unit tests as with
    401  1.1.1.2.4.2  snj      libevent (1d9d511)
    402  1.1.1.2.4.2  snj 
    403  1.1.1.2.4.2  snj DOCUMENTATION
    404  1.1.1.2.4.2  snj    o Note that make_base_notifiable should not be necessary (26ee5f9)
    405  1.1.1.2.4.2  snj    o Be more clear that LEV_OPT_DEFERRED_ACCEPT has tricky prereqs (371efeb)
    406  1.1.1.2.4.2  snj    o Add caveat to docs about bufferevent_free() with data in outbuf (6fab9ee)
    407  1.1.1.2.4.2  snj    o Make it more clear that NOLOCK means "I promise, no multithreading"
    408  1.1.1.2.4.2  snj     (9444524)
    409  1.1.1.2.4.2  snj    o Fix a comment in test-fdleak after 077c7e949. (3881d8f Ross Lagerwall)
    410  1.1.1.2.4.2  snj    o Make the Makefile.nmake warning slightly less dire (e7bf4c8)
    411  1.1.1.2.4.2  snj    o Fix typo : events instead of evets (05f1aca Azat Khuzhin)
    412  1.1.1.2.4.2  snj    o Additional comments about OPENSSL_DIR variable, prompted by Dave Hart
    413  1.1.1.2.4.2  snj      (6bde2ef Patrick Pelletier)
    414  1.1.1.2.4.2  snj 
    415  1.1.1.2.4.2  snj EVHTTP:
    416  1.1.1.2.4.2  snj    o ignore LWS after field-content in headers (370a2c0 Artem Germanov)
    417  1.1.1.2.4.2  snj    o Clean up rtrim implementation (aa59d80)
    418  1.1.1.2.4.2  snj    o Remove trailing tabs in HTTP headers as well. (ac42519)
    419  1.1.1.2.4.2  snj    o Remove internal ws from multiline http headers correctly (c6ff381)
    420  1.1.1.2.4.2  snj    o Move evutil_rtrim_lws_ to evutil.c where it belongs (61b93af)
    421  1.1.1.2.4.2  snj    o add evhttp_request_get_response_code_line (4f4d0c9 Jay R. Wren)
    422  1.1.1.2.4.2  snj    o Use EVUTIL_SOCKET_ERROR() wrapper to save/restore errno in
    423  1.1.1.2.4.2  snj      evhttp_connection_fail_ (7afbd60)
    424  1.1.1.2.4.2  snj    o preserve errno in evhttp_connection_fail_ for inspection by the
    425  1.1.1.2.4.2  snj      callback (36d0ee5 Patrick Pelletier)
    426  1.1.1.2.4.2  snj 
    427  1.1.1.2.4.2  snj BUGFIXES:
    428  1.1.1.2.4.2  snj    o Correctly handle running on a system where accept4 doesn't work. (9fbfe9b)
    429  1.1.1.2.4.2  snj    o Avoid double-free on error in evbuffer_add_file. Found by
    430  1.1.1.2.4.2  snj      coverity. (6a81b1f)
    431  1.1.1.2.4.2  snj    o Fix another possible uninitialized read in dns regression tests. Found
    432  1.1.1.2.4.2  snj      by coverity. (13525c5)
    433  1.1.1.2.4.2  snj    o Add checks for functions in test-ratelim.c; found by Coverity (aa501e1)
    434  1.1.1.2.4.2  snj    o Avoid memory leak in test_event_calloc unit test; found by coverity
    435  1.1.1.2.4.2  snj      (92817a1)
    436  1.1.1.2.4.2  snj    o Fix a shadowed variable in addfile_test_readcb; found by coverity
    437  1.1.1.2.4.2  snj      (225344c)
    438  1.1.1.2.4.2  snj    o Check return value when using LEV_OPT_DEFERRED_ACCEPT. Found by
    439  1.1.1.2.4.2  snj      coverity (6487f63)
    440  1.1.1.2.4.2  snj    o Prevent reference leak of bufferevent if getaddrinfo fails. (b757786
    441  1.1.1.2.4.2  snj      Joachim Bauch)
    442  1.1.1.2.4.2  snj    o Make event_base_getnpriorities work with old "implicit base" code
    443  1.1.1.2.4.2  snj      (c46cb9c)
    444  1.1.1.2.4.2  snj    o Simplify and correct evutil_open_closeonexec_ (0de587f)
    445  1.1.1.2.4.2  snj    o Fix event_dlist definition when sys/queue not included (81b6209
    446  1.1.1.2.4.2  snj      Derrick Pallas)
    447  1.1.1.2.4.2  snj 
    448  1.1.1.2.4.2  snj 
    449  1.1.1.2.4.2  snj 
    450  1.1.1.2.4.2  snj Changes in version 2.1.1-alpha (4 Apr 2012)
    451  1.1.1.2.4.2  snj 
    452  1.1.1.2.4.2  snj  Libevent 2.1.1-alpha includes a number of new features and performance
    453  1.1.1.2.4.2  snj  improvements.  The log below tries to organize them by rough area of
    454  1.1.1.2.4.2  snj  effect.  It omits some commits which were pure bugfixes on other commits
    455  1.1.1.2.4.2  snj  listed below.  For more detail, see the git changelogs.  For more
    456  1.1.1.2.4.2  snj  insight, see the "whatsnew-2.1.txt" document included in the Libevent
    457  1.1.1.2.4.2  snj  2.1.1-alpha distribution.
    458  1.1.1.2.4.2  snj 
    459  1.1.1.2.4.2  snj  Performance: Core
    460  1.1.1.2.4.2  snj    o Replace several TAILQ users with LIST. LIST can be a little faster than
    461  1.1.1.2.4.2  snj      TAILQ for cases where we don't need queue-like behavior. (f9db33d,
    462  1.1.1.2.4.2  snj      6494772, d313c29, 974d004)
    463  1.1.1.2.4.2  snj    o Disabled code to optimize the case where we reinsert an existing
    464  1.1.1.2.4.2  snj      timeout (e47042f, 09cbc3d)
    465  1.1.1.2.4.2  snj    o Remove a needless base-notify when rescheduling the first timeout (77a96fd)
    466  1.1.1.2.4.2  snj    o Save a needless comparison when removing/adjusting timeouts (dd5189b)
    467  1.1.1.2.4.2  snj    o Possible optimization: split event_queue_insert/remove into
    468  1.1.1.2.4.2  snj      separate functions. needs testing (efc4dc5)
    469  1.1.1.2.4.2  snj    o Make event_count maintenance branchless at the expense of an
    470  1.1.1.2.4.2  snj      extra shift. Needs benchmarking (d1cee3b)
    471  1.1.1.2.4.2  snj    o In the 2.1 branch, let's try out lazy gettimeofday/clock_gettime
    472  1.1.1.2.4.2  snj      comparison (2a83ecc)
    473  1.1.1.2.4.2  snj    o Optimization in event_process_active(): ignore maxcb & endtime
    474  1.1.1.2.4.2  snj      for highest priority events. (a9866aa Alexander Drozdov)
    475  1.1.1.2.4.2  snj    o Bypass event_add when using event_base_once() for a 0-sec timeout (35c5c95)
    476  1.1.1.2.4.2  snj    o Remove the eventqueue list and the ev_next pointers. (604569b 066775e)
    477  1.1.1.2.4.2  snj 
    478  1.1.1.2.4.2  snj  Performance: Evbuffers
    479  1.1.1.2.4.2  snj    o Roughly 20% speed increase when line-draining a buffer using
    480  1.1.1.2.4.2  snj      EVBUFFER_EOL_CRLF (5dde0f0 Mina Naguib)
    481  1.1.1.2.4.2  snj    o Try to squeeze a little more speed out of EVBUFFER_EOL_CRLF (7b9d139)
    482  1.1.1.2.4.2  snj    o Fix a bug in the improved EOL_CRLF code (d927965)
    483  1.1.1.2.4.2  snj    o Remove a needless branch in evbuffer_drain() (d19a326)
    484  1.1.1.2.4.2  snj 
    485  1.1.1.2.4.2  snj  Performance: Linux
    486  1.1.1.2.4.2  snj    o Infrastructure for using faster/fewer syscalls when creating
    487  1.1.1.2.4.2  snj      sockets (a1c042b)
    488  1.1.1.2.4.2  snj    o Minimize syscalls during socket creation in listener.c (7e9e289)
    489  1.1.1.2.4.2  snj    o Use a wrapper function to create the notification
    490  1.1.1.2.4.2  snj      pipe/socketpair/eventfd (ca76cd9)
    491  1.1.1.2.4.2  snj    o Use pipes for telling signals to main thread when possible (a35f396)
    492  1.1.1.2.4.2  snj    o Save syscalls when constructing listener sockets for evhttp (af6c9d8)
    493  1.1.1.2.4.2  snj    o Save some syscalls when creating evdns sockets (713e570)
    494  1.1.1.2.4.2  snj    o Save some syscalls when constructing a socket for a bufferevent (33fca62)
    495  1.1.1.2.4.2  snj    o Prefer epoll_create1 on Linuxen that have it (bac906c)
    496  1.1.1.2.4.2  snj 
    497  1.1.1.2.4.2  snj  Performance: Epoll backend
    498  1.1.1.2.4.2  snj    o Use current event set rather than current pending change when
    499  1.1.1.2.4.2  snj      deciding whether to no-op a del (04ba27e Mike Smellie)
    500  1.1.1.2.4.2  snj    o Replace big chain of if/thens in epoll.c with a table lookup (8c83eb6)
    501  1.1.1.2.4.2  snj    o Clean up error handling in epoll_apply_one_change() a little (2d55a19)
    502  1.1.1.2.4.2  snj 
    503  1.1.1.2.4.2  snj  Performance: Evport backend
    504  1.1.1.2.4.2  snj    o evport: use evmap_io to track fdinfo status. Should save time and
    505  1.1.1.2.4.2  snj      RAM. (4687ce4)
    506  1.1.1.2.4.2  snj    o evport: Remove a linear search over recent events when
    507  1.1.1.2.4.2  snj      reactivating them (0f77efe)
    508  1.1.1.2.4.2  snj    o evport: Use portev_user to remember fdinfo struct (276ec0e)
    509  1.1.1.2.4.2  snj    o evport: don't scan more events in ed_pending than needed (849a5cf)
    510  1.1.1.2.4.2  snj    o evport: Remove artificial low limit on max events per getn call (c04d927)
    511  1.1.1.2.4.2  snj    o Reenable main/many_events_slow_add for evport in 2.1 (e903db3)
    512  1.1.1.2.4.2  snj 
    513  1.1.1.2.4.2  snj  Performance: Windows
    514  1.1.1.2.4.2  snj    o Use GetSystemTimeAsFileTime to implement gettimeofday on
    515  1.1.1.2.4.2  snj      win32. It's faster and more accurate than our old
    516  1.1.1.2.4.2  snj      approach. (b8b8aa5)
    517  1.1.1.2.4.2  snj 
    518  1.1.1.2.4.2  snj  New functions and features: debugging
    519  1.1.1.2.4.2  snj    o Add event_enable_debug_logging() to control use of debug logs (e30a82f)
    520  1.1.1.2.4.2  snj 
    521  1.1.1.2.4.2  snj  New functions and features: core
    522  1.1.1.2.4.2  snj    o Add event_config function to limit time/callbacks between calls
    523  1.1.1.2.4.2  snj      to dispatch (fd4de1e, 9fa56bd, a37a0c0, 3c63edd)
    524  1.1.1.2.4.2  snj    o New EVLOOP_NO_EXIT_ON_EMPTY option to keep looping even when no
    525  1.1.1.2.4.2  snj      events are pending (084e68f)
    526  1.1.1.2.4.2  snj    o Add event_base_get_npriorities() function. (ee3a4ee Alexander Drozdov)
    527  1.1.1.2.4.2  snj    o Make evbase_priority_init() and evbase_get_npriorities()
    528  1.1.1.2.4.2  snj      threadsafe (3c55b5e)
    529  1.1.1.2.4.2  snj    o New event_base_update_cache_time() to set cached_tv to current
    530  1.1.1.2.4.2  snj      time (212533e Abel Mathew)
    531  1.1.1.2.4.2  snj    o Add event_self_cbarg() to be used in conjunction with
    532  1.1.1.2.4.2  snj      event_new(). (ed36e6a Ross Lagerwall, fa931bb, 09a1906, 1338e6c,
    533  1.1.1.2.4.2  snj      33e43ef)
    534  1.1.1.2.4.2  snj    o Add a new libevent_global_shutdown() to free all globals before
    535  1.1.1.2.4.2  snj      exiting. (041ca00 Mark Ellzey, f98c158, 15296d0, 55e991b)
    536  1.1.1.2.4.2  snj    o Use getifaddrs to detect our interfaces if possible (7085a45)
    537  1.1.1.2.4.2  snj    o Add event_base_get_running_event() to get the event* whose cb we
    538  1.1.1.2.4.2  snj      are in (c5732fd, 13dad99)
    539  1.1.1.2.4.2  snj 
    540  1.1.1.2.4.2  snj  New functions and features: building
    541  1.1.1.2.4.2  snj    o Implement --enable-gcc-hardening configure option (7550267 Sebastian Hahn)
    542  1.1.1.2.4.2  snj 
    543  1.1.1.2.4.2  snj  New functions and features: evbuffers
    544  1.1.1.2.4.2  snj    o Add evbuffer_add_file_segment() so one fd can be used efficiently
    545  1.1.1.2.4.2  snj      in more than one evbuffer_add_file at a time (e72afae, c2d9884,
    546  1.1.1.2.4.2  snj      3f405d2, 0aad014)
    547  1.1.1.2.4.2  snj    o Fix windows file segment mappings (8254de7)
    548  1.1.1.2.4.2  snj    o Allow evbuffer_ptr_set to yield a point just after the end of the
    549  1.1.1.2.4.2  snj      buffer. (e6fe1da)
    550  1.1.1.2.4.2  snj    o Allow evbuffer_ptr to point to position 0 in an empty evbuffer
    551  1.1.1.2.4.2  snj      (7aeb2fd Nir Soffer)
    552  1.1.1.2.4.2  snj    o Set the special "not found" evbuffer_ptr consistently. (e3e97ae Nir Soffer)
    553  1.1.1.2.4.2  snj    o support adding buffers to other buffers non-destructively
    554  1.1.1.2.4.2  snj      (9d7368a Joachim Bauch)
    555  1.1.1.2.4.2  snj    o prevent nested multicast references, reworked locking (26041a8
    556  1.1.1.2.4.2  snj      Joachim Bauch)
    557  1.1.1.2.4.2  snj    o New EVBUFFER_EOL_NUL to read NUL-terminated strings from an
    558  1.1.1.2.4.2  snj      evbuffer (d7a8b36 Andrea Montefusco, 54142c9)
    559  1.1.1.2.4.2  snj    o Make evbuffer_file_segment_types adaptable (c6bbbf1)
    560  1.1.1.2.4.2  snj    o Added evbuffer_add_iovec and unit tests. (aaec5ac Mark Ellzey, 27b5398)
    561  1.1.1.2.4.2  snj    o Add evbuffer_copyout_from to copy data from the middle of a
    562  1.1.1.2.4.2  snj      buffer (27e2225)
    563  1.1.1.2.4.2  snj 
    564  1.1.1.2.4.2  snj  New functions and features: bufferevents
    565  1.1.1.2.4.2  snj    o Allow users to set allow_dirty_shutdown (099d27d Catalin Patulea)
    566  1.1.1.2.4.2  snj    o Tweak allow_dirty_shutdown documentation (a44cd2b)
    567  1.1.1.2.4.2  snj    o Fix two issues in the allow_dirty_shutdown code. (f3b89de)
    568  1.1.1.2.4.2  snj    o Add a bufferevent_getcb() to find a bufferevent's current
    569  1.1.1.2.4.2  snj      callbacks (a650394)
    570  1.1.1.2.4.2  snj    o bufferevent: Add functions to set/get max_single_read/write
    571  1.1.1.2.4.2  snj      values. (998c813 Alexander Drozdov)
    572  1.1.1.2.4.2  snj    o bev_ssl: Be more specific in event callbacks. evhttp in particular gets
    573  1.1.1.2.4.2  snj      confused without at least one of BEV_EVENT_{READING|WRITING}. (f7eb69a
    574  1.1.1.2.4.2  snj      Catalin Patulea)
    575  1.1.1.2.4.2  snj 
    576  1.1.1.2.4.2  snj  New functions and features: evconnlisteners
    577  1.1.1.2.4.2  snj    o Support TCP_DEFER_ACCEPT sockopts for listeners (5880e4a Mark Ellzey,
    578  1.1.1.2.4.2  snj      a270728)
    579  1.1.1.2.4.2  snj    o Add another caveat to the TCP_DEFER_ACCEPT documentation (a270728)
    580  1.1.1.2.4.2  snj    o Allow evconnlistener to be created in disabled state. (9593a33
    581  1.1.1.2.4.2  snj      Alexander Drozdov)
    582  1.1.1.2.4.2  snj    o The LEV_OPT_CLOSE_ON_EXEC flag now applies to accepted listener
    583  1.1.1.2.4.2  snj      sockets too (4970329)
    584  1.1.1.2.4.2  snj 
    585  1.1.1.2.4.2  snj  Evhttp:
    586  1.1.1.2.4.2  snj    o Add new evhttp_{connection_}set_timeout_tv() functions to set
    587  1.1.1.2.4.2  snj      finger-grained http timeouts (6350e6c Constantine Verutin)
    588  1.1.1.2.4.2  snj    o Performance tweak to evhttp_parse_request_line. (aee1a97 Mark Ellzey)
    589  1.1.1.2.4.2  snj    o Add missing break to evhttp_parse_request_line (0fcc536)
    590  1.1.1.2.4.2  snj    o Add evhttp callback for bufferevent creation; this lets evhttp
    591  1.1.1.2.4.2  snj      support SSL. (8d3a850)
    592  1.1.1.2.4.2  snj    o Remove calls to deprecated bufferevent functions from evhttp.c (4d63758)
    593  1.1.1.2.4.2  snj    o evhttp: Add evhttp_foreach_bound_socket. (a2c48e3 Samy Al Bahra)
    594  1.1.1.2.4.2  snj 
    595  1.1.1.2.4.2  snj  Build improvements:
    596  1.1.1.2.4.2  snj    o Add AC_USE_SYSTEM_EXTENSIONS to configure.in. Requires follow on
    597  1.1.1.2.4.2  snj      patches for correctness and robustness. (1fa7dbe Kevin Bowling)
    598  1.1.1.2.4.2  snj    o Filter '# define' statements from autoconf and generate
    599  1.1.1.2.4.2  snj      event-private.h (321b558 Kevin Bowling)
    600  1.1.1.2.4.2  snj    o Remove internal usage of _GNU_SOURCE (3b26541 Kevin Bowling)
    601  1.1.1.2.4.2  snj    o Eliminate a couple more manual internal _GNU_SOURCE defines (c51ef93
    602  1.1.1.2.4.2  snj      Kevin Bowling)
    603  1.1.1.2.4.2  snj    o Add AC_GNU_SOURCE to the fallback case. (ea8fa4c Kevin Bowling)
    604  1.1.1.2.4.2  snj    o Use a Configuration Header Template for evconfig-private.h (868f888
    605  1.1.1.2.4.2  snj      Kevin Bowling)
    606  1.1.1.2.4.2  snj    o Fix a comment warning and add evconfig-private.h to .gitignore
    607  1.1.1.2.4.2  snj      (f6d66bc Kevin Bowling)
    608  1.1.1.2.4.2  snj    o Include evconfig-private.h in internal files for great good. (0915ca0
    609  1.1.1.2.4.2  snj      Kevin Bowling)
    610  1.1.1.2.4.2  snj    o Backport libevent to vanilla Autoconf 2.59 (as used in RHEL5)
    611  1.1.1.2.4.2  snj      (ad03952 Kevin Bowling)
    612  1.1.1.2.4.2  snj    o Prefer the ./configure evconfig-private.h in MinGW, just in
    613  1.1.1.2.4.2  snj      case. (f964b72 Kevin Bowling)
    614  1.1.1.2.4.2  snj    o Shell hack for weird mkdir -p commands (fd7b5a8 Kevin Bowling)
    615  1.1.1.2.4.2  snj    o Add evconfig-private to remaining files (ded0a09 Kevin Bowling)
    616  1.1.1.2.4.2  snj    o Allow use of --enable-silent-rules for quieter compilation with
    617  1.1.1.2.4.2  snj      automake 1.11 (f1f8514 Dave Hart)
    618  1.1.1.2.4.2  snj    o Use "_WIN32", not WIN32: it's standard and we don't need to fake it
    619  1.1.1.2.4.2  snj      (9f560b)
    620  1.1.1.2.4.2  snj    o In configure, test for _WIN32 not WIN32. (85078b1 Peter Rosin)
    621  1.1.1.2.4.2  snj    o Do not define WIN32 in Makefile.nmake (d41f3ea Peter Rosin)
    622  1.1.1.2.4.2  snj    o Provide the autoconf m4 macros for the new OpenSSL via pkg-config
    623  1.1.1.2.4.2  snj      stuff. (674dc3d Harlan Stenn)
    624  1.1.1.2.4.2  snj    o Use pkg-config (if available) to handle OpenSSL. (1c63860 Harlan Stenn)
    625  1.1.1.2.4.2  snj    o We need AM_CPPFLAGS when compiling bufferevent_openssl.c (6d2613b
    626  1.1.1.2.4.2  snj      Harlan Stenn)
    627  1.1.1.2.4.2  snj    o Fix OSX build: $(OPENSSL_INCS) needs to be after
    628  1.1.1.2.4.2  snj      $(AM_CPPFLAGS). (46f1769 Zack Weinberg)
    629  1.1.1.2.4.2  snj    o Make gcc warnings on by default, and --enable-gcc-warnings only add
    630  1.1.1.2.4.2  snj      -Werror (d46517e Sebastian Hahn)
    631  1.1.1.2.4.2  snj    o Split up extra-long AC_CHECK_FUNCS/HEADERS lines in configure.in (88a30ad)
    632  1.1.1.2.4.2  snj    o Move libevent 1.x headers to include/, to put all public headers in
    633  1.1.1.2.4.2  snj      one place. (bbea8d6)
    634  1.1.1.2.4.2  snj    o Put #ifdef around some files to support alternate build
    635  1.1.1.2.4.2  snj      systems. (76d4c92 Ross Lagerwall)
    636  1.1.1.2.4.2  snj    o Also make win32select.c conditional for IDE users (bf2c5a7)
    637  1.1.1.2.4.2  snj 
    638  1.1.1.2.4.2  snj  Debugging:
    639  1.1.1.2.4.2  snj    o Add a magic number to debug_locks to better catch lock-coding
    640  1.1.1.2.4.2  snj      errors. (b4a29c0 Dave Hart)
    641  1.1.1.2.4.2  snj    o munge the debug_lock signature before freeing it: it might help us
    642  1.1.1.2.4.2  snj      catch use-after-free (f28084d)
    643  1.1.1.2.4.2  snj    o Added --enable-event-debugging in configure (bc7b4e4, a9c2c9a Mark Ellzey)
    644  1.1.1.2.4.2  snj    o Debug addition for printing usec on TIMEOUT debugging. (ac43ce0 Mark Ellzey)
    645  1.1.1.2.4.2  snj    o Added usec debug in another area for debug (3baab0d Mark Ellzey)
    646  1.1.1.2.4.2  snj    o added timeout debug logs to include event ptr. (4b7d298 Mark Ellzey)
    647  1.1.1.2.4.2  snj    o more event dbg updates (6727543 Mark Ellzey)
    648  1.1.1.2.4.2  snj    o Clarify event_enable_debug_logging a little (6207826)
    649  1.1.1.2.4.2  snj    o Make --enable-verbose-debug option match its help text (10c3450)
    650  1.1.1.2.4.2  snj    o Add argument checks to some memory functions in `event.c'. (c8953d1
    651  1.1.1.2.4.2  snj      Mansour Moufid)
    652  1.1.1.2.4.2  snj 
    653  1.1.1.2.4.2  snj  Testing:
    654  1.1.1.2.4.2  snj    o More abstraction in test.sh (cd74c4e)
    655  1.1.1.2.4.2  snj    o Add failing test for evbuffer_search_range. (8e26154 Nir Soffer)
    656  1.1.1.2.4.2  snj    o Tweaks to return types with end-of-buf ptrs (9ab8ab8)
    657  1.1.1.2.4.2  snj    o Add an (internal) usleep function for use by unit tests (f25d9d3)
    658  1.1.1.2.4.2  snj    o Synchronize with upstream tinytest (6c81be7)
    659  1.1.1.2.4.2  snj    o Make test-changelist faster (7622d26)
    660  1.1.1.2.4.2  snj    o Reduce the timeout in the main/fork test. (ab14f7c)
    661  1.1.1.2.4.2  snj    o New evhttp function to adjust initial retry timeout (350a3c4)
    662  1.1.1.2.4.2  snj    o Make regression tests run over 3x faster. (67a1763)
    663  1.1.1.2.4.2  snj    o Use test_timeval_diff_eq more consistently (b77b43f)
    664  1.1.1.2.4.2  snj    o Allow more slop in deferred_cb_skew test; freebsd needs it (b9f7e5f)
    665  1.1.1.2.4.2  snj    o When including an -internal.h header outside the main tree, do so
    666  1.1.1.2.4.2  snj      early (95e2455)
    667  1.1.1.2.4.2  snj    o Add a new test: test-fdleak which tests for fd leaks by creating many
    668  1.1.1.2.4.2  snj      sockets. (2ef9278 Ross Lagerwall, f7af194, 1c4288f, etc)
    669  1.1.1.2.4.2  snj    o Add a unit test for event_base_dump_events() (7afe48a, 8d08cce)
    670  1.1.1.2.4.2  snj    o Test more bufferevent_ratelim features (c24f91a)
    671  1.1.1.2.4.2  snj 
    672  1.1.1.2.4.2  snj  Documentation:
    673  1.1.1.2.4.2  snj    o Improve evbuffer_ptr documentation (261ba63)
    674  1.1.1.2.4.2  snj    o added comments to describe refcounting of multicast chains (ba24f61
    675  1.1.1.2.4.2  snj      Joachim Bauch)
    676  1.1.1.2.4.2  snj    o Add doxygen for event_base_dump_events (cad5753)
    677  1.1.1.2.4.2  snj 
    678  1.1.1.2.4.2  snj  OSX:
    679  1.1.1.2.4.2  snj    o Use "unlimited select" on OSX so that we can have more than
    680  1.1.1.2.4.2  snj      FD_SETSIZE fds (1fb5cc6)
    681  1.1.1.2.4.2  snj 
    682  1.1.1.2.4.2  snj  KQueue:
    683  1.1.1.2.4.2  snj    o Use SIG_IGN instead of a do-nothing handler for signal events with
    684  1.1.1.2.4.2  snj      kqueue (148458e Zack Weinberg)
    685  1.1.1.2.4.2  snj 
    686  1.1.1.2.4.2  snj  evprc:
    687  1.1.1.2.4.2  snj    o event_rpcgen.py now prints status information to stdout and errors to
    688  1.1.1.2.4.2  snj      stderr. (ffb0ba0 Ross Lagerwall)
    689  1.1.1.2.4.2  snj 
    690  1.1.1.2.4.2  snj  Code improvement and refactoring:
    691  1.1.1.2.4.2  snj    o Make event_reinit() more robust and maintainable (272033e)
    692  1.1.1.2.4.2  snj    o Restore fast-path event_reinit() for slower backends (2c4b5de)
    693  1.1.1.2.4.2  snj    o Check changelist as part of checking representational integrity (39b3f38)
    694  1.1.1.2.4.2  snj    o Fix a compile warning in event_reinit (e4a56ed Sebastian Hahn)
    695  1.1.1.2.4.2  snj    o Refactor the functions that run over every event. (c89b4e6)
    696  1.1.1.2.4.2  snj    o Remove the last vestiges of _EVENT_USE_EVENTLIST (a3cec90)
    697  1.1.1.2.4.2  snj    o Make event-config.h depend on Makefile.am (2958a5c)
    698  1.1.1.2.4.2  snj 
    699  1.1.1.2.4.2  snj  Build fixes:
    700  1.1.1.2.4.2  snj    o Don't do clang version detection when disabling some flags (083296b
    701  1.1.1.2.4.2  snj      Sebastian Hahn)
    702  1.1.1.2.4.2  snj 
    703  1.1.1.2.4.2  snj  C standards conformance:
    704  1.1.1.2.4.2  snj    o Check for NULL return on win32 mm_calloc, and set ENOMEM. (af7ba69)
    705  1.1.1.2.4.2  snj    o Convert event-config.h macros to avoid reserved identifiers (68120d9)
    706  1.1.1.2.4.2  snj    o Generate event-config.h using the correct macros. (f82c57e)
    707  1.1.1.2.4.2  snj    o Convert include-guard macro convention to avoid reserved identifiers
    708  1.1.1.2.4.2  snj      (3f8c7cd)
    709  1.1.1.2.4.2  snj    o Make event_rpcgen.py output conform to identifier conventions (372bff1)
    710  1.1.1.2.4.2  snj    o Stop referring to an obsolete include guard in bench_http.h (5c0f7e0)
    711  1.1.1.2.4.2  snj    o Make the generated event-config.h use correct include guards (639383a)
    712  1.1.1.2.4.2  snj    o Fix all identifiers with names beginning with underscore. (cb9da0b)
    713  1.1.1.2.4.2  snj    o Make event_rpcgen.py output conform to identifier conventions, more
    714  1.1.1.2.4.2  snj      (bcefd24)
    715  1.1.1.2.4.2  snj    o Fix some problems introduced by automated identifier cleanup script
    716  1.1.1.2.4.2  snj      (c963534)
    717  1.1.1.2.4.2  snj    o Have all visible internal function names end with an underscore. (8ac3c4c)
    718  1.1.1.2.4.2  snj    o Apply the naming convention to our EVUTIL_IS* functions (c7848fa)
    719  1.1.1.2.4.2  snj    o Clean up lingering _identifiers. (946b584)
    720  1.1.1.2.4.2  snj    o Fix doxygen to use new macro conventions (da455e9)
    721  1.1.1.2.4.2  snj 
    722  1.1.1.2.4.2  snj  Bugfixes:
    723  1.1.1.2.4.2  snj    o Do not use system EAI/AI values if we are not using the system
    724  1.1.1.2.4.2  snj      getaddrinfo. (7bcac07)
    725  1.1.1.2.4.2  snj 
    726  1.1.1.2.4.2  snj  Sample Code:
    727  1.1.1.2.4.2  snj    o Fix up sample/event-test.c to use newer interfaces and make it
    728  1.1.1.2.4.2  snj      actually work. (19bab4f Ross Lagerwall)
    729  1.1.1.2.4.2  snj    o On Unix, remove event.fifo left by sample/event-test.c. (c0dacd2 Ross
    730  1.1.1.2.4.2  snj      Lagerwall)
    731  1.1.1.2.4.2  snj    o Rename event-test.c to event-read-fifo.c. (a5b370a Ross Lagerwall)
    732  1.1.1.2.4.2  snj    o event-read-fifo: Use EV_PERSIST appropriately (24dab0b)
    733  1.1.1.2.4.2  snj 
    734  1.1.1.2.4.2  snj 
    735  1.1.1.2.4.2  snj 
    736  1.1.1.2.4.2  snj 
    737