compare
- Dropped support for Java JDK 6
- Updated deps:
[cheshire "5.7.0] is available but we use "5.6.3"
compare
[ring/ring-core "1.5.1"] is available but we use "1.4.0"
[cheshire "5.6.3"] is available but we use "5.6.1"
[com.ibm.icu/icu4j "58.2"] is available but we use "57.1"
[clojure-msgpack "1.2.0"] is available but we use "1.1.3"
[com.cognitect/transit-clj "0.8.297"] is available but we use "0.8.285"
compare
- Fix #56 use
:key-fn
in wrap-json-kw-params
- Fix #66 parse-accept header should allow non numeric
parameters
compare
- Add support for providing options to Cheshire
parse-string
and generate-string
- Add support providing options as map instead of keyword arguments
- Options-map:
(wrap-format {:response-options ...})
- Keyword arguments:
(wrap-format :response-options ...)
- In future keyword argument support could be deprecated and eventually removed
- Add support for Msgpack
- Depends on
ring/ring-core
instead of catch-all package ring
- Replaced
clj-yaml
with maintained fork: circleci/clj-yaml - Updated deps:
[ring "1.4.0"] is available but we use "1.3.2"
[cheshire "5.5.0"] is available but we use "5.4.0"
[org.clojure/tools.reader "0.10.0"] is available but we use "0.8.16"
[com.ibm.icu/icu4j "56.1"] is available but we use "54.1"
[com.cognitect/transit-clj "0.8.285"] is available but we use "0.8.269"
- Merged most of changes from Metosin fork:
- Added missing
:predicate
option to wrap-restful-response
middleware. - Support per format (Transit) options in
wrap-restful
middlewares:
- Added
:format-options
to wrap-restful-response
and wrap-restful-params
- Added
:response-options
and :params-options
to wrap-restful-format
- Escape HTML chars in YAML HTML
- Allow nil to be returned as empty body with correct Content-Type instead of serialized (Howard M. Lewis Ship and curious-attempt-bunny)
- Fix transact format middleware (Deraen)
- Actually used given error-handler in wrap-json-params (aykuznetsova)
- Fix a potential bug using an unsupported feature of Clojure destructuring (Michael Blume)
- Typo and test fixes (Chris McDevitt, Wei Hsu and ducky427)
- Support for binary encodings
- Support of Transact format over both JSON and Msgpack
- Uses Accept-Charset header to choose response charset
- Easier customizing of error handlers for
format
namespace
- Removed deprecated usage of cheshire.custom (Simon Belak)
- Added sanity check to make sure the encoding returned by ICU4J can actually be decoded by the JVM
- Added
:pretty
option to JSON ( Ian Eure )
- Worked around incompatibility with org.apache.catalina.connector.CoyoteInputStream. Should work fine in Immutant now. ( Roman Scherer )
- Do not serialize body if entire response is nil ( Justin Balthrop )
- Fallback to looking inside
:headers
if :content-type
is not defined at the root
wrap-format-response
encodes the body with the first format
(:json
by default) when unable to find an encoder matching the
request instead of returning 306 HTTP error code
- Added custom error handling
- Added a
ring.middleware.format
namespace for simplified usage - Added a
:formats
param to customize which formats are handled - Use
clojure.tools.reader
for safer reading of edn - Added
:json-kw
and :yaml-kw
formats and wrapper to have
keywords keys in :params
and :body-params
- Use readers in
*data-readers*
for edn ( Roman Scherer )
- Better formatted doctrings ( Anthony Grimes )
- Allow empty request body as per Ring Spec ( Roman Scherer )
- Fixed bug with long request bodies when guessing character encoding
- Fixed bug with character encoding guessing
- Tries to guess character encoding when unspecified
- Easier custom json types ( Jeremy W. Sherman )
- Do not try to merge vectors into :params ( Ian Eure )
- Chooses format response according to the sort order defined by Accept header ( Jani Rahkola )
- Properly lowercases header according to Ring spec ( Luke Amdor )
- Safely handles code for clojure format ( Paul M Bauer )
- safely handle empty request bodies ( Philip Aston )