Skip to content

Latest commit

 

History

History
530 lines (528 loc) · 21.1 KB

changelog.org

File metadata and controls

530 lines (528 loc) · 21.1 KB

Changelog

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

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 #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 #95 to add support for setting aribtrary client params to the http client
  • Merged #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 #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 #90 to standardize on lower-case headers for HTTP requests

0.5.2

  • merged #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 #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 #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 #80 to allow specifying the keystore type
  • merged #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 #69 to add support for :oauth-token authentication
  • merged #70 to save the apache Http object when :save-request? is true
  • merged #68 to support additional options/delete/copy/move HTTP methods
  • add support for the :patch method type

0.4.0

  • merged #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 #57 by have wrap-redirects redirect according to the RFC and adding the :force-redirects option to be more browser-like
  • merged #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 #55 to fix HEAD requests with body contents
  • merged #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 #52 to support json-encoded form params
  • added a test for json-encoded form params as request body

0.3.3

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

0.3.1

  • merged #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 #36 to fix url-encoding of multiple query params using the same key
  • merged #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 #31 to remove more reflection warnings
  • some whitespace changes
  • merged #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 #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

2012-11-19

  • merged #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 #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 #95 to add support for setting aribtrary client params to the http client

2012-09-16

  • Merged #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 #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 #90 to standardize on lower-case headers for HTTP requests

Release 0.5.2

2012-08-02

  • merged #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 #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 #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 #80 to allow specifying the keystore type

2012-06-13

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

Release 0.4.3

2012-06-07

  • merged #77 to support custom x509 keystore/trust-stores
  • merged #78 for x509 tests

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 #69 to add support for :oauth-token authentication
  • merged #70 to save the apache Http object when :save-request? is true

2012-04-27

  • merged #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 #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 #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 #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 #58 to add support for cookie stores
  • added utility methods to retrieve cookies as a map from the cookie store

2012-04-01

  • merged #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 #55 to fix HEAD requests with body contents

2012-03-20

  • merged #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 #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 #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 #48 to fix :stream bodies (to make sure they are not coerced on output)
  • merged #49 to check for nil URLs when using client functions
  • switch from assertions to exceptions for nil URLs

2012-02-09

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

2012-02-06

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

2012-02-05

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

Release 0.3.1

2012-02-03

  • merged #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 #36 to fix url-encoding of multiple query params using the same key

2012-01-16

  • merged #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 #31 to remove more reflection warnings
  • some whitespace changes

2011-12-29

  • merged #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 #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: #25

2011-11-29

  • merged #24 for a smaller error message

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

  • merged #21 to upgrade slingshot to 0.8.0

2011-11-04

  • merged #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 #16 to add an :insecure? flag to ignore SSL errors

2011-10-25

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

2011-09-22

  • merged #5 to fix decompression

2011-09-21

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

2011-09-18

  • merged #2 to fix redirects

2011-09-08

  • merged #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