You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

6.3 KiB


This is a feature release

  • PDB-2640 Added a :compress-request-body request option which allows for the request body content to be gzip-compressed before forwarding it on to the server


This is a feature release

  • SERVER-1556 Add puppetlabs/clj-i18n support to clj-http-client.
  • Pass the global i18n locale binding in the "accept-language" header of Clojure client requests.


This is a feature and maintenance release

  • TK-179 Refactor to eliminate Clojure/Java duplication
  • TK-316 Add support for metrics
  • TK-317 Add ability to pass a metrics-id
  • TK-354 Add documentation on metrics
  • TK-308 Bump Apache HttpAsyncClient library to 4.1.2
  • TK-402 Allow metric namespace to be configurable
  • Bump Trapperkeeper and Kitchensink dependencies from 1.1.1 to 1.5.1 (TK) and 1.2.0 to 1.3.0 (KS).


This is a feature release.

  • TK-312 Unbuffered streams in Java to match clojure support released in 0.4.5.
  • Add request function to clojure client protocol.


This is a maintenance release.

  • TK-303 - update dependencies to use Apache httpasyncclient v4.1.1.


This is a feature release, and probably should have been 0.5.0 in order to comply with semantic versioning.


This is a maintenance release.

  • TK-196 - update prismatic dependencies to the latest versions.


This is a feature release.

  • TK-134 - Introduced two new optional client configuration settings:
    • connect-timeout-milliseconds: maximum number of milliseconds that the client will wait for a connection to be established.
    • socket-timeout-milliseconds: maximum number of milliseconds that the client will allow for no data to be available on the socket before closing the underlying connection, 'SO_TIMEOUT' in socket terms.


This is a bugfix release.

  • TK-145 - Fixed a bug which caused some HTTP requests to incorrectly have charset=UTF-8 added to their Content-Type headers.


This is a maintenance release.

  • Add documentation for making requests using the Java and Clojure clients.
  • Upgrade jvm-ssl-utils (previously known as jvm-certificate-authority) dependency to 0.7.0.
  • Upgrade clj-kitchensink dependency to 1.0.0.
  • Upgrade trapperkeeper dependency to 1.0.1.


This is a feature release which has some breaking changes.

  • Support for non-client bound asynchronous requests has been removed from both the Clojure and Java-layer APIs. This includes all of the request functions that previously existed in the client.async Clojure namespace and the request methods in the AsyncHttpClient Java class.
  • Add a Java-layer API for getting an instance of an HttpClient on which multiple requests -- e.g.., GET, POST -- can be made. Clients are created via the createClient method on the new Async and Sync classes, for a client that can make asynchronous or synchronous web requests, respectively.
  • Non-client bound synchronous requests can still be performed through the Java API but must now be done through the Sync classes rather than the SyncHttpClient class. The SyncHttpClient class is now used as the type of the instance that the Sync.createClient() method returns.
  • The Java RequestOptions class was refactored into new ClientOptions and RequestOptions classes which can be used with the client-bound Async and Sync APIs. For non-client bound requests, options are now defined via a SimpleRequestOptions class.
  • Reworked connection close behavior to more robustly handle successful and failed connections.


This is a bugfix release.

  • Fix a memory leak that occurred as a result of connection failures.


This is a feature release.

  • Add configuration settings for SSL Protocols and Cipher Suites to both the Java and Clojure clients.


This is a bugfix release.

  • Fix a bug in the Java client API that caused a file descriptor leak each time a client was created for a new request.


This is a bugfix release.

  • Fix a bug where the character encoding was always being set to ISO-8859-1 w/o a charset ever being explicitly specified in the Content-Type header. We now honor the existing charset if there is one in the header, and otherwise we use UTF-8 and explicitly add the charset to the header.


  • Add :follow-redirects and :force-redirects options to the clojure client.
  • Add followRedirects and forceRedirects options to the Java client.


  • Add an overloaded constructor for RequestOptions that accepts a String uri


  • Fix a bug in the Java client API that caused an NPE if a Content-Type header did not specify a charset


  • No changes


  • Add back in support for query-params map in Clojure API


  • Upgrade to Apache HttpAsyncClient v4.0.2 (fixes a bug where headers don't get included when following redirects).


  • Port the code to use the Apache HttpAsyncClient library instead of http-kit.
  • The API around creating a persistent client has changed and persistent clients are explicitly managed
  • The available request options have changed. Some convenience options have been removed.


  • Explicitly target JDK6 when building release jars


  • Add support for configuring client SSL context with a CA cert without a client cert/key


  • Update to latest version of puppetlabs/kitchensink
  • Use puppetlabs/certificate-authority for SSL tasks


  • Fix bug in sync.clj when excluding clojure.core/get


  • Added a Java API for the synchronous client