Skip to content

Releases: LastDragon-ru/lara-asp

New Assertion 🧪

04 Mar 07:35
7.2.0
da81084
Compare
Choose a tag to compare
Mark Type Count Packages
Features 2 core, testing
Bug Fixes 4 core, documentator, testing

Package core

Features

  • \LastDragon_ru\LaraASP\Core\Path\DirectoryPath::isInside() added (d6e2800)

Bug Fixes

  • \LastDragon_ru\LaraASP\Core\Path\FilePath::getExtension() cannot return empty string (c1c74b0)

Package documentator

Bug Fixes

  • \LastDragon_ru\LaraASP\Documentator\Processor\Executor will not catch \Throwable (1750df3)

Package testing

Features

  • New assertion \LastDragon_ru\LaraASP\Testing\Assertions\FileSystemAssertions\assertDirectoryEquals() (9250007)

Bug Fixes

  • \LastDragon_ru\LaraASP\Testing\Concerns\Override::override() will correctly work when $factory it callable instance of $class (510d448)
  • laravel/scout v10.13.0 compatibility (20f5e3f)

Maintenance ⚒️

10 Dec 12:47
7.1.0
be1770d
Compare
Choose a tag to compare
Mark Type Count Packages
Features 1 documentator

Package documentator

Features

  • Min version of league/commonmark set to ^2.6.0 (because of Delimiter Stack changes) (37cba0d)

Bugfixes 🐛

28 Nov 07:19
7.0.1
dab4035
Compare
Choose a tag to compare
Mark Type Count Packages
Bug Fixes 3 documentator, testing

Package documentator

Bug Fixes

  • null output in generated help of lara-asp-documentator:preprocess command (8a017bf)
  • Parsing {@see} inline tags while help generation for lara-asp-documentator:preprocess command (ebc708f)

Package testing

Bug Fixes

  • \LastDragon_ru\LaraASP\Testing\Utils\TestData relative paths (./, ../) handling (3d81688)

Autumn Evolution 🍂

17 Nov 07:57
7.0.0
af69ffa
Compare
Choose a tag to compare
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 swit...
Read more

Bugfixes 🐛

20 Sep 13:10
6.4.2
8f513a0
Compare
Choose a tag to compare
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 🐛

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)