Release Notes
This release brings a few interesting features, such as support for the @stream
directive, alongside a new batch of performance improvements. Note that the @stream
addition caused some changes that impact the @defer
directive usage as well.
The QuickAdapter
now depends on the long-awaited stable 3.0.x version of zio-http, which means no more binary compatibility issues between releases.
Finally, one noticeable change is that we are now using jsoniter internally to encode and decode GraphQL requests and responses, which means you don't need to depend and import one of the tapir-json
libraries anymore.
New features
- Added support the
@stream
directive by @paulpdaniels in #2309 - Made
jsoniter
a required dependency and use it for enc/dec in tapir adapters by @kyri-petrou in #2341 - Added support for introspecting and client codegen of deprecated arguments by @kyri-petrou in #2347
- Added Graphiql endpoints for tapir adapters by @kyri-petrou in #2379
Bug fixes
- Fixed
ArgBuilder
derivation for case classes containing only optional fields by @kyri-petrou in #2408
Performance improvements
- Added param to
GraphQLRequest
to identify GET requests by @kyri-petrou in #2329 - Improved performance of response encoding for jsoniter by @kyri-petrou in #2330
- Improved macro performance by @kyri-petrou in #2332
- Optimized execution of pure and single-field object queries by @kyri-petrou in #2338
- Optimized a tiny thing by @kyri-petrou in #2318
- Optimized
Function0
allocations by @kyri-petrou in #2366 - Optimized
Field#allFieldsUniqueNameAndCondition
by @kyri-petrou in #2368
Important dependency upgrades
- Upgraded ZIO HTTP to 3.0.0 by @kyri-petrou in #2383