{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":1318892,"defaultBranch":"5","name":"silverstripe-framework","ownerLogin":"silverstripe","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2011-02-02T02:04:13.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/379348?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1715583312.0","currentOid":""},"activityList":{"items":[{"before":"0f6d2106021add81fbe8bd5fd4e143cd74633e45","after":"50a00183639f6fb1816d42bafa3cb7cfb881c5ee","ref":"refs/heads/5.2","pushedAt":"2024-05-13T02:15:37.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"emteknetnz","name":"Steve Boyd","path":"/emteknetnz","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4809037?s=80&v=4"},"commit":{"message":"FIX many_many through should allow subclasses (#11230)\n\n```php\r\nclass HomePage extends Page\r\n{\r\n private static $many_many = [\r\n 'HeroImages' => [\r\n 'through' => PageImageLink::class,\r\n 'from' => 'Page',\r\n 'to' => 'Image',\r\n ]\r\n ];\r\n\r\n}\r\n```\r\n\r\n```php\r\nclass PageImageLink extends DataObject\r\n{\r\n private static $has_one = [\r\n 'Page' => SiteTree::class,\r\n 'Image' => Image::class,\r\n ];\r\n}\r\n\r\nThis fails because the linking object's relation class doesn't exactly match the owner. Sharing the linking objects across various entries in the ancestry should be a supported use case.\r\n\r\nCo-authored-by: Aaron Carlino ","shortMessageHtmlLink":"FIX many_many through should allow subclasses (#11230)"}},{"before":"284c72f10889f68379ea2cfd9d23ed1ce6ffefc5","after":"3c8f8b99e79d1621ceb1e68ab1ed13a964e6a488","ref":"refs/heads/6","pushedAt":"2024-05-11T14:24:50.000Z","pushType":"push","commitsCount":10,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Merge branch '5' into 6","shortMessageHtmlLink":"Merge branch '5' into 6"}},{"before":"0c8fcfb54c3491dd6f8d58b216ca3442283fe7a7","after":"4429a4999dfd1fdfb29a3b910519c389ae8749d7","ref":"refs/heads/5","pushedAt":"2024-05-11T14:24:48.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Merge branch '5.2' into 5","shortMessageHtmlLink":"Merge branch '5.2' into 5"}},{"before":"fcfbb752c70af81d15538301803fd194657b0096","after":null,"ref":"refs/heads/many-many-through-subclass","pushedAt":"2024-05-10T03:04:16.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"GuySartorelli","name":"Guy Sartorelli","path":"/GuySartorelli","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/36352093?s=80&v=4"}},{"before":"5cd2c99bd52aa09ec45ebcaf2e9e400cd663663e","after":"fcfbb752c70af81d15538301803fd194657b0096","ref":"refs/heads/many-many-through-subclass","pushedAt":"2024-05-10T03:00:28.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"GuySartorelli","name":"Guy Sartorelli","path":"/GuySartorelli","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/36352093?s=80&v=4"},"commit":{"message":"FIX many_many through should allow subclasses\n\n```php\nclass HomePage extends Page\n{\n private static $many_many = [\n 'HeroImages' => [\n 'through' => PageImageLink::class,\n 'from' => 'Page',\n 'to' => 'Image',\n ]\n ];\n\n}\n```\n\n```php\nclass PageImageLink extends DataObject\n{\n private static $has_one = [\n 'Page' => SiteTree::class,\n 'Image' => Image::class,\n ];\n}\n\nThis fails because the linking object's relation class doesn't exactly match the owner. Sharing the linking objects across various entries in the ancestry should be a supported use case.","shortMessageHtmlLink":"FIX many_many through should allow subclasses"}},{"before":"241d03b3527d341a8454eab86860f639017ff8ea","after":"0f6d2106021add81fbe8bd5fd4e143cd74633e45","ref":"refs/heads/5.2","pushedAt":"2024-05-07T23:12:51.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"GuySartorelli","name":"Guy Sartorelli","path":"/GuySartorelli","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/36352093?s=80&v=4"},"commit":{"message":"FIX Correctly eagerload polymorphic has_one relations (#11204)","shortMessageHtmlLink":"FIX Correctly eagerload polymorphic has_one relations (#11204)"}},{"before":"a198c91628fa42c8841170a745ec5cf0a75f475b","after":"241d03b3527d341a8454eab86860f639017ff8ea","ref":"refs/heads/5.2","pushedAt":"2024-05-07T21:31:04.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"emteknetnz","name":"Steve Boyd","path":"/emteknetnz","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4809037?s=80&v=4"},"commit":{"message":"TLN Update translations (#11224)","shortMessageHtmlLink":"TLN Update translations (#11224)"}},{"before":"3449d8bf212685908bddabd07e7d2b35d3c4cd33","after":"0c8fcfb54c3491dd6f8d58b216ca3442283fe7a7","ref":"refs/heads/5","pushedAt":"2024-05-07T01:01:59.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"GuySartorelli","name":"Guy Sartorelli","path":"/GuySartorelli","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/36352093?s=80&v=4"},"commit":{"message":"Merge pull request #11213 from creative-commoners/pulls/5/required-has-one\n\nFIX Handle getting HasOneRelationFieldInterface passed as an array","shortMessageHtmlLink":"Merge pull request #11213 from creative-commoners/pulls/5/required-ha…"}},{"before":"e468b719cfcd6ac92c5c25d1f0b6cbf25f854495","after":"3449d8bf212685908bddabd07e7d2b35d3c4cd33","ref":"refs/heads/5","pushedAt":"2024-05-06T23:45:48.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"emteknetnz","name":"Steve Boyd","path":"/emteknetnz","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4809037?s=80&v=4"},"commit":{"message":"FIX Revert \"ENH Add Nice to DBField\" (#11222)\n\nThis reverts commit b167f470d768f246869ca517fed3f5b781aa15f3.","shortMessageHtmlLink":"FIX Revert \"ENH Add Nice to DBField\" (#11222)"}},{"before":"9fc9d18c7aa4196369cb8b0253e055ccb4a20f72","after":"e468b719cfcd6ac92c5c25d1f0b6cbf25f854495","ref":"refs/heads/5","pushedAt":"2024-05-06T06:13:56.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"emteknetnz","name":"Steve Boyd","path":"/emteknetnz","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4809037?s=80&v=4"},"commit":{"message":"TLN Update translations (#11221)","shortMessageHtmlLink":"TLN Update translations (#11221)"}},{"before":"a92baeaf6fffb217260f118ad7335f1791144740","after":"a198c91628fa42c8841170a745ec5cf0a75f475b","ref":"refs/heads/5.2","pushedAt":"2024-05-06T06:06:54.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"emteknetnz","name":"Steve Boyd","path":"/emteknetnz","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4809037?s=80&v=4"},"commit":{"message":"FIX Don't throw exception for empty eagerloaded relation (#11220)","shortMessageHtmlLink":"FIX Don't throw exception for empty eagerloaded relation (#11220)"}},{"before":"44f77ecdac347030c8fc33fc799c2d1b3d0ebb18","after":"a92baeaf6fffb217260f118ad7335f1791144740","ref":"refs/heads/5.2","pushedAt":"2024-05-06T01:15:26.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"emteknetnz","name":"Steve Boyd","path":"/emteknetnz","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4809037?s=80&v=4"},"commit":{"message":"FIX Allow double dots in path when not attempting directory traversal (#11219)","shortMessageHtmlLink":"FIX Allow double dots in path when not attempting directory traversal ("}},{"before":"6f77fb5e0faede5fa8d11abe40b1d2d718cfa7cc","after":"284c72f10889f68379ea2cfd9d23ed1ce6ffefc5","ref":"refs/heads/6","pushedAt":"2024-05-04T14:25:19.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Merge branch '5' into 6","shortMessageHtmlLink":"Merge branch '5' into 6"}},{"before":"142a318fa8f24f7f4bc5042fa3852beb4bd6d9aa","after":"9fc9d18c7aa4196369cb8b0253e055ccb4a20f72","ref":"refs/heads/5","pushedAt":"2024-05-04T14:25:18.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Merge branch '5.2' into 5","shortMessageHtmlLink":"Merge branch '5.2' into 5"}},{"before":"3d8dc82d635a05de438b11a4ea81f026a10d1c14","after":"6f77fb5e0faede5fa8d11abe40b1d2d718cfa7cc","ref":"refs/heads/6","pushedAt":"2024-04-29T20:25:54.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"sabina-talipova","name":"Sabina Talipova","path":"/sabina-talipova","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/87288324?s=80&v=4"},"commit":{"message":"Merge pull request #11209 from creative-commoners/pulls/6/manipulate-hook\n\nAPI Add onAfterManipulate extension hook","shortMessageHtmlLink":"Merge pull request #11209 from creative-commoners/pulls/6/manipulate-…"}},{"before":"cfeb67881626922e011ba58fca6d56c7c0e5fa76","after":"44f77ecdac347030c8fc33fc799c2d1b3d0ebb18","ref":"refs/heads/5.2","pushedAt":"2024-04-28T21:02:59.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"GuySartorelli","name":"Guy Sartorelli","path":"/GuySartorelli","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/36352093?s=80&v=4"},"commit":{"message":"MNT add nullable return types to PHPDocs (#11192)","shortMessageHtmlLink":"MNT add nullable return types to PHPDocs (#11192)"}},{"before":"d37c87188328d33c9360922567e8d3179ac1ee59","after":"3d8dc82d635a05de438b11a4ea81f026a10d1c14","ref":"refs/heads/6","pushedAt":"2024-04-27T14:24:26.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Merge branch '5' into 6","shortMessageHtmlLink":"Merge branch '5' into 6"}},{"before":"19ea32ebfadeb4e3853860c1909bd72544fcf714","after":"142a318fa8f24f7f4bc5042fa3852beb4bd6d9aa","ref":"refs/heads/5","pushedAt":"2024-04-26T05:13:27.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"emteknetnz","name":"Steve Boyd","path":"/emteknetnz","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4809037?s=80&v=4"},"commit":{"message":"ENH Return PJAX responses from gridfield edit forms (#11206)\n\nundefined","shortMessageHtmlLink":"ENH Return PJAX responses from gridfield edit forms (#11206)"}},{"before":"dcc68634018ca9b8dd442cd74812addbf7b4988a","after":"d37c87188328d33c9360922567e8d3179ac1ee59","ref":"refs/heads/6","pushedAt":"2024-04-20T14:23:55.000Z","pushType":"push","commitsCount":12,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Merge branch '5' into 6","shortMessageHtmlLink":"Merge branch '5' into 6"}},{"before":"c2199ff88be99f3944c02f59b21c8eec6adc14fb","after":"19ea32ebfadeb4e3853860c1909bd72544fcf714","ref":"refs/heads/5","pushedAt":"2024-04-20T14:23:54.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Merge branch '5.2' into 5","shortMessageHtmlLink":"Merge branch '5.2' into 5"}},{"before":"3e1b5e64529923833670163d75ff3bac515fc6a5","after":"c2199ff88be99f3944c02f59b21c8eec6adc14fb","ref":"refs/heads/5","pushedAt":"2024-04-18T23:02:45.000Z","pushType":"pr_merge","commitsCount":6,"pusher":{"login":"emteknetnz","name":"Steve Boyd","path":"/emteknetnz","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4809037?s=80&v=4"},"commit":{"message":"Merge pull request #11201 from creative-commoners/pulls/5/fix-wysiwyg-sanitisation\n\nFix wysiwyg sanitisation","shortMessageHtmlLink":"Merge pull request #11201 from creative-commoners/pulls/5/fix-wysiwyg…"}},{"before":"4be3dd5cd13bbe9875a2e3d69c3feb96fedc03c4","after":"dcc68634018ca9b8dd442cd74812addbf7b4988a","ref":"refs/heads/6","pushedAt":"2024-04-18T22:35:37.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"emteknetnz","name":"Steve Boyd","path":"/emteknetnz","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4809037?s=80&v=4"},"commit":{"message":"NEW Allow skipping validation on write (#11202)","shortMessageHtmlLink":"NEW Allow skipping validation on write (#11202)"}},{"before":"908bdcfc31505c50e941840d9bc5b061469b9762","after":"cfeb67881626922e011ba58fca6d56c7c0e5fa76","ref":"refs/heads/5.2","pushedAt":"2024-04-18T01:40:54.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"GuySartorelli","name":"Guy Sartorelli","path":"/GuySartorelli","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/36352093?s=80&v=4"},"commit":{"message":"Merge pull request #11185 from beerbohmdo/fix/issue-11170\n\nFIX Ensure eagerLoading don't load has_one twice (#11170)","shortMessageHtmlLink":"Merge pull request #11185 from beerbohmdo/fix/issue-11170"}},{"before":"6743de43560b082d9f10708c35556ae7e53ca56a","after":"908bdcfc31505c50e941840d9bc5b061469b9762","ref":"refs/heads/5.2","pushedAt":"2024-04-16T01:32:21.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"GuySartorelli","name":"Guy Sartorelli","path":"/GuySartorelli","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/36352093?s=80&v=4"},"commit":{"message":"Merge pull request #11199 from kinglozzer/11197-oob-exception\n\nFIX: OutOfBoundsException when recipe-core isn't installed (fixes #11197)","shortMessageHtmlLink":"Merge pull request #11199 from kinglozzer/11197-oob-exception"}},{"before":"e3edf19ae4336cf735a74ef7a44277be1cb1afab","after":"4be3dd5cd13bbe9875a2e3d69c3feb96fedc03c4","ref":"refs/heads/6","pushedAt":"2024-04-13T14:23:24.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Merge branch '5' into 6","shortMessageHtmlLink":"Merge branch '5' into 6"}},{"before":"39c9e0d31c076565e56e4799d2e2dc4980fd9283","after":"3e1b5e64529923833670163d75ff3bac515fc6a5","ref":"refs/heads/5","pushedAt":"2024-04-13T14:23:23.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Merge branch '5.2' into 5","shortMessageHtmlLink":"Merge branch '5.2' into 5"}},{"before":"97a8da8c7d223da9a4824e328cbeba92e7e83398","after":"6743de43560b082d9f10708c35556ae7e53ca56a","ref":"refs/heads/5.2","pushedAt":"2024-04-11T21:40:35.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"emteknetnz","name":"Steve Boyd","path":"/emteknetnz","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4809037?s=80&v=4"},"commit":{"message":"FIX Remove ambiguity for polymorphic queries (#11195)","shortMessageHtmlLink":"FIX Remove ambiguity for polymorphic queries (#11195)"}},{"before":"4cbe07a368997e5a94d190b1579e9b960a187eea","after":"e3edf19ae4336cf735a74ef7a44277be1cb1afab","ref":"refs/heads/6","pushedAt":"2024-04-03T05:54:40.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Merge branch '5' into 6","shortMessageHtmlLink":"Merge branch '5' into 6"}},{"before":"b442d9d45ad208e5a41987afdd3c2f237efe2f13","after":"39c9e0d31c076565e56e4799d2e2dc4980fd9283","ref":"refs/heads/5","pushedAt":"2024-04-03T05:54:38.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Merge branch '5.2' into 5","shortMessageHtmlLink":"Merge branch '5.2' into 5"}},{"before":"74abb031336d1d41e49c3a97f27dfb4ee9af5218","after":"97a8da8c7d223da9a4824e328cbeba92e7e83398","ref":"refs/heads/5.2","pushedAt":"2024-04-03T05:54:36.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Merge branch '5.1' into 5.2","shortMessageHtmlLink":"Merge branch '5.1' into 5.2"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAER_Gn4gA","startCursor":null,"endCursor":null}},"title":"Activity · silverstripe/silverstripe-framework"}