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.5.3 - 2022-03-15
- Made
rustls-tls
feature gated to maintain MIT license - Made logging less verbose by using
debug
overinfo
- 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_none
functionality 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. UsingMiddleWare
is 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
log
functionality was replaced withtracing
and tracing was added to many of the crate functions. Thetracing
crate has thelog
feature enabled to enable backwards compatibility. - The
Endpoint
trait 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
, andWrapper
to crate root
- Removes feature flags for middleware and wrapping
- Various improvements and fixes to documentation
- Changes
Endpoint::Result
toEndpoint::Response
0.4.0 - 2021-08-25
- Support for
async
- Feature flags for blocking, middleware, and wrapping
- Blocking clients have been moved to
rustify::blocking
and are disabled by default - All
Endpoint
execution methods are nowasync
by default - Removes internal implementation of
Request
andResponse
and instead opts for usinghttp::Request
andhttp::Response
- Large amounts of internal refactoring to reduce repeated code and create smaller function footprints
- The
MiddleWare
andWrapper
implementations are now behind a feature flag and disabled by default
- The
builder
attribute 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
data
attribute - Documentation for
rustify_derive
- Compiltation tests for testing
rustify_derive
- Internal refactoring to improve readability and testing
- Moves helper functions of out
Endpoint
scope - Substitutes
()
forEmptyEndpointResponse
- Removes
strip
option 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
query
attribute
- 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
builder
option can now be used with structs that have generics and lifetimes
0.1.0 - 2021-08-15
- Initial release