<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in event2</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>349081e1 - Merge branch &apos;win32-visibility-event_debug_logging_mask_&apos;</title>
        <link>http://172.16.0.5:8080/history/libevent-2.1.12/include/event2/#349081e1</link>
        <description>Merge branch &apos;win32-visibility-event_debug_logging_mask_&apos;* win32-visibility-event_debug_logging_mask_:  Introduce EVENT_VISIBILITY_WANT_DLLIMPORT  regress_http: use TT_BLAZER() over event_debug()Fixes: #702(cherry picked from commit fb8666453ce8bb1d599a68636bed5db5ef4a7a57)

            List of files:
            /libevent-2.1.12/include/event2/visibility.h</description>
        <pubDate>Sun, 28 Oct 2018 16:00:00 +0000</pubDate>
        <dc:creator>Azat Khuzhin &lt;a3at.mail@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>f602211f - Parse IPv6 scope IDs.</title>
        <link>http://172.16.0.5:8080/history/libevent-2.1.12/include/event2/#f602211f</link>
        <description>Parse IPv6 scope IDs.(cherry picked from commit 9fecb59a94ef246088d7f3e0365c2fe80d0df2f4)

            List of files:
            /libevent-2.1.12/include/event2/util.h</description>
        <pubDate>Tue, 29 Oct 2019 14:00:00 +0000</pubDate>
        <dc:creator>Philip Homburg &lt;phomburg@ripe.net&gt;</dc:creator>
    </item>
<item>
        <title>4545fa9b - Add option to build shared library</title>
        <link>http://172.16.0.5:8080/history/libevent-2.1.12/include/event2/#4545fa9b</link>
        <description>Add option to build shared library

            List of files:
            /libevent-2.1.12/include/event2/bufferevent_ssl.h/libevent-2.1.12/include/event2/event_compat.h/libevent-2.1.12/include/event2/tag.h/libevent-2.1.12/include/event2/thread.h</description>
        <pubDate>Wed, 19 Feb 2014 05:00:00 +0000</pubDate>
        <dc:creator>Trond Norbye &lt;trond.norbye@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>3f8c7cd0 - Convert include-guard macro convention to avoid reserved identifiers</title>
        <link>http://172.16.0.5:8080/history/libevent-2.1.12/include/event2/#3f8c7cd0</link>
        <description>Convert include-guard macro convention to avoid reserved identifiersPreviously we used include-guards with names like _EVENT2_EVENT_H_.But C reserves macros beginning with an underscore for use by thesystem.  This patch converts all include guards for files likeinclude/event2/&lt;fname.h&gt; to be of form EVENT2_&lt;FNAME_H&gt;_INCLUDED_,and all Libevent 1.x headers in include/&lt;fname.h&gt; to be of the formEVENT1_&lt;FNAME_H&gt;_INCLUDED_, and all internal libevent headers withnames like &lt;fname.h&gt; to the form &lt;FNAME_H&gt;_INCLUDED_.FNAME_H is here derived from fname.h by replacing everynon-macro-usable character in fname.h with an underscore, andputting every remaining character in uppercase.This is an automatic conversion.  The script that produced was made byrunning the following script over all header files:=====#!/usr/bin/perl -w# Run this on every .h file except config.h, sys/queue.h, WIN32/event2/event-config.huse strict;my %macros = ();my %skipped = ();FILE: for my $fn (@ARGV) {    my $f = $fn;    if ($fn !~ /^\.\//) {	$f = &quot;./$fn&quot;;    }    if ($f eq &apos;./config.h&apos; or	$f =~ m#/tree.h$# or	$f =~ m#/queue.h# or	$f =~ m#/event-config.h# or	$f =~ m#/evconfig-private.h#) {	$skipped{$fn} = 1;	next FILE;    }    $skipped{$fn} = 0;    open(F, $fn);    while (&lt;F&gt;) {	if (/^#ifndef ([A-Za-z0-9_]+)/) {	    $macros{$fn} = $1;	    next FILE;	}    }}print &quot;#!/usr/bin/perl -w -i -p\n\n&quot;;for my $fn (@ARGV) {    if (! exists $macros{$fn}) {	print &quot;# No macro known for $fn!\n&quot; if (!$skipped{$fn});    } else {	if ($macros{$fn} !~ /_H_?$/) {	    print &quot;# Weird macro for $fn...\n&quot;;	}	my $goodmacro = uc $fn;	$goodmacro =~ s#^\./##;	$goodmacro =~ s#INCLUDE/EVENT2#EVENT2#;	$goodmacro =~ s#INCLUDE/#EVENT1_#;	$goodmacro =~ s#TEST/##;	$goodmacro =~ s#[\/\-\.]#_#g;	print &quot;s/(?&lt;![A-Za-z0-9_])$macros{$fn}(?![A-Za-z0-9_])/${goodmacro}_INCLUDED_/g;\n&quot;    }}=== And then running the script below that it generated over all=== the .h files again#!/usr/bin/perl -w -i -ps/(?&lt;![A-Za-z0-9_])_BUFFEREVENT_INTERNAL_H_(?![A-Za-z0-9_])/BUFFEREVENT_INTERNAL_H_INCLUDED_/g;s/(?&lt;![A-Za-z0-9_])_CHANGELIST_H_(?![A-Za-z0-9_])/CHANGELIST_INTERNAL_H_INCLUDED_/g;s/(?&lt;![A-Za-z0-9_])_DEFER_INTERNAL_H_(?![A-Za-z0-9_])/DEFER_INTERNAL_H_INCLUDED_/g;s/(?&lt;![A-Za-z0-9_])_EVBUFFER_INTERNAL_H_(?![A-Za-z0-9_])/EVBUFFER_INTERNAL_H_INCLUDED_/g;s/(?&lt;![A-Za-z0-9_])_EVENT_INTERNAL_H_(?![A-Za-z0-9_])/EVENT_INTERNAL_H_INCLUDED_/g;s/(?&lt;![A-Za-z0-9_])_EVMAP_H_(?![A-Za-z0-9_])/EVMAP_INTERNAL_H_INCLUDED_/g;s/(?&lt;![A-Za-z0-9_])_EVRPC_INTERNAL_H_(?![A-Za-z0-9_])/EVRPC_INTERNAL_H_INCLUDED_/g;s/(?&lt;![A-Za-z0-9_])_EVSIGNAL_H_(?![A-Za-z0-9_])/EVSIGNAL_INTERNAL_H_INCLUDED_/g;s/(?&lt;![A-Za-z0-9_])_EVTHREAD_INTERNAL_H_(?![A-Za-z0-9_])/EVTHREAD_INTERNAL_H_INCLUDED_/g;s/(?&lt;![A-Za-z0-9_])_EVENT_HT_H(?![A-Za-z0-9_])/HT_INTERNAL_H_INCLUDED_/g;s/(?&lt;![A-Za-z0-9_])_HTTP_INTERNAL_H_(?![A-Za-z0-9_])/HTTP_INTERNAL_H_INCLUDED_/g;s/(?&lt;![A-Za-z0-9_])_EVDNS_H_(?![A-Za-z0-9_])/EVENT1_EVDNS_H_INCLUDED_/g;s/(?&lt;![A-Za-z0-9_])_EVENT_H_(?![A-Za-z0-9_])/EVENT1_EVENT_H_INCLUDED_/g;s/(?&lt;![A-Za-z0-9_])_EVENT2_BUFFER_H_(?![A-Za-z0-9_])/EVENT2_BUFFER_H_INCLUDED_/g;s/(?&lt;![A-Za-z0-9_])_EVENT2_BUFFER_COMPAT_H_(?![A-Za-z0-9_])/EVENT2_BUFFER_COMPAT_H_INCLUDED_/g;s/(?&lt;![A-Za-z0-9_])_EVENT2_BUFFEREVENT_H_(?![A-Za-z0-9_])/EVENT2_BUFFEREVENT_H_INCLUDED_/g;s/(?&lt;![A-Za-z0-9_])_EVENT2_BUFFEREVENT_COMPAT_H_(?![A-Za-z0-9_])/EVENT2_BUFFEREVENT_COMPAT_H_INCLUDED_/g;s/(?&lt;![A-Za-z0-9_])_EVENT2_BUFFEREVENT_SSL_H_(?![A-Za-z0-9_])/EVENT2_BUFFEREVENT_SSL_H_INCLUDED_/g;s/(?&lt;![A-Za-z0-9_])_EVENT2_BUFFEREVENT_STRUCT_H_(?![A-Za-z0-9_])/EVENT2_BUFFEREVENT_STRUCT_H_INCLUDED_/g;s/(?&lt;![A-Za-z0-9_])_EVENT2_DNS_H_(?![A-Za-z0-9_])/EVENT2_DNS_H_INCLUDED_/g;s/(?&lt;![A-Za-z0-9_])_EVENT2_DNS_COMPAT_H_(?![A-Za-z0-9_])/EVENT2_DNS_COMPAT_H_INCLUDED_/g;s/(?&lt;![A-Za-z0-9_])_EVENT2_DNS_STRUCT_H_(?![A-Za-z0-9_])/EVENT2_DNS_STRUCT_H_INCLUDED_/g;s/(?&lt;![A-Za-z0-9_])_EVENT2_EVENT_H_(?![A-Za-z0-9_])/EVENT2_EVENT_H_INCLUDED_/g;s/(?&lt;![A-Za-z0-9_])_EVENT2_EVENT_COMPAT_H_(?![A-Za-z0-9_])/EVENT2_EVENT_COMPAT_H_INCLUDED_/g;s/(?&lt;![A-Za-z0-9_])_EVENT2_EVENT_STRUCT_H_(?![A-Za-z0-9_])/EVENT2_EVENT_STRUCT_H_INCLUDED_/g;s/(?&lt;![A-Za-z0-9_])_EVENT2_HTTP_H_(?![A-Za-z0-9_])/EVENT2_HTTP_H_INCLUDED_/g;s/(?&lt;![A-Za-z0-9_])_EVENT2_HTTP_COMPAT_H_(?![A-Za-z0-9_])/EVENT2_HTTP_COMPAT_H_INCLUDED_/g;s/(?&lt;![A-Za-z0-9_])_EVENT2_HTTP_STRUCT_H_(?![A-Za-z0-9_])/EVENT2_HTTP_STRUCT_H_INCLUDED_/g;s/(?&lt;![A-Za-z0-9_])_EVENT2_EVENT_KEYVALQ_STRUCT_H_(?![A-Za-z0-9_])/EVENT2_KEYVALQ_STRUCT_H_INCLUDED_/g;s/(?&lt;![A-Za-z0-9_])_EVENT2_LISTENER_H_(?![A-Za-z0-9_])/EVENT2_LISTENER_H_INCLUDED_/g;s/(?&lt;![A-Za-z0-9_])_EVENT2_RPC_H_(?![A-Za-z0-9_])/EVENT2_RPC_H_INCLUDED_/g;s/(?&lt;![A-Za-z0-9_])_EVENT2_RPC_COMPAT_H_(?![A-Za-z0-9_])/EVENT2_RPC_COMPAT_H_INCLUDED_/g;s/(?&lt;![A-Za-z0-9_])_EVENT2_RPC_STRUCT_H_(?![A-Za-z0-9_])/EVENT2_RPC_STRUCT_H_INCLUDED_/g;s/(?&lt;![A-Za-z0-9_])_EVENT2_TAG_H_(?![A-Za-z0-9_])/EVENT2_TAG_H_INCLUDED_/g;s/(?&lt;![A-Za-z0-9_])_EVENT2_TAG_COMPAT_H_(?![A-Za-z0-9_])/EVENT2_TAG_COMPAT_H_INCLUDED_/g;s/(?&lt;![A-Za-z0-9_])_EVENT2_THREAD_H_(?![A-Za-z0-9_])/EVENT2_THREAD_H_INCLUDED_/g;s/(?&lt;![A-Za-z0-9_])_EVENT2_UTIL_H_(?![A-Za-z0-9_])/EVENT2_UTIL_H_INCLUDED_/g;s/(?&lt;![A-Za-z0-9_])_EVHTTP_H_(?![A-Za-z0-9_])/EVENT1_EVHTTP_H_INCLUDED_/g;s/(?&lt;![A-Za-z0-9_])_EVRPC_H_(?![A-Za-z0-9_])/EVENT1_EVRPC_H_INCLUDED_/g;s/(?&lt;![A-Za-z0-9_])_EVUTIL_H_(?![A-Za-z0-9_])/EVENT1_EVUTIL_H_INCLUDED_/g;s/(?&lt;![A-Za-z0-9_])_EVENT_IOCP_INTERNAL_H(?![A-Za-z0-9_])/IOCP_INTERNAL_H_INCLUDED_/g;s/(?&lt;![A-Za-z0-9_])_EVENT_IPV6_INTERNAL_H(?![A-Za-z0-9_])/IPV6_INTERNAL_H_INCLUDED_/g;s/(?&lt;![A-Za-z0-9_])_LOG_H_(?![A-Za-z0-9_])/LOG_INTERNAL_H_INCLUDED_/g;s/(?&lt;![A-Za-z0-9_])_MIN_HEAP_H_(?![A-Za-z0-9_])/MINHEAP_INTERNAL_H_INCLUDED_/g;s/(?&lt;![A-Za-z0-9_])_EVENT_MM_INTERNAL_H(?![A-Za-z0-9_])/MM_INTERNAL_H_INCLUDED_/g;s/(?&lt;![A-Za-z0-9_])_RATELIM_INTERNAL_H_(?![A-Za-z0-9_])/RATELIM_INTERNAL_H_INCLUDED_/g;s/(?&lt;![A-Za-z0-9_])_STRLCPY_INTERNAL_H_(?![A-Za-z0-9_])/STRLCPY_INTERNAL_H_INCLUDED_/g;s/(?&lt;![A-Za-z0-9_])_REGRESS_H_(?![A-Za-z0-9_])/REGRESS_H_INCLUDED_/g;s/(?&lt;![A-Za-z0-9_])_TESTUTILS_H(?![A-Za-z0-9_])/REGRESS_TESTUTILS_H_INCLUDED_/g;# Weird macro for test/tinytest.h...s/(?&lt;![A-Za-z0-9_])TINYTEST_H_INCLUDED_(?![A-Za-z0-9_])/TINYTEST_H_INCLUDED_/g;# No macro known for test/tinytest_local.h!# Weird macro for test/tinytest_macros.h...s/(?&lt;![A-Za-z0-9_])TINYTEST_MACROS_H_INCLUDED_(?![A-Za-z0-9_])/TINYTEST_MACROS_H_INCLUDED_/g;s/(?&lt;![A-Za-z0-9_])_EVENT_UTIL_INTERNAL_H(?![A-Za-z0-9_])/UTIL_INTERNAL_H_INCLUDED_/g;

            List of files:
            /libevent-2.1.12/include/event2/bufferevent_struct.h/libevent-2.1.12/include/event2/dns_struct.h/libevent-2.1.12/include/event2/rpc_compat.h/libevent-2.1.12/include/event2/tag_compat.h</description>
        <pubDate>Wed, 29 Feb 2012 20:00:00 +0000</pubDate>
        <dc:creator>Nick Mathewson &lt;nickm@torproject.org&gt;</dc:creator>
    </item>
<item>
        <title>cb9da0bf - Fix all identifiers with names beginning with underscore.</title>
        <link>http://172.16.0.5:8080/history/libevent-2.1.12/include/event2/#cb9da0bf</link>
        <description>Fix all identifiers with names beginning with underscore.These are reserved in C.  We&apos;d been erroneously using them to indicateinternal use.Instead, we now use a trailing underscore whenever we&apos;d been using a leadingunderscore.This is an automatic conversion.  The script that produced was made byrunning the following script over the output of git ls-tree -r --name-only HEAD | grep  &apos;\.[ch]$&apos; | \   xargs ctags --c-kinds=defglmpstuvx -o - | grep &apos;^_&apos; | \   cut -f 1 | sort| uniq(GNU ctags was required.)=====#!/usr/bin/perl -w -nuse strict;BEGIN { print &quot;#!/usr/bin/perl -w -i -p\n\n&quot;; }chomp;next if (/^__func__/ or	 /^_FILE_OFFSET_BITS/ or	 /^_FORTIFY_SOURCE/ or	 /^_GNU_SOURCE/ or	 /^_WIN32/ or	 /^_DARWIN_UNLIMITED/ or	 /^_FILE_OFFSET_BITS/ or	 /^_LARGEFILE64_SOURCE/ or	 /^_LFS64_LARGEFILE/ or	 /^__cdecl/ or	 /^__attribute__/ or	 /^__func__/ or         /^_SYS_TREE_H_/);my $ident = $_;my $better = $ident;$better =~ s/^_//;if ($ident !~ /EVENT_LOG_/) {    $better = &quot;${better}_&quot;;}print &quot;s/(?&lt;![A-Za-z0-9_])$ident(?![A-Za-z0-9_])/$better/g;\n&quot;;=== And then running the script below that it generated over all=== the .c and .h files again#!/usr/bin/perl -w -i -ps/(?&lt;![A-Za-z0-9_])_ARC4_LOCK(?![A-Za-z0-9_])/ARC4_LOCK_/g;s/(?&lt;![A-Za-z0-9_])_ARC4_UNLOCK(?![A-Za-z0-9_])/ARC4_UNLOCK_/g;s/(?&lt;![A-Za-z0-9_])_bev_group_random_element(?![A-Za-z0-9_])/bev_group_random_element_/g;s/(?&lt;![A-Za-z0-9_])_bev_group_refill_callback(?![A-Za-z0-9_])/bev_group_refill_callback_/g;s/(?&lt;![A-Za-z0-9_])_bev_group_suspend_reading(?![A-Za-z0-9_])/bev_group_suspend_reading_/g;s/(?&lt;![A-Za-z0-9_])_bev_group_suspend_writing(?![A-Za-z0-9_])/bev_group_suspend_writing_/g;s/(?&lt;![A-Za-z0-9_])_bev_group_unsuspend_reading(?![A-Za-z0-9_])/bev_group_unsuspend_reading_/g;s/(?&lt;![A-Za-z0-9_])_bev_group_unsuspend_writing(?![A-Za-z0-9_])/bev_group_unsuspend_writing_/g;s/(?&lt;![A-Za-z0-9_])_bev_refill_callback(?![A-Za-z0-9_])/bev_refill_callback_/g;s/(?&lt;![A-Za-z0-9_])_bufferevent_add_event(?![A-Za-z0-9_])/bufferevent_add_event_/g;s/(?&lt;![A-Za-z0-9_])_bufferevent_cancel_all(?![A-Za-z0-9_])/bufferevent_cancel_all_/g;s/(?&lt;![A-Za-z0-9_])_bufferevent_decref_and_unlock(?![A-Za-z0-9_])/bufferevent_decref_and_unlock_/g;s/(?&lt;![A-Za-z0-9_])_bufferevent_decrement_read_buckets(?![A-Za-z0-9_])/bufferevent_decrement_read_buckets_/g;s/(?&lt;![A-Za-z0-9_])_bufferevent_decrement_write_buckets(?![A-Za-z0-9_])/bufferevent_decrement_write_buckets_/g;s/(?&lt;![A-Za-z0-9_])_bufferevent_del_generic_timeout_cbs(?![A-Za-z0-9_])/bufferevent_del_generic_timeout_cbs_/g;s/(?&lt;![A-Za-z0-9_])_bufferevent_generic_adj_timeouts(?![A-Za-z0-9_])/bufferevent_generic_adj_timeouts_/g;s/(?&lt;![A-Za-z0-9_])_bufferevent_get_read_max(?![A-Za-z0-9_])/bufferevent_get_read_max_/g;s/(?&lt;![A-Za-z0-9_])_bufferevent_get_rlim_max(?![A-Za-z0-9_])/bufferevent_get_rlim_max_/g;s/(?&lt;![A-Za-z0-9_])_bufferevent_get_write_max(?![A-Za-z0-9_])/bufferevent_get_write_max_/g;s/(?&lt;![A-Za-z0-9_])_bufferevent_incref_and_lock(?![A-Za-z0-9_])/bufferevent_incref_and_lock_/g;s/(?&lt;![A-Za-z0-9_])_bufferevent_init_generic_timeout_cbs(?![A-Za-z0-9_])/bufferevent_init_generic_timeout_cbs_/g;s/(?&lt;![A-Za-z0-9_])_bufferevent_ratelim_init(?![A-Za-z0-9_])/bufferevent_ratelim_init_/g;s/(?&lt;![A-Za-z0-9_])_bufferevent_run_eventcb(?![A-Za-z0-9_])/bufferevent_run_eventcb_/g;s/(?&lt;![A-Za-z0-9_])_bufferevent_run_readcb(?![A-Za-z0-9_])/bufferevent_run_readcb_/g;s/(?&lt;![A-Za-z0-9_])_bufferevent_run_writecb(?![A-Za-z0-9_])/bufferevent_run_writecb_/g;s/(?&lt;![A-Za-z0-9_])_ev(?![A-Za-z0-9_])/ev_/g;s/(?&lt;![A-Za-z0-9_])_evbuffer_chain_pin(?![A-Za-z0-9_])/evbuffer_chain_pin_/g;s/(?&lt;![A-Za-z0-9_])_evbuffer_chain_unpin(?![A-Za-z0-9_])/evbuffer_chain_unpin_/g;s/(?&lt;![A-Za-z0-9_])_evbuffer_decref_and_unlock(?![A-Za-z0-9_])/evbuffer_decref_and_unlock_/g;s/(?&lt;![A-Za-z0-9_])_evbuffer_expand_fast(?![A-Za-z0-9_])/evbuffer_expand_fast_/g;s/(?&lt;![A-Za-z0-9_])_evbuffer_incref(?![A-Za-z0-9_])/evbuffer_incref_/g;s/(?&lt;![A-Za-z0-9_])_evbuffer_incref_and_lock(?![A-Za-z0-9_])/evbuffer_incref_and_lock_/g;s/(?&lt;![A-Za-z0-9_])_EVBUFFER_IOVEC_IS_NATIVE(?![A-Za-z0-9_])/EVBUFFER_IOVEC_IS_NATIVE_/g;s/(?&lt;![A-Za-z0-9_])_evbuffer_overlapped_get_fd(?![A-Za-z0-9_])/evbuffer_overlapped_get_fd_/g;s/(?&lt;![A-Za-z0-9_])_evbuffer_overlapped_set_fd(?![A-Za-z0-9_])/evbuffer_overlapped_set_fd_/g;s/(?&lt;![A-Za-z0-9_])_evbuffer_read_setup_vecs(?![A-Za-z0-9_])/evbuffer_read_setup_vecs_/g;s/(?&lt;![A-Za-z0-9_])_evbuffer_validate(?![A-Za-z0-9_])/evbuffer_validate_/g;s/(?&lt;![A-Za-z0-9_])_evdns_log(?![A-Za-z0-9_])/evdns_log_/g;s/(?&lt;![A-Za-z0-9_])_evdns_nameserver_add_impl(?![A-Za-z0-9_])/evdns_nameserver_add_impl_/g;s/(?&lt;![A-Za-z0-9_])_EVENT_CONFIG_H_(?![A-Za-z0-9_])/EVENT_CONFIG_H__/g;s/(?&lt;![A-Za-z0-9_])_event_debug_assert_is_setup(?![A-Za-z0-9_])/event_debug_assert_is_setup_/g;s/(?&lt;![A-Za-z0-9_])_event_debug_assert_not_added(?![A-Za-z0-9_])/event_debug_assert_not_added_/g;s/(?&lt;![A-Za-z0-9_])_event_debug_get_logging_mask(?![A-Za-z0-9_])/event_debug_get_logging_mask_/g;s/(?&lt;![A-Za-z0-9_])_event_debug_logging_mask(?![A-Za-z0-9_])/event_debug_logging_mask_/g;s/(?&lt;![A-Za-z0-9_])_event_debug_map_lock(?![A-Za-z0-9_])/event_debug_map_lock_/g;s/(?&lt;![A-Za-z0-9_])_event_debug_mode_on(?![A-Za-z0-9_])/event_debug_mode_on_/g;s/(?&lt;![A-Za-z0-9_])_event_debug_note_add(?![A-Za-z0-9_])/event_debug_note_add_/g;s/(?&lt;![A-Za-z0-9_])_event_debug_note_del(?![A-Za-z0-9_])/event_debug_note_del_/g;s/(?&lt;![A-Za-z0-9_])_event_debug_note_setup(?![A-Za-z0-9_])/event_debug_note_setup_/g;s/(?&lt;![A-Za-z0-9_])_event_debug_note_teardown(?![A-Za-z0-9_])/event_debug_note_teardown_/g;s/(?&lt;![A-Za-z0-9_])_event_debugx(?![A-Za-z0-9_])/event_debugx_/g;s/(?&lt;![A-Za-z0-9_])_EVENT_DEFINED_LISTENTRY(?![A-Za-z0-9_])/EVENT_DEFINED_LISTENTRY_/g;s/(?&lt;![A-Za-z0-9_])_EVENT_DEFINED_TQENTRY(?![A-Za-z0-9_])/EVENT_DEFINED_TQENTRY_/g;s/(?&lt;![A-Za-z0-9_])_EVENT_DEFINED_TQHEAD(?![A-Za-z0-9_])/EVENT_DEFINED_TQHEAD_/g;s/(?&lt;![A-Za-z0-9_])_EVENT_DNS_USE_FTIME_FOR_ID(?![A-Za-z0-9_])/EVENT_DNS_USE_FTIME_FOR_ID_/g;s/(?&lt;![A-Za-z0-9_])_EVENT_ERR_ABORT(?![A-Za-z0-9_])/EVENT_ERR_ABORT_/g;s/(?&lt;![A-Za-z0-9_])_EVENT_EVCONFIG__PRIVATE_H(?![A-Za-z0-9_])/EVENT_EVCONFIG__PRIVATE_H_/g;s/(?&lt;![A-Za-z0-9_])_event_iocp_port_unlock_and_free(?![A-Za-z0-9_])/event_iocp_port_unlock_and_free_/g;s/(?&lt;![A-Za-z0-9_])_EVENT_LOG_DEBUG(?![A-Za-z0-9_])/EVENT_LOG_DEBUG/g;s/(?&lt;![A-Za-z0-9_])_EVENT_LOG_ERR(?![A-Za-z0-9_])/EVENT_LOG_ERR/g;s/(?&lt;![A-Za-z0-9_])_EVENT_LOG_MSG(?![A-Za-z0-9_])/EVENT_LOG_MSG/g;s/(?&lt;![A-Za-z0-9_])_EVENT_LOG_WARN(?![A-Za-z0-9_])/EVENT_LOG_WARN/g;s/(?&lt;![A-Za-z0-9_])_event_strlcpy(?![A-Za-z0-9_])/event_strlcpy_/g;s/(?&lt;![A-Za-z0-9_])_EVHTTP_REQ_UNKNOWN(?![A-Za-z0-9_])/EVHTTP_REQ_UNKNOWN_/g;s/(?&lt;![A-Za-z0-9_])_EVLOCK_SORTLOCKS(?![A-Za-z0-9_])/EVLOCK_SORTLOCKS_/g;s/(?&lt;![A-Za-z0-9_])_evrpc_hooks(?![A-Za-z0-9_])/evrpc_hooks_/g;s/(?&lt;![A-Za-z0-9_])_evsig_restore_handler(?![A-Za-z0-9_])/evsig_restore_handler_/g;s/(?&lt;![A-Za-z0-9_])_evsig_set_handler(?![A-Za-z0-9_])/evsig_set_handler_/g;s/(?&lt;![A-Za-z0-9_])_evthread_cond_fns(?![A-Za-z0-9_])/evthread_cond_fns_/g;s/(?&lt;![A-Za-z0-9_])_evthread_debug_get_real_lock(?![A-Za-z0-9_])/evthread_debug_get_real_lock_/g;s/(?&lt;![A-Za-z0-9_])_evthread_id_fn(?![A-Za-z0-9_])/evthread_id_fn_/g;s/(?&lt;![A-Za-z0-9_])_evthreadimpl_cond_alloc(?![A-Za-z0-9_])/evthreadimpl_cond_alloc_/g;s/(?&lt;![A-Za-z0-9_])_evthreadimpl_cond_free(?![A-Za-z0-9_])/evthreadimpl_cond_free_/g;s/(?&lt;![A-Za-z0-9_])_evthreadimpl_cond_signal(?![A-Za-z0-9_])/evthreadimpl_cond_signal_/g;s/(?&lt;![A-Za-z0-9_])_evthreadimpl_cond_wait(?![A-Za-z0-9_])/evthreadimpl_cond_wait_/g;s/(?&lt;![A-Za-z0-9_])_evthreadimpl_get_id(?![A-Za-z0-9_])/evthreadimpl_get_id_/g;s/(?&lt;![A-Za-z0-9_])_evthreadimpl_is_lock_debugging_enabled(?![A-Za-z0-9_])/evthreadimpl_is_lock_debugging_enabled_/g;s/(?&lt;![A-Za-z0-9_])_evthreadimpl_lock_alloc(?![A-Za-z0-9_])/evthreadimpl_lock_alloc_/g;s/(?&lt;![A-Za-z0-9_])_evthreadimpl_lock_free(?![A-Za-z0-9_])/evthreadimpl_lock_free_/g;s/(?&lt;![A-Za-z0-9_])_evthreadimpl_locking_enabled(?![A-Za-z0-9_])/evthreadimpl_locking_enabled_/g;s/(?&lt;![A-Za-z0-9_])_evthreadimpl_lock_lock(?![A-Za-z0-9_])/evthreadimpl_lock_lock_/g;s/(?&lt;![A-Za-z0-9_])_evthreadimpl_lock_unlock(?![A-Za-z0-9_])/evthreadimpl_lock_unlock_/g;s/(?&lt;![A-Za-z0-9_])_evthread_is_debug_lock_held(?![A-Za-z0-9_])/evthread_is_debug_lock_held_/g;s/(?&lt;![A-Za-z0-9_])_evthread_lock_debugging_enabled(?![A-Za-z0-9_])/evthread_lock_debugging_enabled_/g;s/(?&lt;![A-Za-z0-9_])_evthread_lock_fns(?![A-Za-z0-9_])/evthread_lock_fns_/g;s/(?&lt;![A-Za-z0-9_])_EVUTIL_NIL_CONDITION(?![A-Za-z0-9_])/EVUTIL_NIL_CONDITION_/g;s/(?&lt;![A-Za-z0-9_])_EVUTIL_NIL_STMT(?![A-Za-z0-9_])/EVUTIL_NIL_STMT_/g;s/(?&lt;![A-Za-z0-9_])_evutil_weakrand(?![A-Za-z0-9_])/evutil_weakrand_/g;s/(?&lt;![A-Za-z0-9_])_http_close_detection(?![A-Za-z0-9_])/http_close_detection_/g;s/(?&lt;![A-Za-z0-9_])_http_connection_test(?![A-Za-z0-9_])/http_connection_test_/g;s/(?&lt;![A-Za-z0-9_])_http_incomplete_test(?![A-Za-z0-9_])/http_incomplete_test_/g;s/(?&lt;![A-Za-z0-9_])_http_stream_in_test(?![A-Za-z0-9_])/http_stream_in_test_/g;s/(?&lt;![A-Za-z0-9_])_internal(?![A-Za-z0-9_])/internal_/g;s/(?&lt;![A-Za-z0-9_])_mm_free_fn(?![A-Za-z0-9_])/mm_free_fn_/g;s/(?&lt;![A-Za-z0-9_])_mm_malloc_fn(?![A-Za-z0-9_])/mm_malloc_fn_/g;s/(?&lt;![A-Za-z0-9_])_mm_realloc_fn(?![A-Za-z0-9_])/mm_realloc_fn_/g;s/(?&lt;![A-Za-z0-9_])_original_cond_fns(?![A-Za-z0-9_])/original_cond_fns_/g;s/(?&lt;![A-Za-z0-9_])_original_lock_fns(?![A-Za-z0-9_])/original_lock_fns_/g;s/(?&lt;![A-Za-z0-9_])_rpc_hook_ctx(?![A-Za-z0-9_])/rpc_hook_ctx_/g;s/(?&lt;![A-Za-z0-9_])_SYS_QUEUE_H_(?![A-Za-z0-9_])/SYS_QUEUE_H__/g;s/(?&lt;![A-Za-z0-9_])_t(?![A-Za-z0-9_])/t_/g;s/(?&lt;![A-Za-z0-9_])_t32(?![A-Za-z0-9_])/t32_/g;s/(?&lt;![A-Za-z0-9_])_test_ai_eq(?![A-Za-z0-9_])/test_ai_eq_/g;s/(?&lt;![A-Za-z0-9_])_URI_ADD(?![A-Za-z0-9_])/URI_ADD_/g;s/(?&lt;![A-Za-z0-9_])_URI_FREE_STR(?![A-Za-z0-9_])/URI_FREE_STR_/g;s/(?&lt;![A-Za-z0-9_])_URI_SET_STR(?![A-Za-z0-9_])/URI_SET_STR_/g;s/(?&lt;![A-Za-z0-9_])_warn_helper(?![A-Za-z0-9_])/warn_helper_/g;

            List of files:
            /libevent-2.1.12/include/event2/keyvalq_struct.h</description>
        <pubDate>Wed, 29 Feb 2012 20:00:00 +0000</pubDate>
        <dc:creator>Nick Mathewson &lt;nickm@torproject.org&gt;</dc:creator>
    </item>
<item>
        <title>b083ca05 - Provide on request complete callback facility</title>
        <link>http://172.16.0.5:8080/history/libevent-2.1.12/include/event2/#b083ca05</link>
        <description>Provide on request complete callback facilityThis patch provides the ability to receive a callback on the completion of arequest.  The callback takes place immediately before the request&apos;s resourcesare released.

            List of files:
            /libevent-2.1.12/include/event2/http_struct.h</description>
        <pubDate>Mon, 06 Jan 2014 01:00:00 +0000</pubDate>
        <dc:creator>Andrew Sweeney &lt;asweeney86@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>ba148796 - listener: ipv6only socket bind support</title>
        <link>http://172.16.0.5:8080/history/libevent-2.1.12/include/event2/#ba148796</link>
        <description>listener: ipv6only socket bind supportAccording to RFC3493 and most Linux distributions, default value is towork in IPv4-mapped mode. If there is a requirement to bind same porton same ip addresses but different handlers for both IPv4 and IPv6,it is required to set IPV6_V6ONLY socket option to be sure that thecode works as expected without affected by bindv6only sysctl settingin system.See an example working with this patch:https://gist.github.com/demirten/023008a63cd966e48b0ebcf9af7fc113Closes: #640 (cherry-pick)(cherry picked from commit 387d91f9ab95df8ac3d7bb58493310ad4a377dcf)

            List of files:
            /libevent-2.1.12/include/event2/listener.h</description>
        <pubDate>Mon, 04 Jun 2018 13:00:00 +0000</pubDate>
        <dc:creator>Murat Demirten &lt;mdemirten@yh.com.tr&gt;</dc:creator>
    </item>
<item>
        <title>a95cc9e3 - rpc: use *_new_with_arg() to match function prototype</title>
        <link>http://172.16.0.5:8080/history/libevent-2.1.12/include/event2/#a95cc9e3</link>
        <description>rpc: use *_new_with_arg() to match function prototypeIn 755fbf16c (&quot;Add void* arguments to request_new and reply_newevrpc hooks&quot;) this new functions had been introduced, but newer used,what for? So let&apos;s use them.(cherry picked from commit 99b231b0d875bc0814b0e4a940b6c9890d2a7754)

            List of files:
            /libevent-2.1.12/include/event2/rpc.h</description>
        <pubDate>Fri, 11 Jan 2019 18:00:00 +0000</pubDate>
        <dc:creator>Azat Khuzhin &lt;azat@libevent.org&gt;</dc:creator>
    </item>
<item>
        <title>da4619b3 - Fix incorrect ref to evhttp_get_decoded_uri in http.h</title>
        <link>http://172.16.0.5:8080/history/libevent-2.1.12/include/event2/#da4619b3</link>
        <description>Fix incorrect ref to evhttp_get_decoded_uri in http.hReplaces reference in the http.h include header file to evhttp_get_decoded_uriwith evhttp_uridecode. There is no function called evhttp_get_decoded_uri.(cherry picked from commit b49c70cc2ed54f511e2b41f7ed61d357c88300be)

            List of files:
            /libevent-2.1.12/include/event2/http.h</description>
        <pubDate>Sun, 05 Nov 2017 11:00:00 +0000</pubDate>
        <dc:creator>ejurgensen &lt;espenjurgensen@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>59240e83 - Document some obvious cases where a function might also return NULL</title>
        <link>http://172.16.0.5:8080/history/libevent-2.1.12/include/event2/#59240e83</link>
        <description>Document some obvious cases where a function might also return NULLCloses: #525(cherry picked from commit 808524252f888303e4e95f09c3f8c225ef08f096)

            List of files:
            /libevent-2.1.12/include/event2/http_compat.h</description>
        <pubDate>Thu, 29 Jun 2017 21:00:00 +0000</pubDate>
        <dc:creator>Nikolay Edigaryev &lt;edigaryev@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>18104973 - Revert &quot;Protect min_heap_push_ against integer overflow.&quot;</title>
        <link>http://172.16.0.5:8080/history/libevent-2.1.12/include/event2/#18104973</link>
        <description>Revert &quot;Protect min_heap_push_ against integer overflow.&quot;This patch breaks the ABI compatibility, due to min_heap_idx expansion[1]And since major distros did not updated to 2.1.10 yet, this patch willbe reverted:- debian:     https://packages.debian.org/search?keywords=libevent-dev- ubuntu:     https://packages.ubuntu.com/search?keywords=libevent-dev- fedora:     https://apps.fedoraproject.org/packages/libevent-develAlso there is one that upgraded already:- archlinux:  https://www.archlinux.org/packages/?q=libeventBut archlinux is for developers, so it should be fine I guess.  [1]: https://abi-laboratory.pro/index.php?view=objects_report&amp;l=libevent&amp;v1=2.1.9&amp;v2=2.1.10    - struct event_base      Change: Size of this type has been changed from 672 bytes to 664 bytes.      Effect: The fields or parameters of such data type may be incorrectly initialized or accessed by old client applications.abi-compliance-checker diff with 2.1.9 before this patch:  Binary compatibility: 69.2%  Source compatibility: 100%  Total binary compatibility problems: 1, warnings: 1  Total source compatibility problems: 0, warnings: 0after:  Binary compatibility: 100%  Source compatibility: 100%  Total binary compatibility problems: 0, warnings: 0  Total source compatibility problems: 0, warnings: 0This reverts commit 0b46bb8cc9c0337b5fa0186d9cb031ff4f4ceb9a

            List of files:
            /libevent-2.1.12/include/event2/event_struct.h</description>
        <pubDate>Wed, 31 Jul 2019 08:00:00 +0000</pubDate>
        <dc:creator>Azat Khuzhin &lt;azat@libevent.org&gt;</dc:creator>
    </item>
<item>
        <title>483f8a29 - typo error in header file</title>
        <link>http://172.16.0.5:8080/history/libevent-2.1.12/include/event2/#483f8a29</link>
        <description>typo error in header file(cherry picked from commit c03dabd76aced01a9c8d253381c2ed6f3ad46b4f)

            List of files:
            /libevent-2.1.12/include/event2/bufferevent.h/libevent-2.1.12/include/event2/event.h</description>
        <pubDate>Thu, 30 May 2019 18:00:00 +0000</pubDate>
        <dc:creator>yuangongji &lt;82787816@qq.com&gt;</dc:creator>
    </item>
<item>
        <title>546a366c - evdns: add new options -- so-rcvbuf/so-sndbuf</title>
        <link>http://172.16.0.5:8080/history/libevent-2.1.12/include/event2/#546a366c</link>
        <description>evdns: add new options -- so-rcvbuf/so-sndbufThis will allow to customize SO_RCVBUF/SO_SNDBUF for nameservers in thisevdns_base, you may want to adjust them if the kernel starts droppingudp packages.(cherry picked from commit 538141eb7e590bc94c043b43b5e5483b13bc9c5e)

            List of files:
            /libevent-2.1.12/include/event2/dns.h</description>
        <pubDate>Sat, 15 Jun 2019 20:00:00 +0000</pubDate>
        <dc:creator>Azat Khuzhin &lt;azat@libevent.org&gt;</dc:creator>
    </item>
<item>
        <title>9806b126 - Merge branch &apos;cmake-missing-bits&apos;</title>
        <link>http://172.16.0.5:8080/history/libevent-2.1.12/include/event2/#9806b126</link>
        <description>Merge branch &apos;cmake-missing-bits&apos;This patchset adds next missing things (in compare to autotools):- pkgconfig- event_pthreads/event_openssl- compile shared/static libraries alwaysAnd some fixes, because it will not build after fixing other things:- export missing symbols for cmake (-fvisibility=hidden)* cmake-missing-bits:  cmake: support visibility for AppleClang too  cmake: fix export absolute path and relative path and cleanup a bit  cmake: generate and install pkgconfig files  cmake: build SHARED and STATIC libraries (like autoconf does)  cmake: add missing event_openssl/event_pthreads libraries  Export symbols for -fvisibility=hidden (under cmake)Refs: #246(cherry picked from commit 489991a2b2628ba1ff4e6879b9f67ec35d224c38)

            List of files:
            /libevent-2.1.12/include/event2/bufferevent_compat.h/libevent-2.1.12/include/event2/dns_compat.h</description>
        <pubDate>Mon, 13 Mar 2017 18:00:00 +0000</pubDate>
        <dc:creator>Azat Khuzhin &lt;a3at.mail@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>598f247d - buffer: fix possible NULL dereference in evbuffer_setcb() on ENOMEM</title>
        <link>http://172.16.0.5:8080/history/libevent-2.1.12/include/event2/#598f247d</link>
        <description>buffer: fix possible NULL dereference in evbuffer_setcb() on ENOMEM[ @azat:  - add return heredoc for evbuffer_setcb()  - add unit test with event_set_mem_functions()  - look through the report from abi-compliance-checker/abi-dumper]Closes: #855(cherry picked from commit bdcade47224f154052c927aed3c363a18b37112e)

            List of files:
            /libevent-2.1.12/include/event2/buffer_compat.h</description>
        <pubDate>Wed, 31 Jul 2019 07:00:00 +0000</pubDate>
        <dc:creator>Azat Khuzhin &lt;azat@libevent.org&gt;</dc:creator>
    </item>
<item>
        <title>a4f0387c - Merge branch &apos;upstream/pr/899&apos; (evbuffer_freeze testcase enhancements)</title>
        <link>http://172.16.0.5:8080/history/libevent-2.1.12/include/event2/#a4f0387c</link>
        <description>Merge branch &apos;upstream/pr/899&apos; (evbuffer_freeze testcase enhancements)* upstream/pr/899:  improve the description of parameter to evbuffer_read()  regress_buffer: improve testcase for evbuffer_freeze()(cherry picked from commit a977d6963611c729b75108d31bf74718b7b3e06d)

            List of files:
            /libevent-2.1.12/include/event2/buffer.h</description>
        <pubDate>Sun, 22 Sep 2019 15:00:00 +0000</pubDate>
        <dc:creator>Azat Khuzhin &lt;azat@libevent.org&gt;</dc:creator>
    </item>
<item>
        <title>e2732c90 - Make rpc headers self-compilable</title>
        <link>http://172.16.0.5:8080/history/libevent-2.1.12/include/event2/#e2732c90</link>
        <description>Make rpc headers self-compilableFixes: #633(cherry picked from commit c57f5c34903b02c6e7378865f71a2b83a5befb96)

            List of files:
            /libevent-2.1.12/include/event2/rpc_struct.h</description>
        <pubDate>Sun, 06 May 2018 23:00:00 +0000</pubDate>
        <dc:creator>Azat Khuzhin &lt;a3at.mail@gmail.com&gt;</dc:creator>
    </item>
</channel>
</rss>
