xref: /libevent-2.1.12/ChangeLog (revision fa95fe46)
19a99bab0SNiels ProvosChanges in current version:
2d50afbb3SNiels Provos o free minheap on event_base_free(); from Christopher Layne
356934d5dSNiels Provos o debug cleanups in signal.c; from Christopher Layne
4f586f428SNiels Provos o provide event_base_new() that does not set the current_base global
5af6f331aSNiels Provos o bufferevent_write now uses a const source argument; report from Charles Kerr
670248ca8SNick Mathewson o improve documentation on event_base_loopexit; patch from Scott Lamb
71c23e219SNick Mathewson o New function, event_{base_}loopbreak.  Like event_loopexit, it makes an event loop stop executing and return.  Unlike event_loopexit, it keeps subsequent pending events from getting executed.  Patch from Scott Lamb
888897852SNiels Provos o provide event_reinit() to reintialize an event_base after fork
97eb250e9SNick Mathewson o New function event_set_mem_functinons.  It allows the user to give libevent replacement functions to use for memory management in place of malloc(), free(), etc.  This should be generally useful for memory instrumentation, specialized allocators, and so on.
102823cb05SNick Mathewson o The kqueue implementation now catches signals that are raised after event_add() is called but before the event_loop() call.  This makes it match the other implementations.
112823cb05SNick Mathewson o The kqueue implementation now restores original signal handlers correctly when its signal events are removed.
12*fa95fe46SNick Mathewson o Check return value of event_add in signal.c
13d50afbb3SNiels Provos
14566ca340SNick Mathewson
15d50afbb3SNiels ProvosChanges in 1.4.0:
1611a0a9e4SNiels Provos o allow \r or \n individually to separate HTTP headers instead of the standard "\r\n"; from Charles Kerr.
17ff9e1af6SNiels Provos o demote most http warnings to debug messages
189c3ac4e4SNick Mathewson o Fix Solaris compilation; from Magne Mahre
198d5ef326SNick Mathewson o Add a "Date" header to HTTP responses, as required by HTTP 1.1.
2098f9616bSNiels Provos o Support specifying the local address of an evhttp_connection using set_local_address
21e2f56411SNiels Provos o Fix a memory leak in which failed HTTP connections whould not free the request object
22babd622fSNiels Provos o Make adding of array members in event_rpcgen more efficient, but doubling memory allocation
237c66bf33SNiels Provos o Fix a memory leak in the DNS server
24c396c767SNick Mathewson o Fix compilation when DNS_USE_OPENSSL_FOR_ID is enabled
258b392549SNick Mathewson o Fix buffer size and string generation in evdns_resolve_reverse_ipv6().
2682153e6eSNick Mathewson o Respond to nonstandard DNS queries with "NOTIMPL" rather than by ignoring them.
2782153e6eSNick Mathewson o In DNS responses, the CD flag should be preserved, not the TC flag.
28b835ee08SNiels Provos o Fix http.c to compile properly with USE_DEBUG; from Christopher Layne
29bfd27f58SNick Mathewson o Handle NULL timeouts correctly on Solaris; from Trond Norbye
30bfd27f58SNick Mathewson o Recalculate pending events properly when reallocating event array on Solaris; from Trond Norbye
317135ffb6SNick Mathewson o Add Doxygen documentation to header files; from Mark Heily
32626cc5f9SNick Mathewson o Add a evdns_set_transaction_id_fn() function to override the default
33626cc5f9SNick Mathewson   transaction ID generation code.
3425007183SNick Mathewson o Add an evutil module (with header evutil.h) to implement our standard cross-platform hacks, on the theory that somebody else would like to use them too.
358b256b8eSNick Mathewson o Fix signals implementation on windows.
368b256b8eSNick Mathewson o Fix http module on windows to close sockets properly.
375a0d671fSNick Mathewson o Make autogen.sh script run correctly on systems where /bin/sh isn't bash. (Patch from Trond Norbye, rewritten by Hagne Mahre and then Hannah Schroeter.)
38f4c84e86SNick Mathewson o Skip calling gettime() in timeout_process if we are not in fact waiting for any events. (Patch from Trond Norbye)
391e1f77c5SNick Mathewson o Make test subdirectory compile under mingw.
40db43c1e1SNick Mathewson o Fix win32 buffer.c behavior so that it is correct for sockets (which do not like ReadFile and WriteFile).
414ed48673SNick Mathewson o Make the test.sh script run unit tests for the evpoll method.
424ed48673SNick Mathewson o Make the entire evdns.h header enclosed in "extern C" as appropriate.
43bc7b7c24SNick Mathewson o Fix implementation of strsep on platforms that lack it
4449ede3beSNick Mathewson o Fix implementation of getaddrinfo on platforms that lack it; mainly, this will make Windows http.c work better.  Original patch by Lubomir Marinov.
4518ac9248SNiels Provos o Fix evport implementation: port_disassociate called on unassociated events resulting in bogus errors; more efficient memory management; from Trond Norbye and Prakash Sangappa
4665236aa8SNiels Provos o support for hooks on rpc input and output; can be used to implement rpc independent processing such as compression or authentication.
4730ae40ccSNiels Provos o use a min heap instead of a red-black tree for timeouts; as a result finding the min is a O(1) operation now; from Maxim Yegorushkin
481d3a008aSNiels Provos o associate an event base with an rpc pool
4988173102SNiels Provos o added two additional libraries: libevent_core and libevent_extra in addition to the regular libevent.  libevent_core contains only the event core whereas libevent_extra contains dns, http and rpc support
501bcb112bSNick Mathewson o Begin using libtool's library versioning support correctly.  If we don't mess up, this will more or less guarantee binaries linked against old versions of libevent continue working when we make changes to libevent that do not break backward compatibility.
51d7d91461SNick Mathewson o Fix evhttp.h compilation when TAILQ_ENTRY is not defined.
52bbed0954SNiels Provos o Small code cleanups in epoll_dispatch().
5381802bf9SNick Mathewson o Increase the maximum number of addresses read from a packet in evdns to 32.
54e9564eceSNick Mathewson o Remove support for the rtsig method: it hasn't compiled for a while, and nobody seems to miss it very much.  Let us know if there's a good reason to put it back in.
557c507668SNick Mathewson o Rename the "class" field in evdns_server_request to dns_question_class, so that it won't break compilation under C++.  Use a macro so that old code won't break.  Mark the macro as deprecated.
56bab0e6d4SNick Mathewson o Fix DNS unit tests so that having a DNS server with broken IPv6 support is no longer cause for aborting the unit tests.
57206d4336SNick Mathewson o Make event_base_free() succeed even if there are pending non-internal events on a base.  This may still leak memory and fds, but at least it no longer crashes.
58f74e7258SNick Mathewson o Post-process the config.h file into a new, installed event-config.h file that we can install, and whose macros will be safe to include in header files.
59f74e7258SNick Mathewson o Remove the long-deprecated acconfig.h file.
60f74e7258SNick Mathewson o Do not require #include <sys/types.h> before #include <event.h>.
61f74e7258SNick Mathewson o Add new evutil_timer* functions to wrap (or replace) the regular timeval manipulation functions.
6292cd548fSNick Mathewson o Fix many build issues when using the Microsoft C compiler.
63cabcd62fSNick Mathewson o Remove a bash-ism in autogen.sh
64321dfd55SNick Mathewson o When calling event_del on a signal, restore the signal handler's previous value rather than setting it to SIG_DFL. Patch from Christopher Layne.
654a1a2e0dSNiels Provos o Make the logic for active events work better with internal events; patch from Christopher Layne.
663742868aSNiels Provos o We do not need to specially remove a timeout before calling event_del; patch from Christopher Layne.
67