- New
java.net.http
-based HTTP client, without external dependencies- BREAKING: when running on java 8, an explicit dependency on
com.cognitect/http-client
is now required
- BREAKING: when running on java 8, an explicit dependency on
- Support IMDS v2 in default credentials and region provider chains #243 #165
See Upgrade Notes for more information about upgrading to this version.
- upgrade to cognitect http-client 1.0.127
- upgrade to org.eclipse.jetty/jetty-client-9.4.53.v20231009 #249
- upgrade to org.clojure/core.async 1.6.681
- upgrade to org.clojure/data.json 2.5.0
- Support list member values in request headers #234
- add
:cognitect.aws.http/status
and, when AWS provides an error code,:cognitect.aws.error/code
, to error response maps
- bug fix: add type-hint to resolve performance warning #239
- WARNING: introduced performance warning; fixed in 0.8.673.
- BREAKING CHANGE: Changes the behavior of GetObject such that a 304 results in an anomaly.
- This was reported in #240, and after further review we decided to keep the new behavior in order to align with AWS semantics.
- upgrade cognitect http-client to 1.0.125 and set follow-redirects false
- Fixes #15
- 301 gets cognitect.anomalies/incorrect instead of cognitect.anomalies/fault #237
- Safely return byte arrays from ByteBuffers, honoring the
position
andremaining
attributes, copying the underlying byte array when necessary. - Upgrade to com.cognitect/http-client "1.0.123", which includes status and headers in the anomaly returned when there is a 301
- make ThrottlingException retriable #233
- ensure that we only read InputStream request bodies once #231
- h/t @jetmind
- convey :document types in response payloads #232
- add Authorization header to container credentials request when AWS_CONTAINER_AUTHORIZATION_TOKEN present #225
- fix URI parsing bug in ec2-metadata-utils
- h/t @stevebuik
- add function to instrument test double client after initialization
- log the credentials provider that succeeded #217
- add keyword access to :api on the test double client #224
- ensure that serialize-uri can handle longs #145
- h/t @ghost
- add keyword access to :api on client
- fix URI encoding for signing #193
- h/t @kgann
- upgrade to org.clojure/core.async "1.6.673"
- NOTE: this release requires clojure >= 1.10
- parse XML error messages from AWS even when we ask for JSON #174
- upgrade to org.clojure/data.xml 0.2.0-alpha8. Fixes parsing issue #205
- add
api/invoke-async
and deprecateapi.async/invoke
- add test double client with custom handler support #186
- add keyword access to :service (with :metadata) and :http-client
- add keyword access to :region, :endoint, and :credentials on an aws client
- upgrade to cognitect/http-client-1.0.115 to upgrade jetty #215
- remove unused arg to http-client constructor #203
- log "Unable to fetch credentials" at debug level instead of info #196
- fix bug to ensure :endpoint is included in datafied client
- consider
cognitect.anomalies/interrupted
from the http-client retriable - check
AWS_SHARED_CREDENTIALS_FILE
as well asAWS_CREDENTIAL_PROFILES_FILE
#188 - send accept header for json APIs #206
- upgrade to core.async-1.5.644
- upgrade to http-client-1.0.110
- upgrade to core.async-1.5.640
- status 429 to :cognitect.anomalies/busy #197
- add support for calculating TTL values based on supplied Java Instant objects or Longs representing milliseconds since the epoch time #160
- upgrade to cognitect/http-client-0.1.106
- upgrade to org.eclipse.jetty/jetty-client-9.4.36.v20210114 #173
- make date parsing more tolerant #155
- fix bug decoding GetBucketPolicy response #148
- fix bug parsing iso8601 dates with fractional seconds #144
- fix memory leak when validating requests #143
- upgrade to tools.logging-1.0.0, data.json-1.0.0, and core.async-1.0.567
- let core.async manage the threadpool for fetching credentials and region
- fixes deadlock with concurrent credentials fetch #137
- fix deadlock using composite credentials providers (e.g. assume role example) #130
- fix issue with
invoke
hanging when no region or creds are found #124
- upgrade to com.cognitect/http-client 0.1.104 #115
- all aws clients use shared http-client, credentials-provider, and region-provider by default
- addresses #109
- first call to invoke takes hit of fetching region and credentials
com.cognitect.aws.api/stop
will not stop the shared http-client, but stop any other instance
See Upgrade Notes for more information about upgrading to this version.
- Reduce noise from reflection warnings in java 9+ #106
- Get signing region from endpoint config #105
- Add documentationUrl when available #108
- Fix: S3 HeadObject fails with large files #97
- This was fixed in cognitect/http-client 0.1.101
- Fix concurrency 4 limit introduced in 0.8.383
- Make http calls to fetch credentials async / non-blocking.
- Include service full names in latest-releases.edn #32
- Wrap dynamic require of protocol ns in locking form #92
- Use custom dynaload for http-client #88
- Restores compatibility with Clojure-1.9
- Update pom.xml #86
- skip whitespace when reading XML #85
- use clojure.data.xml instead of clojure.xml
- resolves Illegal Reflective Access warnings in java 11 #19
- upgrade cognitect http-client
- share http-client across aws-api clients #80
- add Content-Type header for rest-json requests #84
- add x-amz-glacier-version header to glacier requests #74
- fix bug generating default idempotencyToken #72
- fix uri-encoding bug when
*unchecked-math*
is true #71
- improved support for apigatewaymanagementapi
:PostToConnection
- fix signing bug introduced in 0.8.283
- read input-stream once #67
- support
:endpoint-override
map #59, #61, #64- DEPRECATED support for
:endoint-override
string
- DEPRECATED support for
- only parse json response body when output-shape is specified #66
- friendly error when op not supported #62
- daemonize the credentials auto-refresh thread #57
- fixed URI generation bug #56
- ensure keyword keys for errors in json protocols #55
- add stop fn to release resources #54
- fix signing bug (double slashes in constructed uris) #53
- fix signing bug (query-string ordering) #52
- support endpoint-override #43
- parse "map" shapes using their key spec instead of assuming keyword keys #50
- wrap non-sequential values when the spec calls for a list #45
- config parsing bug fixes #46, #48
- support refreshing credentials #47
-
support HAL responses #30
-
extend Datafiable via metadata (allows use with clojure-1.9) #44
-
fix edge case bug parsing json with locationNames
-
use the correct metadata endpoint when running in ECS #33
- use the configured region as signing region for S3 requests
- use us-east-1 as signing region when service has globalEndpoint #27
- use signingName when available in service metadata. #26
- Stringify query protocol body param vals before url encoding them. #25
- URL encode query protocol body params. #22
- Fix bug caused by attempting to parse a response body when no output shape specified. #21
- Add http-request to response metadata.
- Add
basic-credentials-provider
helper fn. Thanks to Christian Gonzalez for the suggestion. #16 - log/debug instead of log/error when individual credentials providers can't find credentials. #17
- Initial release.