Autumn Evolution π
| Mark | Type | Count | Packages |
|---|---|---|---|
| β£ | Breaking changes | 31 | *, core, documentator, formatter, graphql, migrator, serializer, spa |
| Features | 34 | core, dev, documentator, serializer |
|
| Performance Improvements | 4 | documentator |
|
| Bug Fixes | 19 | core, documentator, graphql, serializer |
|
| π | Deprecations | 8 | core, documentator, migrator, serializer |
| Miscellaneous | 5 | *, dev |
|
| Code Refactoring | 18 | *, core, documentator, formatter, graphql, migrator, serializer, spa |
This version is the deep refactoring of how the Application/Config and other global Laravel things are injected into classes (no implicit dependencies, see #151), how the package configs looks (no more untyped arrays, see #152), how the Formatter works internally (simplification and more extendabilities). And, probably the most interesting part, is improvements of the Documentator - the Processor is used for all tasks, the links will be correctly updated when one document is included into another; code links support, etc.
Please follow Upgrade Guide to migrate π€. You can ask a question and/or discuss in release disscussion.
All packages
Miscellaneous
- Migrate to
.gitattributesinstead ofexclude-from-classmap(8d91470) - Minimal version of
nikic/php-parserset to^5.0(8311940) - Minimal version of
symfony/serializerset to^6.4.0(related to 67389ca) (23ed588) - Relative links validation in Markdown documents (#171, ae5403d)
Code Refactoring
Package core
Features
\LastDragon_ru\LaraASP\Core\Helpers\Translatorwill not change keys with namespace (::) (df4e159)\LastDragon_ru\LaraASP\Core\Path\FilePathand\LastDragon_ru\LaraASP\Core\Path\FilePath\DirectoryPath(replacement of\LastDragon_ru\LaraASP\Core\Utils\Pathutil) (8323a04)- Added
\LastDragon_ru\LaraASP\Core\Utils\Cast::toObject()and\LastDragon_ru\LaraASP\Core\Utils\Cast::toObjectNullable()(d477a5c) - Added
Cast::toNullable()(e65d0ff) - Added
File::isFile()andFile::isDirectory()(6862a0a) Path::isNormalized()(d6ded7f)
Bug Fixes
Path::getRelativePath()will return correct path when$rootis file (9478b44)
Deprecations π
\LastDragon_ru\LaraASP\Core\Provider\WithConfig::bootConfig(). Please use\LastDragon_ru\LaraASP\Core\Provider\WithConfig::registerConfig()instead (a94b1d8)\LastDragon_ru\LaraASP\Core\Utils\ConfigMerger(there is no replacement) (1215419)- The
\LastDragon_ru\LaraASP\Core\Utils\Pathis deprecated. Please use\LastDragon_ru\LaraASP\Core\Path\FilePath/\LastDragon_ru\LaraASP\Core\Path\DirectoryPathinstead (a192b7f)
Code Refactoring
Package dev
Features
Container::call()return type detection (1a924a3)
Miscellaneous
- Removed
dev:examplecommand (theRunnercontract will be used to run examples) (75b2703)
Package documentator
Features
--excludeoption forlara-asp-documentator:preprocess(58b80de)\LastDragon_ru\LaraASP\Documentator\Markdown\Location\Appendcan be used to append text to theDocument(1f603be)\LastDragon_ru\LaraASP\Documentator\Processor\Tasks\CodeLinks\Links\ClassConstantLinkalso supportenumcases (0ec6c16)- Added
Text::getPathTitle()(converts filename into document title) (cbb7458) - Better block id for
Preprocesstask (#189, f0164fd) - Command
lara-asp-documentator:commandswill update relative links inside generated documents (76fd9b9) - Composer
Packagehelper (ddadefa) Editor:mutate()can add new lines (eaf3b34)include:artisaninstruction (#166, 59f4acb)include:document-list/include:package-listinstruction can sort documents/packages (#192, 7b04d49) β£- Markdown
Documentmutations (#179, #180, 0e2b70d) β£ Markdownhelper to easy document modification (#179, 1512b81)- New
include:examplerunner (#165, 3b74c52) β£ - New helper
Text(0f1db84) - New markdown mutation
\LastDragon_ru\LaraASP\Documentator\Markdown\Mutations\HeadingsLevel(ceefd12) Preprocessinstructions priority (#194, 4336f6c) β£Preprocesstask will useMarkdownparser instead of regexps (#186, 7b0c766) β£Preprocessortasks will properly re-link relative links (926ecb9) β£- Processor
Taskcan postpone processing until all other files (#172, 9028c23) β£ Processor"Code Links" task (#187, dbcab1a) β£ProcessorFilemetadata (#181, 4d6c019) β£ProcessorOptionaldependency (a25feab)Processorwildcard tasks support (124891b)- The
lara-asp-documentator:preprocesscommand will use\LastDragon_ru\LaraASP\Documentator\Processor\Contracts\Factoryto obtain instance of\LastDragon_ru\LaraASP\Documentator\Processor\Processor(6c544c1) - The Processor (#162, 2fdac35)
Performance Improvements
Document::mutate()will clone document only once (73897b7)- Lazy
Documentparsing (edcbd0b) - Minor
Markdownmutations improvements (#184, 460883e) β£ ProcessorLazy tasks & (weak) FileSystem cache (#185, b2d206c)
Bug Fixes
@link/@seein php docblock will be replaced to FQN (prefixed by\) (5864fdc)\LastDragon_ru\LaraASP\Documentator\Processor\Exceptions\FileTaskFailedmessage (2d18aa5)\LastDragon_ru\LaraASP\Documentator\Processor\Tasks\CodeLinks\Links\Factory::create()will trim whitespaces (8fc2bec)\LastDragon_ru\LaraASP\Documentator\Processor\Tasks\CodeLinks\Tasksource file path resolution (42b2adf)Document::toSplittable()will remove self links (+ addedSelfLinksRemovemutation) (7842200)include:artisanoutput whenverbosityis notnormal(024f9c5)- Location detection/update for links with inline nodes inside label (#182, a137201) β£
- Markdown
DocumentEOF after parse/mutate (9c0fafd) - Markdown
Editor:mutate()will rtrim all changed lines to avoid whitespaces at the end of the line (571c1a1) - Markdown
Editoroverlaps calculation (b76ee17) - Markdown
Movemutation will not update self links/references (953c327) - More accurate
CodeLinkssimilarity check (#193, b5497d6) β£ Preprocessorregexp to find instruction when<target "value">(32e0d3b)Preprocessorwill store originaltargetinContext(75d30bd)Referencewill include next empty line (the same as all other blocks) (0a20267)- Variables names for
include:artisan(no wrapping by"") (3da6fea)
Deprecations π
Markdownhelper. Please useMarkdownDocument/Texthelpers instead (caeff9e)- The
LastDragon_ru\LaraASP\Documentator\Processor\Metadata\PhpDocBlock, please useLastDragon_ru\LaraASP\Documentator\Processor\Metadata\PhpClassMarkdowninstead (a72fefc) β£
Code Refactoring
\LastDragon_ru\LaraASP\Documentator\Processor\Metadata\Composermetadata will return\LastDragon_ru\LaraASP\Documentator\Composer\Packageinstead of\LastDragon_ru\LaraASP\Documentator\Composer\ComposerJson(a79801b) β£- Dependencies classes rename (3268d70) β£
PreprocessorInstructioncontract simplification (noResolver) (#174, 8c3d7f9) β£Preprocessormoved toProcessornamespace (#176, f953237) β£Preprocessorswitched to theProcessor(#164, 700577c) β£Processordependencies rework (#173, be081f3) β£- Removed
Document::toInlinable()/Document::toSplittable()(c86360e) β£ - Single
Instructioncontract (#163, 28e8444) β£ - The
\LastDragon_ru\LaraASP\Core\Path\Pathwill be used instead of\LastDragon_ru\LaraASP\Core\Utils\Path/string(e3be7e0) β£ - The
ComposerJsonhelper will be used to parse/accesscomposer.json(94e9e6a) β£
Package formatter
Code Refactoring
Package graphql
Bug Fixes
HasOneThroughsorting fix (Laravel v11.15.0 compatibility) (2fa609f)
Code Refactoring
- Component Config injection (#152, #197, 1168beb) β£
JsonStringTypeis not implementsTypeDefinitionanymore (965811d) β£- Type registration (#161, 73d3a0e) β£
Package migrator
Deprecations π
RawMigration/RawDataMigration, please useSqlMigrationinstead (9d991e8)SmartSeeder/RawSeeder, please useSeeder/SqlSeederinstead (d1d2ff9)
Code Refactoring
- Rework and No implicit dependencies (#167, d84265b) β£
- The
\LastDragon_ru\LaraASP\Core\Path\Pathwill be used instead of\LastDragon_ru\LaraASP\Core\Utils\Path(f3af25a) β£
Package serializer
Features
\Symfony\Component\Serializer\Attribute\SerializedNamesupport (SerializableNormalizer) (9e7fb1b)- New
Serializedattribute/accessors/mutator (77490f6)
Bug Fixes
\Symfony\Component\Serializer\Annotation\DiscriminatorMap=>\Symfony\Component\Serializer\Attribute\DiscriminatorMap(67389ca)
Deprecations π
\LastDragon_ru\LaraASP\Serializer\Casts\AsSerializable, please use\LastDragon_ru\LaraASP\Serializer\Casts\Serializedattribute instead (dd539f9)