Tags: swift-server/swift-openapi-async-http-client

1.1.0

Toggle 1.1.0's commit message
Enable MemberImportVisibility check on all targets (#43)

Enable MemberImportVisibility check on all targets. Use a standard
string header and footer to bracket the new block for ease of updating
in the future with scripts.

1.0.0

Toggle 1.0.0's commit message
Prep 1.0 (#37)

### Motivation

Prep 1.0 - docs.

### Modifications

See above.

### Result

Updated for 1.0.

### Test Plan

Previewed locally.

1.0.0-alpha.1

Toggle 1.0.0-alpha.1's commit message
Handle large payloads on 32bit platforms gracefully (#29)

Handle large payloads on 32bit platforms gracefully

### Motivation

If there's a request payload with a number of bytes that can't fit into 32 bits, we'd crash.

### Modifications

Use a graceful initializer and use `.unknown` (so no `content-length` will be sent) if the size exceeds the max of a 32bit int.

### Result

No crash for large payloads on 32bit platforms.

### Test Plan

Tests pass.


Reviewed by: dnadoba

Builds:
     ✔︎ pull request validation (5.10) - Build finished. 
     ✔︎ pull request validation (5.9) - Build finished. 
     ✔︎ pull request validation (nightly) - Build finished. 
     ✔︎ pull request validation (soundness) - Build finished. 

#29

0.3.0

Toggle 0.3.0's commit message
[AHC Transport] Async bodies + swift-http-types adoption (#16)

[AHC Transport] Async bodies + swift-http-types adoption

### Motivation

AHC transport changes of the approved proposals apple/swift-openapi-generator#255 and apple/swift-openapi-generator#254.

### Modifications

- Adapts to the runtime changes, depends on HTTPTypes now.
- Both request and response  works.

### Result

Transport works with the 0.3.0 runtime API of.

### Test Plan

Adapted tests.


Reviewed by: dnadoba, simonjbeaumont

Builds:
     ✔︎ pull request validation (5.8) - Build finished. 
     ✔︎ pull request validation (5.9) - Build finished. 
     ✔︎ pull request validation (nightly) - Build finished. 
     ✔︎ pull request validation (soundness) - Build finished. 

#16

0.2.3

Toggle 0.2.3's commit message
Adopt a custom shared client (#18)

### Motivation

We previously defaulted the HTTPClient to .init(), but that's not
correct as it was never getting shut down.

### Modifications

Instead of creating a new client, just introduce our own shared one and
use that as the default value.

Once AHC provides a shared client, we can default to that in the
configuration initializer.

### Result

No more crashing clients on dealloc.

### Test Plan

All tests pass.

---------

Co-authored-by: David Nadoba <[email protected]>

0.2.2

Toggle 0.2.2's commit message
Fix double encoding of path parameters (#15)

Fix double encoding of path parameters

### Motivation

Fixes apple/swift-openapi-generator#251.

### Modifications

Use the already escaped path setter on `URLComponents` to avoid the second encoding pass.

### Result

Path parameters that needed escaping are only escaped once, not twice.

### Test Plan

Adapted the existing unit test to cover a path item that needs escaping.


Reviewed by: simonjbeaumont

Builds:
     ✔︎ pull request validation (5.8) - Build finished. 
     ✔︎ pull request validation (5.9) - Build finished. 
     ✔︎ pull request validation (nightly) - Build finished. 
     ✔︎ pull request validation (soundness) - Build finished. 

#15

0.2.1

Toggle 0.2.1's commit message
Docs fixes (#14)

Docs fixes

### Motivation

Docs should be correct.

### Modifications

Update docs to reflect the new version.

### Result

N/A

### Test Plan

N/A


Reviewed by: dnadoba

Builds:
     ✔︎ pull request validation (5.8) - Build finished. 
     ✔︎ pull request validation (5.9) - Build finished. 
     ✔︎ pull request validation (nightly) - Build finished. 
     ✔︎ pull request validation (soundness) - Build finished. 

#14

0.2.0

Toggle 0.2.0's commit message
Prepare being compatible with runtime 0.2.0 release (#12)

Prepare being compatible with runtime 0.2.0 release

### Motivation

Runtime 0.2.0 is compatible with 0.1.3+ in the APIs adopted in the transport, so just reflect that in the manifest.

### Modifications

Increased the supported runtime range to include 0.2.x.

### Result

Once released, folks will be able to use 0.1.x of this transport with both 0.1.x and 0.2.x of runtime.

### Test Plan

Will be manually tested once runtime 0.2.0 is released.


Reviewed by: gjcairo

Builds:
     ✔︎ pull request validation (5.8) - Build finished. 
     ✔︎ pull request validation (5.9) - Build finished. 
     ✔︎ pull request validation (nightly) - Build finished. 
     ✔︎ pull request validation (soundness) - Build finished. 

#12

0.1.4

Toggle 0.1.4's commit message
Prepare being compatible with runtime 0.2.0 release (#12)

Prepare being compatible with runtime 0.2.0 release

### Motivation

Runtime 0.2.0 is compatible with 0.1.3+ in the APIs adopted in the transport, so just reflect that in the manifest.

### Modifications

Increased the supported runtime range to include 0.2.x.

### Result

Once released, folks will be able to use 0.1.x of this transport with both 0.1.x and 0.2.x of runtime.

### Test Plan

Will be manually tested once runtime 0.2.0 is released.


Reviewed by: gjcairo

Builds:
     ✔︎ pull request validation (5.8) - Build finished. 
     ✔︎ pull request validation (5.9) - Build finished. 
     ✔︎ pull request validation (nightly) - Build finished. 
     ✔︎ pull request validation (soundness) - Build finished. 

#12

0.1.3

Toggle 0.1.3's commit message
Adopt the new shared HTTP client (#13)

Adopt the new shared HTTP client

### Motivation

Now that SwiftNIO/AsyncHTTPClient have a singleton variant of the `EventLoopGroup`, which allows creating an `HTTPClient` without any argument, let's simplify the initializer of the transport to take advantage of it - bringing it in line with the URLSession transport.

### Modifications

Default the HTTPClient to a new one with a default event loop group, and remove the mandatory shutdown call.

### Result

Adopters can more easily create the AHC transport.

### Test Plan

N/A


Reviewed by: dnadoba, glbrntt

Builds:
     ✔︎ pull request validation (5.8) - Build finished. 
     ✔︎ pull request validation (5.9) - Build finished. 
     ✔︎ pull request validation (nightly) - Build finished. 
     ✔︎ pull request validation (soundness) - Build finished. 

#13