Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
298 lines (288 sloc) 13.3 KB

clj-http changelog

Changelog

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

4.0.0 (Unreleased)

  • Apache HTTP Client version 5 is now used - this is a major breaking change for almost all of the internals of clj-http.
  • Removed slingshot dependency. clj-http exceptions are now regular exceptions
  • Removed deprecated :follow-redirects & :force-redirects options
  • Added an option to capture socket data as it is written out - https://github.com/dakrone/clj-http/pull/440

3.10.0 (Unreleased)

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) - https://github.com/dakrone/clj-http/issues/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 https://github.com/dakrone/clj-http/issues/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. https://github.com/dakrone/clj-http/issues/445

3.8.0

  • Reintroduce the :save-request and :debug-body options
  • Wrap nested querystring params before form params, fixing https://github.com/dakrone/clj-http/issues/427 Reverted, see further below
  • Merged https://github.com/dakrone/clj-http/pull/426 to allow an empty SSLGenericSocketFactory context
  • Merged https://github.com/dakrone/clj-http/pull/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 https://github.com/dakrone/clj-http/issues/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 - https://github.com/dakrone/clj-http/pull/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 https://github.com/dakrone/clj-http/issues/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

1.1.2

1.1.1

1.1.0

1.0.1

  • merged https://github.com/dakrone/clj-http/pull/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

0.9.2

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 https://github.com/dakrone/clj-http/pull/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 https://github.com/dakrone/clj-http/pull/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

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

2015-05-23

Released 1.1.2

2015-05-06

  • bumped dependencies for transit-clj and tools.reader

2015-04-24

Released 1.1.1

2015-04-22

2015-04-20

2015-04-14

2015-04-05

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

Released 1.1.0

2015-03-03

2015-02-08

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

2015-01-19

2015-01-15

2014-12-13

2014-12-12

2014-12-02

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

2014-08-07

2014-07-27

Released 0.9.2

2014-05-27

2014-05-14

2014-04-21

  • Bump crouton and tools.reader dependencies

2014-04-09

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

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 https://github.com/dakrone/clj-http/pull/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.
You can’t perform that action at this time.