rustify
A Rust library for interacting with HTTP API endpoints.
0.7.0
12M downloads/mo
#2859 most downloaded on crates.io
jmgilman/rustify
What this package is like to depend on
Last release 5 months ago
17 Mar 2026
Release timing varies
gaps range from 1 weeks to 2.1 years
Nearly every release is documented
notes for 15 of 16 stable releases
1 version withdrawn
withdrawn after publishing
5 years old
17 releases · first in 2021
1 release in the last 12 months
see the full history below
Release timeline
17 releases · Aug 2021 to Mar 2026
2022
2023
2024
2025
2026
Releases
latest 17-
0.7.017 Mar 2026Release notes
Open source →Added
native-tlsfeature that enable TLS functionality provided bynative-tls- structured logging for url and HTTP verbe
Changed
- 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
Fixed
reqwestis no longer an optional dependency anymore.
-
0.6.112 Dec 2024 -
0.6.005 May 2024Nothing published for this version
-
0.5.402 May 2024 withdrawn -
0.5.315 Mar 2022Release notes
Open source →Fixed
- Made
rustls-tlsfeature gated to maintain MIT license - Made logging less verbose by using
debugoverinfo - Updated dependencies
- Made
-
0.5.230 Sep 2021 -
0.5.129 Sep 2021Release notes
Open source →Fixed
- Fixes a bug where response headers were not being properly returned
-
0.5.028 Sep 2021Release notes
Open source →Changed
- 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.
Fixed
- 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.
- Breaking: Raw data tag changed from
-
0.4.411 Sep 2021 -
0.4.301 Sep 2021Release notes
Open source →Changed
- Changes generic errors to anyhow errors to make them thread safe and more feature rich
-
0.4.231 Aug 2021 -
0.4.126 Aug 2021Release notes
Open source →Added
- Adds
Endpoint,Client,MiddleWare, andWrapperto crate root
Changed
- Removes feature flags for middleware and wrapping
- Various improvements and fixes to documentation
- Changes
Endpoint::ResulttoEndpoint::Response
- Adds
-
0.4.026 Aug 2021Release notes
Open source →Added
- Support for
async - Feature flags for blocking, middleware, and wrapping
Changed
- 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
Removed
- The
builderattribute no longer addsexec()methods to the builder variant of anEndpoint
- Support for
-
0.3.121 Aug 2021Release notes
Open source →Added
- Execution methods for returning an Endpoint result wrapped in a generic wrapper
Changed
- Endpoints no longer need to implement
Debug
-
0.3.021 Aug 2021Release notes
Open source →Added
- 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
Changed
- 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()
Removed
- Support for middleware in
ReqwestClient
-
0.2.018 Aug 2021Release notes
Open source →Added
- Query parameters can now be specified using the
queryattribute
Changed
- 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
Fixed
- The
builderoption can now be used with structs that have generics and lifetimes
- Query parameters can now be specified using the
-
0.1.015 Aug 2021