All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.7.0 - 2026-03-17
native-tlsfeature that enable TLS functionality provided bynative-tls- structured logging for url and HTTP verbe
- Breaking: the default TLS provider is now
rustls, following the newreqwest0.13 default. For people who still want use the native provider, a newnative-tlsfeatures as been added. - some log has been downgraded from
debugtotrace
reqwestis no longer an optional dependency anymore.
0.6.1 - 2024-12-12
- allow rustc
non_local_definitionwarning on builder derive
0.5.4 - 2024-04-02
- Bump request to 0.12
0.5.3 - 2022-03-15
- Made
rustls-tlsfeature gated to maintain MIT license - Made logging less verbose by using
debugoverinfo - Updated dependencies
0.5.2 - 2021-09-29
- Adds support for copying struct-level serde attributes
0.5.1 - 2021-09-28
- Fixes a bug where response headers were not being properly returned
0.5.0 - 2021-09-27
- Breaking: Raw data tag changed from
#[data]to#[raw] - Breaking:
skip_serializing_nonefunctionality integrated into the macro and will now conflict if the attribute is present. - Breaking:
#[serde(skip)]must be replaced with#[endpoint(skip)] - Breaking: All
exec_*functions have been removed. UsingMiddleWareis now done by calling.with_middleware()on the endpoint, wrapping is done by calling.wrap()on the endpoint result, and getting a raw response can be gotten from calling.raw()on the endpoint result. - Breaking: Endpoint responses must now be thread safe (
Send + Sync). - Breaking: Requests and responses from endpoint executions now use a
Vec<u8>as the backing type for holding the raw body data. This is a change frombytes::Bytes. - The
logfunctionality was replaced withtracingand tracing was added to many of the crate functions. Thetracingcrate has thelogfeature enabled to enable backwards compatibility. - The
Endpointtrait no longer forces deriving ofSerialize.
- Due to a design bug, query parameters of type
Option<T>would still serialize if the value wasNone. The redesign associated with this version has resolved this issue and query parameters now share the same behavior as body data.
0.4.4 - 2021-09-11
- Makes rustls the default TLS handler for reqwest
0.4.3 - 2021-09-01
- Changes generic errors to anyhow errors to make them thread safe and more feature rich
0.4.2 - 2021-08-30
- Additional HTTP request methods
0.4.1 - 2021-08-26
- Adds
Endpoint,Client,MiddleWare, andWrapperto crate root
- Removes feature flags for middleware and wrapping
- Various improvements and fixes to documentation
- Changes
Endpoint::ResulttoEndpoint::Response
0.4.0 - 2021-08-25
- Support for
async - Feature flags for blocking, middleware, and wrapping
- Blocking clients have been moved to
rustify::blockingand are disabled by default - All
Endpointexecution methods are nowasyncby default - Removes internal implementation of
RequestandResponseand instead opts for usinghttp::Requestandhttp::Response - Large amounts of internal refactoring to reduce repeated code and create smaller function footprints
- The
MiddleWareandWrapperimplementations are now behind a feature flag and disabled by default
- The
builderattribute no longer addsexec()methods to the builder variant of anEndpoint
0.3.1 - 2021-08-21
- Execution methods for returning an Endpoint result wrapped in a generic wrapper
- Endpoints no longer need to implement
Debug
0.3.0 - 2021-08-21
- Middleware support for Endpoints for mutating requests and responses during the execution process
- Initial infrastructure for supporting more than JSON requests/responses
- Support for getting raw responses back using
Endpoint::exec_raw() - Support for sending raw requests using
dataattribute - Documentation for
rustify_derive - Compiltation tests for testing
rustify_derive
- Internal refactoring to improve readability and testing
- Moves helper functions of out
Endpointscope - Substitutes
()forEmptyEndpointResponse - Removes
stripoption and prefers using middleware - Renames
Endpoint::execute()toEndpoint::exec()
- Support for middleware in
ReqwestClient
0.2.0 - 2021-08-18
- Query parameters can now be specified using the
queryattribute
- Response errors try to parse content to be UTF-8 encoded strings instead of raw bytes
- Successful response codes updated to an inclusive range of 200-208
- The
builderoption can now be used with structs that have generics and lifetimes
0.1.0 - 2021-08-15
- Initial release