13 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.
[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 support for the
list
operator 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