Full disclosure, there is a regression in the test case for GROOVY-7456. The unit test did not catch it since it runs with static compilation on. Setting it to dynamic mode reproduces the runtime error:
groovy.lang.MissingMethodException: No signature of method: C.g() is applicable for argument types: (C, String) values: [C@41fed14f, a] // GROOVY-7456, GROOVY-7797 @Test void testInvokePrivateTraitMethodFromTraitClosure() { assertScript shell, ''' trait T { @CompileDynamic def f() { ['a'].collect { String s -> g(s) } } private String g(String s) { s.toUpperCase() } } class C implements T { } def c = new C() assert c.f() == ['A'] ''' } ________________________________ From: Milles, Eric (TR Technology) <eric.mil...@thomsonreuters.com> Sent: Tuesday, February 27, 2024 4:51 PM To: Groovy_Developers <dev@groovy.apache.org> Subject: Re: [EXT] [VOTE] Release Apache Groovy 4.0.19 +1 (binding) There is a jar with a "raw" classifier in the distribution. It was not present in 4.0.18. [cid:4ad0c3ce-21bc-4878-a68d-5a2a58aeafd5] ________________________________ From: Paul King <pa...@asert.com.au> Sent: Tuesday, February 27, 2024 4:41 AM To: Groovy_Developers <dev@groovy.apache.org> Subject: [EXT] [VOTE] Release Apache Groovy 4.0.19 External Email: Use caution with links and attachments. Dear development community, I am happy to start the VOTE thread for a Groovy 4.0.19 release! This release includes 18 bug fixes/improvements as outlined in the changelog: https://urldefense.com/v3/__https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12318123&version=12354149__;!!GFN0sa3rsbfR8OLyAw!fIeiOuXOxdqTRAajOlV_kBzgTKu5DnpaQm3o6oIRagkaMYXm_PeDKaOCLUOY5JNkHb5e1d3bBfJpNlF12ZZifw$ Tag: https://urldefense.com/v3/__https://gitbox.apache.org/repos/asf?p=groovy.git;a=tag;h=refs*tags*GROOVY_4_0_19__;Ly8!!GFN0sa3rsbfR8OLyAw!fIeiOuXOxdqTRAajOlV_kBzgTKu5DnpaQm3o6oIRagkaMYXm_PeDKaOCLUOY5JNkHb5e1d3bBfJpNlGvkd-M1Q$ Tag commit id: 7d25a39ae4c26f38b86b181c98e079a40e1d787e The artifacts to be voted on are located as follows (r67599). Source release: https://urldefense.com/v3/__https://dist.apache.org/repos/dist/dev/groovy/4.0.19/sources__;!!GFN0sa3rsbfR8OLyAw!fIeiOuXOxdqTRAajOlV_kBzgTKu5DnpaQm3o6oIRagkaMYXm_PeDKaOCLUOY5JNkHb5e1d3bBfJpNlHJk1C81A$ Convenience binaries: https://urldefense.com/v3/__https://dist.apache.org/repos/dist/dev/groovy/4.0.19/distribution__;!!GFN0sa3rsbfR8OLyAw!fIeiOuXOxdqTRAajOlV_kBzgTKu5DnpaQm3o6oIRagkaMYXm_PeDKaOCLUOY5JNkHb5e1d3bBfJpNlE6ThamDQ$ Release artifacts are signed with a key from the following file: https://urldefense.com/v3/__https://dist.apache.org/repos/dist/release/groovy/KEYS__;!!GFN0sa3rsbfR8OLyAw!fIeiOuXOxdqTRAajOlV_kBzgTKu5DnpaQm3o6oIRagkaMYXm_PeDKaOCLUOY5JNkHb5e1d3bBfJpNlENfu_U4A$ Please vote on releasing this package as Apache Groovy 4.0.19. Reminder on ASF release approval requirements for PMC members: https://urldefense.com/v3/__http://www.apache.org/legal/release-policy.html*release-approval__;Iw!!GFN0sa3rsbfR8OLyAw!fIeiOuXOxdqTRAajOlV_kBzgTKu5DnpaQm3o6oIRagkaMYXm_PeDKaOCLUOY5JNkHb5e1d3bBfJpNlE-h7b1EA$ Hints on validating checksums/signatures (but replace md5sum with sha256sum): https://urldefense.com/v3/__https://www.apache.org/info/verification.html__;!!GFN0sa3rsbfR8OLyAw!fIeiOuXOxdqTRAajOlV_kBzgTKu5DnpaQm3o6oIRagkaMYXm_PeDKaOCLUOY5JNkHb5e1d3bBfJpNlEcTQDxGQ$ The vote is open for the next 72 hours and passes if a majority of at least three +1 PMC votes are cast. [ ] +1 Release Apache Groovy 4.0.19 [ ] 0 I don't have a strong opinion about this, but I assume it's ok [ ] -1 Do not release Apache Groovy 4.0.19 because... Here is my vote: +1 (binding)