Skip to content

Latest commit

 

History

History
292 lines (283 loc) · 13.1 KB

changelog.org

File metadata and controls

292 lines (283 loc) · 13.1 KB

clj-http changelog

Changelog

List of user-visible changes that have gone into each release

3.10.0 (Unreleased)

  • Add trust-manager and key-managers support to the client - dakrone#469

3.9.0

  • Add support for reusable http clients, returning the client in :http-client and allowing one to be specified (with the same setting) - dakrone#441
  • Cancelling the Future returned from an async http request now also aborts the HttpRequest object
  • Async connection managers no longer put the connection manager in an illegal ACTIVE state #443
  • Added the :cookie-spec and :cookie-policy-registry options for specifying a custom cookie spec for parsing cookies. Since clj-http doesn’t rely on Apache’s cookies handling, this is for advanced users who wish to add their own cookie validation, or use Apache’s handling instead of clj-http’s. It also allows a user who wants to registry a custom spec to reuse the spec without creating it for every request. Semi-related to dakrone#444
  • Added support for caching HTTP responses from a server. This can dramatically speed up requests to the same URL. Filling and invalidating the cache is handled by Apache’s httpclient-cache project, with configuration exposed under the :cache and :cache-config parameters in the option map. dakrone#445

3.8.0

  • Reintroduce the :save-request and :debug-body options
  • Wrap nested querystring params before form params, fixing dakrone#427 Reverted, see further below
  • Merged dakrone#426 to allow an empty SSLGenericSocketFactory context
  • Merged dakrone#424 to add :mime-subtype request parameter to override mime subtype
  • create-multipart-entity with three arguments arity lets the selection of HttpMultipartMode
  • new request key :http-multipart-mode which is HttpMultipartMode/STRICT by default
  • Added :ignore-nested-query-string, :flatten-nested-form-params, and :flatten-nested-keys options for finer-grained control over which nested parts of the request are flattened. Fixes dakrone#427
  • Added :http-builder-fns and :async-http-builder-fns to support arbitrary customizations to the HttpClientBuilder and HttpAsyncClientBuilder
  • Fixed an issue where redirects to a bad location could cause the async client to hang - dakrone#435
  • client/parse-url now includes the original URL in the :url key
  • core/get-cookie-policy is now a multimethod. This allows users to customize the return of their own cookie validation method.
  • Empty responses with coercion no longer throw exceptions when processing empty gzipped response streams. Fixes dakrone#257

3.7.0

This list contains all the changes since 3.0.0.

Added:

  • HttpRequestInterceptor support 155bd23
  • protocol-version and reason-phrase f430517
  • support for async HTTP requests (like Ring) 44d10ec
  • support for different multi-param encoding (:repeating, :array, :indexed) cddeb3e
  • Add unparse function aec7dd1
  • Added :redirect-strategy :graceful
  • Allow RequestConfig and HttpClientContext to be injected feb3c48

Removed:

  • :save-request

Changed:

  • re-written middleware using apache http client 4.5
  • Fix retry-handler to be added in correct place a2c31f5
  • POST Mutipart: Use charset “UTF-8” instead of “ASCII” as default charset to support internationalization 983508f

2.0.0

  • merged dakrone#274 to update Potemkin so it supports Clojure 1.7.0 correctly
  • merged dakrone#264 to add support for coercion of urlencoded data
  • make ALL optional dependencies opt-in, rather than opt-out

1.1.2

  • bumped dependencies for transit-clj and tools.reader
  • merge dakrone#263 to only decode body headers when the content-type is either missing or starts with “text”

1.1.1

  • merge dakrone#262 to prevent NullPointerException when decoding body headers with HEAD requests
  • merge dakrone#261 to decode user info from URL if provided
  • merge dakrone#260 to upgrade tools.reader for better cljs compatibility
  • add 304 (not modified) to the list of unexceptional responses, see #259

1.1.0

  • merged dakrone#255 to add support for Windows NTLM authentication
  • Add the `with-additional-middleware` macro
  • Add the ability to specify form-param-encoding for encoding form parameters
  • merged dakrone#248 to removed deprecated cookie APIs from cookie.clj
  • merged dakrone#245 to do some cleanups and small import fixes
  • merged dakrone#240 to implement meta/with-meta for the header map
  • merged dakrone#242 fixing a connection leak when http-entity is null
  • bumped all dependencies to latest versions
  • merged dakrone#235 to fix wrap-nested-params
  • merged dakrone#236 to clean up multipart constructors and reflection
  • merged dakrone#234 to allow scheme customization in default connection

1.0.1

  • merged dakrone#232 to fix empty on header-map
  • fix :json-strict-string-keys
  • exclude clojure.core/update from client ns
  • added :decode-cookies option to allow skipping cookie header decode (if the server sends incorrectly formatted cookies for some reason)

1.0.0

  • merged dakrone#215 to add transit support
  • drop support for clojure 1.4.0, start testing 1.7.0
  • merged dakrone#213 to allow passing in an already existing keystore, not just a path
  • merged dakrone#211 to detect charset encoding for url-encode

0.9.2

  • merged dakrone#206 to handle null passwords for keystores
  • merged dakrone#201 to make :auto content type parsing dispatch pluggable
  • Bump crouton and tools.reader dependencies
  • Merged dakrone#199 to add support for form parameters in the PATCH method
  • Bump dependencies and fix tests for 1.6.0 compatibility

0.9.1

  • automatically coerce header values to strings
  • fix issue where :ignore-unknown-host wasn’t using the opt function correctly

0.9.0

  • Bumped httpcore to 4.3.2
  • Merged dakrone#190 to support file multiparts with content, mime-type and name
  • Unify all boolean operators so {:debug true} and {:debug? true} are treated the same
  • Fix :trace-redirects being [nil] when :uri is used
  • Merged dakrone#184 containing a bevy of changes:
    • initial header-map implementation, allowing headers to be used case insensitively
    • drop support for clojure 1.2 and 1.3
    • add support for clojure 1.6
    • change all :use statements to :require statements
    • use better docstring support for defs
    • remove sleep calls in tests
    • make Jetty quieter while running tests
    • newer type hinting syntax

0.7.9

  • Make :decode-body-headers more reliable by using a byte array instead of slurp.
  • Merged dakrone#181 to fix some tests
  • Merged dakrone#178 to eliminate test reflection
  • Merged dakrone#177 to update apache HTTP deps
  • Merged dakrone#175 to add {:as :json-strict} for output coercion
  • Added {:as :json-strict-string-keys} output coercion
  • bump dependencies to their latest
  • Merged dakrone#172 to update .gitignore file and clean up whitespace for new clojure-mode
  • Merged dakrone#171 to support SOCKS proxies

Work log

2015-07-24

  • branched master to create 2.x
  • start major rewrite on master branch for non-deprecated Apache usage

Released 2.0.0

2015-07-18

  • merged dakrone#274 to update Potemkin so it supports Clojure 1.7.0 correctly

2015-05-23

  • merged dakrone#264 to add support for coercion of urlencoded data
  • make ALL optional dependencies opt-in, rather than opt-out

Released 1.1.2

2015-05-06

  • bumped dependencies for transit-clj and tools.reader

2015-04-24

  • merge dakrone#263 to only decode body headers when the content-type is either missing or starts with “text”

Released 1.1.1

2015-04-22

  • merge dakrone#262 to prevent NullPointerException when decoding body headers with HEAD requests

2015-04-20

  • merge dakrone#261 to decode user info from URL if provided

2015-04-14

  • merge dakrone#260 to upgrade tools.reader for better cljs compatibility

2015-04-05

  • add 304 (not modified) to the list of unexceptional responses, see #259

Released 1.1.0

2015-03-03

  • merged dakrone#255 to add support for Windows NTLM authentication

2015-02-08

  • Add the `with-additional-middleware` macro
  • Add the ability to specify form-param-encoding for encoding form parameters

2015-01-19

  • merged dakrone#248 to removed deprecated cookie APIs from cookie.clj
  • merged dakrone#245 to do some cleanups and small import fixes

2015-01-15

  • merged dakrone#240 to implement meta/with-meta for the header map
  • merged dakrone#242 fixing a connection leak when http-entity is null
  • bumped all dependencies to latest versions

2014-12-13

2014-12-12

  • merged dakrone#236 to clean up multipart constructors and reflection

2014-12-02

  • merged dakrone#234 to allow scheme customization in default connection

Released 1.0.1

2014-10-28

2014-10-17

  • fix :json-strict-string-keys

2014-09-08

  • exclude clojure.core/update from client ns

2014-08-15

  • added :decode-cookies option to allow skipping cookie header decode (if the server sends incorrectly formatted cookies for some reason)

Released 1.0.0

2014-08-11

  • merged dakrone#215 to add transit support
  • drop support for clojure 1.4.0, start testing 1.7.0

2014-08-07

  • merged dakrone#213 to allow passing in an already existing keystore, not just a path

2014-07-27

  • merged dakrone#211 to detect charset encoding for url-encode

Released 0.9.2

2014-05-27

  • merged dakrone#206 to handle null passwords for keystores

2014-05-14

  • merged dakrone#201 to make :auto content type parsing dispatch pluggable

2014-04-21

  • Bump crouton and tools.reader dependencies

2014-04-09

  • Merged dakrone#199 to add support for form parameters in the PATCH method

2014-03-26

  • Bump dependencies and fix tests for 1.6.0 compatibility

Released 0.9.1

2014-03-15

  • automatically coerce header values to strings

2014-03-05

  • fix issue where :ignore-unknown-host wasn’t using the opt function correctly

Released 0.9.0

2014-02-25

  • Bumped httpcore to 4.3.2

2014-02-19

  • Merged dakrone#190 to support file multiparts with content, mime-type and name

2014-02-16

  • Unify all boolean operators so {:debug true} and {:debug? true} are treated the same

2014-02-09

  • Fix :trace-redirects being [nil] when :uri is used

2014-02-06

  • Merged dakrone#184 containing a bevy of changes:
    • initial header-map implementation, allowing headers to be used case insensitively
    • drop support for clojure 1.2 and 1.3
    • add support for clojure 1.6
    • change all :use statements to :require statements
    • use better docstring support for defs
    • remove sleep calls in tests
    • make Jetty quieter while running tests
    • newer type hinting syntax

Released 0.7.9

2014-02-01

  • Make :decode-body-headers more reliable by using a byte array instead of slurp.