{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":155118434,"defaultBranch":"main","name":"Mixin","ownerLogin":"FabricMC","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2018-10-28T21:41:07.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/21025855?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1725017816.0","currentOid":""},"activityList":{"items":[{"before":"c3e6d660027c5410cd5ddc41c698b82f4de233ae","after":"c0676344c40c52dbe1bf6dd1624ae3dd5103b390","ref":"refs/heads/main","pushedAt":"2024-09-03T08:12:51.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"modmuss50","name":"modmuss","path":"/modmuss50","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4324090?s=80&v=4"},"commit":{"message":"Bump version","shortMessageHtmlLink":"Bump version"}},{"before":"adcd9526d2b045b88ba727b05d44ff39febdc985","after":"c3e6d660027c5410cd5ddc41c698b82f4de233ae","ref":"refs/heads/main","pushedAt":"2024-09-03T08:12:09.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"modmuss50","name":"modmuss","path":"/modmuss50","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4324090?s=80&v=4"},"commit":{"message":"Fix: Fix interface injector visibility checks. (#156)\n\n`InjectionInfo.parse` can be very expensive and in the case of some MixinExtras features is not pure.\r\nThe correct approach would be to use `InjectionInfo.getInjectorAnnotation`, but the override is no longer needed anyway since we only support Java 8+ so Mixin will already make injector methods private and synthetic.\r\nExcept, Mixin does it based on the current `COMPATIBILITY_LEVEL`, which is wrong, because we could be on JAVA_17 and yet a class compiled with JAVA_8 had no choice but to use public methods.\r\nThe original implementation was also incomplete because it forgot about default methods.","shortMessageHtmlLink":"Fix: Fix interface injector visibility checks. (#156)"}},{"before":null,"after":"56902db8d0c1199ce2c6b4efa8e7b5735b0dd051","ref":"refs/heads/fix/interface-injector-visibility","pushedAt":"2024-08-30T11:36:56.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"LlamaLad7","name":null,"path":"/LlamaLad7","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/15244077?s=80&v=4"},"commit":{"message":"Fix: Fix interface injector visibility checks.\n\n`InjectionInfo.parse` can be very expensive and in the case of some MixinExtras features is not pure.\nThe correct approach would be to use `InjectionInfo.getInjectorAnnotation`, but the override is no longer needed anyway since we only support Java 8+ so Mixin will already make injector methods private and synthetic.\nExcept, Mixin does it based on the current `COMPATIBILITY_LEVEL`, which is wrong, because we could be on JAVA_17 and yet a class compiled with JAVA_8 had no choice but to use public methods.\nThe original implementation was also incomplete because it forgot about default methods.","shortMessageHtmlLink":"Fix: Fix interface injector visibility checks."}},{"before":"023e39334850e839c283be413257bf459f40a5d6","after":"adcd9526d2b045b88ba727b05d44ff39febdc985","ref":"refs/heads/main","pushedAt":"2024-08-30T11:04:41.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"LlamaLad7","name":null,"path":"/LlamaLad7","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/15244077?s=80&v=4"},"commit":{"message":"Fix: Rewrite argMap allocation algorithm.\nThe old one did not properly account for discontinuities in the list, leading to double-width types clobbering meaningful locals and causing mysterious VerifyErrors.","shortMessageHtmlLink":"Fix: Rewrite argMap allocation algorithm."}},{"before":null,"after":"c8a0fb5057a0188945d494b6721e976e71be6c77","ref":"refs/heads/fix/argmap-allocation","pushedAt":"2024-08-26T21:09:07.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"LlamaLad7","name":null,"path":"/LlamaLad7","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/15244077?s=80&v=4"},"commit":{"message":"Fix: Rewrite argMap allocation algorithm.\nThe old one did not properly account for discontinuities in the list, leading to double-width types clobbering meaningful locals and causing mysterious VerifyErrors.","shortMessageHtmlLink":"Fix: Rewrite argMap allocation algorithm."}},{"before":"a4aaaa92c6ef6bc6140e0fb8f3de71e404e03fcc","after":"023e39334850e839c283be413257bf459f40a5d6","ref":"refs/heads/main","pushedAt":"2024-08-15T11:32:45.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"LlamaLad7","name":null,"path":"/LlamaLad7","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/15244077?s=80&v=4"},"commit":{"message":"Build: Bump version.","shortMessageHtmlLink":"Build: Bump version."}},{"before":"81284c8401b657f5805b670f4628a734b4561807","after":"a4aaaa92c6ef6bc6140e0fb8f3de71e404e03fcc","ref":"refs/heads/main","pushedAt":"2024-08-13T07:40:50.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"modmuss50","name":"modmuss","path":"/modmuss50","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4324090?s=80&v=4"},"commit":{"message":"Bump version","shortMessageHtmlLink":"Bump version"}},{"before":"9aca17d50058344e1296e4ab5d782c00df95966d","after":"81284c8401b657f5805b670f4628a734b4561807","ref":"refs/heads/main","pushedAt":"2024-07-19T22:43:26.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"LlamaLad7","name":null,"path":"/LlamaLad7","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/15244077?s=80&v=4"},"commit":{"message":"Fix: Remove incorrect `PUTFIELD` owner check when inspecting initialisers.\nThese will never match because the LHS is the mixin name and the RHS is the target name.\nThis restores the 0.8.5 behaviour which does not check the owner at all.\nWe have never supported assignment expressions in initialisers until now anyway, and even if we check the owner we cannot determine whether the instruction is operating on the current *instance* without proper static analysis, so IMO there's not much point bothering.","shortMessageHtmlLink":"Fix: Remove incorrect PUTFIELD owner check when inspecting initiali…"}},{"before":null,"after":"46500fe2ecccd0b2bceff0a1dc0063491291de9c","ref":"refs/heads/fix/initialiser-injection-point","pushedAt":"2024-07-13T17:56:26.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"LlamaLad7","name":null,"path":"/LlamaLad7","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/15244077?s=80&v=4"},"commit":{"message":"Fix: Remove incorrect `PUTFIELD` owner check when inspecting initialisers.\nThese will never match because the LHS is the mixin name and the RHS is the target name.\nThis restores the 0.8.5 behaviour which does not check the owner at all.\nWe have never supported assignment expressions in initialisers until now anyway, and even if we check the owner we cannot determine whether the instruction is operating on the current *instance* without proper static analysis, so IMO there's not much point bothering.","shortMessageHtmlLink":"Fix: Remove incorrect PUTFIELD owner check when inspecting initiali…"}},{"before":"2cd49e6314aa559c8025bd6e6bb44a5e081572cd","after":"9aca17d50058344e1296e4ab5d782c00df95966d","ref":"refs/heads/main","pushedAt":"2024-07-09T17:08:47.000Z","pushType":"pr_merge","commitsCount":29,"pusher":{"login":"modmuss50","name":"modmuss","path":"/modmuss50","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4324090?s=80&v=4"},"commit":{"message":"Merge pull request #151 from FabricMC/merge/0.8.7\n\nMerge/0.8.7","shortMessageHtmlLink":"Merge pull request #151 from FabricMC/merge/0.8.7"}},{"before":null,"after":"7f00ee348507648963727b8d8e70bcdd3aee8514","ref":"refs/heads/merge/0.8.7","pushedAt":"2024-07-09T14:56:40.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"LlamaLad7","name":null,"path":"/LlamaLad7","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/15244077?s=80&v=4"},"commit":{"message":"Build: Bump version.","shortMessageHtmlLink":"Build: Bump version."}},{"before":"2edfbc448e0ca43c8ba223381395adaa90b90d01","after":"2cd49e6314aa559c8025bd6e6bb44a5e081572cd","ref":"refs/heads/main","pushedAt":"2024-07-01T08:09:16.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"modmuss50","name":"modmuss","path":"/modmuss50","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4324090?s=80&v=4"},"commit":{"message":"Enable checkstyle (#149)","shortMessageHtmlLink":"Enable checkstyle (#149)"}},{"before":"d0a6ebdf9eb24c7ef7a0359eaa7dc7b8bc90548f","after":"2edfbc448e0ca43c8ba223381395adaa90b90d01","ref":"refs/heads/main","pushedAt":"2024-07-01T07:58:23.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"modmuss50","name":"modmuss","path":"/modmuss50","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4324090?s=80&v=4"},"commit":{"message":"Fix: Do not re-parent calls to interface super methods. (#150)\n\nThe existing logic is wrong, and they will always be valid as-is because any superinterfaces will be merged onto the target class.","shortMessageHtmlLink":"Fix: Do not re-parent calls to interface super methods. (#150)"}},{"before":"a8254c74830ac82c9ad945b762ad2b36911e3a18","after":"d0a6ebdf9eb24c7ef7a0359eaa7dc7b8bc90548f","ref":"refs/heads/main","pushedAt":"2024-06-19T22:18:56.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"modmuss50","name":"modmuss","path":"/modmuss50","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4324090?s=80&v=4"},"commit":{"message":"Update Gradle (#148)","shortMessageHtmlLink":"Update Gradle (#148)"}},{"before":"c0933111843364e97b8ffbc35935518d287fe1e9","after":"a8254c74830ac82c9ad945b762ad2b36911e3a18","ref":"refs/heads/main","pushedAt":"2024-06-08T14:17:38.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"modmuss50","name":"modmuss","path":"/modmuss50","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4324090?s=80&v=4"},"commit":{"message":"Fix: Properly extend the stack in `ModifyArgInjector`. (#144)\n\nThe old logic doesn't really make any sense and the calculated extension usually ended up being negative.\r\nInstead, we just make room for our possible receiver and all of our args.","shortMessageHtmlLink":"Fix: Properly extend the stack in ModifyArgInjector. (#144)"}},{"before":"02f847941166347a0b65b20f5aa08c3a24c7e475","after":"c0933111843364e97b8ffbc35935518d287fe1e9","ref":"refs/heads/main","pushedAt":"2024-06-02T18:43:20.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"modmuss50","name":"modmuss","path":"/modmuss50","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4324090?s=80&v=4"},"commit":{"message":"Fix: Overhaul MixinVerifier supertype logic.\nIt previously didn't handle array types correctly among some other issues.","shortMessageHtmlLink":"Fix: Overhaul MixinVerifier supertype logic."}},{"before":"2f35debf1028da808b771546c9834f35d9e518df","after":"02f847941166347a0b65b20f5aa08c3a24c7e475","ref":"refs/heads/main","pushedAt":"2024-06-02T18:38:09.000Z","pushType":"pr_merge","commitsCount":48,"pusher":{"login":"modmuss50","name":"modmuss","path":"/modmuss50","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4324090?s=80&v=4"},"commit":{"message":"Merge pull request #141 from LlamaLad7/merge/0.8.6\n\nMerge/0.8.6","shortMessageHtmlLink":"Merge pull request #141 from LlamaLad7/merge/0.8.6"}},{"before":"e779303628af31233ce848687036a954a57110c7","after":"2f35debf1028da808b771546c9834f35d9e518df","ref":"refs/heads/main","pushedAt":"2024-04-16T20:39:28.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"modmuss50","name":"modmuss","path":"/modmuss50","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4324090?s=80&v=4"},"commit":{"message":"Bump version","shortMessageHtmlLink":"Bump version"}},{"before":"ba8066133ee6db395ab3d776e15a75aad077f923","after":"e779303628af31233ce848687036a954a57110c7","ref":"refs/heads/main","pushedAt":"2024-04-16T20:38:47.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"modmuss50","name":"modmuss","path":"/modmuss50","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4324090?s=80&v=4"},"commit":{"message":"Use 0 as class reader flags in Modlauncher bytecode provider (#137)\n\nRelates to neoforged/NeoForge#768","shortMessageHtmlLink":"Use 0 as class reader flags in Modlauncher bytecode provider (#137)"}},{"before":"320b74c2d4bd513f7e58c8e36a718660cd746a80","after":"ba8066133ee6db395ab3d776e15a75aad077f923","ref":"refs/heads/main","pushedAt":"2024-04-12T08:21:26.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"modmuss50","name":"modmuss","path":"/modmuss50","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4324090?s=80&v=4"},"commit":{"message":"Bump version","shortMessageHtmlLink":"Bump version"}},{"before":"a2091792e8bb9b0951cef82528da9127f2c3b451","after":"320b74c2d4bd513f7e58c8e36a718660cd746a80","ref":"refs/heads/main","pushedAt":"2024-04-11T12:52:14.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"modmuss50","name":"modmuss","path":"/modmuss50","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4324090?s=80&v=4"},"commit":{"message":"Fix: Reset Unique field counters on Mixin application. (#136)\n\nThey previously caused hotswaps to fail due to the number increasing on each application.","shortMessageHtmlLink":"Fix: Reset Unique field counters on Mixin application. (#136)"}},{"before":"989efeb1a454e38711d95ec36139fb445be14e53","after":"a2091792e8bb9b0951cef82528da9127f2c3b451","ref":"refs/heads/main","pushedAt":"2024-04-03T15:36:04.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"modmuss50","name":"modmuss","path":"/modmuss50","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4324090?s=80&v=4"},"commit":{"message":"Fix indent","shortMessageHtmlLink":"Fix indent"}},{"before":"eb44a338812bf80557e434935f289977a50b6b3c","after":"989efeb1a454e38711d95ec36139fb445be14e53","ref":"refs/heads/main","pushedAt":"2024-04-03T15:26:09.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"modmuss50","name":"modmuss","path":"/modmuss50","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4324090?s=80&v=4"},"commit":{"message":"Bump version","shortMessageHtmlLink":"Bump version"}},{"before":"738638f09258fe66cc54251be69a26be015c1edb","after":"eb44a338812bf80557e434935f289977a50b6b3c","ref":"refs/heads/main","pushedAt":"2024-04-03T15:25:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"modmuss50","name":"modmuss","path":"/modmuss50","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4324090?s=80&v=4"},"commit":{"message":"Set maven pom name","shortMessageHtmlLink":"Set maven pom name"}},{"before":"b07a8b2b1548a0b94ec9b9cb3f2ed3bae7c90de9","after":"738638f09258fe66cc54251be69a26be015c1edb","ref":"refs/heads/main","pushedAt":"2024-04-03T15:18:33.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"modmuss50","name":"modmuss","path":"/modmuss50","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4324090?s=80&v=4"},"commit":{"message":"Fix: Strip synthetic LVT entries after exporting. (#135)\n\nThey are useful for the dumped classes, but they have incorrect labels and as such they confuse IDEA's debugger.","shortMessageHtmlLink":"Fix: Strip synthetic LVT entries after exporting. (#135)"}},{"before":"49042ea4cad05da1c6c4f676d240874445e64c97","after":"b07a8b2b1548a0b94ec9b9cb3f2ed3bae7c90de9","ref":"refs/heads/main","pushedAt":"2024-03-08T09:27:52.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"modmuss50","name":"modmuss","path":"/modmuss50","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4324090?s=80&v=4"},"commit":{"message":"Bump version","shortMessageHtmlLink":"Bump version"}},{"before":"dadc14717c78b3dbb9a2b343128a095c46183a67","after":"49042ea4cad05da1c6c4f676d240874445e64c97","ref":"refs/heads/main","pushedAt":"2024-03-08T09:27:11.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"modmuss50","name":"modmuss","path":"/modmuss50","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4324090?s=80&v=4"},"commit":{"message":"Add maven metadata (#130)\n\n* Add maven metadata\r\n\r\n* Typo","shortMessageHtmlLink":"Add maven metadata (#130)"}},{"before":"8c8ece2737a83e281542717f5205d2ca7ad0db64","after":"dadc14717c78b3dbb9a2b343128a095c46183a67","ref":"refs/heads/main","pushedAt":"2024-03-08T09:26:04.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"modmuss50","name":"modmuss","path":"/modmuss50","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4324090?s=80&v=4"},"commit":{"message":"Fix: Properly extend the stack in `CallbackInjector`. (#131)\n\nThe old logic misses the receiver and does not correctly handle double-size types.","shortMessageHtmlLink":"Fix: Properly extend the stack in CallbackInjector. (#131)"}},{"before":"d7eda8d709fc2b63e55c6d2aa348b72b2eb48e4d","after":"8c8ece2737a83e281542717f5205d2ca7ad0db64","ref":"refs/heads/main","pushedAt":"2024-03-08T09:25:55.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"modmuss50","name":"modmuss","path":"/modmuss50","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4324090?s=80&v=4"},"commit":{"message":"Fix: Check the staticness of the original call not the current one. (#132)","shortMessageHtmlLink":"Fix: Check the staticness of the original call not the current one. (#…"}},{"before":"e70693a79a68a524a88b9286c87615f345c851e4","after":"d7eda8d709fc2b63e55c6d2aa348b72b2eb48e4d","ref":"refs/heads/main","pushedAt":"2024-03-03T16:34:55.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"modmuss50","name":"modmuss","path":"/modmuss50","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4324090?s=80&v=4"},"commit":{"message":"Bump version","shortMessageHtmlLink":"Bump version"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0wM1QwODoxMjo1MS4wMDAwMDBazwAAAASrTKGw","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0wM1QwODoxMjo1MS4wMDAwMDBazwAAAASrTKGw","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wMy0wM1QxNjozNDo1NS4wMDAwMDBazwAAAAQLEJZ2"}},"title":"Activity · FabricMC/Mixin"}