Merge branch 'release-2.1.8-stable-pull'

* release-2.1.8-stable-pull:
  Bump version to 2.1.8-stable everywhere
  VERSION_INFO should me equal to library version
  Bump whatsnew-2.1 document
  Update ChangeLog for 2.1.8-stable
  README: update AUTHORS
This commit is contained in:
Azat Khuzhin 2017-01-26 02:37:15 +03:00
commit e7ff4ef2b4
9 changed files with 134 additions and 13 deletions

View File

@ -73,7 +73,7 @@ set(EVENT_ABI_LIBVERSION
set(EVENT_PACKAGE_VERSION
"${EVENT_VERSION_MAJOR}.${EVENT_VERSION_MINOR}.${EVENT_VERSION_PATCH}")
set(EVENT_NUMERIC_VERSION 0x02010700)
set(EVENT_NUMERIC_VERSION 0x02010800)
# only a subset of names can be used, defaults to "beta"
set(EVENT_STAGE_NAME ${EVENT_VERSION_STAGE}

View File

@ -1,3 +1,41 @@
Changes in version 2.1.8-stable (22 January 2017)
Libevent 2.1.8-stable, it contains openssl fixes for resetting fd and using
bufferevent_openssl_filter_new(). vagrant fixes, some build fixes, increased
timeout for some tests (to reduce number of failures due to timing issues),
date in RFC1123 format and running tests in parallel.
There are highlighted changes above.
Build fixes:
o Fix _FILE_OFFSET_BITS redinition (solaris/autotools) (336f3b11 Azat Khuzhin)
o util-internal: fix __func__ redefinition (netbsd) (253e7fa9 Azat Khuzhin)
o Fix signedness differ for iov_base (solaris) (2c62062e Azat Khuzhin)
o evutil_time: include <unistd.h> when there is only sleep()/usleep() (3e75194c Azat Khuzhin)
o http: fix formatter for pritnf for req->ntoread (osx) (1cbf26f6 Azat Khuzhin)
Testing environment:
o Merge branch 'automake-tests-parallel-v4' (*includes ci bits also*) (59e217df Azat Khuzhin)
Vagrant env fixes:
o vagrant/netbsd: missing libtool (9c9be399 Azat Khuzhin)
o vagrant/netbsd: more reliable way of installing packages (36da6877 Azat Khuzhin)
o vagrant/osx: use make instead of gmake (there is no gmake) (f7c70aef Azat Khuzhin)
o vagrant: add centos box (ca591c5b Azat Khuzhin)
Tests:
o test/dns: replace servname since solaris does not have "http" (d6bafbbe Azat Khuzhin)
o test/thread: netbsd is too slow, increase timeout for conditions_simple (3c7422fc Azat Khuzhin)
o test/dns: run async resolving after sync one (to avoid timeouts) (07862531 Azat Khuzhin)
o test/http: turn off some tests that based on backlog filling (falky) (26f416c1 Azat Khuzhin)
Bugfixes:
o Merge branch 'openssl-filter-fixes-v4' (83e0f43b Azat Khuzhin)
o Merge branch 'date-rfc1123' (68def435,4798de6c,4545807d Azat Khuzhin)
o Merge branch 'be-openssl-fd-reset-fix-v2' (86fa0070,32adf434 Azat Khuzhin)
o Merge branch 'openssl-1.1-init-fixes-v2' (18a161f0 Azat Khuzhin)
o Fix incorrect MIME type (23f9a20e johnsonlee)
Trivial fixes:
Documentation updates:
o Update README.md (3821cca1 Breaker)
Changes in version 2.1.7-rc (2 Novemer 2016)
Libevent 2.1.7-rc contains openssl 1.1 support, build fixes, CI improvements

View File

@ -38,7 +38,7 @@ RELEASE = -release 2.1
#
# Once an RC is out, DO NOT MAKE ANY ABI-BREAKING CHANGES IN THAT SERIES
# UNLESS YOU REALLY REALLY HAVE TO.
VERSION_INFO = 7:0:0
VERSION_INFO = 6:2:0
# History: RELEASE VERSION_INFO
# 2.0.1-alpha -- 2.0 1:0:0
@ -71,6 +71,7 @@ VERSION_INFO = 7:0:0
# 2.1.5-beta -- 2.1 5:0:0 (ABI changed slightly)
# 2.1.6-beta -- 2.1 6:0:0 (ABI changed slightly)
# 2.1.7-beta -- 2.1 6:1:0 (ABI changed slightly)
# 2.1.8-stable-- 2.1 6:2:0 (ABI changed slightly)
# ABI version history for this package effectively restarts every time
# we change RELEASE. Version 1.4.x had RELEASE of 1.4.

View File

@ -423,5 +423,9 @@ fixing bugs:
* Simone Basso
* Vlad Shcherban
* Tim Hentenaar
* Breaker
* johnsonlee
* Philip Prindeville
* Vis Virial
If we have forgotten your name, please contact us.

View File

@ -274,7 +274,7 @@
/* #undef EVENT__HAVE_WORKING_KQUEUE */
/* Numeric representation of the version */
#define EVENT__NUMERIC_VERSION 0x02010700
#define EVENT__NUMERIC_VERSION 0x02010800
/* Name of package */
#define EVENT__PACKAGE "libevent"
@ -331,7 +331,7 @@
#define EVENT__TIME_WITH_SYS_TIME 1
/* Version number of package */
#define EVENT__VERSION "2.1.7-beta"
#define EVENT__VERSION "2.1.8-stable"
/* Define to appropriate substitue if compiler doesnt have __func__ */
#define EVENT____func__ __FUNCTION__

View File

@ -1,4 +1,4 @@
version: 2.1.7.{build}
version: 2.1.8.{build}
os: Visual Studio 2015

View File

@ -27,7 +27,7 @@ macro(event_fuzzy_version_from_git)
# set our defaults.
set(EVENT_GIT___VERSION_MAJOR 2)
set(EVENT_GIT___VERSION_MINOR 1)
set(EVENT_GIT___VERSION_PATCH 7)
set(EVENT_GIT___VERSION_PATCH 8)
set(EVENT_GIT___VERSION_STAGE "beta")
find_package(Git)

View File

@ -5,7 +5,7 @@ dnl See LICENSE for copying information.
dnl
dnl Original version Dug Song <dugsong@monkey.org>
AC_INIT(libevent,2.1.7-beta)
AC_INIT(libevent,2.1.8-stable)
AC_PREREQ(2.59)
AC_CONFIG_SRCDIR(event.c)
@ -14,7 +14,7 @@ AM_INIT_AUTOMAKE
dnl AM_SILENT_RULES req. automake 1.11. [no] defaults V=1
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
AC_CONFIG_HEADERS(config.h evconfig-private.h:evconfig-private.h.in)
AC_DEFINE(NUMERIC_VERSION, 0x02010700, [Numeric representation of the version])
AC_DEFINE(NUMERIC_VERSION, 0x02010800, [Numeric representation of the version])
dnl Initialize prefix.
if test "$prefix" = "NONE"; then

View File

@ -164,10 +164,6 @@
1.3. Event finalization
[NOTE: This is an experimental feature in Libevent 2.1.3-alpha. Though
it seems solid so far, its API might change between now and the first
release candidate for Libevent 2.1.]
1.3.1. Why event finalization?
Libevent 2.1 now supports an API for safely "finalizing" events that
@ -320,6 +316,9 @@
evbuffer_readln() now supports an EVBUFFER_EOL_NUL argument to fetch
NUL-terminated strings from buffers.
There's a new evbuffer_set_flags()/evbuffer_clear_flags() that you can use to
set EVBUFFER_FLAG_DRAINS_TO_FD.
1.6. New functions and features: bufferevents
You can now use the bufferevent_getcb() function to find out a
@ -348,6 +347,17 @@
You can manually trigger a bufferevent's callbacks via
bufferevent_trigger() and bufferevent_trigger_event().
Also you can manually increment/decrement reference for bufferevent with
bufferevent_incref()/bufferevent_decref(), it is useful in situations where a
user may reference the bufferevent somewhere else.
Now bufferevent_openssl supports "dirty" shutdown (when the peer closes the
TCP connection before closing the SSL channel), see
bufferevent_openssl_get_allow_dirty_shutdown() and
bufferevent_openssl_set_allow_dirty_shutdown().
And also libevent supports openssl 1.1.
1.7. New functions and features: evdns
The previous evdns interface used an "open a test UDP socket" trick in
@ -366,6 +376,9 @@
There is a new evdns_base_clear_host_addresses() function to remove
all the /etc/hosts addresses registered with an evdns instance.
Also there is evdns_base_get_nameserver_addr() for retrieve the address of
the 'idx'th configured nameserver.
1.8. New functions and features: evconnlistener
Libevent 2.1 adds the following evconnlistener flags:
@ -376,6 +389,10 @@
HTTP where the client always speaks first. On operating systems
that don't support this functionality, this option has no effect.
LEV_OPT_REUSEABLE_PORT -- Indicates that we ask to allow multiple servers
to bind to the same port if they each set the option Ionly on Linux and
>=3.9)
LEV_OPT_DISABLED -- Creates an evconnlistener in the disabled (not
listening) state.
@ -398,6 +415,9 @@
evhttp_connection_set_timeout_tv() to configure
microsecond-granularity timeouts.
Also there is evhttp_connection_set_initial_retry_tv() to change initial
retry timeout.
There are a new pair of functions: evhttp_set_bevcb() and
evhttp_connection_base_bufferevent_new(), that you can use to
configure which bufferevents will be used for incoming and outgoing
@ -437,12 +457,53 @@
The evhttp_request_set_on_complete_cb() facility adds a callback to be
invoked on request completion.
You can add linger-close for http server by passing
EVHTTP_SERVER_LINGERING_CLOSE to evhttp_set_flags(), with this flag server
read all the clients body, and only after this respond with an error if the
clients body exceed max_body_size (since some clients cannot read response
otherwise).
The evhttp_connection_set_family() can bypass family hint to evdns.
There are some flags available for connections, which can be installed with
evhttp_connection_set_flags():
- EVHTTP_CON_REUSE_CONNECTED_ADDR -- reuse connection address on retry (avoid
extra DNS request).
- EVHTTP_CON_READ_ON_WRITE_ERROR - try read error, since server may already
close the connection.
The evhttp_connection_free_on_completion() can be used to tell libevent to
free the connection object after the last request has completed or failed.
There is evhttp_request_get_response_code_line() if
evhttp_request_get_response_code() is not enough for you.
There are *evhttp_uri_parse_with_flags() that accepts
EVHTTP_URI_NONCONFORMANT to tolerate URIs that do not conform to RFC3986.
The evhttp_uri_set_flags() can changes the flags on URI.
1.10. New functions and features: evutil
There's a function "evutil_secure_rng_set_urandom_device_file()" that
you can use to override the default file that Libevent uses to seed
its (sort-of) secure RNG.
The evutil_date_rfc1123() returns date in RFC1123
There are new API to work with monotonic timer -- monotonic time is
guaranteed never to run in reverse, but is not necessarily epoch-based. Use
it to make reliable measurements of elapsed time between events even when the
system time may be changed:
- evutil_monotonic_timer_new()/evutil_monotonic_timer_free()
- evutil_configure_monotonic_time()
- evutil_gettime_monotonic()
Use evutil_make_listen_socket_reuseable_port() to set SO_REUSEPORT (linux >=
3.9)
The evutil_make_tcp_listen_socket_deferred() can make a tcp listener socket
defer accept()s until there is data to read (TCP_DEFER_ACCEPT).
2. Cross-platform performance improvements
2.1. Better data structures
@ -686,5 +747,22 @@
5. Testing
Libevent's test coverage level is more or less unchanged since before:
we still have over 80% line coverage in our tests on Linux and OSX.
we still have over 80% line coverage in our tests on Linux, FreeBSD, NetBSD,
Windows, OSX.
There are some under-tested modules, though: we need to fix those.
And now we have CI:
- https://travis-ci.org/libevent/libevent
- https://ci.appveyor.com/project/nmathewson/libevent
And code coverage:
- https://coveralls.io/github/libevent/libevent
Plus there is vagrant boxes if you what to test it on more OS'es then
travis-ci allows, and there is a wrapper (in python) that will parse logs and
provide report:
- https://github.com/libevent/libevent-extras/blob/master/tools/vagrant-tests.py
6. Contributing
From now we have contributing guide and checkpatch.sh.