Skip to content

Releases: LastDragon-ru/lara-asp

Bugfixes 🐛

13 Jul 09:12
6.4.1
b8fbd1b
Compare
Choose a tag to compare
Mark Type Count Packages
Bug Fixes 2 documentator, graphql

Package documentator

Bug Fixes

  • Preprocessor regexp to find instruction when <target "value"> (16686b9)

Package graphql

Bug Fixes

  • HasOneThrough sorting fix (Laravel v11.15.0 compatibility) (bbecb7c)

The Processor 👨‍🦰

26 May 07:50
6.4.0
a0aba35
Compare
Choose a tag to compare
Mark Type Count Packages
Features 3 core, documentator, serializer
Bug Fixes 1 core
💀 Deprecations 1 serializer

Package core

Features

Bug Fixes

  • Path::getRelativePath() will return correct path when $root is file (cf82d55)

Package documentator

Features

Package serializer

Features

  • New Serialized attribute/accessors/mutator (5bb6e1c)

Deprecations 💀

  • \LastDragon_ru\LaraASP\Serializer\Casts\AsSerializable, please use \LastDragon_ru\LaraASP\Serializer\Casts\Serialized attribute instead (db030b9)

May Day 🛠

01 May 14:12
6.3.0
7d7bf1d
Compare
Choose a tag to compare
Mark Type Count Packages
Features 4 core, documentator, graphql, testing
Performance Improvements 1 graphql
Bug Fixes 5 graphql-printer, migrator, testing
💀 Deprecations 1 graphql
Miscellaneous 1 dev

Package core

Features

  • Octane compatible resolvers for Application, Container and Config (e12355a)

Package dev

Miscellaneous

  • Removed dev:directive command (f113cb2)

Package documentator

Features

  • New instruction include:graphql-directive (#158, b054625)

Package graphql

Features

Performance Improvements

  • Printer registered as a scopedIf (1e6a623)

Deprecations 💀

  • Passing Type into AstManipulator::addTypeDefinition() and returning it from TypeDefinition::getTypeDefinition(), the TypeReference should be used instead (the main reason is to avoid possible losing of Type properties) (9e5f219)

Package graphql-printer

Bug Fixes

  • Directive filters independent from Settings::isPrintDirectiveDefinitions() (90194c4)
  • substr() => mb_substr() (c64a81f)

Package migrator

Bug Fixes

  • Registration of RawMigrationCreator (5552218)
  • SmartMigrator::getMigrationFiles() path normalization (c7bbaf0)

Package testing

Features

Bug Fixes

  • WithTestObject will correctly remove table after test (5f3b1ab)

Laravel v11 Support 🧐

28 Mar 11:30
6.2.0
f156fb8
Compare
Choose a tag to compare
Mark Type Count Packages
Features 4 *, dev, documentator
Bug Fixes 1 spa
💀 Deprecations 6 documentator, spa, testing
Miscellaneous 6 *

All packages

Features

Miscellaneous

  • composer dependency analyser tool (#140, 5192462)
  • composer.json normalization (#145, 3e30a97)
  • Deprecated class/methods marked by trigger_deprecation() (#148, 4979a4e)
  • Minimal version of laravel/framework set to ^10.34.0 (66e86e9)
  • Removed doctrine/dbal dependency (27da03c)
  • Switch to individual illuminate/* packages instead of laravel/framework (#117, #141, ce80ae2)

Package dev

Features

Package documentator

Features

  • Fetching instruction parameters via Reflection API/PhpDoc (#149, 639792b)
  • requirements command will support package merging (07adf1d)

Deprecations 💀

  • LastDragon_ru\LaraASP\Documentator\Utils\Path (please use LastDragon_ru\LaraASP\Core\Utils\Path instead) (#146, d2c7592)
  • ParameterizableInstruction::getParametersDescription() (phpdoc should be used instead) (b66d8e4)

Package spa

Bug Fixes

  • Support Illuminate\Validation\InvokableValidationRule in WithValueProvider (594e043)

Deprecations 💀

  • LastDragon_ru\LaraASP\Spa\Http\Request (use custom class and WithValueProvider trait instead) (db17969)
  • Validation rules will not implement deprecated Illuminate\Contracts\Validation\Rule in the next major version (4c05b89)

Package testing

Deprecations 💀

  • LastDragon_ru\LaraASP\Testing\Database\RefreshDatabaseIfEmpty (use own trait instead) (dd6a34e)
  • LastDragon_ru\LaraASP\Testing\TestCase (69a1227)

More assertions 🥩

14 Mar 09:54
6.1.0
2690a59
Compare
Choose a tag to compare
Mark Type Count Packages
Features 7 documentator, graphql, graphql-printer, testing
Bug Fixes 5 documentator, graphql, graphql-printer, testing
💀 Deprecations 2 graphql, testing

The release introduces more testing assertions and much better docs for them.

Package documentator

Features

  • IncludeDocBlock (include:docblock) will replace inline @see/@link to FQCN if possible (71aa7b6)

Bug Fixes

  • IncludeDocBlock (include:docblock) will include whole docblock by default (00ace46)
  • Preprocessor regexp mode (added u flag) (ea497bb)

Package graphql

Features

  • Added assertGraphQLIntrospectionEquals() assertion (539ba11)
  • Added assertGraphQLSchemaNoBreakingChanges() assertion (ed9bfc1)
  • Added assertGraphQLSchemaNoDangerousChanges() assertion (ee41b8c)
  • Added assertGraphQLSchemaValid() assertion (49941c5)

Bug Fixes

  • The current schema will be pass to assertGraphQLPrintableEquals()/assertGraphQLExportableEquals() when not specified (9c930b2)

Deprecations 💀

  • *:getDirectiveLocations()/*:getLocations(), please use *::locations() instead (224a69a)

Package graphql-printer

Features

  • GraphQLExpected can hold the Schema (that required for export) (a6a316e)

Bug Fixes

  • Printer::process() will not throw DirectiveDefinitionNotFound (same as for a type) (3246647)

Package testing

Features

  • Added ResponseAssertions::assertPsrResponse() assertion (6d42dda)

Bug Fixes

  • ScheduleAssertions::assertScheduled() command class detection (018d177)

Deprecations 💀

  • ResponseAssertions::assertThatResponse(), please use ResponseAssertions::assertPsrResponse() instead (81125e9)

Spring Evolution 🌷

01 Mar 12:25
6.0.0
551536e
Compare
Choose a tag to compare
Mark Type Count Packages
Breaking changes 46 *, core, documentator, formatter, graphql, migrator, queue, testing
Features 20 documentator, formatter, graphql, serializer, testing
Performance Improvements 2 graphql
Bug Fixes 9 documentator, graphql
💀 Deprecations 5 graphql
Miscellaneous 4 *, documentator
Code Refactoring 30 *, core, documentator, graphql, migrator, queue, testing

The new release with a huge number of API changes addressed to make the code more clear and extendable. The majority are related to the GraphQL part and introduce several improvements (or breaking changes if you like 😁). Probably the most critical is the change of query syntax - the extra operators and fields were split into different types, which removes any possible conflicts between them (no way to solve it in v5). This is mean that the default syntax now is users(where: { field: { name: { equal: "..." } } }) { ... }/comments(order: [ {field: {user: {name: asc}}} ]) instead of users(where: { name: { equal: "..." } } ) { ... }/comments(order: [ {user: {name: asc}} ]) (notice to field: {...}). The second - all enums were converted into PHP enums internally, so the case of member names followed by the PHP convention (Asc instead of asc). Also, note about input types auto-generation improvements and that the recommended way to add operators is inside GraphQL schema with extend scalar SearchByOperators* (now should be possible to do all the same as in config).

Please follow Upgrade Guide to migrate 🤗 (and learn how to switch back to the previous query syntax 😉). You can ask a question and/or discuss in release disscussion.

All packages

Miscellaneous

  • Better dependencies (#123, 0d1d914)
  • Minimal version of phpstan/phpdoc-parser set to ^1.25 (0b096ac)
  • Tools extracted from composer.json into vendor-bin (#122, 76f629c)

Code Refactoring

Package core

Code Refactoring

  • Removed deprecated Helper::callAfterBoot() (8357bc5) ☣
  • Removed deprecated InstanceCache trait (cfa1db7) ☣

Package documentator

Features

  • IncludePackageList (include:include:package-list) will also detect path to UPGRADE.md (should be in the same directory where README) (2f2adeb)
  • template parameter support for IncludeDocumentList (include:document-list) (af8f2e4)
  • template parameter support for IncludePackageList (include:include:package-list) (d2dbf7f) ☣

Bug Fixes

  • Added missed nikic/php-parser requirement + compatibility with v5 (abcae15)
  • requirements command will use local composer.json for HEAD (80486bd)

Miscellaneous

  • Removed phpdocumentor/reflection-docblock, the phpstan/phpdoc-parser will be used instead (6faba1b)

Code Refactoring

  • Instruction classes reorganization (9c8a066) ☣
  • Instruction templates reorganization (f4a00ee) ☣
  • Removed deprecated LastDragon_ru\LaraASP\Documentator\Preprocessor\Instruction (52f6d87) ☣

Package formatter

Features

  • duration() fraction seconds and new format syntax support (#108, 9bc90af) ☣
  • Formatter::filesize() support for robibyte (RiB) and quebibyte (QiB) (#106, 56b83fa) ☣
  • time()/date()/datetime() will accept only string as $format name (5612367) ☣

Package graphql

Features

  • Ability to disable operators (#113, 01c7f71)
  • Input type auto-generation improvements (#114, #127, accd8bf) ☣
  • Root types for @searchBy and @sortBy (#118, #129, 693df03) ☣
  • Setting builder.allowed_directives will be applied for Implicit types only. For the Explicit types, all directives will be copied (#132, 6839e8f)
  • Type extensions improvements (#136, 1703d95) ☣
  • Universal builder property resolver (#120, #87, f5934ef) ☣
  • @sortBy: Added (missed) @sortByExtendOperators directive (0b1652c)
  • @sortBy: Default nulls ordering (#110, #111, e528aec) ☣
  • @sortBy: Nulls ordering operators nullsFirst/nullsLast (#119, e260593)
  • @sortBy: Support of Operators::Object (467b023) ☣
  • @stream: ResolveInfo::enhanceBuilder() will be used only if really necessary (also, it is faster, and required to enhance/support any builder) (08f0e26) ☣

Performance Improvements

  • Bindings registration (bindIf() => scopedIf()) (41387ae)
  • Per type Operators cache (8fda774)

Bug Fixes

  • Detection of operator-directive for implicit type (b5a777e)
  • Lighthouse v6.34.0 compatibility (failed tests) (ce67672)
  • @searchBy: Directive locations (b56b21b) ☣
  • @sortBy: Directive locations (4d4e8ce) ☣
  • @sortBy: Possible too long alias name for joined relation (73c87ec)
  • @sortBy: Random order will be available only for Query and Eloquent builders (7ffc919)
  • @sortBy: Str::camel() replaced to Str::studly() as it should be (dc5b70f)

Deprecations 💀

  • LastDragon_ru\LaraASP\GraphQL\Builder\Contracts\Scout\FieldResolver, use LastDragon_ru\LaraASP\GraphQL\Builder\Contracts\BuilderPropertyResolver instead (122f29b) ☣
  • @searchBy: @searchByOperatorRelation, the @searchByOperatorRelationship should be used instead (8cdb50e)
  • @searchBy: @searchByOperators (the @searchByExtendOperators should be used instead) (a710b68)
  • @searchBy: enum SearchByTypeFlag { yes }/enum SortByTypeFlag { yes }, please use enum SearchByTypeFlag { Yes }/enum SortByTypeFlag { Yes } instead (75639af)
  • @sortBy: enum SortByTypeDirection { asc, desc }, please use enum SortByTypeDirection { Asc, Desc } instead (c9a515b)

Code Refactoring

  • Ability to override type of *FieldSource/*ArgumentSource (760a71d) ☣
  • Added TypeSource::isObject() (0c53721) ☣
  • Added TypeSource::isScalar(), TypeSource::isEnum() (0600d0d) ☣
  • Added parent to the Source (30f3e95) ☣
  • API Improvements (#130, 7a43a09) ☣
  • AstManipulationBuilderInfo => HandlerContextBuilderInfo (b8eacb2) ☣
  • AstManipulator::getOriginTypeDefinition() => (more useful) AstManipulator::getOriginType() (2f29617) ☣
  • Better names for (internal) directives (#128, abef051) ☣
  • Builder Context (#116, 79b3bf0) ☣
  • Context moved to LastDragon_ru\LaraASP\GraphQL\Builder\Context namespace (e65075d) ☣
  • InputObject::getFieldDirectiveOperator() => InputObject::getFieldOperatorDirective() (e0f97a8) ☣
  • Manipulator::getPlaceholderTypeDefinitionNode() => AstManipulator::getOriginTypeDefinition() (342a170) ☣
  • Operator:isBuilderSupported() => Operator:isAvailable() (55d486f) ☣
  • OperatorDirective::getDirectiveLocations() renamed to OperatorDirective::getLocations() (2bfe45c) ☣
  • Operators (#133, 4e91f28) ☣
  • Property not Stringable anymore (fd5d8ef) ☣
  • Removed deprecated ClientException::getCategory() (24cb66f) ☣
  • @searchBy: @searchByOperatorRelation renamed to `@searchByOperatorRelat...
Read more

GraphQL improvements 🐝

16 Feb 07:59
5.6.0
b1e5825
Compare
Choose a tag to compare
Mark Type Count Packages
Features 2 graphql
Bug Fixes 1 testing

Package graphql

Features

  • New setting builder.allowed_directives to control which directives should be copied from the original field into generated (#132, c38d337)
  • Support of extend scalar/etc X to add operators (c7bd1c4)

Package testing

Bug Fixes

  • ScalarStrictComparator will respect $ignoreCase (b7919c9)

Serializer enums support and`@sortBy` fix ❄

21 Jan 06:51
5.5.0
406f5d5
Compare
Choose a tag to compare
Mark Type Count Packages
Features 2 serializer
Bug Fixes 3 documentator, graphql
Miscellaneous 1 documentator

Package documentator

Bug Fixes

  • Added missed nikic/php-parser requirement + compatibility with v5 (4a76c86)
  • requirements command will use local composer.json for HEAD (eaa095e)

Miscellaneous

  • Removed phpdocumentor/reflection-docblock, the phpstan/phpdoc-parser will be used instead (67f1e62)

Package graphql

Bug Fixes

  • @sortBy: Random order will be available only for Query and Eloquent builders (4fbf170)

Package serializer

Features

  • BackedEnum support out the box (315737d)
  • UnitEnum support (will be serialized/deserialized as/from the case name) (4f047cc)

Happy New Year 🎄

01 Jan 05:38
5.4.0
a8bec2d
Compare
Choose a tag to compare
Mark Type Count Packages
Features 3 core, documentator, testing
Bug Fixes 1 documentator
💀 Deprecations 2 queue, testing

Package core

Features

  • Added WithSchedule trait to schedule tasks (simplified version of lara-asp-queue package) (4ee5687)

Package documentator

Features

  • IncludeDocBlock (include:docblock) instruction (8aa9a66)

Bug Fixes

  • lara-asp-documentator:preprocess help for instruction parameters (95e6b23)

Package queue

Deprecations 💀

  • Package deprecated. Please use lastdragon-ru/lara-asp-core instead (c6a4d79)

Package testing

Features

  • Added ScheduleAssertions::assertScheduled() to check that task is scheduled (40fb8f6)

Deprecations 💀

  • CronableAssertions::assertCronableRegistered(), please use ScheduleAssertions::assertScheduled() instead (018e3c1)

No unicode in filenames 😞

13 Dec 05:07
5.3.1
d479100
Compare
Choose a tag to compare
Mark Type Count Packages
Bug Fixes 1 graphql

Package graphql

Bug Fixes