Skip to content

The `@stream` directive and two new packages 🤠

Compare
Choose a tag to compare
@github-actions github-actions released this 22 Oct 06:14
· 939 commits to main since this release
5.0.0
88c3616
Mark Type Count Packages
☣ Breaking changes 16 eloquent, graphql, graphql-printer
Features 11 *, documentator, graphql, graphql-printer, testing
Performance Improvements 1 graphql
Bug Fixes 10 documentator, eloquent, graphql, graphql-printer, testing
Miscellaneous 1 *
Code Refactoring 8 graphql

The new major release introduces the new @stream directive and two new packages: the Serializer and Documentator. Please also see 5.0.0-beta.0 and 5.0.0-beta.1 release notes.

All packages

Features

Miscellaneous

  • Minimum version of Laravel Scout set to ^9.8.0 (9fb9df4)

Package documentator

Features

  • requirements command will dump requirements for Metadata { version } equal to HEAD even if no git tag (993d002)

Bug Fixes

  • Command processing for include:exec instruction (d47f127)
  • HTML entities encoding for include:document-list and include:package-list (0d2bd41)
  • missed artisan prefix for command usages (lara-asp-documentator:commands) (cfc9973)
  • Missed EOF in Metadata.json (7b77228)

Package eloquent

Bug Fixes

  • new ModelHelper(Model::class) will be identical to new ModelHelper(Model::query()) (makes no sense to create a query with invalid constraints for relations) (1e4e213) ☣

Package graphql

Features

  • @stream directive (#101, 2382b6c)
  • Added JsonString wrapper/helper (to return JSON without unnecessary validation) (6a6953d)
  • JsonString scalar (06ad9be)
  • TypeDefinition can be fully replaced via Container (TypeDefinition::getTypeName() became is non static) (0ee21c7) ☣
  • @searchby: Scout support for NotIn operator (laravel/scout:>=10.3.0 required). (#98, f555270)

Performance Improvements

  • AstManipulator::getTypeFullName() no unnecessary fetching for definitions (45f1cf6)

Bug Fixes

  • AstManipulator::addTypeDefinition() will convert ScalarType into scalar and will add it into Document instead of TypeRegistry (3e23e8e)

Code Refactoring

  • Added TypeSource::isUnion() (026f118) ☣
  • Added TypeSource argument to BuilderInfoProvider::getBuilderInfo() (f29215a) ☣
  • ArgumentNode support for AstManipulator::getName(); DirectiveNode support for AstManipulator::findArgument(), AstManipulator::getArgument() (cb29569) ☣
  • BuilderInfoDetector internally will use TypeSource instead of Node (fb0b6f7) ☣
  • BuilderInfoProvider::getBuilderInfo() can return only ?BuilderInfo (you can use BuilderInfo::create() to get a default instance for class) (630ff3b) ☣
  • Directive::Name consts marked as final (757fd7d) ☣
  • JsonString renamed to JsonStringType (8cf2761) ☣
  • WithBuilderInfo trait converted into BuilderInfoDetector class (a819d8e) ☣

Package graphql-printer

Features

  • New setting Settings::isAlwaysMultilineDirectives() (#82, 212b61c) ☣
  • New setting Settings::isNormalizeDirectives() (default is false, because the order of directives may be important) (1db945b) ☣
  • Settings::isNormalizeSchema() renamed to Settings::isNormalizeDefinitions() (cacf098) ☣

Bug Fixes

  • Default value Settings::isNormalizeArguments() set to false because the order of arguments may be important (5198e6e)
  • Exported type will be on the top of the document (#100, 5b9e5b2) ☣
  • Object value will respect Settings::isAlwaysMultilineArguments() (4a8b916)

Package testing

Features

  • New assertion WithQueryLog::assertQueryLogEquals() (3068f60)

Bug Fixes

  • Scout v10.3.0 assertions fix (c03d563)