Skip to content

Autumn Evolution πŸ‚

Latest
Compare
Choose a tag to compare
@github-actions github-actions released this 17 Nov 07:57
· 62 commits to main since this release
7.0.0
af69ffa
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 .gitattributes instead of exclude-from-classmap (8d91470)
  • Minimal version of nikic/php-parser set to ^5.0 (8311940)
  • Minimal version of symfony/serializer set 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\Translator will not change keys with namespace (::) (df4e159)
  • \LastDragon_ru\LaraASP\Core\Path\FilePath and \LastDragon_ru\LaraASP\Core\Path\FilePath\DirectoryPath (replacement of \LastDragon_ru\LaraASP\Core\Utils\Path util) (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() and File::isDirectory() (6862a0a)
  • Path::isNormalized() (d6ded7f)

Bug Fixes

  • Path::getRelativePath() will return correct path when $root is 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\Path is deprecated. Please use \LastDragon_ru\LaraASP\Core\Path\FilePath/\LastDragon_ru\LaraASP\Core\Path\DirectoryPath instead (a192b7f)

Code Refactoring

Package dev

Features

  • Container::call() return type detection (1a924a3)

Miscellaneous

  • Removed dev:example command (the Runner contract will be used to run examples) (75b2703)

Package documentator

Features

  • --exclude option for lara-asp-documentator:preprocess (58b80de)
  • \LastDragon_ru\LaraASP\Documentator\Markdown\Location\Append can be used to append text to the Document (1f603be)
  • \LastDragon_ru\LaraASP\Documentator\Processor\Tasks\CodeLinks\Links\ClassConstantLink also support enum cases (0ec6c16)
  • Added Text::getPathTitle() (converts filename into document title) (cbb7458)
  • Better block id for Preprocess task (#189, f0164fd)
  • Command lara-asp-documentator:commands will update relative links inside generated documents (76fd9b9)
  • Composer Package helper (ddadefa)
  • Editor:mutate() can add new lines (eaf3b34)
  • include:artisan instruction (#166, 59f4acb)
  • include:document-list/include:package-list instruction can sort documents/packages (#192, 7b04d49) ☣
  • Markdown Document mutations (#179, #180, 0e2b70d) ☣
  • Markdown helper to easy document modification (#179, 1512b81)
  • New include:example runner (#165, 3b74c52) ☣
  • New helper Text (0f1db84)
  • New markdown mutation \LastDragon_ru\LaraASP\Documentator\Markdown\Mutations\HeadingsLevel (ceefd12)
  • Preprocess instructions priority (#194, 4336f6c) ☣
  • Preprocess task will use Markdown parser instead of regexps (#186, 7b0c766) ☣
  • Preprocessor tasks will properly re-link relative links (926ecb9) ☣
  • Processor Task can postpone processing until all other files (#172, 9028c23) ☣
  • Processor "Code Links" task (#187, dbcab1a) ☣
  • Processor File metadata (#181, 4d6c019) ☣
  • Processor Optional dependency (a25feab)
  • Processor wildcard tasks support (124891b)
  • The lara-asp-documentator:preprocess command will use \LastDragon_ru\LaraASP\Documentator\Processor\Contracts\Factory to 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 Document parsing (edcbd0b)
  • Minor Markdown mutations improvements (#184, 460883e) ☣
  • Processor Lazy tasks & (weak) FileSystem cache (#185, b2d206c)

Bug Fixes

  • @link/@see in php docblock will be replaced to FQN (prefixed by \) (5864fdc)
  • \LastDragon_ru\LaraASP\Documentator\Processor\Exceptions\FileTaskFailed message (2d18aa5)
  • \LastDragon_ru\LaraASP\Documentator\Processor\Tasks\CodeLinks\Links\Factory::create() will trim whitespaces (8fc2bec)
  • \LastDragon_ru\LaraASP\Documentator\Processor\Tasks\CodeLinks\Task source file path resolution (42b2adf)
  • Document::toSplittable() will remove self links (+ added SelfLinksRemove mutation) (7842200)
  • include:artisan output when verbosity is not normal (024f9c5)
  • Location detection/update for links with inline nodes inside label (#182, a137201) ☣
  • Markdown Document EOF after parse/mutate (9c0fafd)
  • Markdown Editor:mutate() will rtrim all changed lines to avoid whitespaces at the end of the line (571c1a1)
  • Markdown Editor overlaps calculation (b76ee17)
  • Markdown Move mutation will not update self links/references (953c327)
  • More accurate CodeLinks similarity check (#193, b5497d6) ☣
  • Preprocessor regexp to find instruction when <target "value"> (32e0d3b)
  • Preprocessor will store original target in Context (75d30bd)
  • Reference will include next empty line (the same as all other blocks) (0a20267)
  • Variables names for include:artisan (no wrapping by "") (3da6fea)

Deprecations πŸ’€

  • Markdown helper. Please use MarkdownDocument/Text helpers instead (caeff9e)
  • The LastDragon_ru\LaraASP\Documentator\Processor\Metadata\PhpDocBlock, please use LastDragon_ru\LaraASP\Documentator\Processor\Metadata\PhpClassMarkdown instead (a72fefc) ☣

Code Refactoring

  • \LastDragon_ru\LaraASP\Documentator\Processor\Metadata\Composer metadata will return \LastDragon_ru\LaraASP\Documentator\Composer\Package instead of \LastDragon_ru\LaraASP\Documentator\Composer\ComposerJson (a79801b) ☣
  • Dependencies classes rename (3268d70) ☣
  • Preprocessor Instruction contract simplification (no Resolver) (#174, 8c3d7f9) ☣
  • Preprocessor moved to Processor namespace (#176, f953237) ☣
  • Preprocessor switched to the Processor (#164, 700577c) ☣
  • Processor dependencies rework (#173, be081f3) ☣
  • Removed Document::toInlinable()/Document::toSplittable() (c86360e) ☣
  • Single Instruction contract (#163, 28e8444) ☣
  • The \LastDragon_ru\LaraASP\Core\Path\Path will be used instead of \LastDragon_ru\LaraASP\Core\Utils\Path/string (e3be7e0) ☣
  • The ComposerJson helper will be used to parse/access composer.json (94e9e6a) ☣

Package formatter

Code Refactoring

Package graphql

Bug Fixes

  • HasOneThrough sorting fix (Laravel v11.15.0 compatibility) (2fa609f)

Code Refactoring

  • Component Config injection (#152, #197, 1168beb) ☣
  • JsonStringType is not implements TypeDefinition anymore (965811d) ☣
  • Type registration (#161, 73d3a0e) ☣

Package migrator

Deprecations πŸ’€

  • RawMigration/RawDataMigration, please use SqlMigration instead (9d991e8)
  • SmartSeeder/RawSeeder, please use Seeder/SqlSeeder instead (d1d2ff9)

Code Refactoring

  • Rework and No implicit dependencies (#167, d84265b) ☣
  • The \LastDragon_ru\LaraASP\Core\Path\Path will be used instead of \LastDragon_ru\LaraASP\Core\Utils\Path (f3af25a) ☣

Package serializer

Features

  • \Symfony\Component\Serializer\Attribute\SerializedName support (SerializableNormalizer) (9e7fb1b)
  • New Serialized attribute/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\Serialized attribute instead (dd539f9)

Code Refactoring

Package spa

Code Refactoring