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 ofexclude-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()
andFile::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 (theRunner
contract will be used to run examples) (75b2703)
Package documentator
Features
--exclude
option forlara-asp-documentator:preprocess
(58b80de)\LastDragon_ru\LaraASP\Documentator\Markdown\Location\Append
can be used to append text to theDocument
(1f603be)\LastDragon_ru\LaraASP\Documentator\Processor\Tasks\CodeLinks\Links\ClassConstantLink
also supportenum
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 useMarkdown
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 (+ addedSelfLinksRemove
mutation) (7842200)include:artisan
output whenverbosity
is notnormal
(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 originaltarget
inContext
(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 useMarkdownDocument
/Text
helpers instead (caeff9e)- The
LastDragon_ru\LaraASP\Documentator\Processor\Metadata\PhpDocBlock
, please useLastDragon_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 (noResolver
) (#174, 8c3d7f9) β£Preprocessor
moved toProcessor
namespace (#176, f953237) β£Preprocessor
switched to theProcessor
(#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/accesscomposer.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 implementsTypeDefinition
anymore (965811d) β£- Type registration (#161, 73d3a0e) β£
Package migrator
Deprecations π
RawMigration
/RawDataMigration
, please useSqlMigration
instead (9d991e8)SmartSeeder
/RawSeeder
, please useSeeder
/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)