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.
- Fix request_parser so that macro_use is not required.
- Add "external" tests to ensure backward compatibility.
7.0.0 - 2025-11-12
7.0.0-rc3 - 2025-09-16
- Replace usage of
serde__privatemodule withserde-valuecrate to avoid breakage afterserde1.0.220.
7.0.0-rc2 - 2025-06-10
- Replace
mime_multipartwith fork for hyper 1.x
- Implement
CloneonMakeAllowAllAuthenticator.
7.0.0-rc1 - 2024-05-09
- Remove dependency and re-export of
hyper-old-typeswhich is no longer maintained.- This changes the inner types of the
AuthDataenum and thus the various methods on it to avoid re-exports.- The
hyper_old_typesare no longer re-exported, and the enums just wrapStrings. AuthData::bearer()now returnsOption, returningNoneif the provided token is not valid base64.
- The
- The
auth::make_headersfunction now returns anOption<AuthData>.
- This changes the inner types of the
- Update to hyper 1.x
- The
tcpfeature has been removed, to match the new hyper feature set.
- The
- Remove
SwaggerServicetrait due to lack of usage.
6.5.0 - 2024-05-09
- Support
serde_valid::ValidateforOneOfandAnyOftypes.
6.4.1 - 2023-09-05
- Fixed documentation build breakage on stable
6.4.0 - 2023-09-04
- Support
serde_valid0.16.
6.3.0 - 2023-06-30
- Support validation via
serde_validfor ByteArray and Nullable
- Fix clippy warnings for Rust 1.70
6.2.1 - 2022-07-13
- Fixed build when using
--features uds
6.2.0 - 2022-06-25
- Use a trait for connection on CompositeService to allow users to define their own supported connection types
6.1.1 - 2022-02-01
- Remove private, unused dependency on
chrono
6.1.0 - 2021-06-17
- Add support for Unix Domain Socket services as part of a Composite Service
6.0.0 - 2021-03-18
- Remove implicit conversions for ApiError from
&str,Stringandserde_json::Error - Support Hyper 0.14 and match features
- Add new feature
tcpto signal HTTP support - Add new feature
tlsto signal HTTP(S) support - Add new feature
clientto signal Client support - Add new feature
serverto signal Server support
- Add new feature
- Upgrade base64 to 0.13
- Update
mime_multipartrequirement from 0.5 to 0.6 - Upgrade bytes to 1.0
- Upgrade tokio to 1.0
5.1.0 - 2021-03-04
- Support conversion for AnyOf and OneOf
- Expose CompositeMakeServiceEntry
5.0.2 - 2021-01-13
- Fix off by one error declaring OneOf and AnyOf with more than 10 arguments
5.0.1 - 2021-01-12
- Fix interop with serde 1.0.119
5.0.0 - 2020-10-06
- Support Hyper 0.13
- Remove headers module
- Add Clone implementation for AllowAllAuthenticator
- Add support functions for multipart/related
- Add ToString/FromStr implementations for ByteArray
- Add support for OneOf/AnyOf
- Fix Composite support
4.0.2 - 2020-03-12
- Fixed panic where X-Span-ID headers contained non-ASCII characters.
4.0.1 - 2020-03-06
- Use hyper-tls 3 on Mac/Windows/iOS which is compatible with Hyper 0.12, instead of version 4, which isn't.
4.0.0 - 2020-02-20
- Use hyper-openssl on Linux, instead of hyper-tls
- Use a builder pattern to created client connectors
- Allow HTTPS connectors to be built which don't pin the server CA certificate
- Allow HTTPS to work on Mac/Windows/iOS
- Enforce that HTTPS is used if we are using a HTTPS connector.
- Return Results, rather than unwrapping errors on connector creation
- openssl 0.10
3.2.0 - 2020-02-12
- Added macro
request_parser_joinerto easily create a composite RequestParser that will match a request against multiple RequestParsersa - Add DropContextService as a client middleware too
- Make context macros self-contained
- Update swagger-rs to Rust 2018 Edition
3.1.0 - 2019-05-07
- Add
swagger::client::MakeServicetrait
3.0.0 - 2019-03-08
-
Hyper 0.12 support.
This creates large scale changes with corresponding renaming (e.g.
NewService->MakeService) and other fall out.Hyper Services don't have Request as a type parameters - instead the body of the request / response are type parameters.
As such context for requests, such as authorization data is kept in a
ContextualPayloadstruct, instead of a tuple.
AddContextstructs which we were previously deprecated are now removed.
2.0.2 - 2018-12-13
- Allow ContextWrapper to be cloned.
2.0.1 - 2018-11-12
- Make compatible with clippy on stable (1.30.1)
2.0.0 - 2018-09-28
- Added the
AddContextNewServiceandAddContextServicestructs, and deprecated the oldAddContextstruct. One or other of the new structs should be a drop-in replacement for theAddContext, depending on whether it was being used as aNewServiceorService. - modified the
new_context_typemacro to only implementPush,PopandHasfor types explicitly passed to the macro. This is a breaking change, which should only require minor changes such as adding type annotations if the macro was used as recommended in the docs.
1.0.2 - 2018-07-23
- Added (non-HTTPS) support for Windows/MacOS/iOS
1.0.1 - 2018-05-24
SwaggerServicetrait used by swagger-codegen middlewares.
1.0.0 - 2018-04-30
No changes. We now think we've got enough to declare this crate stable.
0.12.1 - 2018-04-27
RequestParsertrait for retrieving Swagger related info in middlewares.
- Fixed
DropContextto remove trait bounds on the type of context it can drop
0.12.0 - 2018-04-26
DropContextto pass a raw (context-less)hyper::Requestto a service.
0.11.0 - 2018-04-11
Has<T>,Pop<T>andPush<T>traits for specifying requirements on context types in hyper services, and providing methods for manipulating themnew_context_type!macro for defining structs that can be used to build concrete context types that implementHas,PopandPushmake_context!andmake_context_ty!for conveniently creating contexts at value and type level
- Old
Contextstruct
- Renamed
NoAuthenticationtoMiddlewareWrapperand moved it to its own module.
0.10.0 - 2018-03-16
- Structs for combining multiple hyper services
0.9.0 - 2018-01-25
- Connector functions for instantiating easy-mode clients
- The ability to pass in a
slog::Loggerwith Context
0.8.1 - 2017-12-20
- Fix build error and clippy warning.
0.8.0 - 2017-12-15
- Asynchronous HTTP client/server support
- Synchronous HTTP client/server support - if you're still using synchronous swagger-codegen, stay at 0.7.0
AllowAllMiddleware(an Iron middleware) has been replaced byAllowAllAuthenticator(a Hyper Service wrapper)
0.7.0 - 2017-10-02
ContextWrapper- wraps anApiwith aContext
0.6.0 - 2017-09-25
- Authorization struct now has new field
issuer.
0.5.0 - 2017-09-18
- Start of changelog.