Skip to content

New packages and rename πŸŽ„

Choose a tag to compare

@github-actions github-actions released this 17 Jan 12:15
· 220 commits to main since this release
10.0.0
f633384
Mark Type Count Packages
☣ Breaking changes 48 *, lara-asp-core, lara-asp-documentator, glob-matcher, graphql-printer, lara-asp-graphql-testing, path, phpunit-graphql, lara-asp-serializer, lara-asp-spa, text-parser
Features 50 *, lara-asp-core, lara-asp-documentator, glob-matcher, graphql-printer, phpunit-graphql, lara-asp-graphql-testing, path, phpunit-extensions, lara-asp-serializer, text-parser
Performance Improvements 1 path
Bug Fixes 20 lara-asp-dev, lara-asp-documentator, glob-matcher, lara-asp-graphql, lara-asp-graphql-testing, path, lara-asp-serializer, lara-asp-testing, text-parser
πŸ’€ Deprecations 7 lara-asp-core, graphql-printer, lara-asp-testing, lara-asp-serializer
Miscellaneous 4 *, lara-asp-documentator, graphql-printer
Code Refactoring 15 lara-asp-documentator, glob-matcher, lara-asp-graphql-testing, phpunit-graphql, lara-asp-spa

Meet the new packages 😊

glob-matcher

Full-featured well-tested glob pattern parser and matcher: basic matching (?, *), globstar (**), extglob (?(pattern-list), *(pattern-list), +(pattern-list), @(pattern-list), !(pattern-list)), brace expansion ({a,b,c}.txt, {1..3}.txt, etc), dotglob, nocasematch, POSIX Named character classes ([:alnum:], etc), POSIX Collating symbols ([.ch.], etc), POSIX Equivalence class expressions ([=a=], etc), and escaping. Everything supported 😎

path

Provides utilities for working with file and directory paths in an object-oriented way for all path types.

text-parser

Yet another package to simplify writing fast and memory-effective parsers that can parse infinite strings.

phpunit-extensions

Various useful assertions/extensions for PHPUnit.

phpunit-graphql

PHPUnit assertions for GraphQL to check printed/exported type/queries.

lara-asp-graphql-testing

PHPUnit assertions for GraphQL to check printed/exported type/queries for Laravel/Lighthouse.

All packages

Features

Miscellaneous

  • Min PHPUnit version set to v11.1.0 (because of ignoreIndirectDeprecations) (14a1fbf)
  • Min version of phpunit/phpunit set to ^11.2.0 (because of \PHPUnit\Framework\Attributes\CoversTrait) (550895d)

Package lara-asp-core

Features

  • Removed deprecated \LastDragon_ru\LaraASP\Core\Path\Path::isMatch() (4067b24) ☣
  • Removed deprecated \LastDragon_ru\LaraASP\Core\Utils\Path (0209511) ☣
  • String representation of \LastDragon_ru\LaraASP\Core\Path\DirectoryPath will always end with / (ac19c13) ☣

Deprecations πŸ’€

  • Added missed @deprecated for Path component classes (6b96f96)
  • The Path component is deprecated, the lastdragon-ru/path package should be used instead (702e497)

Package lara-asp-dev

Bug Fixes

  • PHPStan rules tests marked by \PHPUnit\Framework\Attributes\RunClassInSeparateProcess to avoid dependency conflicts (adb0b46)
  • Polyfills autoload (8c01f39)

Package lara-asp-documentator

Features

  • Removed deprecated \LastDragon_ru\LaraASP\Documentator\Utils\Markdown (281d70b) ☣
  • Markdown: New mutation \LastDragon_ru\LaraASP\Documentator\Markdown\Mutations\Link\AutolinkExpand (afc6bb9)
  • Processor: \LastDragon_ru\LaraASP\Documentator\Processor\Contracts\Adapter::search()/\LastDragon_ru\LaraASP\Documentator\Processor\Contracts\Resolver::search() may return \LastDragon_ru\Path\DirectoryPath and hidden (d72b49d) ☣
  • Processor: \LastDragon_ru\LaraASP\Documentator\Processor\Contracts\Task::getExtensions() can return \LastDragon_ru\LaraASP\Documentator\Processor\FileSystem\Hook directly (9c279e6)
  • Processor: $depth support removed everywhere (981ff2d) ☣
  • Processor: API simplification (#262, e94fe99) ☣
  • Processor: Better output for dependencies (\LastDragon_ru\LaraASP\Documentator\Processor\Listeners\Console\Listener) (d50c46a) ☣
  • Processor: Casts simplification, no need to register anything, the Resolver available inside casts (015156a) ☣
  • Processor: FileSystem adapters support (d797bc4) ☣
  • Processor: FileSystem simplification - no more directories (#265, 19605b0) ☣
  • Processor: Hooks rework (#261, 1408b78) ☣
  • Processor: New contract \LastDragon_ru\LaraASP\Documentator\Processor\Contracts\Container (26f463c) ☣
  • Processor: Paired events (#275, 9c4d197) ☣
  • Processor: Processor can delete files/directories (#277, 5f97488) ☣
  • Processor: Removed string, ~input/, ~output/ support in \LastDragon_ru\LaraASP\Documentator\Processor\Contracts\Resolver (dcaa4de) ☣
  • Processor: Removed deprecated \LastDragon_ru\LaraASP\Documentator\Processor\Tasks\Preprocess\Instructions\IncludePackageList\Instruction (include:package-list) instruction (573506f) ☣
  • Processor: Resolver/Dependencies rework and improvements (54357a9) ☣
  • Processor: Return type of \LastDragon_ru\LaraASP\Documentator\Processor\Contracts\Resolver::save() changed to void, no dependency events will be emitted (827ebfd) ☣
  • Processor: Rework of \LastDragon_ru\LaraASP\Documentator\Processor\Listeners\Console\Listener with all events and customization support (a1a601a) ☣
  • Processor: Saved files will be pushed to the queue for further processing (21382cd)
  • Processor: Smart files cache for \LastDragon_ru\LaraASP\Documentator\Processor\FileSystem\FileSystem (files will be removed if they were not used during several commits) (e703b08)
  • Processor: Tasks can push dependencies for later processing (#248, 6a9006d) ☣
  • Processor: Tasks/Casts will use globs instead of extensions (#263, 0d6f2a3) ☣
  • Processor: The lastdragon-ru/glob-matcher will be used instead of \Symfony\Component\Finder\Glob (6c94b2c)

Bug Fixes

  • Markdown: Autolink locations (35f4b63)
  • Markdown: Handling ./.. paths in \LastDragon_ru\LaraASP\Documentator\Markdown\Mutations\Document\Move mutation (f7273d8)
  • Processor: \LastDragon_ru\LaraASP\Documentator\Processor\FileSystem\Adapters\SymfonyFileSystem will not ignore vcs directories if $hidden = true (ec9c77f)
  • Processor: \LastDragon_ru\LaraASP\Documentator\Processor\FileSystem\FileSystem::getPathname() for external files/directories (86ab569)
  • Processor: \LastDragon_ru\LaraASP\Documentator\Processor\FileSystem\FileSystem::getPathname() will resolve relative paths based on input directory (b63912d)
  • Processor: \LastDragon_ru\LaraASP\Documentator\Processor\Listeners\Console\Listener counting filesystem changes (fb1b06d)
  • Processor: Events for @before/@after hooks will be emitted only if actions defined for them (8e43530)
  • Processor: Immediate self-references will not fail with "circular dependency" error (de01931)
  • Processor: Include/Exclude paths check on windows (paths normalization added) (4b47857)
  • Processor: Output directory escaping while creating exclude glob pattern (51a957f)
  • Processor: Queued files will be processed right after the current file (they were delayed until all files are done) (9f3ef00)
  • Processor: Skipped files will not emit "skipped" event when queue (9acd12b)

Miscellaneous

  • Removed unused symfony/deprecation-contracts (b6673ef)

Code Refactoring

  • Processor: \LastDragon_ru\LaraASP\Documentator\Processor\Contracts\FileSystemAdapter renamed to \LastDragon_ru\LaraASP\Documentator\Processor\Contracts\Adapter (1925a23) ☣
  • Processor: \LastDragon_ru\LaraASP\Documentator\Processor\Events\DependencyBegin and \LastDragon_ru\LaraASP\Documentator\Processor\Events\DependencyEnd merged into \LastDragon_ru\LaraASP\Documentator\Processor\Events\Dependency (2484576) ☣
  • Processor: \LastDragon_ru\LaraASP\Documentator\Processor\Listeners\Console\Listener renamed to \LastDragon_ru\LaraASP\Documentator\Processor\Logger\Logger (372bd89) ☣
  • Processor: \LastDragon_ru\LaraASP\Documentator\Processor\Tasks\Hook renamed to \LastDragon_ru\LaraASP\Documentator\Processor\Hook (a489cc6) ☣
  • Processor: $include/$exclude accept list<string> only (c231430) ☣
  • Processor: Better \LastDragon_ru\LaraASP\Documentator\Processor\Tasks\Hook names (05bd21b) ☣
  • Processor: Metadata renamed to cast (#260, 514bf26) ☣
  • Processor: New contract \LastDragon_ru\LaraASP\Documentator\Processor\Contracts\FileSystemAdapter (from \LastDragon_ru\LaraASP\Documentator\Processor\FileSystem\Adapter) (d262c1e) ☣
  • Processor: No generators to resolve dependencies (#244, 48092e7) ☣
  • Processor: Removed \LastDragon_ru\LaraASP\Documentator\Processor\FileSystem\Hook::Context and \LastDragon_ru\LaraASP\Documentator\Processor\Dependencies\Context (748a41c) ☣
  • Processor: The string will not be used internally for file/directory path (5ed3ea6) ☣

Package glob-matcher

Features

  • Added \LastDragon_ru\GlobMatcher\GlobMatcher::escape() (should be used instead of \LastDragon_ru\GlobMatcher\GlobUtils::escape()) (63209ee) ☣
  • Added \LastDragon_ru\GlobMatcher\GlobUtils::escape() to escape glob pattern (de3b742)
  • Expose \LastDragon_ru\GlobMatcher\GlobMatcher::$options and \LastDragon_ru\GlobMatcher\Glob\Glob::$options (db93eda)
  • New \LastDragon_ru\GlobMatcher\Contracts\Matcher contract (1905be2) ☣
  • New package (#258, 03b4f4e)

Bug Fixes

  • Missed symfony/polyfill-php84 dependency (fa98269)

Code Refactoring

  • \LastDragon_ru\GlobMatcher\GlobMatcher::regex() marked as private (557c500) ☣

Package lara-asp-graphql

Bug Fixes

  • Compatibility with nuwave/lighthouse:>=6.62.1 (1aa24e0)

Package graphql-printer

Features

Deprecations πŸ’€

  • \LastDragon_ru\LaraASP\GraphQLPrinter\Blocks\Document\Directives::__construct($deprecationReason) (291cf41)

Miscellaneous

  • Package renamed to lastdragon-ru/graphql-printer (7da52eb) ☣

Package lara-asp-graphql-testing

Features

Bug Fixes

  • Missed symfony/polyfill-php84 dependency (fa98269)

Code Refactoring

  • Classes rename (#281, 4eedd4f) ☣
  • GraphQL assertions don't accept \SplFileInfo anymore (32a1b1f) ☣

Package lara-asp-testing

Deprecations πŸ’€

  • \LastDragon_ru\LaraASP\Testing\Concerns\StrictScalarCompare (dc64632)
  • \LastDragon_ru\LaraASP\Testing\Requirements\PhpUnit\Extension (f790ac3)
  • \LastDragon_ru\LaraASP\Testing\Utils\WithTestData and \LastDragon_ru\LaraASP\Testing\Utils\TestData (467d285)

Package path

Features

  • Added \LastDragon_ru\Path\Path::$type that should be used instead of \LastDragon_ru\Path\Path::$absolute/\LastDragon_ru\Path\Path::$relative properties (#267, a619a82) ☣
  • Basic support for Universal Naming Convention (UNC) (9c43105)
  • More types and Windows relative path resolution (#270, 4caed8d) ☣
  • New package 😊 (#266, 177b9e5)
  • Path root normalization (= it will be always in normalized form for easy use) (c33262e)
  • The ~username will be treatment as a new \LastDragon_ru\Path\Type::User (977fb24)

Performance Improvements

  • \LastDragon_ru\Path\Path::equals() fast check for identical (34449d3)

Bug Fixes

  • Missed symfony/polyfill-php84 dependency (fa98269)
  • The ~ will be treatment as \LastDragon_ru\Path\Type::Home instead of \LastDragon_ru\Path\Type::Relative. Also, the normalized form of ./~ is ./~ (not just ~) to avoid type changes (509b12a)

Package phpunit-extensions

Features

  • New package (#282, fa925bf)
  • New extension \LastDragon_ru\PhpUnit\Extensions\Requirements\Extension (327bb7f)
  • New extension \LastDragon_ru\PhpUnit\Extensions\StrictScalarCompare\Extension (631b08b)
  • New utility \LastDragon_ru\PhpUnit\Utils\TestData (6d90783)

Package phpunit-graphql

Features

  • New package (37b7114) ☣
  • Package graphql-printer-testing renamed to phpunit-graphql (#280, 907ac37) ☣

Code Refactoring

  • Classes rename (#281, 4eedd4f) ☣
  • GraphQL assertions don't accept \SplFileInfo anymore (32a1b1f) ☣

Package lara-asp-serializer

Features

  • New \LastDragon_ru\LaraASP\Serializer\Normalizers\EnumNormalizer for \UnitEnum and \BackedEnum (3c6dcca)

Bug Fixes

  • Compatibility with symfony/serializer:>=7.3.1 (dd87931)

Deprecations πŸ’€

  • Removed \LastDragon_ru\LaraASP\Serializer\Normalizers\UnitEnumNormalizer (7a32e94) ☣

Package lara-asp-spa

Code Refactoring

  • Several classes were moved to lara-asp-testing package (adc9370) ☣

Package lara-asp-testing

Bug Fixes

  • Comparators will not use @internal classes from sebastian/comparator (compatibility with sebastian/comparator:>=7.1.2) (8df95b6)

Package text-parser

Features

Bug Fixes

  • \LastDragon_ru\DiyParser\Iterables\TokenUnescapeIterable will preserve escape before non-escapable tokens (e66f885)