nghttp2

nghttp2 - HTTP/2 C Library and tools

OTHER License

Stars
4.5K
Committers
152

Bot releases are visible (Hide)

nghttp2 - nghttp2 v0.7.7

Published by tatsuhiro-t over 9 years ago

nghttp2 - nghttp2 v0.7.6

Published by tatsuhiro-t over 9 years ago

  • Implements h2-14 protocol (http://tools.ietf.org/html/draft-ietf-httpbis-http2-14)
  • Implements HPACK 09 (http://tools.ietf.org/html/draft-ietf-httpbis-header-compression-09)
  • Depend on spdylay >= 1.3.2 for spdylay_session_set_stream_user_data
  • Make sending trailer part easier with
    nghttp2_submit_request/nghttp2_submit_response using
    NGHTTP2_DATA_FLAG_NO_END_STREAM and nghttp2_submit_trailer()
  • Refuse PUSH_PROMISE while unacked local ENABLE_PUSH is 0
  • Remove thread_local check from configure, since we use pthread_*
    directly for now
  • Fix -Werror=cast-align error on 32 bit platform
    Fixes GH-172
  • tests: Use nghttp2_mem instead of raw malloc()/free()
    Fixes GH-170
  • nghttpx: Support multiple HTTP/2 session per worker
    See --backend-http2-connections-per-worker option
  • nghttpx: Support multiple -b option for HTTP/2 backend
  • nghttpx: Disable acceptor temporarily when process runs out of fd
  • nghttpx: Don't rewrite host for CONNECT method
  • nghttpx: Attempt to improve HTTP/2 backend connection check
  • nghttpx: Support trailer part for both h2 and h1
  • nghttpx: replacing thread_local, which does not exist on OS X, with
    pthread_getspecific call
    (Patch from Stefan Eissing)
  • nghttpx: Fix compile error without O_CLOEXEC
    (Patch from acesso)
  • nghttpx: Fix broken server push after HTTP upgrade
  • nghttpx: Fix crash when upgrading HTTP/2 failed
  • nghttpd: Add --trailer to send trailer header fields
  • nghttp: do not send pseudo-headers when in HTTP/1
    (Patch from Kazuho Oku)
  • nghttp: Add --trailer optiont to send trailer header fields with -d
    option
  • nghttp: Treat stream as success if we see END_STREAM from peer
  • nghttpd: Fix bug that date header field value is not updated
  • python: Fix bug push response header fields are not passed to
    callback
  • asio: Rewrite server API, breaking ABI compat
  • asio: Add client interface to libnghttp2_asio
nghttp2 - nghttp2 v0.7.5

Published by tatsuhiro-t over 9 years ago

  • Implements h2-14 protocol (http://tools.ietf.org/html/draft-ietf-httpbis-http2-14)
  • Implements HPACK 09 (http://tools.ietf.org/html/draft-ietf-httpbis-header-compression-09)
  • Validate HTTP semantics by default
  • Add nghttp2_option_set_no_http_messaging() API function
  • Update http-parser
  • nghttp, nghttpd, nghttpx: Use "sensitive" to indicate "never
    indexed" header field
  • nghttp, nghttpd, nghttpx, h2load: Select/announce h2 in ALPN/NPN
  • nghttp: Fix unaligned field output in --stat
  • nghttp: Fix -H does not work with -u upgrade request
  • nghttp: Update resource timing terminology according to Resource
    Timing TR
  • nghttpd: Add -a option which takes an address parameter that allows
    nghttpd to bind to a non-default address. Patch from Brian Card
  • nghttpx: Use omit minor version in case of HTTP/2 in via header and
    access log
  • nghttpx: Support UNIX domain socket on both frontend and backend
  • nghttpx: Fix crash in http/1 backend when backend returns more bytes
    than CL
  • nghttpx: Cast configuration value to rlim_t to avoid compile error
    on 32bit
  • nghttpx: Fix 1 second delay in HTTP/2 backend connection
  • nghttpx: Fix request re-submission bug in HTTP/2 backend
  • asio-sv2: Fix compile error with OS X
nghttp2 - nghttp2 v0.7.4

Published by tatsuhiro-t over 9 years ago

  • Implements h2-14 protocol (http://tools.ietf.org/html/draft-ietf-httpbis-http2-14)
  • Implements HPACK 09 (http://tools.ietf.org/html/draft-ietf-httpbis-header-compression-09)
  • Handle situation where request HEADERS in queue is reset by RST_STREAM
  • Make nghttp2_session_get_stream_user_data work inside nghttp2_on_frame_not_send_callback
  • Make default min frame payload size to 16K
  • Fix bug that client may send PROTOCOL_ERROR upon canceled push stream
  • Treat first SETTINGS bearing ACK as connection error
  • examples/client: Send SETTINGS
  • nghttp: Don't request already pushed resources
  • nghttp: Rewrite statistics output with -s option
  • nghttpd: Handle return value from server.run()
  • nghttpd: Fix multiple push configuration does not work
  • nghttpx: Cancel backend request when frontend HTTP/1 connection is lost
  • nghttpx: Support server push using Link header field; --no-server-push to disable this.
  • nghttpx: Rewrite :authority and host header field; --no-host-rewrite to disable this.
  • nghttpx: Fix busy loop when HTTP/2 backend reset after connection established
  • nghttpx: Use TCP_DEFER_ACCEPT if available
  • nghttpx: Accept s or ms as unit for argument
  • h2load: Add request stats (time for request min, max, mean and sd)
  • Add bash_completion files for nghttp, nghttpd, nghttpx and h2load
nghttp2 - nghttp2 v0.7.3

Published by tatsuhiro-t over 9 years ago

The changes made in v0.7.2 are listed below for convenience:

  • Add nghttp2_submit_shutdown_notice() API function for server to tell client that server started graceful shutdown
  • Add nghttp2_session_get_last_proc_stream_id() API function.
  • nghttpx: Add --tls-ctx-per-worker option
  • nghttpx: Add --backend-response-buffer option
  • nghttpx: Add --backend-request-buffer option
  • nghttpx: Fix TLS write limit does not work
  • nghttpd, nghttpx: Issue RST_STREAM if content-length is invalid
  • nghttp, nghttpd, nghttpx: Allow units (k, m, and g) for options which take metavar SIZE
  • src: Define NOTHREADS to 1 if thread_local keyword is not available
  • Add integration tests for nghttpx using golang testing framework
nghttp2 - nghttp2 v0.7.2

Published by tatsuhiro-t over 9 years ago

  • Implements h2-14 protocol (http://tools.ietf.org/html/draft-ietf-httpbis-http2-14)
  • Implements HPACK 09 (http://tools.ietf.org/html/draft-ietf-httpbis-header-compression-09)
  • Add nghttp2_submit_shutdown_notice() API function for server to tell client that server started graceful shutdown
  • Add nghttp2_session_get_last_proc_stream_id() API function.
  • nghttpx: Add --tls-ctx-per-worker option
  • nghttpx: Add --backend-response-buffer option
  • nghttpx: Add --backend-request-buffer option
  • nghttpx: Fix TLS write limit does not work
  • nghttpd, nghttpx: Issue RST_STREAM if content-length is invalid
  • nghttp, nghttpd, nghttpx: Allow units (k, m, and g) for options which take metavar SIZE
  • src: Define NOTHREADS to 1 if thread_local keyword is not available
  • Add integration tests for nghttpx using golang testing framework
nghttp2 - nghttp2 v0.7.1

Published by tatsuhiro-t almost 10 years ago

nghttp2 - nghttp2 v0.7.0

Published by tatsuhiro-t almost 10 years ago

  • Implements h2-14 protocol (http://tools.ietf.org/html/draft-ietf-httpbis-http2-14)
  • Implements HPACK 09 (http://tools.ietf.org/html/draft-ietf-httpbis-header-compression-09)
  • Support custom memory allocator. See nghttp2_mem struct.
  • Add nghttp2_session_{set,get}_next_stream_id API function
  • asio-lib: Put ${AM_CPPFLAGS} before ${BOOST_CPPFLAGS}
  • nghttp, nghttpd, nghttpx, h2load: Use libev instead of libevent
  • nghttpx: Fix --backend-http-proxy-uri does not work
  • nghttpx: Limit # of downstream connections per host when h2 proxy is used. See --backend-http1-connections-per-hsot.
  • nghttpx: --backend-connections-per-frontend was renamed as --backend-http1-connections-per-frontend
  • nghttpx: Support multiple HTTP/1 backend addresses
  • nghttpx: Fix bug SPDY upstream requires content-length if no FIN in SYN_STREAM
  • nghttp: Add --dep-idle option to create anchor idle node for dependency
  • nghttp, nghttpd: Print stream ID in priority field as dep_stream_id
  • nghttp, h2load: Use recommended ciphers and assign sane SSL_CTX options
  • nghttp, nghttpx, nghttpd, h2load: Support h2-16 in NPN/ALPN
  • nghttp: copy the request entity to temporary file if the source is stdin and if it is not a regular file. Contributed by Kazuho Oku
nghttp2 - nghttp2 v0.6.7

Published by tatsuhiro-t almost 10 years ago

  • Implements h2-14 protocol (http://tools.ietf.org/html/draft-ietf-httpbis-http2-14)
  • Implements HPACK 09 (http://tools.ietf.org/html/draft-ietf-httpbis-header-compression-09)
  • Merged draft-16 features. Framing is binary compatible with draft-14, so we still use h2-14 for interop.
  • Initialize frame header for upgrade SETTINGS frame
  • Allow PRIORITY frame at anytime
  • Robust GOAWAY handling
  • tiny-nghttpd: Fix memory leak
  • asio: Add http2::backlog API function
  • nghttpx: Disable spdy/3 and spdy/2 by default
  • nghttpx: Add configurable access logging format
  • nghttp: Add -r, --har option to output HTTP transactions in HAR format
  • nghttp: Add --no-dep option to disable sending priority hints to server
  • h2load: Support ALPN
  • python: Add client Python bindings
nghttp2 - nghttp2 v0.6.6

Published by tatsuhiro-t almost 10 years ago

  • Implements h2-14 protocol (http://tools.ietf.org/html/draft-ietf-httpbis-http2-14)
  • Implements HPACK 09 (http://tools.ietf.org/html/draft-ietf-httpbis-header-compression-09)
  • Merged draft-15 features. Framing is binary compatible with draft-14, so we still use h2-14 for interop.
  • Fix heap-use-after-free bug in priority handling code
  • Fix some other bugs in priority code
  • nghttp: -v option now can be accepted several times to increase verbosity
  • nghttpx: Add NOTICE log level, which is now default.
  • nghttpx: Fix doc so that WARN is right log level name, WARNING was typo.
  • nghttpx: Implement dynamic TLS record size
  • h2load: Print SSL/TLS cipher name and parameters
nghttp2 - nghttp2 v0.6.5

Published by tatsuhiro-t almost 10 years ago

nghttp2 - nghttp2 v0.6.4

Published by tatsuhiro-t about 10 years ago

nghttp2 - nghttp2 v0.6.3

Published by tatsuhiro-t about 10 years ago

nghttp2 - nghttp2 v0.6.2

Published by tatsuhiro-t about 10 years ago

  • Implements h2-14 protocol (http://tools.ietf.org/html/draft-ietf-httpbis-http2-14)
  • Implements HPACK 09 (http://tools.ietf.org/html/draft-ietf-httpbis-header-compression-09)
  • Fix memory leak
  • Add nghttp2_option_set_recv_client_preface() function
  • Add NGHTTP2_ERR_BAD_PREFACE library error code
  • Move Makefile.msvc to lib directory
  • Add experimental libnghttp2_asio C++ library, which is high level toolkit to build HTTP/2 server easily.
    It depends on Boost::Asio and Boost::Thread libraries.
  • Fixed nghttp2_stream_resume_deferred_data() so that it does not fail if data is deferred by flow control
  • Faster processing incoming connection level WINDOW_UPDATE
  • Add examples/tiny-nghttpd, lighter faster version of nghttpd.
nghttp2 - nghttp2 v0.6.1

Published by tatsuhiro-t about 10 years ago

nghttp2 - nghttp2 v0.6.0

Published by tatsuhiro-t about 10 years ago

nghttp2 - nghttp2 v0.5.1

Published by tatsuhiro-t about 10 years ago

nghttp2 - nghttp2 v0.5.0

Published by tatsuhiro-t over 10 years ago

nghttp2 - nghttp2 v0.4.1

Published by tatsuhiro-t over 10 years ago

  • Implements h2-12 protocol (http://tools.ietf.org/html/draft-ietf-httpbis-http2-12)

  • Implements HPACK 07 (http://tools.ietf.org/html/draft-ietf-httpbis-header-compression-07)

  • nghttpx: Set timeout to underlying bufferevent

    Setting write timeout to filter bufferevent does not work as
    intended. It timeouts even when there is no data to write.

  • Call on_data_chunk_recv_callback only when stream is active

  • h2load: Use std::async to dispatch parallel jobs

  • nghttpx: Treat '*' in parameter of --frontend as
    wildcard explicitly

  • nghttpd, nghttpx: Check END_STREAM flag in HEADERS other than
    request

  • nghttpx: Make --npn-list option work in ALPN

  • Handle the case where jemalloc is available without linking
    extra library

nghttp2 - nghttp2 v0.4.0

Published by tatsuhiro-t over 10 years ago