Skip to content

Latest commit

 

History

History
653 lines (651 loc) · 26.2 KB

changelog.org

File metadata and controls

653 lines (651 loc) · 26.2 KB

Changelog

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

0.7.0

  • merged dakrone#122 for using data-readers when using tools.reader to parse EDN
  • fix an issue with 1.3 where data-readers is not available
  • merged dakrone#121 to fix auto-coercion with json
  • support application/edn as an auto-coercion type
  • add tools.reader as an optional dependency, edn/read will be used if available, otherwise read-string with read-eval bound to false is used. See dakrone#120
  • Bump clojure to 1.5.1

0.6.5

  • allow json coercion for exception cases based on :coerce setting, can be either :always, :exceptional or :unexceptional
  • Update clojure to 1.5
  • Move SingleClientConnManager shutdown into finally block
  • bind read-eval to false when reading for {:as :clojure}
  • bump cheshire to 5.0.2

0.6.4

  • merged dakrone#113 to update the connection pooling code
  • refactor pooled connection managers to allow specifying the :connection-manager option
  • merged dakrone#112 to allow json coercion on error responses when :as :auto is used
  • allow redirects when :url is not set in the request
  • merged dakrone#110 to handle the case when the server-side uses deflate incorrectly
  • added `with-middleware` to allow running requests with a custom middleware list
  • added `all-middleware` var listing all the wrap-* middleware that clj-http knows of
  • clj-http.client/request is now marked as dynamic for rebinding

0.6.3

  • Remove wrap-cookie-store middleware, CookieStore headers are automatically added by Apache
  • set the SINGLE_COOKIE_HEADER value to true to ensure Apache sends only one “Cookie:” header
  • Do not add CookieStore or Cookie header if there are no cookies in the cookie jar

0.6.2

  • merged dakrone#106 to remove query params for redirection.
  • whitespace fixes; fix test that wasn’t working correctly

0.6.1

  • bump httpcore to 4.2.3
  • Fix an issue (#105) related to the “Content-Length” header being automatically added to GET requests

0.6.0

(bumped to 0.6.0 since Cheshire has changed major versions)

  • Update Cheshire to 5.0.1
  • Add type hint for getting headers from body (michaelklishin)

0.5.8

  • add buffering for HttpEntity, with ability to turn off if needed, fixes lein issue with repeatable requests

0.5.7

  • create a custom X509HostnameVerifier for the :insecure? option
  • explicitly require httpcore instead of leaving it to a transitive dep
  • update httpcomponents to 4.2.2
  • implement HTML5 charset header reading from body

0.5.6

  • bump Crouton to 0.1.1 for faster speeds
  • add feature to decode body headers, merging them into response headers if they are present
  • merged dakrone#98 to add optional :default-per-route to with-connection-pool

0.5.5

  • bump cheshire to fix json encoding bug

0.5.4

  • merged dakrone#95 to add support for setting aribtrary client params to the http client
  • Merged dakrone#94 to remove some reflection
  • update cheshire dep, make clojure a dev-dependency
  • allow overriding the multipart part name with :part-name

0.5.3

  • merged dakrone#91 to add support for :digest-auth
  • added request timing middleware to add :request-time key for request timing
  • add wrap-cookie-store to send cookie-store cookies with a request automatically
  • merged dakrone#90 to standardize on lower-case headers for HTTP requests

0.5.2

  • merged dakrone#88 to add chunked encoding support (:length no longer required along with input stream :body)

0.5.1

  • fix clojure 1.3’s exception wrapping for some exceptions
  • merged dakrone#87 to allow using http.nonProxyHosts
  • mark json-encode and json-decode dynamic, so they could be rebound if desired
  • update httpclient and httpmime to 4.2.1
  • update commons-codec to 1.6
  • update common-io to 2.4
  • change body decompression to be optional, if desired
  • make the :content-type and :character-encoding options part of middleware, not the core request
  • document all the middleware
  • merged dakrone#85 to allow low-level callback for debugging

0.5.0

  • rewrite multipart body entity creation to use different map format, allowing :mime-type and :encoding keys in some cases

0.4.4

  • bump cheshire to 4.0.1 and slingshot to 0.10.3
  • fix an issue where cookies were encoded and should not be
  • merged dakrone#80 to allow specifying the keystore type
  • merged dakrone#79 to allow pluggable output coercion (multimethod)

0.4.3

  • support custom x509 keystore/trust-stores

0.4.2

  • fixed an issue where multiple link headers would cause an exception to be thrown

0.4.1

  • added :debug-body that adds plaintext body information to the :debug output
  • fix json encoded form params with nested maps
  • fix attempted json coercion when a bad status is received
  • merged dakrone#69 to add support for :oauth-token authentication
  • merged dakrone#70 to save the apache Http object when :save-request? is true
  • merged dakrone#68 to support additional options/delete/copy/move HTTP methods
  • add support for the :patch method type

0.4.0

  • merged dakrone#66 to add support for ‘Link’ header
  • added ability to specify your own retry-handler for IOExceptions if desired
  • bumped httpclient and httpmime to 4.1.3
  • bump to released version of clojure (1.4)
  • added documentation about ipv6 requests
  • fixed dakrone#57 by have wrap-redirects redirect according to the RFC and adding the :force-redirects option to be more browser-like
  • merged dakrone#61 to add support for nested param maps

0.3.6

  • fixed an issue where urls like http://user:pass@foo.com didn’t work correctly for basic-auth
  • added support for cookie stores
  • added utility methods to retrieve cookies as a map from the cookie store
  • set the default maximum number of redirects to 20

0.3.5

  • same as 0.3.4, but with a newer cheshire that doesn’t interfere with clj-json

0.3.4

  • improved commit from pull/55 to make the predicate more generalized to any kind of entity request
  • make Cheshire an optional dependency, only for {:as :json} and json form-params
  • merged dakrone#55 to fix HEAD requests with body contents
  • merged dakrone#53 to add status functions into the clj-http.client namespace
  • added the ability to specify {:as :clojure} to get back a clojure datastructure, or {:as :auto} with content-type=application/clojure
  • merged dakrone#52 to support json-encoded form params
  • added a test for json-encoded form params as request body

0.3.3

  • merged dakrone#51 to allow :form-params on PUT requests
  • bump Cheshire and slingshot deps
  • add the :throw-entire-message? option to include resp in Exception message
  • throw an IllegalArgumentException instead of a regulor Exception on nil urls
  • add ability to redirect to relative paths (ngrunwald)

0.3.2

  • merged dakrone#48 to fix :stream bodies (to make sure they are not coerced on output)
  • merged dakrone#49 to check for nil URLs when using client functions
  • switch from assertions to exceptions for nil URLs
  • merged dakrone#46 to add :trace-redirects to the response map
  • merged dakrone#47 to allow GET requests with a :body set
  • merged dakrone#44 to add ability to specify maximum number of redirects
  • add tests for max-redirects
  • merged dakrone#42 to allow strings or keywords for :scheme in requests
  • added test for different :schemes

0.3.1

  • merged dakrone#40 to allow per-request proxy settings
  • remove a few more reflections
  • added ablity to return the body as a stream with {:as :stream}
  • general code cleanup

0.3.0

  • add ability to ignore unknown host if desired ({:ignore-unknown-host? true})
  • use much better Enitity’s for the body, depending on type
  • bump all dependencies
  • test re-org to make better sense (and allow C-c t in emacs)
  • merged dakrone#36 to fix url-encoding of multiple query params using the same key
  • merged dakrone#34 to fix decoding cookies that don’t follow RFC spec
  • Add better coercion, adding {:as :json}, {:as :json-string-keys} and {:as :auto}

0.2.7

  • merged dakrone#31 to remove more reflection warnings
  • some whitespace changes
  • merged dakrone#30 to remove more reflection warnings
  • removed swank from dev deps
  • bump 1.4 to alpha3 in multi deps

0.2.6

  • don’t use :server-port unless required (fixes problem with some web servers)
  • smaller error message on exceptions (thrown object is still the same)
  • added the :save-request? option to return the request object in a :request key in the response map
  • multiple headers with the same name are now preserved when they have differing cases

0.2.5

  • multipart form uploads
  • bump slingshot to 0.9.0

0.2.4

  • Got a functioning reusable connection method, (with-connection-pool …)
  • upgrade slingshot to 0.8.0
  • upgrade commons-io to 2.1
  • merged dakrone#20 to allow :basic-auth as a string

0.2.3

  • added :insecure? flag
  • fix AOT by requiring clojure.pprint
  • wrap-redirects now handles recursive redirects

0.2.2

  • wrap-exceptions now uses Slingshot to throw a much more useful exception when there was a problem with the request
  • fixed an issue when malformed server responses could NPE the decompression middleware
  • added a :debug flag to pretty-print the request map and object to stdout before performing the request to aid in debugging

0.2.1

  • decode cookies from response into :cookies (thanks r0man)
  • redone redirects, they can now be toggled with {:follow-redirects false} in the request
  • decompression of responses has been fixed (thanks senior)
  • accept Content-Encoding or content-encoding from responses (thanks senior)
  • added ability to specify sending a url-encoded :body of form params using {:form-params {:key value}} (thanks senior)

0.2.0

  • updated dependencies to be the latest versions
  • added ability to use system proxy for connections (thanks jou4)
  • added ability to specify socket and connection timeouts in request (thanks zkim)

0.1.3

Work log

Log of merges/issues/work that’s gone in so I know what to put in the changelog for the next release

2013-03-29

  • bump dependencies to latest versions

Released 0.7.0

2013-03-22

  • merged dakrone#122 for using data-readers when using tools.reader to parse EDN
  • fix an issue with 1.3 where data-readers is not available
  • merged dakrone#121 to fix auto-coercion with json

2013-03-20

  • support application/edn as an auto-coercion type
  • add tools.reader as an optional dependency, edn/read will be used if available, otherwise read-string with read-eval bound to false is used. See dakrone#120

2013-03-14

  • Bump clojure to 1.5.1

Released 0.6.5

2013-03-06

  • allow json coercion for exception cases based on :coerce setting, can be either :always, :exceptional or :unexceptional
  • bump cheshire to 5.0.2

2013-03-01

  • Update clojure to 1.5
  • Move SingleClientConnManager shutdown into finally block

2013-02-05

  • bind read-eval to false when reading for {:as :clojure}

Released 0.6.4

2013-01-30

  • merged dakrone#113 to update the connection pooling code
  • refactor pooled connection managers to allow specifying the :connection-manager option

2013-01-19

  • merged dakrone#112 to allow json coercion on error responses when :as :auto is used

2013-01-10

  • allow redirects when :url is not set in the request

2012-12-31

  • merged dakrone#110 to handle the case when the server-side uses deflate incorrectly

2012-12-20

  • added `with-middleware` to allow running requests with a custom middleware list
  • added `all-middleware` var listing all the wrap-* middleware that clj-http knows of
  • clj-http.client/request is now marked as dynamic for rebinding

Released 0.6.3

2012-12-18

  • Remove wrap-cookie-store middleware, CookieStore headers are automatically added by Apache
  • set the SINGLE_COOKIE_HEADER value to true to ensure Apache sends only one “Cookie:” header

2012-12-17

  • Do not add CookieStore or Cookie header if there are no cookies in the cookie jar

Released 0.6.2

2012-12-12

  • merged dakrone#106 to remove query params for redirection.
  • whitespace fixes; fix test that wasn’t working correctly

Released 0.6.1

2012-12-11

  • bump httpcore to 4.2.3

2012-12-10

  • Fix an issue (#105) related to the “Content-Length” header being automatically added to GET requests

Released 0.6.0

2012-12-04

  • Update Cheshire to 5.0.1

2012-12-03

  • Add type hint for getting headers from body (michaelklishin)

2012-11-19

  • merged dakrone#101 to allow request headers to specify multiple values

Released 0.5.8

2012-11-15

  • add buffering for HttpEntity, with ability to turn off if needed, fixes lein issue with repeatable requests

Released 0.5.7

2012-11-02

  • create a custom X509HostnameVerifier for the :insecure? option

2012-11-01

  • explicitly require httpcore instead of leaving it to a transitive dep
  • update httpcomponents to 4.2.2

2012-10-17

  • implement HTML5 charset header reading from body

Released 0.5.6

2012-10-15

  • bump Crouton to 0.1.1 for faster speeds

2012-10-09

  • add feature to decode body headers, merging them into response headers if they are present

2012-10-08

  • merged dakrone#98 to add optional :default-per-route to with-connection-pool

Release 0.5.5

2012-09-22

  • bump cheshire to fix json bug

Release 0.5.4

2012-09-20

  • add a test for :conn-timeout

2012-09-19

  • merged dakrone#95 to add support for setting aribtrary client params to the http client

2012-09-16

  • Merged dakrone#94 to remove some reflection
  • update cheshire dep, make clojure a dev-dependency

2012-08-21

  • allow overriding the multipart part name with :part-name

Release 0.5.3

2012-08-14

  • merged dakrone#91 to add support for :digest-auth
  • added request timing middleware to add :request-time key for request timing

2012-08-06

  • add wrap-cookie-store to send cookie-store cookies with a request automatically

2012-08-03

  • merged dakrone#90 to standardize on lower-case headers for HTTP requests

Release 0.5.2

2012-08-02

  • merged dakrone#88 to add chunked encoding support (:length no longer required along with input stream :body)

Release 0.5.1

2012-08-01

  • fix clojure 1.3’s exception wrapping for some exceptions

2012-07-31

  • merged dakrone#87 to allow using http.nonProxyHosts

2012-07-30

  • mark json-encode and json-decode dynamic, so they could be rebound if desired

2012-07-21

  • update httpclient and httpmime to 4.2.1
  • update commons-codec to 1.6
  • update common-io to 2.4

2012-07-20

  • change body decompression to be optional, if desired
  • make the :content-type and :character-encoding options part of middleware, not the core request
  • document all the middleware

2012-07-17

  • merged dakrone#85 to allow low-level callback for debugging

Release 0.5.0

2012-07-15

  • rewrite multipart body entity creation to use different map format, allowing :mime-type and :encoding keys in some cases

Release 0.4.4

2012-07-10

  • bump cheshire to 4.0.1 and slingshot to 0.10.3

2012-07-09

  • fix an issue where cookies were encoded and should not be

2012-06-15

  • merged dakrone#80 to allow specifying the keystore type

2012-06-13

  • merged dakrone#79 to allow pluggable output coercion (multimethod)

Release 0.4.3

2012-06-07

Release 0.4.2

2012-05-30

  • fixed an issue where multiple link headers would cause an exception to be thrown

Release 0.4.1

2012-05-08

  • added :debug-body that adds plaintext body information to the :debug output

2012-05-07

  • fix json encoded form params with nested maps

2012-05-02

  • fix attempted json coercion when a bad status is received

2012-04-30

  • merged dakrone#69 to add support for :oauth-token authentication
  • merged dakrone#70 to save the apache Http object when :save-request? is true

2012-04-27

  • merged dakrone#68 to support additional options/delete/copy/move HTTP methods
  • add support for the :patch method type

Release 0.4.0

2012-04-22

  • merged dakrone#66 to add support for ‘Link’ header

2012-04-18

  • added ability to specify your own retry-handler for IOExceptions if desired
  • bumped httpclient and httpmime to 4.1.3

2012-04-16

  • bump to released version of clojure (1.4)

2012-04-13

  • added documentation about ipv6 requests
  • fixed dakrone#57 by have wrap-redirects redirect according to the RFC and adding the :force-redirects option to be more browser-like

2012-04-09

  • merged dakrone#61 to add support for nested param maps

Release 0.3.6

2012-04-04

  • fixed an issue where urls like http://user:pass@foo.com didn’t work correctly for basic-auth

2012-04-02

  • merged dakrone#58 to add support for cookie stores
  • added utility methods to retrieve cookies as a map from the cookie store

2012-04-01

  • merged dakrone#56 to set the default maximum number of redirects to 20

Release 0.3.5

Release 0.3.4

2012-03-27

  • improved commit from pull/55 to make the predicate more generalized to any kind of entity request
  • make Cheshire an optional dependency, only for {:as :json} and json form-params
  • document clj-json/cheshire incompatibility problems

2012-03-26

  • merged dakrone#55 to fix HEAD requests with body contents

2012-03-20

  • merged dakrone#53 to add status functions into the clj-http.client namespace

2012-03-17

  • added the ability to specify {:as :clojure} to get back a clojure datastructure, or {:as :auto} with content-type=application/clojure

2012-03-13

  • merged dakrone#52 to support json-encoded form params
  • added a test for json-encoded form params as request body

Release 0.3.3

2012-03-09

  • merged dakrone#51 to allow :form-params on PUT requests

2012-03-06

  • bump Cheshire and slingshot deps
  • add the :throw-entire-message? option to include resp in Exception message

2012-02-26

  • throw an IllegalArgumentException instead of a regulor Exception on nil urls

2012-02-21

  • add ability to redirect to relative paths (ngrunwald)

Release 0.3.2

2012-02-13

  • merged dakrone#48 to fix :stream bodies (to make sure they are not coerced on output)
  • merged dakrone#49 to check for nil URLs when using client functions
  • switch from assertions to exceptions for nil URLs

2012-02-09

  • merged dakrone#46 to add :trace-redirects to the response map
  • whitespace changes
  • merged dakrone#47 to allow GET requests with a :body set

2012-02-06

  • merged dakrone#44 to add ability to specify maximum number of redirects
  • add tests for max-redirects

2012-02-05

  • merged dakrone#42 to allow strings or keywords for :scheme in requests
  • added test for different :schemes

Release 0.3.1

2012-02-03

  • merged dakrone#40 to allow per-request proxy settings
  • remove a few more reflections
  • added ablity to return the body as a stream with {:as :stream}
  • general code cleanup

Release 0.3.0

2012-01-31

  • add ability to ignore unknown host if desired ({:ignore-unknown-host? true})
  • use much better Enitity’s for the body, depending on type
  • bump all dependencies
  • test re-org to make better sense (and allow C-c t in emacs)

2012-01-24

  • merged dakrone#36 to fix url-encoding of multiple query params using the same key

2012-01-16

  • merged dakrone#34 to fix decoding cookies that don’t follow RFC spec

2012-01-07

  • Add better coercion, adding {:as :json}, {:as :json-string-keys} and {:as :auto}

Release 0.2.7

2011-12-30

  • merged dakrone#31 to remove more reflection warnings
  • some whitespace changes

2011-12-29

  • merged dakrone#30 to remove more reflection warnings
  • removed swank from dev deps
  • bump 1.4 to alpha3 in multi deps

Release 0.2.6

2011-12-13

  • merged dakrone#27 to only use :server-port for non-standard ports. This was causing problems for some web servers

2011-12-08

  • remove :save-request? from the saved request map (if it’s being saved, you probably already know you wanted to save it…)

2011-12-06

  • added the ‘safe-request?’ flag option to save the entire request in the :request key in the response object, several people have requested this
  • refactor some of the param setting out of the request method in an effort to make it slightly smaller
  • merged in a pull request fixing headers when multiple headers are received: dakrone#25

2011-11-29

Release 0.2.5

2011-11-22

  • finish up the multipart work, thanks to some testing cases from Raynes
  • document multipart posts in readme

Release 0.2.4

2011-11-12

  • Got a functioning reusable connection method, (with-connection-pool …)

2011-11-07

2011-11-04

  • merged dakrone#20 to allow :basic-auth as a string

Release 0.2.3

2011-10-31

  • changed wrap-redirects to recursively handle redirects instead of only redirecting one-level down
  • remove some reflection in cookies by defining ClientCookie

2011-10-27

  • merged dakrone#16 to add an :insecure? flag to ignore SSL errors

2011-10-25

  • merged dakrone#13 to add a require for pprint in core

Release 0.2.2

2011-10-18

  • added the :debug option to requests

2011-10-17

  • restarted an exception branch that uses Slingshot to throw a much more useful exception
  • fixed an issue when malformed server responses could NPE the decompression middleware

Release 0.2.1

2011-09-23

  • merged dakrone#7 to accept both Content-Encoding and content-encoding, since ring uses the lowercase version
  • merged dakrone#6 to allow for sending form params with :form-params as a urlencoded body on POST requests

2011-09-22

2011-09-21

  • added ability to turn off redirects with {:follow-redirects false} in the request

2011-09-18

2011-09-08

  • merged dakrone#1 for decoding cookies in responses

Release 0.2.0

2011-09-07

  • took over maintenance from Mark
  • updated dependencies
  • merged jou4’s branch to allow proxy usage
  • merged zkim’s branch for specifying timeouts

Allow header names as keywords

Handler HTML 5 body charset header