=== 2.9 / 2013-07-24

* Minor enhancement
  * Added max_requests to avoid ECONNRESET for a server that allows a limited
    number of requests on a connection.  Pull request #42 by James Tucker.
  * Request failures are now raised with the backtrace of the original
    exception.  This gives better insight into the reason for the failure.
    See #41 by Andrew Cholakian.
  * OpenSSL is no longer required.  If OpenSSL is not available an exception
    will be raised when attempting to access HTTPS resources.  Feature request
    by André Arko

* Bug fixes
  * Explain the proper way of sending parameters depending upon the request
    method.  Issue #35 by André Arko.
  * Handle Errno::ETIMEDOUT by retrying the request.  Issue #36 by André Arko.
  * Requests retried by ruby 2.x are no longer retried by net-http-persistent.
  * Finish the connection if an otherwise unhandled exception happens during a
    request.  Bug #46 by Mark Oude Veldhuis.
  * detect_idle_timeout now assumes a StandardError indicates the idle timeout
    has been found.  Bug #43 by James Tucker.

=== 2.8 / 2012-10-17

* Minor enhancements
  * Added Net::HTTP::Persistent::detect_idle_timeout which can be used to
    determine the idle timeout for a host.
  * The read timeout may now be updated for every request.  Issue #33 by
    Mislav Marohnić
  * Added NO_PROXY support.  Pull Request #31 by Laurence Rowe.
  * Added #cert and #key aliases for Net::HTTP compatibility.  Pull request
    #26 by dlee.
  * The artifice gem now disables SSL session reuse to prevent breakage of
    testing frameworks.  Pull Request #29 by Christopher Cooke.
  * Disabled Net::HTTP::Persistent::SSLReuse on Ruby 2+.  This feature is now
    built-in to Net::HTTP.
* Bug fixes
  * Socket options are set again following connection reset.  Pull request #28
    by cmaion.
  * #shutdown now works even if no connections were made.  Pull Request #24 by
    James Tucker.
  * Updated test RSA key size to 1024 bits.  Bug #25 by Gunnar Wolf.
  * The correct host:port are shown in the exception when a proxy connection
    fails.  Bug #30 by glebtv.

=== 2.7 / 2012-06-06

* Minor enhancement
  * Added JRuby compatibility by default for HTTPS connections.  (JRuby lacks
    OpenSSL::SSL::Session.)

=== 2.6 / 2012-03-26

* Minor enhancement
  * Net::HTTP::Persistent#idle_timeout may be set to nil to disable expiration
    of connections.  Pull Request #21 by Aaron Stone

=== 2.5.2 / 2012-02-13

* Bug fix
  * Fix variable shadowing warning.

=== 2.5.1 / 2012-02-10

* Bug fix
  * Reusing SSL connections with HTTP proxies now works.  Issue #15 by Paul
    Ingham and mcrmfc

=== 2.5 / 2012-02-07

* Minor enhancements
  * The proxy may be changed at any time.
  * The allowed SSL version may now be set via #ssl_version.
    Issue #16 by astera
  * Added Net::HTTP::Persistent#override_headers which allows overriding
  * Net::HTTP default headers like User-Agent.  See
    Net::HTTP::Persistent@Headers for details.  Issue #17 by andkerosine

* Bug fixes
  * The ruby 1.8 speed monkeypatch now handles EAGAIN for windows users.
    Issue #12 by Alwyn Schoeman
  * Fixed POST example in README.  Submitted by injekt.
  * Fixed various bugs in the shutdown of connections especially cross-thread
    (which you shouldn't be doing anyways).

=== 2.4.1 / 2012-02-03

* Bug fixes
  * When FakeWeb or WebMock are loaded SSL sessions will not be reused to
    prevent breakage of testing frameworks.  Issue #13 by Matt Brictson, pull
    request #14 by Zachary Scott
  * SSL connections are reset when the SSL parameters change.
    Mechanize issue #194 by dsisnero
  * Last-use times are now cleaned up in #shutdown.

=== 2.4 / 2012-01-31

* Minor enhancement
  * net-http-persistent now complains if OpenSSL::SSL::VERIFY_PEER is equal to
    OpenSSL::SSL::VERIFY_NONE.  If you have a platform that is broken this way
    you must define the constant:

      I_KNOW_THAT_OPENSSL_VERIFY_PEER_EQUALS_VERIFY_NONE_IS_WRONG = nil

    at the top level of your application to disable the warning.

* Bug fix
  * Fix persisting SSL sessions through HTTP proxies.  Mechanize issue #178 by
    Robert Poor, net-http-persistent issues #10, #11.

=== 2.3.2 / 2011-12-21

* Bug fix
  * Finish connections that were closed by Net::HTTP so they can be restarted.

=== 2.3.1 / 2011-10-26

* Bug fix
  * If a request object already contains a Connection header it will no longer
    be overridden.  This allows keep-alive connections to be disabled on a
    per-request basis.

=== 2.3 / 2011-10-25

* Minor Enhancement
  * The time since last use for a connection is now recorded in error
    messages for the connection.

=== 2.2 / 2011-10-24

* Minor Enhancements
  * Added timeouts for idle connections which are set through #idle_timeout.
    The default timeout is 5 seconds.  Reducing the idle timeout is preferred
    over setting #retry_change_requests to true if you wish to avoid the "too
    many connection resets" error when POSTing data.
  * Documented tunables and settings in one place in Net::HTTP::Persistent

=== 2.1 / 2011-09-19

* Minor Enhancement
  * For HTTPS connections, SSL sessions are now reused avoiding the extra
    round trips and computations of extra SSL handshakes.  If you have
    problems with SSL session reuse it can be disabled by
    Net::HTTP::Persistent#reuse_ssl_sessions

* Bug Fixes
  * The default certificate store is now used even if #verify_mode was not
    set.  Issue #7, Pull Request #8 by Matthew M. Boedicker

=== 2.0 / 2011-08-26

* Incompatibility
  * Net::HTTP::Persistent#verify_mode now defaults to
    OpenSSL::SSL::VERIFY_PEER.  This may cause HTTPS request failures if your
    default certificate store lacks the correct certificates.

=== 1.9 / 2011-08-26

* Minor Enhancement
  * Added Net::HTTP::Persistent#cert_store to set an SSL certificate store
    which defaults to the OpenSSL default certificate store.

    HTTPS server certificates will be validated when this option is combined
    with setting Net::HTTP::Persistent#verify_mode to
    OpenSSL::SSL::VERIFY_PEER.

=== 1.8.1 / 2011-08-08

* Bug Fix
  * Requests with OpenSSL errors are retried now.  Pull Request #5 by James
    Tucker.

=== 1.8 / 2011-06-27

* Minor Enhancement
  * Added Net::HTTP::Persistent#retry_change_requests which allows POST and
    other non-idempotent requests to be retried automatically.  Take care when
    enabling this option to ensure the server will handle multiple POSTs with
    the same data in a sane manner.

=== 1.7 / 2011-04-17

* Minor Enhancement
  * Added Net::HTTP::Persistent#pipeline which integrates with
    net-http-pipeline when it is present.
* Bug Fix
  * Perform a case-insensitive check of the URI scheme for HTTPS URIs

=== 1.6.1 / 2011-03-08

* Bug Fix
  * Net::HTTP::Persistent#request now handles Errno::EINVAL as a connection
    reset and will be retried for idempotent requests.  Reported by Aaron
    Qian.

=== 1.6 / 2011-03-01

* Minor Enhancement
  * Added Net::HTTP::Persistent#socket_options to set multiple socket options
    at socket startup.

=== 1.5.2 / 2011-02-24

* Bug Fix
  * Only set TCP_NODELAY if the connection has an @socket.  Allows
    net-http-persistent to be used with fake_web.  Reported by Sathish
    Pasupunuri.

=== 1.5.1 / 2011-02-10

* Bug fix
  * Only set TCP_NODELAY at connection start.  Reported by Brian Henderson.

=== 1.5 / 2011-01-25

* Minor Enhancements
  * Set TCP_NODELAY on created socket if possible.  (This will only help for
    requests that send bodies.)

=== 1.4.1 / 2010-10-13

* Bug Fixes
  * Don't finish the connection when we're retrying, reset it.  Patch by James
    Tucker.

=== 1.4 / 2010-09-29

* Minor Enhancements
  * Added the very dangerous #shutdown_in_all_threads.  IT IS DANGEROUS!.
    Patch by Torsten Schönebaum.

=== 1.3.1 / 2010-09-13

* Bug Fixes
  * #connection_for no longer tries to ssl-enable an existing connection.
    Patch by Joseph West.

=== 1.3 / 2010-09-08

* Minor Enhancements
  * HTTP versions are now recorded.  This information is not currently used.

* Bug Fixes
  * #shutdown no longer fails when an unstarted HTTP connection is shut down.

=== 1.2.5 / 2010-07-27

* Bug Fixes
  * Fix duplicated test name.  Noted by Peter Higgins.
  * #shutdown now works even when no connections were made.

=== 1.2.4 / 2010-07-26

* Bug Fixes
  * Actually have #request only finish a connection.  Somehow this got
    missed.

=== 1.2.3 / 2010-06-29

* Bug Fixes
  * Fix example code (pointed out by Alex Stahl)

=== 1.2.2 / 2010-06-22

* Bug Fixes
  * #request only finishes a connection instead of restarting it.  This helps
    prevents errors on non-idempotent HTTP requests after errors.
  * #connection_for handles EHOSTDOWN like #reset

=== 1.2.1 / 2010-05-25

* Bug Fixes
  * Don't alter Net::BufferedIO#rbuf_fill on 1.9+

=== 1.2 / 2010-05-20

* Minor Enhancements
  * Net::HTTP#read_timeout is now supported
  * Net::HTTP#open_timeout is now supported
  * Net::HTTP::Persistent#request now supports a block like Net::HTTP#request

=== 1.1 / 2010-05-18

* Minor Enhancements
  * Proxy support, see Net::HTTP::Persistent::new,
    Net::HTTP::Persistent#proxy_from_env
  * Added +name+ parameter to Net::HTTP::Persistent::new for separation of
    connection pools.
  * Added Net::HTTP::Persistent#shutdown so you can clean up after yourself
  * Net::HTTP::Persistent now suppresses "peer certificate won't be verified
    in this SSL session" warning.

* Bug Fixes
  * Net::HTTP::Persistent retries requests in accordance with RFC 2616.

=== 1.0.1 / 2010-05-05

* Minor Enhancements
  * Added #debug_output
  * Now uses Hoe minitest plugin
* Bug Fixes
  * Tests pass on 1.9

=== 1.0.0 / 2010-05-04

* Major Enhancements
  * Birthday!

