Revision history for Net-Async-HTTP-Server

0.13    2020-05-13
         * Use Test::Metrics::Any for metrics testing
         * Updated for Metrics::Any 0.05

0.12    2020-04-29
         * Improved metrics reporting using Metrics::Any 0.03
            + Added response time and byte size distributions and
              requests-in-flight gauge
         * Reduced overhead when not collecting metrics by disabling the code
           when not using a Metrics::Any adapter

0.11    2020-04-28
         * Use Metrics::Any instead of the hacky devel-only Net::Prometheus
           registration API

0.10    2019-11-28 00:54:47
         * Experimental Net::Prometheus integration by automatic metrics

         * Regenerate in-dist testing SSL certs (RT131030)

0.09    2015/09/09 15:53:42
         * Added ->query_form, ->query_param_names, ->query_param
         * New barename documentation style for methods

         * Check definedness rather than truth of body chunks (RT101503)
         * Gracefully close connections for received byte streams that don't
           appear to be HTTP (RT105470, RT101146)
         * Don't override a caller-specified request_class

0.08    2015/07/08 19:03:43
         * More intelligent parsing of --listen arguments to plackup, allowing
           for host:port:SSL as well
         * Weaken references held to request objects, so that DESTROY can
           detect dropped unhandled ones
         * Allow subclasses/instances to construct different classes of
           request objects

         * Print a more helpful warning if PSGI body contains undef (RT98985)
         * Must not write zero-byte chunks in chunked-encoding mode

0.07    2014/03/26 18:25:23
         * Updated for IO::Async 0.61 - avoid IO::Async::Protocol::Stream
         * Support ->listen on SSL extension
         * Support listening on SSL from the Plack handler and commandline

         * Ensure that closed client connections get removed properly

        Bugfix sponsored by NET-A-PORTER (

0.06    2013/12/30 01:40:55
         * Set Content-Length header in SYNOPSIS so the response actually
           works in real HTTP clients (happens to fix RT91647)
         * Added some actual documentation for Plack::Handler::NaHTTP:Server
         * Configurable listen() queuesize (RT91470)
         * Pass a hash of parameters to the Plack server_ready callback
         * Set and psgix.input.buffered in PSGI environment

         * Don't crash on attempts to write to requests on connections that
           are already closed

0.05    CHANGES:
         * Set PATH_INFO correctly in PSGI environment
         * More unit testing - test crosslink with NaHTTP

0.04    CHANGES:
         * Provide access to all the HTTP headers via ->headers method
         * Set HTTP headers in PSGI environment
         * Remember not to write content using chunked transfer encoding when
           that mode isn't actually set

0.03    CHANGES:
         * Implement PSGI container subclass and Plack::Handler:: module
         * Added more accessors for request fields
         * Reworked chunked response streaming API
         * Don't force a Content-Length header in normal operation

0.02    CHANGES:
         * Changed request/response API - new NaHTTP::Server::Request objects
         * Added response streaming with HTTP/1.1 chunked encoding

0.01    First version, released on an unsuspecting world.