{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":99137739,"defaultBranch":"master","name":"graphql-doctrine","ownerLogin":"Ecodev","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2017-08-02T16:19:36.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/1638883?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1721104134.0","currentOid":""},"activityList":{"items":[{"before":"58d35098c6999ab31206dd3ee334e4a19929e7cb","after":"cb92bc579b4c867606f52c94c738f1692ea213de","ref":"refs/heads/master","pushedAt":"2024-09-06T21:17:01.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"PowerKiKi","name":"Adrien Crivelli","path":"/PowerKiKi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/72603?s=80&v=4"},"commit":{"message":"Update GitHub actions to run on node 20","shortMessageHtmlLink":"Update GitHub actions to run on node 20"}},{"before":"9c1dee383c323c8003ab14ab32f1004583bc4f6a","after":"58d35098c6999ab31206dd3ee334e4a19929e7cb","ref":"refs/heads/master","pushedAt":"2024-07-16T04:28:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"PowerKiKi","name":"Adrien Crivelli","path":"/PowerKiKi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/72603?s=80&v=4"},"commit":{"message":"Can use type `ID` in `API\\Input`","shortMessageHtmlLink":"Can use type ID in API\\Input"}},{"before":null,"after":"37d9cc09c9c3a09f83c46b43cdd89488d73d4368","ref":"refs/heads/doctrine3","pushedAt":"2024-07-11T07:09:50.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"PowerKiKi","name":"Adrien Crivelli","path":"/PowerKiKi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/72603?s=80&v=4"},"commit":{"message":"Update to Doctrine ORM 3.2 #10257","shortMessageHtmlLink":"Update to Doctrine ORM 3.2 #10257"}},{"before":"6e06fb47e635de73e7fe006f65dc0019716dd81d","after":"9c1dee383c323c8003ab14ab32f1004583bc4f6a","ref":"refs/heads/master","pushedAt":"2024-07-11T07:06:10.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"PowerKiKi","name":"Adrien Crivelli","path":"/PowerKiKi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/72603?s=80&v=4"},"commit":{"message":"Refresh lock file #10257","shortMessageHtmlLink":"Refresh lock file #10257"}},{"before":"087f5594434bfd02c0d24de57c57c0f1beafecab","after":"6e06fb47e635de73e7fe006f65dc0019716dd81d","ref":"refs/heads/master","pushedAt":"2024-07-10T02:05:36.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"PowerKiKi","name":"Adrien Crivelli","path":"/PowerKiKi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/72603?s=80&v=4"},"commit":{"message":"Update all PHP deps #10257","shortMessageHtmlLink":"Update all PHP deps #10257"}},{"before":"5812837ae0b7b1e488ebe76cb4a73303b3e59c85","after":"087f5594434bfd02c0d24de57c57c0f1beafecab","ref":"refs/heads/master","pushedAt":"2024-06-17T11:11:08.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"PowerKiKi","name":"Adrien Crivelli","path":"/PowerKiKi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/72603?s=80&v=4"},"commit":{"message":"BREAKING New `TypesInterface::loadType()` #10525\n\nThis should be used to declare typeLoader in `GraphQL\\Type\\Schema` with\nsomething similar to:\n\n```php\n$types = new Types(...);\n$schema = new GraphQL\\Type\\Schema([\n 'typeLoader' => fn (string $name) => $types->loadType($name, 'Application\\Model') ?? $types->loadType($name, 'OtherApplication\\Model')\n // ...\n]);\n```\n\nWhile this method could technically replace of uses of dedicated `get*()\n`methods, we suggest to only use `loadType` with the `typeLoader`.\nBecause dedicated `get*()` methods are easier to use, and provide\nstronger typing.\n\nThis is a breaking change because of the new method on `TypesInterface`,\nbut pre-existing behavior remains unchanged.","shortMessageHtmlLink":"BREAKING New TypesInterface::loadType() #10525"}},{"before":"5acf0169f2e1b2b1ed0260cf0c758a5fc5368a10","after":"5812837ae0b7b1e488ebe76cb4a73303b3e59c85","ref":"refs/heads/master","pushedAt":"2023-11-07T04:18:24.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"PowerKiKi","name":"Adrien Crivelli","path":"/PowerKiKi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/72603?s=80&v=4"},"commit":{"message":"Clarify type syntax #9954\n\n`API\\Field` and `API\\Input` must always specify a FQCN if referencing\nmodels. Otherwise, `ecodev/graphql-doctrine` is not able to find the\ncorresponding GraphQL type. So from `'User'`, it cannot guess we really\nmean `'Application\\Model\\User'`.\n\nThe easiest solution is to use `::class` notation as much as possible,\neven for non-models:\n\n```diff\n- #[API\\Field(type: 'Group')]\n+ #[API\\Field(type: Group::class)]\n```\n\n```diff\n- #[API\\Input(type: 'Login')]\n+ #[API\\Input(type: LoginType::class)]\n```\n\nAnd keep string literals only when we must specify a nullable or list\ntype, such as:\n\n```php\n#[API\\Field(type: '?Login')]\n```\n\nor\n\n```php\n#[API\\Input(type: '?TagID[]')]\n```","shortMessageHtmlLink":"Clarify type syntax #9954"}},{"before":"4e14f205ee7d52699735be7cb4017747300d5059","after":"5acf0169f2e1b2b1ed0260cf0c758a5fc5368a10","ref":"refs/heads/master","pushedAt":"2023-11-02T06:05:11.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"PowerKiKi","name":"Adrien Crivelli","path":"/PowerKiKi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/72603?s=80&v=4"},"commit":{"message":"BREAKING upgrade to webonyx/graphql-php 15\n\n`TypesInterface::get()` return type is stricter. And all breaking\nchanges from webonyx/graphql-php also applies.","shortMessageHtmlLink":"BREAKING upgrade to webonyx/graphql-php 15"}},{"before":"9b0cfdbf115554993a26954a64ce9fd17a143ed4","after":"4e14f205ee7d52699735be7cb4017747300d5059","ref":"refs/heads/master","pushedAt":"2023-10-21T00:45:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"PowerKiKi","name":"Adrien Crivelli","path":"/PowerKiKi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/72603?s=80&v=4"},"commit":{"message":"Format comments","shortMessageHtmlLink":"Format comments"}},{"before":"8c9f64dca22bc8790f3dc64be0afd1fcf0fcc6c9","after":"9b0cfdbf115554993a26954a64ce9fd17a143ed4","ref":"refs/heads/master","pushedAt":"2023-09-28T09:33:49.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"PowerKiKi","name":"Adrien Crivelli","path":"/PowerKiKi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/72603?s=80&v=4"},"commit":{"message":"Not found entity will throw a `UserError`, not an `Error`\n\nThis is because the error category \"graphql\" is reserved for errors\nproduced by query parsing or validation. We should never have used it.\n\nSo now the error will be of category \"user\". And it becomes easier to\ndifference between broken GraphQL syntax and merley invalid values.","shortMessageHtmlLink":"Not found entity will throw a UserError, not an Error"}},{"before":"e26254b361512334726d8720183b9d831210721a","after":"8c9f64dca22bc8790f3dc64be0afd1fcf0fcc6c9","ref":"refs/heads/master","pushedAt":"2023-09-20T11:51:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"PowerKiKi","name":"Adrien Crivelli","path":"/PowerKiKi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/72603?s=80&v=4"},"commit":{"message":"Upgrade checkout actions to v4 (bis)","shortMessageHtmlLink":"Upgrade checkout actions to v4 (bis)"}},{"before":"85206bc16e6f0699cc6667058a93aac86a05d2e8","after":"e26254b361512334726d8720183b9d831210721a","ref":"refs/heads/master","pushedAt":"2023-09-20T11:46:15.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"PowerKiKi","name":"Adrien Crivelli","path":"/PowerKiKi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/72603?s=80&v=4"},"commit":{"message":"WIP PHP 8.2","shortMessageHtmlLink":"WIP PHP 8.2"}},{"before":"85206bc16e6f0699cc6667058a93aac86a05d2e8","after":null,"ref":"refs/heads/php82","pushedAt":"2023-09-15T02:53:16.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"PowerKiKi","name":"Adrien Crivelli","path":"/PowerKiKi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/72603?s=80&v=4"}},{"before":"21415a6c7e9c814661fb6afdefd09a6b39995feb","after":"85206bc16e6f0699cc6667058a93aac86a05d2e8","ref":"refs/heads/master","pushedAt":"2023-09-15T02:52:18.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"PowerKiKi","name":"Adrien Crivelli","path":"/PowerKiKi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/72603?s=80&v=4"},"commit":{"message":"PHP 8.2","shortMessageHtmlLink":"PHP 8.2"}},{"before":"97dd07a0f4bd30ebfdef9f3a6a2660a5df2b8d18","after":"85206bc16e6f0699cc6667058a93aac86a05d2e8","ref":"refs/heads/php82","pushedAt":"2023-09-15T02:47:40.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"PowerKiKi","name":"Adrien Crivelli","path":"/PowerKiKi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/72603?s=80&v=4"},"commit":{"message":"PHP 8.2","shortMessageHtmlLink":"PHP 8.2"}},{"before":null,"after":"97dd07a0f4bd30ebfdef9f3a6a2660a5df2b8d18","ref":"refs/heads/php82","pushedAt":"2023-05-11T06:23:44.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"PowerKiKi","name":"Adrien Crivelli","path":"/PowerKiKi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/72603?s=80&v=4"},"commit":{"message":"WIP PHP 8.2","shortMessageHtmlLink":"WIP PHP 8.2"}},{"before":"ca13db07f8465db13d73ee2183b748172921075d","after":"21415a6c7e9c814661fb6afdefd09a6b39995feb","ref":"refs/heads/master","pushedAt":"2023-05-10T15:07:50.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"PowerKiKi","name":"Adrien Crivelli","path":"/PowerKiKi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/72603?s=80&v=4"},"commit":{"message":"100% code coverage","shortMessageHtmlLink":"100% code coverage"}},{"before":"63906ed913f11016a5953a249ce098d43d0639a4","after":"ca13db07f8465db13d73ee2183b748172921075d","ref":"refs/heads/master","pushedAt":"2023-05-10T14:40:34.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"PowerKiKi","name":"Adrien Crivelli","path":"/PowerKiKi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/72603?s=80&v=4"},"commit":{"message":"Drop obsolete code","shortMessageHtmlLink":"Drop obsolete code"}},{"before":"4c370af1649a4623465506c9035893e7fc0480f6","after":"63906ed913f11016a5953a249ce098d43d0639a4","ref":"refs/heads/master","pushedAt":"2023-05-10T14:38:58.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"PowerKiKi","name":"Adrien Crivelli","path":"/PowerKiKi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/72603?s=80&v=4"},"commit":{"message":"Add new `emptyStringAsHighest` to sorting\n\nSimilar to `nullAsHighest`, it allows to control where empty string\nvalues appear in a sorting.","shortMessageHtmlLink":"Add new emptyStringAsHighest to sorting"}},{"before":"38d4066ec0152388b79aff7fa70ceb6e931e0b12","after":null,"ref":"refs/heads/graphql-14","pushedAt":"2023-04-26T03:51:45.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"PowerKiKi","name":"Adrien Crivelli","path":"/PowerKiKi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/72603?s=80&v=4"}},{"before":"26d9bccde5c3643b70c18227683670b3a6865158","after":null,"ref":"refs/heads/mockable","pushedAt":"2023-04-26T03:51:42.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"PowerKiKi","name":"Adrien Crivelli","path":"/PowerKiKi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/72603?s=80&v=4"}},{"before":"273b28b0a2c6dc4d069a46bffcd689a271fbd2ce","after":null,"ref":"refs/heads/php74","pushedAt":"2023-04-26T03:51:40.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"PowerKiKi","name":"Adrien Crivelli","path":"/PowerKiKi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/72603?s=80&v=4"}},{"before":"9642833b6484e8f51ad59952370e9bfedd35f16d","after":null,"ref":"refs/heads/feature/attributes","pushedAt":"2023-04-26T03:51:36.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"PowerKiKi","name":"Adrien Crivelli","path":"/PowerKiKi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/72603?s=80&v=4"}},{"before":"9642833b6484e8f51ad59952370e9bfedd35f16d","after":"4c370af1649a4623465506c9035893e7fc0480f6","ref":"refs/heads/master","pushedAt":"2023-04-26T03:51:13.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"PowerKiKi","name":"Adrien Crivelli","path":"/PowerKiKi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/72603?s=80&v=4"},"commit":{"message":"Fix PhpStorm inspections","shortMessageHtmlLink":"Fix PhpStorm inspections"}},{"before":"05fc6187f6912c44577a29ace30050d819a66e7f","after":"9642833b6484e8f51ad59952370e9bfedd35f16d","ref":"refs/heads/master","pushedAt":"2023-04-25T09:17:31.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"PowerKiKi","name":"Adrien Crivelli","path":"/PowerKiKi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/72603?s=80&v=4"},"commit":{"message":"BREAKING native PHP attributes replace annotations\n\nAll previously existing annotations are now PHP native `Attribute`. This\nis a major breaking change and all annotations must be migrated to the\nnew attributes.\n\nNotable changes:\n\n- `API\\Argument` is now declared on the parameter itself\n- `API\\Filter` is used directly, possibly multiple times, without\n wrapping in `API\\Filters`\n- `API\\Filters` is not necessary anymore and was dropped\n- `API\\Sorting` requires a single class name, but can be used multiple\n times\n\n# Partially automated migration\n\nThe following is a configuration file for [Rector](https://getrector.com)\nthat will migrate both Doctrine annotations and also GraphQL Doctrine\nannotations to attributes.\n\nThe migration for GraphQL Doctrine is imperfect, so `Sorting` and\n`Argument` will have to be adjusted manually afterward.\n\n```php\nparallel();\n\n $rectorConfig->sets([\n \\Rector\\Doctrine\\Set\\DoctrineSetList::ANNOTATIONS_TO_ATTRIBUTES,\n ]);\n\n $rectorConfig->ruleWithConfiguration(NestedAnnotationToAttributeRector::class, [\n new NestedAnnotationToAttribute('GraphQL\\\\Doctrine\\\\Annotation\\\\Filters', [new AnnotationPropertyToAttributeClass('GraphQL\\\\Doctrine\\\\Attribute\\\\Filter')], \\true),\n new NestedAnnotationToAttribute('GraphQL\\\\Doctrine\\\\Annotation\\\\Sorting', [new AnnotationPropertyToAttributeClass('GraphQL\\\\Doctrine\\\\Attribute\\\\Sorting', 'classes', \\true)]),\n new NestedAnnotationToAttribute('API\\Filters', [new AnnotationPropertyToAttributeClass('GraphQL\\\\Doctrine\\\\Attribute\\\\Filter')], \\true),\n new NestedAnnotationToAttribute('API\\Sorting', [new AnnotationPropertyToAttributeClass('GraphQL\\\\Doctrine\\\\Attribute\\\\Sorting', 'classes', \\true)]),\n ]);\n\n $rectorConfig->ruleWithConfiguration(AnnotationToAttributeRector::class, [\n new AnnotationToAttribute('GraphQL\\\\Doctrine\\\\Annotation\\\\Argument', 'GraphQL\\\\Doctrine\\\\Attribute\\\\Argument'),\n new AnnotationToAttribute('GraphQL\\\\Doctrine\\\\Annotation\\\\Exclude', 'GraphQL\\\\Doctrine\\\\Attribute\\\\Exclude'),\n new AnnotationToAttribute('GraphQL\\\\Doctrine\\\\Annotation\\\\Field', 'GraphQL\\\\Doctrine\\\\Attribute\\\\Field'),\n new AnnotationToAttribute('GraphQL\\\\Doctrine\\\\Annotation\\\\FilterGroupCondition', 'GraphQL\\\\Doctrine\\\\Attribute\\\\FilterGroupCondition'),\n new AnnotationToAttribute('GraphQL\\\\Doctrine\\\\Annotation\\\\Filter', 'GraphQL\\\\Doctrine\\\\Attribute\\\\Filter'),\n new AnnotationToAttribute('GraphQL\\\\Doctrine\\\\Annotation\\\\Input', 'GraphQL\\\\Doctrine\\\\Attribute\\\\Input'),\n new AnnotationToAttribute('API\\Argument', 'GraphQL\\\\Doctrine\\\\Attribute\\\\Argument'),\n new AnnotationToAttribute('API\\Exclude', 'GraphQL\\\\Doctrine\\\\Attribute\\\\Exclude'),\n new AnnotationToAttribute('API\\Field', 'GraphQL\\\\Doctrine\\\\Attribute\\\\Field'),\n new AnnotationToAttribute('API\\FilterGroupCondition', 'GraphQL\\\\Doctrine\\\\Attribute\\\\FilterGroupCondition'),\n new AnnotationToAttribute('API\\Filter', 'GraphQL\\\\Doctrine\\\\Attribute\\\\Filter'),\n new AnnotationToAttribute('API\\Input', 'GraphQL\\\\Doctrine\\\\Attribute\\\\Input'),\n ]);\n};\n```\n\nCloses #63","shortMessageHtmlLink":"BREAKING native PHP attributes replace annotations"}},{"before":"ff23b73f9f8ed8c3f07a8404c83247e1ae453ce2","after":"9642833b6484e8f51ad59952370e9bfedd35f16d","ref":"refs/heads/feature/attributes","pushedAt":"2023-04-25T09:15:57.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"PowerKiKi","name":"Adrien Crivelli","path":"/PowerKiKi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/72603?s=80&v=4"},"commit":{"message":"BREAKING native PHP attributes replace annotations\n\nAll previously existing annotations are now PHP native `Attribute`. This\nis a major breaking change and all annotations must be migrated to the\nnew attributes.\n\nNotable changes:\n\n- `API\\Argument` is now declared on the parameter itself\n- `API\\Filter` is used directly, possibly multiple times, without\n wrapping in `API\\Filters`\n- `API\\Filters` is not necessary anymore and was dropped\n- `API\\Sorting` requires a single class name, but can be used multiple\n times\n\n# Partially automated migration\n\nThe following is a configuration file for [Rector](https://getrector.com)\nthat will migrate both Doctrine annotations and also GraphQL Doctrine\nannotations to attributes.\n\nThe migration for GraphQL Doctrine is imperfect, so `Sorting` and\n`Argument` will have to be adjusted manually afterward.\n\n```php\nparallel();\n\n $rectorConfig->sets([\n \\Rector\\Doctrine\\Set\\DoctrineSetList::ANNOTATIONS_TO_ATTRIBUTES,\n ]);\n\n $rectorConfig->ruleWithConfiguration(NestedAnnotationToAttributeRector::class, [\n new NestedAnnotationToAttribute('GraphQL\\\\Doctrine\\\\Annotation\\\\Filters', [new AnnotationPropertyToAttributeClass('GraphQL\\\\Doctrine\\\\Attribute\\\\Filter')], \\true),\n new NestedAnnotationToAttribute('GraphQL\\\\Doctrine\\\\Annotation\\\\Sorting', [new AnnotationPropertyToAttributeClass('GraphQL\\\\Doctrine\\\\Attribute\\\\Sorting', 'classes', \\true)]),\n new NestedAnnotationToAttribute('API\\Filters', [new AnnotationPropertyToAttributeClass('GraphQL\\\\Doctrine\\\\Attribute\\\\Filter')], \\true),\n new NestedAnnotationToAttribute('API\\Sorting', [new AnnotationPropertyToAttributeClass('GraphQL\\\\Doctrine\\\\Attribute\\\\Sorting', 'classes', \\true)]),\n ]);\n\n $rectorConfig->ruleWithConfiguration(AnnotationToAttributeRector::class, [\n new AnnotationToAttribute('GraphQL\\\\Doctrine\\\\Annotation\\\\Argument', 'GraphQL\\\\Doctrine\\\\Attribute\\\\Argument'),\n new AnnotationToAttribute('GraphQL\\\\Doctrine\\\\Annotation\\\\Exclude', 'GraphQL\\\\Doctrine\\\\Attribute\\\\Exclude'),\n new AnnotationToAttribute('GraphQL\\\\Doctrine\\\\Annotation\\\\Field', 'GraphQL\\\\Doctrine\\\\Attribute\\\\Field'),\n new AnnotationToAttribute('GraphQL\\\\Doctrine\\\\Annotation\\\\FilterGroupCondition', 'GraphQL\\\\Doctrine\\\\Attribute\\\\FilterGroupCondition'),\n new AnnotationToAttribute('GraphQL\\\\Doctrine\\\\Annotation\\\\Filter', 'GraphQL\\\\Doctrine\\\\Attribute\\\\Filter'),\n new AnnotationToAttribute('GraphQL\\\\Doctrine\\\\Annotation\\\\Input', 'GraphQL\\\\Doctrine\\\\Attribute\\\\Input'),\n new AnnotationToAttribute('API\\Argument', 'GraphQL\\\\Doctrine\\\\Attribute\\\\Argument'),\n new AnnotationToAttribute('API\\Exclude', 'GraphQL\\\\Doctrine\\\\Attribute\\\\Exclude'),\n new AnnotationToAttribute('API\\Field', 'GraphQL\\\\Doctrine\\\\Attribute\\\\Field'),\n new AnnotationToAttribute('API\\FilterGroupCondition', 'GraphQL\\\\Doctrine\\\\Attribute\\\\FilterGroupCondition'),\n new AnnotationToAttribute('API\\Filter', 'GraphQL\\\\Doctrine\\\\Attribute\\\\Filter'),\n new AnnotationToAttribute('API\\Input', 'GraphQL\\\\Doctrine\\\\Attribute\\\\Input'),\n ]);\n};\n```\n\nCloses #63","shortMessageHtmlLink":"BREAKING native PHP attributes replace annotations"}},{"before":"ff604fa2d04730b235a777a61e131b69f7d23542","after":"ff23b73f9f8ed8c3f07a8404c83247e1ae453ce2","ref":"refs/heads/feature/attributes","pushedAt":"2023-04-25T05:42:50.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"PowerKiKi","name":"Adrien Crivelli","path":"/PowerKiKi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/72603?s=80&v=4"},"commit":{"message":"BREAKING native PHP attributes replace annotations\n\nAll previously existing annotations are now PHP native `Attribute`. This\nis a major breaking change and all annotations must be migrated to the\nnew attributes.\n\nNotable changes:\n\n- `API\\Argument` is now declared on the parameter itself\n- `API\\Filter` is used directly, possibly multiple times, without\n wrapping in `API\\Filters`\n- `API\\Filters` is not necessary anymore and was dropped\n- `API\\Sorting` requires a single class name, but can be used multiple\n times\n\nCloses #63","shortMessageHtmlLink":"BREAKING native PHP attributes replace annotations"}},{"before":"e9c5301b3e35ba215c64a0c4f8929295e3755025","after":"ff604fa2d04730b235a777a61e131b69f7d23542","ref":"refs/heads/feature/attributes","pushedAt":"2023-04-25T05:19:44.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"PowerKiKi","name":"Adrien Crivelli","path":"/PowerKiKi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/72603?s=80&v=4"},"commit":{"message":"BREAKING native PHP attributes replace annotations\n\nAll previously existing annotations are now PHP native `Attribute`. This\nis a major breaking change and all annotations must be migrated to the\nnew attributes.\n\nNotable changes:\n\n- `API\\Argument` is now declared on the parameter itself\n- `API\\Filter` is used directly, possibly multiple times, without\n wrapping in `API\\Filters`\n- `API\\Filters` is not necessary anymore and was dropped\n- `API\\Sorting` requires a single class name, but can be used multiple\n times\n\nCloses #63","shortMessageHtmlLink":"BREAKING native PHP attributes replace annotations"}},{"before":"345b178e79d1ecc2d9b9830c0088973a26b96936","after":"e9c5301b3e35ba215c64a0c4f8929295e3755025","ref":"refs/heads/feature/attributes","pushedAt":"2023-04-25T05:03:28.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"PowerKiKi","name":"Adrien Crivelli","path":"/PowerKiKi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/72603?s=80&v=4"},"commit":{"message":"API\\Filter, API\\Sorting are repeatable","shortMessageHtmlLink":"API\\Filter, API\\Sorting are repeatable"}},{"before":"8936d07df350010fd6a2de114853edac70a67726","after":"345b178e79d1ecc2d9b9830c0088973a26b96936","ref":"refs/heads/feature/attributes","pushedAt":"2023-04-25T04:00:34.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"PowerKiKi","name":"Adrien Crivelli","path":"/PowerKiKi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/72603?s=80&v=4"},"commit":{"message":"Api\\Argument directly on parameters","shortMessageHtmlLink":"Api\\Argument directly on parameters"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0wNlQyMToxNzowMS4wMDAwMDBazwAAAASvUrKU","endCursor":"Y3Vyc29yOnYyOpK7MjAyMy0wNC0yNVQwNDowMDozNC4wMDAwMDBazwAAAAMfgsI2"}},"title":"Activity ยท Ecodev/graphql-doctrine"}