Skip to content

PHP 8.2, Scout and Placeholders for `@searchBy` 🎄

Compare
Choose a tag to compare
@github-actions github-actions released this 25 Dec 05:19
2.0.0
a78f5db
☣ Breaking changes
🔥 Something cool

Features

  • PHP 8.2 support (#45, 7796b81)
  • eloquent: IteratorImpl (= all iterators) will implement Countable (f5a1373)
  • graphql: @searchBy/@sortBy will exclude unions from placeholders by default (df48aac)
  • graphql: @searchBy/@sortBy will support Interfaces while types transformation (AST only) (#15, e535a5f)
  • graphql: 🔥 Builder type detection (= different types for each builder) (#23, 639c3bb) ☣
  • graphql/@builder: Fields description will be used for input types (= no placeholder) instead of default description (075a977) ☣
  • graphql/@searchBy: @searchByIgnored can be placed on OBJECT, INPUT_OBJECT, ENUM, SCALAR (6120f65)
  • graphql/@searchBy: Ignored will not extend Nuwave\Lighthouse\Support\Contracts\Directive thus it can be used with any Type (d1ce459) ☣
  • graphql/@searchBy: 🔥 Placeholder support (#19, bbc8df8) ☣
  • graphql/@searchBy: 🔥 Scout support (#24, e25b886)
  • graphql/@sortBy: @sortByIgnored can be placed on OBJECT, INPUT_OBJECT, ENUM, SCALAR (51a2429)
  • graphql/@sortBy: Ignored will not extend Nuwave\Lighthouse\Support\Contracts\Directive thus it can be used with any Type (4fda12d) ☣
  • graphql/@sortBy: Order by random() support (#29, 99cdbb9)
  • graphql/SchemaPrinter: Removed support of directive in description (86d3547) ☣
  • testing: Override::override() will accept T&MockInterface (380b7c2) ☣
  • testing: Added $suffix for WithTempFile::getTempFile() (32c5f9f)
  • testing: New assertion assertScoutQueryEquals() to compare Scout queries (684787f)

Bug Fixes

  • formatter: filesize(0) will return O B instead of just 0 (be65a41)
  • graphql: AstManipulator::getScalarTypeDefinitionNode() will return the existing node if it is exist (5afdf10)
  • graphql: PropertyDirective::getName() and Clause::getName() (f8572bb)
  • graphql: Enum serialization (396cb03)
  • graphql: Test assertions should work event when LIGHTHOUSE_CACHE_ENABLE=true (#43, e5a2129)
  • graphql/@searchBy: Added table name prefix for Eloquent builder to avoid "SQLSTATE[23000]: Integrity constraint violation: 1052 Column 'xxx' in where clause is ambiguous" error (d2668a9)
  • graphql/@searchBy: List of Logical operators can be empty (b352b1a)
  • graphql/SchemaPrinter: Directives location for enum (581be04)

Performance Improvements

  • eloquent: IteratorImpl will not load one more chunk if the current chunk is contain less item than the chunk size (7ff3ba0)

Miscellaneous Chores

  • graphql: Minimal Scout version set to v9.2.1 (from 9.2.0) because whereIn support is required (8baf503) ☣
  • graphql: Minimal version of "nuwave/lighthouse" set to "^5.68.0" (cc90945) ☣

Code Refactoring

  • Rid of \Illuminate\Contracts\Config\Repository injection (related to #38) (#38, cd8db7d) ☣
  • Rid of \Illuminate\Contracts\Container\Container injection (related to #38) (#38, dd49fe7) ☣
  • Rid of \Illuminate\Contracts\Foundation\Application injection (related to #38) (#38, 1c1b718) ☣
  • graphql: ArgumentFactory::getArgument() and ArgumentFactory::getArgumentSet() will accept InputValueDefinitionNode|string only (8601470) ☣
  • graphql: LastDragon_ru\LaraASP\GraphQL\SearchBy\Exceptions\NotImplemented moved to LastDragon_ru\LaraASP\GraphQL\SearchBy\NotImplemented (b0490a7) ☣
  • graphql: LastDragon_ru\LaraASP\GraphQL\SortBy\Builders\Scout\ColumnResolver renamed to LastDragon_ru\LaraASP\GraphQL\Builder\Contracts\Scout\FieldResolver (e4b733a) ☣
  • graphql: Scalars renamed to Operators and moved into Builder (e1987fb) ☣
  • graphql: Operators list/config type changed to array<string|class-string<Operator>> (from array<class-string<Operator>>|string) (8596403) ☣
  • graphql: Types providers rework - directives will use TypeDefinitions instead of extending Manipulator class) (eb6075e) ☣
  • graphql/@searchBy: Operators::Logical renamed to Operators::Extra (because the list may contain any operators) (4a30837) ☣