{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":43197094,"defaultBranch":"7.1","name":"property-info","ownerLogin":"symfony","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2015-09-26T07:48:02.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/143937?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1719580826.0","currentOid":""},"activityList":{"items":[{"before":"24ae20f8b8425f295a6da7ac262aa953dceadda0","after":"164267ae24398b5aa4990bd590f76e3dcca3f01e","ref":"refs/heads/7.2","pushedAt":"2024-07-17T07:43:31.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.1' into 7.2\n\n* 7.1:\n fix compatibility with Redis Relay 0.8.1\n use more entropy with uniqid()\n [Cache] Improve `dbindex` DSN parameter parsing\n Support for PHP-CS-Fixer's parallel runner\n use more entropy with uniqid()\n add tests for TypeInfo types\n [Contracts][HttpClient] Skip tests when zlib's `ob_gzhandler()` doesn't exist\n [Serializer] Raise correct exception in ArrayDenormalizer","shortMessageHtmlLink":"Merge branch '7.1' into 7.2"}},{"before":"46980255ffed8b78bff908d5311861c60098ee14","after":"98dd2414b2d328b35d96678ffd078e4a2fd77146","ref":"refs/heads/7.1","pushedAt":"2024-07-10T06:01:52.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 tests for TypeInfo types\n\nThis change ensures that the tests that have been added in #57617 are\nalso applied when the types from the TypeInfo component are used instead\nof the Type class that is built into the PropertyInfo component.","shortMessageHtmlLink":"add tests for TypeInfo types"}},{"before":"ea1130d8179af0216627656991deee2c7b7a0338","after":"24ae20f8b8425f295a6da7ac262aa953dceadda0","ref":"refs/heads/7.2","pushedAt":"2024-07-09T20:42:56.000Z","pushType":"push","commitsCount":5,"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.1' into 7.2\n\n* 7.1:\n fix merge\n [AssetMapper] Split test dirs in tests\n Fix typo\n Change incorrect check for the `stateless` request attribute\n [Validator] add setGroupProvider to AttributeLoader\n use copy() instead of rename() on Windows\n test: kebab-case to snake_case\n [PropertyInfo] Handle collection in PhpStan same as PhpDoc\n [Messenger] Passing to `WorkerMessageRetriedEvent` envelope with actual stamps after sent","shortMessageHtmlLink":"Merge branch '7.1' into 7.2"}},{"before":"d7b91e4aa07e822a9b935fc29a7254c12d502f16","after":"46980255ffed8b78bff908d5311861c60098ee14","ref":"refs/heads/7.1","pushedAt":"2024-07-09T19:38:44.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 fix merge\n [AssetMapper] Split test dirs in tests\n Fix typo\n Change incorrect check for the `stateless` request attribute\n [Validator] add setGroupProvider to AttributeLoader\n use copy() instead of rename() on Windows\n test: kebab-case to snake_case\n [PropertyInfo] Handle collection in PhpStan same as PhpDoc\n [Messenger] Passing to `WorkerMessageRetriedEvent` envelope with actual stamps after sent","shortMessageHtmlLink":"Merge branch '7.0' into 7.1"}},{"before":"d6fd6539ce1dbcb3955b1c4db8f0b68a45c47d2c","after":"7177b6185ce86d0cd28cab6aa69f0492eae638d4","ref":"refs/heads/7.0","pushedAt":"2024-07-09T19:20:19.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 fix merge\n [AssetMapper] Split test dirs in tests\n Fix typo\n Change incorrect check for the `stateless` request attribute\n use copy() instead of rename() on Windows\n test: kebab-case to snake_case\n [PropertyInfo] Handle collection in PhpStan same as PhpDoc\n [Messenger] Passing to `WorkerMessageRetriedEvent` envelope with actual stamps after sent","shortMessageHtmlLink":"Merge branch '6.4' into 7.0"}},{"before":"1a0357ed93a6ab09482435a7818defaa85cad69b","after":"3c384c76284c150596867fd4134fd14eb7007b4b","ref":"refs/heads/6.4","pushedAt":"2024-07-09T18:31:23.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 Fix typo\n use copy() instead of rename() on Windows\n test: kebab-case to snake_case\n [PropertyInfo] Handle collection in PhpStan same as PhpDoc\n [Messenger] Passing to `WorkerMessageRetriedEvent` envelope with actual stamps after sent","shortMessageHtmlLink":"Merge branch '5.4' into 6.4"}},{"before":"3034bf1c2c34db44a67a45a2395fc2db4b40d34d","after":"ea1130d8179af0216627656991deee2c7b7a0338","ref":"refs/heads/7.2","pushedAt":"2024-07-06T08:23:55.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":"Update .gitattributes","shortMessageHtmlLink":"Update .gitattributes"}},{"before":"2c96c24961cab73bdc9020809bd82bdadd1a10f2","after":"e7202a5039645eab4ba1a954bc34f72f2379b1c5","ref":"refs/heads/5.4","pushedAt":"2024-07-06T04:36:39.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":"[PropertyInfo] Handle collection in PhpStan same as PhpDoc","shortMessageHtmlLink":"[PropertyInfo] Handle collection in PhpStan same as PhpDoc"}},{"before":"25d2990e9d61e2ceb9ecc86b5b56bddae8343775","after":"3034bf1c2c34db44a67a45a2395fc2db4b40d34d","ref":"refs/heads/7.2","pushedAt":"2024-06-27T14:46:21.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.1' into 7.2\n\n* 7.1:\n [PropertyInfo] Fix generics related test","shortMessageHtmlLink":"Merge branch '7.1' into 7.2"}},{"before":"852c7d5718fa983022f8fa7efe01d606f189bd7f","after":"d7b91e4aa07e822a9b935fc29a7254c12d502f16","ref":"refs/heads/7.1","pushedAt":"2024-06-26T08:07:11.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":"[PropertyInfo] Fix generics related test","shortMessageHtmlLink":"[PropertyInfo] Fix generics related test"}},{"before":"88b7bf13d41fc6f06f1676e8d8a10d4af7838e74","after":"25d2990e9d61e2ceb9ecc86b5b56bddae8343775","ref":"refs/heads/7.2","pushedAt":"2024-06-25T20:18:19.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":"Merge branch '7.1' into 7.2\n\n* 7.1: (31 commits)\n [DependencyInjection] Fix phpdoc for $calls\n [Security] check token in payload instead just request\n fix tests\n add missing method\n fix merge\n fix test\n fix merge\n fix test\n change test to use a real ObjectManager\n [Mailer] Document the usage of custom headers in Infobip bridge\n [SecurityBundle] Add `provider` XML attribute to the authenticators it’s missing from\n [DoctrineBridge] Test reset with a true manager\n Sync php-cs-fixer config file with 7.2\n [HttpClient] Fix parsing SSE\n [Notifier] Fix thread key in GoogleChat bridge\n [HttpKernel][Security] Fix accessing session for stateless request\n [Serializer] Fix `ObjectNormalizer` with property path\n test handling of special \"value\" constraint option\n [PhpUnitBridge] Add missing import\n [FrameworkBundle] Fix setting default context for certain normalizers\n ...","shortMessageHtmlLink":"Merge branch '7.1' into 7.2"}},{"before":"0f80f818c6728f15de30a4f89866d68e4912ae84","after":"852c7d5718fa983022f8fa7efe01d606f189bd7f","ref":"refs/heads/7.1","pushedAt":"2024-06-25T19:57:56.000Z","pushType":"push","commitsCount":5,"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: (29 commits)\n fix tests\n add missing method\n fix merge\n fix test\n fix merge\n fix test\n change test to use a real ObjectManager\n [Mailer] Document the usage of custom headers in Infobip bridge\n [SecurityBundle] Add `provider` XML attribute to the authenticators it’s missing from\n [DoctrineBridge] Test reset with a true manager\n Sync php-cs-fixer config file with 7.2\n [HttpClient] Fix parsing SSE\n [Notifier] Fix thread key in GoogleChat bridge\n [HttpKernel][Security] Fix accessing session for stateless request\n [Serializer] Fix `ObjectNormalizer` with property path\n test handling of special \"value\" constraint option\n [PhpUnitBridge] Add missing import\n [FrameworkBundle] Fix setting default context for certain normalizers\n [57251] Missing translations for Romanian (ro)\n [ErrorHandler] Fix rendered exception code highlighting on PHP 8.3\n ...","shortMessageHtmlLink":"Merge branch '7.0' into 7.1"}},{"before":"c2c008c2668093f9b3796c76916eb88d84734950","after":"88b7bf13d41fc6f06f1676e8d8a10d4af7838e74","ref":"refs/heads/7.2","pushedAt":"2024-06-24T16:04:07.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":"chore: CS fixes","shortMessageHtmlLink":"chore: CS fixes"}},{"before":"f03a32b9349352571d5a2b4639dadac461ee94b5","after":"d6fd6539ce1dbcb3955b1c4db8f0b68a45c47d2c","ref":"refs/heads/7.0","pushedAt":"2024-06-22T11:40:33.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 '6.4' into 7.0\n\n* 6.4: (29 commits)\n fix tests\n add missing method\n fix merge\n fix test\n fix merge\n fix test\n change test to use a real ObjectManager\n [Mailer] Document the usage of custom headers in Infobip bridge\n [SecurityBundle] Add `provider` XML attribute to the authenticators it’s missing from\n [DoctrineBridge] Test reset with a true manager\n Sync php-cs-fixer config file with 7.2\n [HttpClient] Fix parsing SSE\n [Notifier] Fix thread key in GoogleChat bridge\n [HttpKernel][Security] Fix accessing session for stateless request\n [Serializer] Fix `ObjectNormalizer` with property path\n test handling of special \"value\" constraint option\n [PhpUnitBridge] Add missing import\n [FrameworkBundle] Fix setting default context for certain normalizers\n [57251] Missing translations for Romanian (ro)\n [ErrorHandler] Fix rendered exception code highlighting on PHP 8.3\n ...","shortMessageHtmlLink":"Merge branch '6.4' into 7.0"}},{"before":"7f544bc6ceb1a6a2283c7af8e8621262c43b7ede","after":"1a0357ed93a6ab09482435a7818defaa85cad69b","ref":"refs/heads/6.4","pushedAt":"2024-06-21T16:05:35.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 '5.4' into 6.4\n\n* 5.4: (21 commits)\n [SecurityBundle] Add `provider` XML attribute to the authenticators it’s missing from\n [DoctrineBridge] Test reset with a true manager\n Sync php-cs-fixer config file with 7.2\n [HttpClient] Fix parsing SSE\n [Notifier] Fix thread key in GoogleChat bridge\n [HttpKernel][Security] Fix accessing session for stateless request\n [Serializer] Fix `ObjectNormalizer` with property path\n test handling of special \"value\" constraint option\n [PhpUnitBridge] Add missing import\n [FrameworkBundle] Fix setting default context for certain normalizers\n [57251] Missing translations for Romanian (ro)\n [ErrorHandler] Fix rendered exception code highlighting on PHP 8.3\n [String] Fix #54611 pluralization of -on ending words + singularization of -a ending foreign words\n [Validator] [UniqueValidator] Use correct variable as parameter in (custom) error message\n [Messenger] Comply with Amazon SQS requirements for message body\n fix cssColor HSLA test dataProvider\n properly handle invalid data for false/true types\n chore: upgrade class doc\n add space in error message\n [Messenger] [Amqp] Handle AMQPConnectionException when publishing a message.\n ...","shortMessageHtmlLink":"Merge branch '5.4' into 6.4"}},{"before":"f7167d90303a911fc73e6168c6a88e69e34e19d2","after":"c2c008c2668093f9b3796c76916eb88d84734950","ref":"refs/heads/7.2","pushedAt":"2024-06-21T06:04: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":"Prefix all sprintf() calls","shortMessageHtmlLink":"Prefix all sprintf() calls"}},{"before":"b999cc2450f81d4527c97c217260dc372601a95d","after":"2c96c24961cab73bdc9020809bd82bdadd1a10f2","ref":"refs/heads/5.4","pushedAt":"2024-06-09T07:25:42.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 #52699 [Serializer] [PropertyAccessor] Ignore non-collection interface generics (mtarld)\n\nThis PR was merged into the 5.4 branch.\n\nDiscussion\n----------\n\n[Serializer] [PropertyAccessor] Ignore non-collection interface generics\n\n| Q | A\n| ------------- | ---\n| Branch? | 5.4\n| Bug fix? | yes\n| New feature? | no\n| Deprecations? | no\n| Issues | Fix #41996 #49924\n| License | MIT\n\n`PhpDocExtractor` and `PhpStanDocExtractor` are following an old version of PSR-5 with used to define collections as the following:\n```\ngeneric = collection-type \"<\" [type-expression \",\" *SP] type-expression \">\"\n```\nBut, it does conflict with non-collection generics.\n\nThis issue will automatically be solved if the `TypeInfo` is merged in Symfony. But for older versions (<7.1 at least), it needs a fix.\n\n~I was not able to find a proper bug fix without introducing a BC break, so this PR proposes to opt-on the \"non-collection generics\" parsing, such as `stcClass` for example.~\n\n~To opt-out from parsing these generics, it'll be required to set `ignore_docblock_generics` in the context. And this key/value will become obsolete as soon as the `TypeInfo` is introduced.~\n\n~I'm not sure how to proceed though, should we only merge it in 5.4, and 6.3 supposing that the `TypeInfo` might be merged in 7.x? Should we document it only in these branches?~\n\nEDIT: I finally ignored PHPDoc generics that aren't well known collection generic types so that the process will fall back to other resolvers (such as reflection resolver for example)\n\nCommits\n-------\n\ne31aeebbba [PropertyAccessor] Fix unexpected collection when generics","shortMessageHtmlLink":"bug #52699 [Serializer] [PropertyAccessor] Ignore non-collection inte…"}},{"before":"b10cb8cf0179aec96769df2affb881ecfc293f79","after":"0f80f818c6728f15de30a4f89866d68e4912ae84","ref":"refs/heads/7.1","pushedAt":"2024-06-04T06:58:27.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 Remove subtree split checks\n Revert \"minor #54653 Auto-close PRs on subtree-splits (nicolas-grekas)\"","shortMessageHtmlLink":"Merge branch '7.0' into 7.1"}},{"before":"4b75c56dc4c14fd198024011ce84c6b7bfd57cc9","after":"f7167d90303a911fc73e6168c6a88e69e34e19d2","ref":"refs/heads/7.2","pushedAt":"2024-06-03T05:57:38.000Z","pushType":"push","commitsCount":7,"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 #57281 [HtmlSanitizer][HttpClient][HttpFoundation][Ldap][Lock][PropertyInfo]  use constructor property promotion (xabbuh)\n\nThis PR was merged into the 7.2 branch.\n\nDiscussion\n----------\n\n[HtmlSanitizer][HttpClient][HttpFoundation][Ldap][Lock][PropertyInfo]  use constructor property promotion\n\n| Q | A\n| ------------- | ---\n| Branch? | 7.2\n| Bug fix? | no\n| New feature? | no\n| Deprecations? | no\n| Issues |\n| License | MIT\n\nCommits\n-------\n\n557641cd88 use constructor property promotion","shortMessageHtmlLink":"minor #57281 [HtmlSanitizer][HttpClient][HttpFoundation][Ldap][Lock][…"}},{"before":"f0bdb46e19ab308527b324b7ec36161f6880a532","after":"f03a32b9349352571d5a2b4639dadac461ee94b5","ref":"refs/heads/7.0","pushedAt":"2024-06-02T17:04:44.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 Remove subtree split checks\n Revert \"minor #54653 Auto-close PRs on subtree-splits (nicolas-grekas)\"","shortMessageHtmlLink":"Merge branch '6.4' into 7.0"}},{"before":"42778ca731b8796e02e237008f4ed871361ddfce","after":"7f544bc6ceb1a6a2283c7af8e8621262c43b7ede","ref":"refs/heads/6.4","pushedAt":"2024-05-31T14:50:41.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 Revert \"minor #54653 Auto-close PRs on subtree-splits (nicolas-grekas)\"","shortMessageHtmlLink":"Merge branch '5.4' into 6.4"}},{"before":"bf257e78b0471e67757af038344919f498af804d","after":"b999cc2450f81d4527c97c217260dc372601a95d","ref":"refs/heads/5.4","pushedAt":"2024-05-31T14:44:11.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":"Revert \"minor #54653 Auto-close PRs on subtree-splits (nicolas-grekas)\"\n\nThis reverts commit 2c9352dd91ebaf37b8a3e3c26fd8e1306df2fb73, reversing\nchanges made to 18c3e87f1512be2cc50e90235b144b13bc347258.","shortMessageHtmlLink":"Revert \"minor #54653 Auto-close PRs on subtree-splits (nicolas-grekas)\""}},{"before":"d3bf2199aec684a6aee9e65b57d6ca57077fac5e","after":"4b75c56dc4c14fd198024011ce84c6b7bfd57cc9","ref":"refs/heads/7.2","pushedAt":"2024-05-31T07:45:49.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.1' into 7.2\n\n* 7.1:\n [DoctrineBridge] Revert deprecating by-{id} mapping of entities\n Add missing UPGRADE notes for 7.1\n [Mailer] Fix sendmail transport failure handling and interactive mode\n [Security] reviewed Romanian translation of key 20","shortMessageHtmlLink":"Merge branch '7.1' into 7.2"}},{"before":"7fc2e1f47b90e94a85a19774a1f888cb29fe77a3","after":"d3bf2199aec684a6aee9e65b57d6ca57077fac5e","ref":"refs/heads/7.2","pushedAt":"2024-05-31T06:08:42.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 #54894 [PropertyInfo] Adds static cache to `PhpStanExtractor` (mvhirsch)\n\nThis PR was squashed before being merged into the 7.2 branch.\n\nDiscussion\n----------\n\n[PropertyInfo] Adds static cache to `PhpStanExtractor`\n\n| Q | A\n| ------------- | ---\n| Branch? | 7.2\n| Bug fix? | no (performance)\n| New feature? | no \n| Deprecations? | no \n| Issues | \n| License | MIT\n\nI was able to detect a performance penalty when using dozens of traits in even more classes. The `PhpStanExtractor ` creates a `NameScope` every time, but afaik this can be cached like in `PhpDocExtractor` (see #32188).\n\nThe performance impact is impressive, as it reduces the time needed for my `TestCase` by 30%. See [Blackfire profile comparison](https://blackfire.io/profiles/compare/9eb78784-fa68-4721-9c87-f2be52da2d63/graph).\n\n\n\nCommits\n-------\n\n9697351b3d [PropertyInfo] Adds static cache to `PhpStanExtractor`","shortMessageHtmlLink":"feature #54894 [PropertyInfo] Adds static cache to PhpStanExtractor…"}},{"before":"7fc2e1f47b90e94a85a19774a1f888cb29fe77a3","after":"b10cb8cf0179aec96769df2affb881ecfc293f79","ref":"refs/heads/7.1","pushedAt":"2024-05-30T19:16:02.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 missing UPGRADE notes for 7.1","shortMessageHtmlLink":"Add missing UPGRADE notes for 7.1"}},{"before":null,"after":"7fc2e1f47b90e94a85a19774a1f888cb29fe77a3","ref":"refs/heads/7.2","pushedAt":"2024-05-21T08:07:02.000Z","pushType":"branch_creation","commitsCount":0,"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 deprecation contracts","shortMessageHtmlLink":"remove no longer needed deprecation contracts"}},{"before":"a534b15605687c9bf4a3972d0498beb2ff9c60f3","after":"7fc2e1f47b90e94a85a19774a1f888cb29fe77a3","ref":"refs/heads/7.1","pushedAt":"2024-05-15T07:19:08.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 deprecation contracts","shortMessageHtmlLink":"remove no longer needed deprecation contracts"}},{"before":"16918fc9a53f9f7b7e58df65f5eea059ee89fafc","after":"a534b15605687c9bf4a3972d0498beb2ff9c60f3","ref":"refs/heads/7.1","pushedAt":"2024-05-02T08:34:45.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":"[PropertyInfo] remove deprecations, mark TypeInfo as experimental","shortMessageHtmlLink":"[PropertyInfo] remove deprecations, mark TypeInfo as experimental"}},{"before":"96094ad5cc4bb179a5d0efbc4fde4fcc96074079","after":"16918fc9a53f9f7b7e58df65f5eea059ee89fafc","ref":"refs/heads/7.1","pushedAt":"2024-04-28T18:30:52.000Z","pushType":"push","commitsCount":8,"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: (22 commits)\n fix merge\n [AssetMapper] Check asset/vendor directory is writable\n detect wrong e-mail validation modes\n detect wrong usages of minMessage/maxMessage in options\n [Security] Remove workflow from empty folder\n read form values using the chain data accessor\n [Validator] Review Bulgarian (bg) translation\n Reviewed italian translation\n Fix french translation\n call substr() with integer offsets\n [Finder] Also consider .git inside the basedir of in() directory\n review: FR translation\n [Serializer] Add AbstractNormalizerContextBuilder::defaultConstructorArguments()\n Update spanish and catalan translations\n Update AbstractSchemaListener.php to adjust more database params\n Updated id=113 Arabic translation.\n #53771 Updated validator Lithuanian translations\n review: translation RU\n [PropertyInfo] Fix PHPStan properties type in trait\n explicitly cast boolean SSL stream options\n ...","shortMessageHtmlLink":"Merge branch '7.0' into 7.1"}},{"before":"75f8394965947248b42dec699b365521508c72ba","after":"f0bdb46e19ab308527b324b7ec36161f6880a532","ref":"refs/heads/7.0","pushedAt":"2024-04-28T11:45:35.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: (22 commits)\n fix merge\n [AssetMapper] Check asset/vendor directory is writable\n detect wrong e-mail validation modes\n detect wrong usages of minMessage/maxMessage in options\n [Security] Remove workflow from empty folder\n read form values using the chain data accessor\n [Validator] Review Bulgarian (bg) translation\n Reviewed italian translation\n Fix french translation\n call substr() with integer offsets\n [Finder] Also consider .git inside the basedir of in() directory\n review: FR translation\n [Serializer] Add AbstractNormalizerContextBuilder::defaultConstructorArguments()\n Update spanish and catalan translations\n Update AbstractSchemaListener.php to adjust more database params\n Updated id=113 Arabic translation.\n #53771 Updated validator Lithuanian translations\n review: translation RU\n [PropertyInfo] Fix PHPStan properties type in trait\n explicitly cast boolean SSL stream options\n ...","shortMessageHtmlLink":"Merge branch '6.4' into 7.0"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEgYydrQA","startCursor":null,"endCursor":null}},"title":"Activity · symfony/property-info"}