{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":1398636,"defaultBranch":"7.0","name":"dependency-injection","ownerLogin":"symfony","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2011-02-22T18:01:53.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/143937?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1714655155.0","currentOid":""},"activityList":{"items":[{"before":"cf9b56436410b4e3534cb6c507ed053147cd9881","after":"581fde02cbb328474753dc09a7f12cde1541c16e","ref":"refs/heads/7.1","pushedAt":"2024-05-13T18:57:59.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"symfony-splitter","name":"Symfony Git Splitter","path":"/symfony-splitter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7566209?s=80&v=4"},"commit":{"message":"bug #54908 [DependencyInjection] Fix \"Cannot replace arguments\" errors caused by ResolveAutowireInlineAttributesPass (nicolas-grekas)\n\nThis PR was merged into the 7.1 branch.\n\nDiscussion\n----------\n\n[DependencyInjection] Fix \"Cannot replace arguments\" errors caused by ResolveAutowireInlineAttributesPass\n\n| Q | A\n| ------------- | ---\n| Branch? | 7.1\n| Bug fix? | yes\n| New feature? | no\n| Deprecations? | no\n| Issues | Fix #54823\n| License | MIT\n\nCommits\n-------\n\n3b182281be [DependencyInjection] Fix \"Cannot replace arguments\" errors caused by ResolveAutowireInlineAttributesPass","shortMessageHtmlLink":"bug #54908 [DependencyInjection] Fix \"Cannot replace arguments\" error…"}},{"before":"dc8a8c25c74a7f66cdeaa86feb29242eeaea1b56","after":"cf9b56436410b4e3534cb6c507ed053147cd9881","ref":"refs/heads/7.1","pushedAt":"2024-05-13T15:36:14.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"symfony-splitter","name":"Symfony Git Splitter","path":"/symfony-splitter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7566209?s=80&v=4"},"commit":{"message":"Merge branch '7.0' into 7.1\n\n* 7.0:\n replace wurstmeister Docker images for Kafka and Zookeeper\n [PasswordHasher] Make bcrypt nul byte hash test tolerant to PHP related failures\n [HttpClient] Revert fixing curl default options\n [VarExporter] fix proxy helper when a method returns null\n [Validator] Update Dutch (nl) translation\n Fix exception thrown during `LDAP_MODIFY_BATCH_REMOVE_ALL` batch operations\n Fix various warnings across components test suite","shortMessageHtmlLink":"Merge branch '7.0' into 7.1"}},{"before":"48b612fada0a1c4c27e270c9860bec031a8b7682","after":"734ba81885a7e2e2550460f66f74633d0acf4ca9","ref":"refs/heads/7.0","pushedAt":"2024-05-13T15:34:43.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"symfony-splitter","name":"Symfony Git Splitter","path":"/symfony-splitter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7566209?s=80&v=4"},"commit":{"message":"Merge branch '6.4' into 7.0\n\n* 6.4:\n replace wurstmeister Docker images for Kafka and Zookeeper\n [PasswordHasher] Make bcrypt nul byte hash test tolerant to PHP related failures\n [HttpClient] Revert fixing curl default options\n [VarExporter] fix proxy helper when a method returns null\n [Validator] Update Dutch (nl) translation\n Fix exception thrown during `LDAP_MODIFY_BATCH_REMOVE_ALL` batch operations\n Fix various warnings across components test suite","shortMessageHtmlLink":"Merge branch '6.4' into 7.0"}},{"before":"d8c5f9781b71c2a868ae9d0e5c9b283684740b6d","after":"3796bd8a211023c3465620e05efb26e02024c809","ref":"refs/heads/6.4","pushedAt":"2024-05-13T15:31:48.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"symfony-splitter","name":"Symfony Git Splitter","path":"/symfony-splitter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7566209?s=80&v=4"},"commit":{"message":"Merge branch '5.4' into 6.4\n\n* 5.4:\n replace wurstmeister Docker images for Kafka and Zookeeper\n [PasswordHasher] Make bcrypt nul byte hash test tolerant to PHP related failures\n [HttpClient] Revert fixing curl default options\n [Validator] Update Dutch (nl) translation\n Fix exception thrown during `LDAP_MODIFY_BATCH_REMOVE_ALL` batch operations\n Fix various warnings across components test suite","shortMessageHtmlLink":"Merge branch '5.4' into 6.4"}},{"before":"5b4505f2afbe1d11d43a3917d0c1c178a38f6f19","after":"3c1d9959d0d003500648e4178a9af699c88b8382","ref":"refs/heads/5.4","pushedAt":"2024-05-04T17:18:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"symfony-splitter","name":"Symfony Git Splitter","path":"/symfony-splitter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7566209?s=80&v=4"},"commit":{"message":"Fix various warnings across components test suite","shortMessageHtmlLink":"Fix various warnings across components test suite"}},{"before":"429ca628a25e7bced76689d01524d5106b1c1ca3","after":"dc8a8c25c74a7f66cdeaa86feb29242eeaea1b56","ref":"refs/heads/7.1","pushedAt":"2024-05-03T12:44:51.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"symfony-splitter","name":"Symfony Git Splitter","path":"/symfony-splitter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7566209?s=80&v=4"},"commit":{"message":"Merge branch '7.0' into 7.1\n\n* 7.0:\n [HttpClient] Fix cURL default options\n remove no longer needed PHP version check","shortMessageHtmlLink":"Merge branch '7.0' into 7.1"}},{"before":"4db1314337f4dd864113f88e08c9a7f98b1c1324","after":"48b612fada0a1c4c27e270c9860bec031a8b7682","ref":"refs/heads/7.0","pushedAt":"2024-05-03T09:03:31.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"symfony-splitter","name":"Symfony Git Splitter","path":"/symfony-splitter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7566209?s=80&v=4"},"commit":{"message":"remove no longer needed PHP version check","shortMessageHtmlLink":"remove no longer needed PHP version check"}},{"before":"ee8154cee093352ac825bfef9dca6dc8f6efc539","after":"429ca628a25e7bced76689d01524d5106b1c1ca3","ref":"refs/heads/7.1","pushedAt":"2024-05-02T09:19:15.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"symfony-splitter","name":"Symfony Git Splitter","path":"/symfony-splitter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7566209?s=80&v=4"},"commit":{"message":"[DependencyInjection] Reset env vars when resetting the container","shortMessageHtmlLink":"[DependencyInjection] Reset env vars when resetting the container"}},{"before":"4a57a11c260743084a313afb72cf28ad2ab1ef0e","after":"ee8154cee093352ac825bfef9dca6dc8f6efc539","ref":"refs/heads/7.1","pushedAt":"2024-05-02T09:07:53.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"symfony-splitter","name":"Symfony Git Splitter","path":"/symfony-splitter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7566209?s=80&v=4"},"commit":{"message":"Finish implementing AutowireInline attribute","shortMessageHtmlLink":"Finish implementing AutowireInline attribute"}},{"before":"7db5f8a2c9245594b735eb4bbf667a6585fa71a5","after":"4a57a11c260743084a313afb72cf28ad2ab1ef0e","ref":"refs/heads/7.1","pushedAt":"2024-05-02T08:52:08.000Z","pushType":"push","commitsCount":6,"pusher":{"login":"symfony-splitter","name":"Symfony Git Splitter","path":"/symfony-splitter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7566209?s=80&v=4"},"commit":{"message":"feature #54371 [DependencyInjection] Deprecate `#[TaggedIterator]` and `#[TaggedLocator]` (GromNaN)\n\nThis PR was merged into the 7.1 branch.\n\nDiscussion\n----------\n\n[DependencyInjection] Deprecate `#[TaggedIterator]` and `#[TaggedLocator]`\n\n| Q | A\n| ------------- | ---\n| Branch? | 7.1\n| Bug fix? | no\n| New feature? | no\n| Deprecations? | yes\n| Issues | Planned in #51832\n| License | MIT\n\n`#[TaggedIterator]` and `#[TaggedLocator]` attributes are replaced by `#[AutowireIterator]` and `#[AutowireLocator]`, for naming consistency with all `#[Autowire*]` attributes.\n\nCommits\n-------\n\n4bc6bedfdb Deprecate #[TaggedIterator] and #[TaggedLocator]","shortMessageHtmlLink":"feature #54371 [DependencyInjection] Deprecate #[TaggedIterator] an…"}},{"before":"ff57b5c7d518c39eeb4e69dc0d1ec70723a117b9","after":"4db1314337f4dd864113f88e08c9a7f98b1c1324","ref":"refs/heads/7.0","pushedAt":"2024-04-18T09:38:50.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"symfony-splitter","name":"Symfony Git Splitter","path":"/symfony-splitter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7566209?s=80&v=4"},"commit":{"message":"Merge branch '6.4' into 7.0\n\n* 6.4:\n Auto-close PRs on subtree-splits\n review German translation","shortMessageHtmlLink":"Merge branch '6.4' into 7.0"}},{"before":"31417777509923b22de5c6fb6b3ffcdebde37cb5","after":"d8c5f9781b71c2a868ae9d0e5c9b283684740b6d","ref":"refs/heads/6.4","pushedAt":"2024-04-18T09:28:28.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"symfony-splitter","name":"Symfony Git Splitter","path":"/symfony-splitter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7566209?s=80&v=4"},"commit":{"message":"Merge branch '5.4' into 6.4\n\n* 5.4:\n Auto-close PRs on subtree-splits\n review German translation","shortMessageHtmlLink":"Merge branch '5.4' into 6.4"}},{"before":"0ba1fa459d284a9398c71afa1cb5d13de025de17","after":"5b4505f2afbe1d11d43a3917d0c1c178a38f6f19","ref":"refs/heads/5.4","pushedAt":"2024-04-18T09:15:40.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"symfony-splitter","name":"Symfony Git Splitter","path":"/symfony-splitter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7566209?s=80&v=4"},"commit":{"message":"Auto-close PRs on subtree-splits","shortMessageHtmlLink":"Auto-close PRs on subtree-splits"}},{"before":"d9dc33ee4ed3fc31ced54f40be4a8393c1b4e457","after":"7db5f8a2c9245594b735eb4bbf667a6585fa71a5","ref":"refs/heads/7.1","pushedAt":"2024-04-13T07:24:05.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"symfony-splitter","name":"Symfony Git Splitter","path":"/symfony-splitter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7566209?s=80&v=4"},"commit":{"message":"[DependencyInjection] Cast env vars to null or bool when referencing them using `#[Autowire(env: '...')]` depending on the signature of the corresponding parameter","shortMessageHtmlLink":"[DependencyInjection] Cast env vars to null or bool when referencing …"}},{"before":"bb3488d41837e17e74ae8b5178c7273c7a6b3b83","after":"d9dc33ee4ed3fc31ced54f40be4a8393c1b4e457","ref":"refs/heads/7.1","pushedAt":"2024-04-05T14:01:43.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"symfony-splitter","name":"Symfony Git Splitter","path":"/symfony-splitter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7566209?s=80&v=4"},"commit":{"message":"minor #54481 [DependencyInjection] Document BC break in UPGRADE file (OskarStark)\n\nThis PR was squashed before being merged into the 7.1 branch.\n\nDiscussion\n----------\n\n[DependencyInjection] Document BC break in UPGRADE file\n\n| Q | A\n| ------------- | ---\n| Branch? | 7.1\n| Bug fix? | no\n| New feature? | no\n| Deprecations? | no\n| Issues | Follows #52843\n| License | MIT\n\nCommits\n-------\n\n055892d7d3 [DependencyInjection] Document BC break in UPGRADE file","shortMessageHtmlLink":"minor #54481 [DependencyInjection] Document BC break in UPGRADE file …"}},{"before":"3d5b293aaa7a71df408a8e217212ff559c669df2","after":"bb3488d41837e17e74ae8b5178c7273c7a6b3b83","ref":"refs/heads/7.1","pushedAt":"2024-04-05T11:36:35.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"symfony-splitter","name":"Symfony Git Splitter","path":"/symfony-splitter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7566209?s=80&v=4"},"commit":{"message":"feature #54496 [Contracts] Rename ServiceSubscriberTrait to ServiceMethodsSubscriberTrait (nicolas-grekas)\n\nThis PR was merged into the 7.1 branch.\n\nDiscussion\n----------\n\n[Contracts] Rename ServiceSubscriberTrait to ServiceMethodsSubscriberTrait\n\n| Q | A\n| ------------- | ---\n| Branch? | 7.1\n| Bug fix? | no\n| New feature? | no\n| Deprecations? | yes\n| Issues | Fix #54490\n| License | MIT\n\nAs described in the linked PR, AbstractController is incompatible with ServiceSubscriberTrait because of the added type to the AbstractController::$container property, while ServiceSubscriberTrait's $container property cannot have a type without a BC break.\n\nThere are two parts to this PR:\n- Deprecate ServiceSubscriberTrait in favor if ServiceMethodsSubscriberTrait, which declares the type of the $container property. The new name better conveys its purpose as a bonus.\n- Fix the incompatibility with AbstractController by removing the property declaration on ServiceSubscriberTrait. This means the\n trait will create a dynamic property. Those are deprecated, but since the trait is also deprecated, the upgrade path is clear.\n\nI also tried to improve the description of the trait in the meantime.\n\n/cc `@kbond`\n\nCommits\n-------\n\n8f47ced9dd [Contracts] Rename ServiceSubscriberTrait to ServiceMethodsSubscriberTrait","shortMessageHtmlLink":"feature #54496 [Contracts] Rename ServiceSubscriberTrait to ServiceMe…"}},{"before":"24018f5f132e5ecb4c6238e5421d347ec9cd91c9","after":"3d5b293aaa7a71df408a8e217212ff559c669df2","ref":"refs/heads/7.1","pushedAt":"2024-04-05T05:57:03.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"symfony-splitter","name":"Symfony Git Splitter","path":"/symfony-splitter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7566209?s=80&v=4"},"commit":{"message":"feature #54414 [DependencyInjection] Improve the error message when there is no extension to load some configuration (javiereguiluz)\n\nThis PR was squashed before being merged into the 7.1 branch.\n\nDiscussion\n----------\n\n[DependencyInjection] Improve the error message when there is no extension to load some configuration\n\n| Q | A\n| ------------- | ---\n| Branch? | 7.1\n| Bug fix? | no\n| New feature? | yes\n| Deprecations? | no\n| Issues | #54336\n| License | MIT\n\nThis implements the idea proposed by Nicolas in https://github.com/symfony/symfony/issues/54336#issuecomment-2011370849\n\nCommits\n-------\n\nc0e825f82a [DependencyInjection] Improve the error message when there is no extension to load some configuration","shortMessageHtmlLink":"feature #54414 [DependencyInjection] Improve the error message when t…"}},{"before":"55d16f0116ac166d92412190f0539ca886dd6462","after":"24018f5f132e5ecb4c6238e5421d347ec9cd91c9","ref":"refs/heads/7.1","pushedAt":"2024-04-03T20:12:08.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"symfony-splitter","name":"Symfony Git Splitter","path":"/symfony-splitter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7566209?s=80&v=4"},"commit":{"message":"feature #52843 [DependencyInjection] Prepending extension configs with file loaders (yceruto)\n\nThis PR was merged into the 7.1 branch.\n\nDiscussion\n----------\n\n[DependencyInjection] Prepending extension configs with file loaders\n\n| Q | A\n| ------------- | ---\n| Branch? | 7.1\n| Bug fix? | no\n| New feature? | yes\n| Deprecations? | no\n| Issues | Fix #52789\n| License | MIT\n\nhttps://github.com/symfony/symfony/pull/52636 continuation.\n\nThis is another try to simplify even more the prepending extension config strategy for Bundles and Extensions.\n\nFeature: \"Import and prepend an extension configuration from an external YAML, XML or PHP file\"\n\n> Useful when you need to pre-configure some functionalities in your app, such as mapping some DBAL types provided by your bundle, or simply pre-configuring some default values automatically when your bundle is installed, without losing the ability to override them if desired in userland.\n\n```php\nclass AcmeFooBundle extends AbstractBundle\n{\n public function prependExtension(ContainerConfigurator $container, ContainerBuilder $builder): void\n {\n // Before\n $config = Yaml::parse(file_get_contents(__DIR__.'/../config/doctrine.yaml'));\n $builder->prependExtensionConfig('doctrine', $config['doctrine']);\n\n // After\n $container->import('../config/doctrine.yaml');\n }\n}\n```\nThe \"Before\" section is limited to importing/parsing this kind of configuration by hand; it doesn't support features like `when@env`, recursive importing, or defining parameters/services in the same file. Further, you can't simply use `ContainerConfigurator::import()` or any `*FileLoader::load()` here, as they will append the extension config instead of prepending it, defeating the prepend method purpose and breaking your app's config strategy. Thus, you are forced to use `$builder->prependExtensionConfig()` as the only way.\n\n> This is because if you append any extension config using `$container->import()`, then you won't be able to change that config in your app as it's merged with priority. If anyone is doing that currently, it shouldn't be intentional.\n\nTherefore, the \"After\" proposal changes that behavior for `$container->import()`. *Now, all extension configurations encountered in your external file will be prepended instead. BUT, this will only happen here, at this moment, during the `prependExtension()` method.*\n\nOf course, this little behavior change is a \"BC break\". However, it is a behavior that makes more sense than the previous one, enabling the usage of `ContainerConfigurator::import()` here, which was previously ineffective.\n\nThis capability is also available for `YamlFileLoader`, `XmlFileLoader` and `PhpFileLoader` through a new boolean constructor argument:\n```php\nclass AcmeFooBundle extends AbstractBundle\n{\n public function prependExtension(ContainerConfigurator $container, ContainerBuilder $builder): void\n {\n // Before\n // - It can't be used for prepending config purposes\n\n // After\n $loader = new YamlFileLoader($builder, new FileLocator(__DIR__.'/../config/'), prepend: true);\n $loader->load('doctrine.yaml'); // now it prepends extension configs as default behavior\n // or\n $loader->import('prepend/*.yaml');\n }\n}\n```\nThese changes only affect the loading strategy for extension configs; everything else keeps working as before.\n\nCheers!\n\nCommits\n-------\n\n6ffd70662e prepend extension configs with file loaders","shortMessageHtmlLink":"feature #52843 [DependencyInjection] Prepending extension configs wit…"}},{"before":"af02616263a9c7279dbcbfde7bcdda759baf6c7c","after":"55d16f0116ac166d92412190f0539ca886dd6462","ref":"refs/heads/7.1","pushedAt":"2024-04-01T19:05:09.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"symfony-splitter","name":"Symfony Git Splitter","path":"/symfony-splitter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7566209?s=80&v=4"},"commit":{"message":"Remove unnecessary empty usages","shortMessageHtmlLink":"Remove unnecessary empty usages"}},{"before":"6928ba4fa26b40537a0ff384ce046d7061c62078","after":"af02616263a9c7279dbcbfde7bcdda759baf6c7c","ref":"refs/heads/7.1","pushedAt":"2024-03-28T22:32:54.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"symfony-splitter","name":"Symfony Git Splitter","path":"/symfony-splitter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7566209?s=80&v=4"},"commit":{"message":"Merge branch '7.0' into 7.1\n\n* 7.0:\n Fix implicit nullable parameters\n stop marking parameters implicitly as nullable\n include message id provided by the MTA when dispatching the SentMessageEvent\n Remove whitespaces from block form_help\n Fix TypeError on ProgressBar","shortMessageHtmlLink":"Merge branch '7.0' into 7.1"}},{"before":"ed1860ef8d4fa68fb79e93f6994722c05788c31f","after":"ff57b5c7d518c39eeb4e69dc0d1ec70723a117b9","ref":"refs/heads/7.0","pushedAt":"2024-03-28T09:21:37.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"symfony-splitter","name":"Symfony Git Splitter","path":"/symfony-splitter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7566209?s=80&v=4"},"commit":{"message":"Merge branch '6.4' into 7.0\n\n* 6.4:\n stop marking parameters implicitly as nullable\n include message id provided by the MTA when dispatching the SentMessageEvent","shortMessageHtmlLink":"Merge branch '6.4' into 7.0"}},{"before":"c8d73fd6d33187d4ac979f759cece7cc00a79618","after":"31417777509923b22de5c6fb6b3ffcdebde37cb5","ref":"refs/heads/6.4","pushedAt":"2024-03-28T09:19:05.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"symfony-splitter","name":"Symfony Git Splitter","path":"/symfony-splitter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7566209?s=80&v=4"},"commit":{"message":"stop marking parameters implicitly as nullable","shortMessageHtmlLink":"stop marking parameters implicitly as nullable"}},{"before":"459f0552dc2bfb33bf688a1866f4fd30ed1ecfc9","after":"6928ba4fa26b40537a0ff384ce046d7061c62078","ref":"refs/heads/7.1","pushedAt":"2024-03-23T11:09:25.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"symfony-splitter","name":"Symfony Git Splitter","path":"/symfony-splitter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7566209?s=80&v=4"},"commit":{"message":"fix test","shortMessageHtmlLink":"fix test"}},{"before":"08f82c767bcde61d1a383174c75d92d3ac94e84e","after":"459f0552dc2bfb33bf688a1866f4fd30ed1ecfc9","ref":"refs/heads/7.1","pushedAt":"2024-03-23T07:16:06.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"symfony-splitter","name":"Symfony Git Splitter","path":"/symfony-splitter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7566209?s=80&v=4"},"commit":{"message":"feature #54365 [DependencyInjection] Apply attribute configurator to child classes (GromNaN)\n\nThis PR was squashed before being merged into the 7.1 branch.\n\nDiscussion\n----------\n\n[DependencyInjection] Apply attribute configurator to child classes\n\n| Q | A\n| ------------- | ---\n| Branch? | 7.1\n| Bug fix? | no\n| New feature? | yes\n| Deprecations? | no\n| Issues | Fix #52898\n| License | MIT\n\nThis allows extending attribute classes registered for autoconfiguration.\n\nUse-case: Share configuration between several classes with pre-configured attribute classes. As described in #52898 (bus name for `AsMessageHandler`, schedule name for `AsCronTask` and `AsPeriodicTask`)\n\nThe child-class attribute is handled by the same function as it's parent class that is registered for autoconfiguration. This means any additional property will be ignored (unless supported, which could be new feature for the `AsTaggedItem` attribute configurator).\n\nIf there is a configurator for the child class, the configurator for the parent class is not called.\n\nCommits\n-------\n\n69dc71be6d [DependencyInjection] Apply attribute configurator to child classes","shortMessageHtmlLink":"feature #54365 [DependencyInjection] Apply attribute configurator to …"}},{"before":"e18f6f05b7724482c7150043b79799fc3cf8d632","after":"08f82c767bcde61d1a383174c75d92d3ac94e84e","ref":"refs/heads/7.1","pushedAt":"2024-03-22T07:03:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"symfony-splitter","name":"Symfony Git Splitter","path":"/symfony-splitter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7566209?s=80&v=4"},"commit":{"message":"[DependencyInjection] Update an error message","shortMessageHtmlLink":"[DependencyInjection] Update an error message"}},{"before":"82dd792a4e21fba77e8248a4b8784031f0667421","after":"e18f6f05b7724482c7150043b79799fc3cf8d632","ref":"refs/heads/7.1","pushedAt":"2024-03-20T15:34:40.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"symfony-splitter","name":"Symfony Git Splitter","path":"/symfony-splitter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7566209?s=80&v=4"},"commit":{"message":"minor #54325 chore: CS fixes (keradus)\n\nThis PR was squashed before being merged into the 7.1 branch.\n\nDiscussion\n----------\n\nchore: CS fixes\n\n| Q | A\n| ------------- | ---\n| Branch? | 7.1\n| Bug fix? | no\n| New feature? | no \n| Deprecations? | no \n| Issues | Fix CS \n| License | MIT\n\nFew steps closer to clean CS (`php-cs-fixer fix` not reporting any issues)\n\nCommits\n-------\n\n023ed3ee7d chore: CS fixes","shortMessageHtmlLink":"minor #54325 chore: CS fixes (keradus)"}},{"before":"b332e24c10b61835e2f49835f422116711c83651","after":"82dd792a4e21fba77e8248a4b8784031f0667421","ref":"refs/heads/7.1","pushedAt":"2024-03-19T11:58:38.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"symfony-splitter","name":"Symfony Git Splitter","path":"/symfony-splitter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7566209?s=80&v=4"},"commit":{"message":"Merge branch '7.0' into 7.1\n\n* 7.0:\n [HttpFoundation] Allow array style callable setting for Request setFactory method\n Make more nullable types explicit\n Add more explicit nullable types for default null values","shortMessageHtmlLink":"Merge branch '7.0' into 7.1"}},{"before":"84aa01529ff358744e35f14e5cbffa7aa1e49fdd","after":"ed1860ef8d4fa68fb79e93f6994722c05788c31f","ref":"refs/heads/7.0","pushedAt":"2024-03-19T11:57:42.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"symfony-splitter","name":"Symfony Git Splitter","path":"/symfony-splitter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7566209?s=80&v=4"},"commit":{"message":"Merge branch '6.4' into 7.0\n\n* 6.4:\n Make more nullable types explicit\n Add more explicit nullable types for default null values","shortMessageHtmlLink":"Merge branch '6.4' into 7.0"}},{"before":"bfe877986f7264211704e65633900298110b31ec","after":"c8d73fd6d33187d4ac979f759cece7cc00a79618","ref":"refs/heads/6.4","pushedAt":"2024-03-19T11:57:17.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"symfony-splitter","name":"Symfony Git Splitter","path":"/symfony-splitter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7566209?s=80&v=4"},"commit":{"message":"Merge branch '5.4' into 6.4\n\n* 5.4:\n Make more nullable types explicit\n Add more explicit nullable types for default null values","shortMessageHtmlLink":"Merge branch '5.4' into 6.4"}},{"before":"cc1fb237cd0e6da33005062b13b8485deb6e4440","after":"0ba1fa459d284a9398c71afa1cb5d13de025de17","ref":"refs/heads/5.4","pushedAt":"2024-03-19T09:55:56.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"symfony-splitter","name":"Symfony Git Splitter","path":"/symfony-splitter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7566209?s=80&v=4"},"commit":{"message":"Add more explicit nullable types for default null values","shortMessageHtmlLink":"Add more explicit nullable types for default null values"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAESLygIgA","startCursor":null,"endCursor":null}},"title":"Activity · symfony/dependency-injection"}