hyperdriver 0.10.0

The missing middle for Hyper - Servers and Clients with ergonomic APIs
Documentation
# Changelog
All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

## [0.9.0]https://github.com/alexrudy/hyperdriver/compare/v0.8.5...v0.9.0 - 2025-03-18

### <!-- 0 -->⛰️ Features

- Transport trait is dyn-compatible
- Add generic body type to PoolableConnection
- Connector Service
- Expose the client connector publicly.
- *(client)* Flexible APIs to leverage the TCP transport

## [0.8.5]https://github.com/alexrudy/hyperdriver/compare/v0.8.4...v0.8.5 - 2024-12-12

### <!-- 0 -->⛰️ Features

- client Transport trait now accepts http::request::Parts
- Allow client services to support a custom body type

## [0.8.4]https://github.com/alexrudy/hyperdriver/compare/v0.8.3...v0.8.4 - 2024-12-10

### <!-- 0 -->⛰️ Features

- Client connection upgrade support

### <!-- 1 -->🐛 Bug Fixes

- upgrades test doesn’t require TLS

## [0.8.0]https://github.com/alexrudy/hyperdriver/compare/v0.7.0...v0.8.0 - 2024-10-21

### <!-- 0 -->⛰️ Features

- Make connection pool generic over the key type
- Client pool can delay drop for checkout
- Client now uses Body type instead of Incoming for response bodies

### <!-- 1 -->🐛 Bug Fixes

- single threaded example pool key
- make connection trait object safe
- AcceptorCore and Braid should be opaque
- Mark errors as non_exhaustive
- Ensure that feature combinations compile in —test mode

### <!-- 2 -->🚜 Refactor

- consolidate BoxError and BoxFuture into common type aliases

## [0.7.0]https://github.com/alexrudy/hyperdriver/compare/v0.6.0...v0.7.0 - 2024-10-01

### <!-- 0 -->⛰️ Features

- expose tcp and unix listeners in stream module
- Improved span tracing
- improved tracing for checkouts
- refactor connector
- Make the happy eyeballs algorithm default timeout 30s
- [**breaking**] remove `TransportStream` type.
- [**breaking**] remove PID file module, publish as separate crate
- feat!(discovery): remove discovery support
- *(body)* [**breaking**] Remove the TryCloneRequest trait from the body module.
- *(client)* [**breaking**] Remove support for retries from the client

### <!-- 1 -->🐛 Bug Fixes

- Ensure that services polled to readiness are used directly

### <!-- 7 -->⚙️ Miscellaneous Tasks

- update dependencies
- cargo-deny configuration tweaks
- Add cargo-deny to CI
- improve checkout docs
- Bump rustls-native-certs from 0.7.2 to 0.8.0
- fix docstrings so clippy in rust-1.82 is happy
- Bump webpki-roots from 0.26.3 to 0.26.5
- Bump tokio from 1.39.3 to 1.40.0
- Bump tower from 0.5.0 to 0.5.1
- Bump clap from 4.5.16 to 4.5.17
- remote httpbin tests, make them examples as a script
- make dependabot go in proper section in changelog
- add release-plz config to customize changelog
- cargo-machete ignore target/ directory
- Bump rustls-native-certs from 0.7.1 to 0.7.2
- Bump serde from 1.0.204 to 1.0.207
- Bump tempfile from 3.11.0 to 3.12.0
- Bump clap from 4.5.13 to 4.5.15

## [0.6.0]https://github.com/alexrudy/hyperdriver/compare/v0.5.6...v0.6.0 - 2024-08-11

### Other
- Improved main module documentation
- regularize imports for http:: crate and Body
- remove unused sevice.rs
- make the release CI pipeline named sensibly
- Adopt the release-plz action
- Merge pull request [#117]https://github.com/alexrudy/hyperdriver/pull/117 from alexrudy/feature/checkout-delayed-drop
- Merge pull request [#118]https://github.com/alexrudy/hyperdriver/pull/118 from alexrudy/feature/client-layers
- Split the client into service layers
- Remove BOut from Client Builder struct
- Rename generic parameters for HttpService impl
- Make client generic over body types
- Refine what Body does to a simpler subset