Skip to content

Releases: olvlvl/composer-attribute-collector

v2.1.0

17 Jun 10:46
Compare
Choose a tag to compare

New Requirements

None

New features

  • #38 Attributes are now collected from interfaces and traits as well as classes. (@olvlvl)

  • #37 Parameter attributes are now collected. Use the method findTargetParameters() to find target parameters, and the method filterTargetParameters() to filter target parameters according to a predicate. (@staabm @olvlvl)

  • #39 The InheritsAttributes attribute can be used on classes that inherit their attributes from traits, properties, or methods, but don't use attributes themselves, and were previously ignored by the collection process. (@olvlvl)

    trait UrlTrait
    {
        #[UrlGetter]
        public function get_url(): string
        {
            return '/url';
        }
    }
    
    #[InheritsAttributes]
    class InheritedAttributeSample
    {
        use UrlTrait;
    }
  • #44 The collector automatically scans autoload paths of the root composer.json for a zero-configuration experience. (@olvlvl)

Deprecated Features

None

Backward Incompatible Changes

None

Other Changes

#35 The collector runs as a command to avoid clashes between packages used by Composer and those used by the application, such as incompatible signatures between different versions of the PSR Logger. (@olvlvl)

Added use cases for incompatible signature, Symfony, and Laravel.

v2.0.2

29 Nov 13:11
Compare
Choose a tag to compare

New Requirements

None

New features

None

Deprecated Features

None

Backward Incompatible Changes

None

Other Changes

  • Fix PHP 8.4 deprecation notice "Implicitly marking parameter * as nullable is deprecated."
  • Simplify attribute creation functions.

v2.0.1

28 Oct 02:03
a3d45a2
Compare
Choose a tag to compare

New Requirements

None

New features

None

Backward Incompatible Changes

None

Deprecated Features

None

Other Changes

v2.0.0

23 Sep 07:51
Compare
Choose a tag to compare

New Requirements

None

New features

  • The plugin now collects attributes on properties. Attributes::findTargetProperties() returns target properties, and filterTargetProperties() filters properties with a predicate.

Backward Incompatible Changes

  • The paths defined by the include and exclude directives are relative to the composer.json file. The {vendor} placeholder is replaced by the absolute path to the vendor directory.

Deprecated Features

  • The ignore-paths directive has been replaced by exclude.

Other Changes

  • The plugin no longer use a file cache by default. To persist a cache between runs, set the environment variable COMPOSER_ATTRIBUTE_COLLECTOR_USE_CACHE to 1, yes, or true.

With caching

25 Mar 11:31
Compare
Choose a tag to compare

New Requirements

None

New features

  • #11 Attribute instantiation errors are decorated to help find origin (@withinboredom @olvlvl)
  • #12 Attributes::filterTargetClasses() can filter target classes using a predicate (@olvlvl)
  • #12 Attributes::filterTargetMethods() can filter target methods using a predicate. Attributes::predicateForAttributeInstanceOf() can be used to create a predicate to filter classes or methods targeted by an attribute class or subclass (@olvlvl)
  • #10 3 types of cache speed up generation by limiting updates to changed files (@xepozz @olvlvl)

Backward Incompatible Changes

None

Deprecated Features

None

Other Changes

None

v1.1.1: Add support for out-of-order named arguments (Fix #7) (#8)

19 Mar 15:35
8292473
Compare
Choose a tag to compare

Fixed issue #7 Support named arguments / arguments order (@xepozz)

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy