Releases: LastDragon-ru/lara-asp
Releases · LastDragon-ru/lara-asp
Bugfixes 🐛
Mark |
Type |
Count |
Packages |
|
Bug Fixes |
2 |
documentator , graphql |
Package documentator
Bug Fixes
\LastDragon_ru\LaraASP\Documentator\Processor\Exceptions\FileTaskFailed
message (995d2db)
Package graphql
Bug Fixes
SchemaBuilderWrapper
fix for "nuwave/lighthouse:6.45.0" (5b80fa0)
Bugfixes 🐛
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 👨🦰
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 🛠
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 🧐
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 🥩
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 🌷
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 🐝
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 ❄
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 🎄
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)