20 KiB
Changelog
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.
[3.0.22] 2022-1-11
- Add support
flatten
attribute forSimpleObject
,ComplexObject
andObject
macros. #533
[3.0.21] 2022-1-11
- Add
Union
andInterface
support for trait objects. #780
[3.0.20] 2022-1-5
- Bump
lru
to0.7.1
. #773 - Align
indexmap
version to1.6.2
. #776 - Bump actix-web from
4.0.0-beta.18
to4.0.0-beta.19
. - Fix the generic
SimpleObject
can't define the lifetimes. #774
[3.0.19] 2021-12-28
- Add
InputType
/OutputType
support forhashbrown
crate. - Bump actix-web from
4.0.0-beta.14
to4.0.0-beta.18
. #768
[3.0.18] 2021-12-26
- Federation's
_Entity
should not be sent if empty as it's in conflict with GraphQL Union type validation #765. - Fix field guards not working on
ComplexObject
. #767
[3.0.17] 2021-12-16
- Bump poem to
1.2.2
.
[3.0.16] 2021-12-16
- Bump poem to
1.2.1
.
[3.0.15] 2021-12-12
- Bump actix-web from
4.0.0-beta.11
to4.0.0-beta.14
.
[3.0.14] 2021-12-06
- [async-graphql-axum] bump axum from
0.3
to0.4
.
[3.0.13] 2021-12-06
- No longer assumes that a subscription stream that failed to resolve has ended. #744
- Rework to implement
InputType
andOutputType
forHashMap
andBTreeMap
.
[3.0.12] 2021-12-05
- Fix possible deadlock in dataloader. #555
- Add some helper methods for
BatchRequest
.- BatchRequest::iter
- BatchRequest::iter_mut
- BatchRequest::variables
- BatchRequest::data
- BatchRequest::disable_introspection
- Fix implicit interfaces not being exposed via the __schema introspection. #741
[3.0.11] 2021-12-02
- Fix panic on f32-64::INFINITE/f32-64::NEG_INFINITE/f32-64::NAN output. #735
[3.0.10] 2021-11-30
- Fix the custom validator cannot work on
Option<Vec<T>>
.
[3.0.9] 2021-11-30
- Fix the validator cannot work on
Option<Vec<T>>
.
[3.0.8] 2021-11-30
#[graphql(validator(list))]
no longer applies tomax_items
andmin_items
.- Implement
InputValue
/OutputValue
forserde_json::Value
. - Add support for
SmolStr
via a feature. #730
[3.0.7] 2021-11-23
- Fix error extensions cause stack overflow. #719
[3.0.6] 2021-11-19
- Custom directives. Book
[3.0.5] 2021-11-19
- Remove skipped fields from the document before executing the query.
- Add
isRepeatable
field to__Directive
- [GraphQL - October 2021]
[3.0.4] 2021-11-18
- Remove
OutputJson
becauseJson
can replace it. - Allowed use validators on wrapper types, for example:
Option<T>
,MaybeUnefined<T>
.
[3.0.3] 2021-11-18
- [integrations] Make
GraphQLWebSocket::new
use generic stream. - [integrations] Add
GraphQLWebSocket::new_with_pair
method.
[3.0.2] 2021-11-16
- Add
url
,regex
andip
validators.
[3.0.1] 2021-11-17
- Remove the
ctx
parameter ofCustomValidator::check
. #710
[3.0.0-alpha.2] 2021-11-16
- Change the signature of the
connection::query
function to allow the callback to use any type that implementsInto<Error>
. - Remove
ResolverError
and useError::new_with_source
instead. - Add
ErrorExtensionValues::unset
method. - Use the
SimpleObject
macro and theInputObject
macro at the same time. - Types that are not referenced will be hidden in introspection.
- Make the API of integrations is more consistent.
- Remove
async-graphql-tide
. - Rework validators. Book
- Rework guards. Book
[2.11.3] 2021-11-13
- Implemented CursorType for i32/i64. #701
- An error is returned when the number fails to parse. #704
- Fix Federation entity union is empty during schema introspection. #700
[2.11.2] 2021-11-11
- Fix the problem that
EmptyMutation
may cause when used inMergedObject
. #694 - If a GraphQL name conflict is detected when creating schema, it will cause panic. #499
[2.11.1] 2021-11-07
- Add
chrono::Duration
custom scalar. #689 - Implement
From<Option<Option<T>>>
forMaybeUndefined<T>
. - Add
MaybeUndefined::as_opt_ref
,MaybeUndefined::as_opt_deref
,MaybeUndefined::map
,MaybeUndefined::map_value
,MaybeUndefined::contains
,MaybeUndefined::contains_value
, andMaybeUndefined::transpose
methods. - Made
MaybeUndefined::is_undefined
,MaybeUndefined::is_null
,MaybeUndefined::is_value
,MaybeUndefined::value
andMaybeUndefined::as_opt_ref
const. - Add
ResolverError
type. #671 - [async-graphql-axum] Bump axum from
0.2.5
to0.3
. - [async-graphql-poem] Export the HTTP headers in the
Context
.
[2.11.0] 2021-11-03
- Use Rust
2021
edition. - Subscription typename - [GraphQL - October 2021] #681
- Allow directive on variable definition - [GraphQL - October 2021] #678
- Specified By - [GraphQL - October 2021] #677
- Add
specified_by_url
forTz
,DateTime<Tz>
,Url
,Uuid
andUpload
scalars. - Number value literal lookahead restrictions - [GraphQL - October 2021] #685
[2.10.8] 2021-10-26
- [async-graphql-poem] Bump poem to
1.0.13
.
[2.10.6] 2021-10-26
- Add derived for object & simple object & complex object. #667 #670
- Respect query object field order. #612
[2.10.5] 2021-10-22
- Bump poem from
0.6.6
to1.0.7
.
[2.10.4] 2021-10-22
- Implement
Default
for ID #659. - Implement
ScalarType
forbson::Bson
andbson::Document
. #661 - Add
CharsMinLength
andCharsMaxLength
validators. #656 - Fix the
Subscription
macro to work on Rust 2021. #665
[2.10.3] 2021-10-12
- Add
visible
macro argument for union type. #655
[2.10.2] 2021-09-29
[2.10.1] 2021-09-24
- Add
DataLoader::enable_all_cache
andDataLoader::enable_cache
methods. #642 - Change the execution order of
chain
andrace
guards. #614 - Change log level from
error
toinfo
. #518
[2.10.0] 2021-09-17
- Add support for
graphql-ws
pings. #635 - Add feature gate
websocket
for async-graphql-tide. #636 - Implement GraphQL enum to
Value
conversion. #617 - Implement
ScalarType
forHashMap
/BTreeMap
to useToString
/FromStr
. #585
[2.9.15] 2021-09-10
[2.9.14] 2021-09-03
- Add support for serde_cbor. #619
[2.9.13] 2021-09-01
- Released
Axum
integration.async-graphql-axum
[2.9.12] 2021-08-24
[2.9.11] 2021-08-22
- Implement
From<MaybeUndefined<T>> for Option<Option<T>>
. #599 - Add human readable for serializer. #604
[2.9.10] 2021-08-05
- Change
GraphQLPlaygroundConfig::with_setting
to acceptimpl Into<Value>
#583 - Remove unnecessary unwrap in multipart handler #594
[2.9.9] 2021-07-20
- Add binary types to
ConstValue
andValue
. #569 - Implemented
OutputType
for Bytes. - Changed Lookahead to support multiple fields. #574
- Implement
TryFrom<&[SelectionField<'a>]>
forLookahead<'a>
. #575 - Attach custom HTTP headers to the response when an error occurs. #572
- Allow field visible to support paths. #578
- Add
list
attribute to the input value validator. #579
[2.9.8] 2021-07-12
[2.9.7] 2021-07-04
- Add support for generic
ComplexObject
. #562
[2.9.6] 2021-07-02
-
Implement
From<SelectionField>
forLookahead
. #557 -
Add Decimal scalar (from
rust_decimal
crate) #559
[2.9.5] 2021-06-29
- Allows to get the actual field name and alias in
ResolveInfo
. #551
[2.9.4] 2021-06-21
- Fix the bug that
MergedObject
may cause panic. #539
[2.9.3] 2021-06-17
-
Bump upstream crate
bson
fromv1.2.0
tov2.0.0-beta.1
. #516 -
Add
serial
attribute forObject
,SimpleObject
andMergedObject
macros. #539 -
Remove the
static
constraint of thereceive_body
andreceive_batch_body
functions. #544 -
Implement
InputType
andOutputType
for[T; N]
array.
[2.9.2] 2021-06-10
[2.9.1] 2021-06-08
- Rework error propagation. #531
[2.9.0] 2021-06-07
-
Add support for returning multiple resolver errors. #531
-
Bump upstream crate
multer
fromv1.2.2
tov2.0.0
. -
Aligned NaiveDateTime formatting with DateTime. #535
[2.8.6] 2021-06-01
-
Allow the ability to set GraphQL Playground settings. #508
-
WebSocket is now generic in graphql_subscription_upgrade functions. #530
-
Removed
Copy
trait from initializer ingraphql_subscription_with_data
. #530
[2.8.5] 2021-05-11
-
If
InputObject
contains an unnamed field, the correct error message will be given. #498 -
Added
Websocket::with_message_stream
for client message customization. #501 -
Added the
Secret
type using secrecy crate.
[2.8.4] 2021-04-23
- Fix the problem that the
ComplexObject
macro cannot work due to thesecret
attribute.
[2.8.3] 2021-04-12
- Fixed an error in exporting Federation SDL.
[2.8.2] 2021-04-09
- Now when the resolver returns the
Result
type,E
can be all types that implementasync_graphql::Into<Error>
.
[2.8.1] 2021-04-08
Fixed
- Fix stack overflow during Registry::create_type for recursive type while running Schema::build. #474
Added
- Add
secret
attribute for arguments, they will not appear in the log.
#[Object]
impl Query {
async fn login(&self, username:String, #[graphql(secret)] password: String) -> i32 {
todo!()
}
}
[2.8.0] 2021-04-05
Changed
- Rework
Extension
, now fully supports asynchronous, better to use than before, and can achieve more features, it contains a lot of changes. (if you don't have a custom extension, it will not cause the existing code to fail to compile)
Added
- Add
async_graphql_warp::graphql_protocol
,async_graphql_warp::graphql_subscription_upgrade
andasync_graphql_warp::graphql_subscription_upgrade_with_data
to control WebSocket subscription more finely.
[2.7.4] 2021-04-02
- Add the
BuildHasher
generic parameter todataloader::HashMapCache
to allow custom hashing algorithms. #455
[2.7.3] 2021-04-02
Added
- Add cache support for DataLoader. #455
- Implements
ScalarType
forserde_json::Value
. - Add
SelectionField::alias
andSelectionField::arguments
methods.
Fixed
- Prevent Warp WS Close, Ping, and Pong messages from being parsed as GraphQL #459
- Fix Schema::sdl() does not include subscription definitions. #464
[2.7.2] 2021-04-01
Removed
- Remove
SchemaBuilder::override_name
method. #437
Added
- Add
name
andvisible
attributes forNewtype
macro for define a new scalar. #437 NewType
macro now also implementsFrom<InnerType>
andInto<InnerType>
.
[2.7.1] 2021-03-31
- Add
Request::disable_introspection
method. #456
[2.7.0] 2021-03-27
Fixed
- Fix chrono-tz integration. #452
Changed
- Rework Extension & TracingExtension & OpenTelemetryExtension
[2.6.5] - 2021-03-24
- In websocket, if the client sends
start
beforeconnection_init
, the connection will be immediately disconnected and return1011
error. #451
[2.6.4] - 2021-03-22
- Fix docs.
[2.6.3] - 2021-03-22
Added
- Add
extension::OpenTelemetry
.
Removed
- Remove
TracingConfig
, now Request span always takes the current span as the parent, so this option is no longer needed. - Remove
multipart
feature.
Changed
- Now all features are not activated by default.
[2.6.2] - 2021-03-20
- Add
SchemaBuilder::enable_subscription_in_federation
method. #449
[2.6.1] - 2021-03-19
- Fix tracing extension doesn't work with async code. #448
[2.6.0] - 2021-03-18
- Add ComplexObject macro.
[2.5.14] - 2021-03-14
- Add
DataLoader::loader
method. #441 - Fix the validation does not work on some inline fragments.
[2.5.13] - 2021-03-09
- Support generics in Subscription types. #438
[2.5.12] - 2021-03-09
- Remove unnecessary Box from WebSocket messages.
- Export subscription type to Federation SDL. (for GraphGate 😁)
- Add
extends
attribute for derive macros Subscription and MergedSubscription. - Add
SchemaBuilder::override_name
method. #437
[2.5.11] - 2021-03-07
- Execute
_entity
requests in parallel. #431
[2.5.10] - 2021-03-06
- Add descriptions for the exported Federation SDL.
[2.5.9] - 2021-02-28
Changed
- Moved
Variables
fromasync_graphql::context::Variables
toasync_graphql::Variables
.
[2.5.8] - 2021-02-27
Added
-
Allow the
deprecation
attribute to have no reason.#[derive(SimpleObject)] struct MyObject { #[graphql(deprecation)] a: i32, #[graphql(deprecation = true)] b: i32, #[graphql(deprecation = false)] c: i32, #[graphql(deprecation = "reason")] d: i32, }
[2.5.7] - 2021-02-23
Fixed
- Fix the problem that the borrowing lifetime returned by the
Context::data
function is too small.
[2.5.6] - 2021-02-23
Changed
- When introspection is disabled, introspection related types are no longer registered.
[2.5.5] - 2021-02-22
Added
- Add support for Federation nested keys.
[2.5.4] - 2021-02-15
Fixed
- Fixed the error that the directive locations
FIELD_DEFINITION
andENUM_VALUE
cannot be parsed.
[2.5.3] - 2021-02-13
Fixed
- Fixed #409
[2.5.2] - 2021-02-06
Added
- Add subscription support for tide with tide-websockets.
Fixed
- Fixed the bug that can accept subscription requests during the initialization of WebSocket.
- Fixed GraphQL over WebSocket Protocol does not support ConnectionError events. #406