+1 binding Can the new methods in ClassNode be named getRecordComponents and setRecordComponents? The "Node" seems unnecessary and verbose. ClassNode doesn't offer getFieldNodes() or getFieldNode(String) and so on.
The elevation of target bytecode does have implications for tooling. If you use "record" in your source, the compiler expects to be able to load the classes in its VM, which means you must run your compiler/editor on Java 16 or whatever just to work with records (or sealed classes I would imagine). Is it really necessary to supply CompilerConfiguration.isPostJDK* methods beyond what was already there (5-9)? This pattern does not scale and you can use StringGroovyMethods.isAtLeast(version, CompilerConfiguration.JDK*) directly for any of the constants. -----Original Message----- From: Paul King <pa...@asert.com.au> Sent: Friday, November 5, 2021 7:30 PM To: Groovy_Developers <dev@groovy.apache.org> Subject: [EXT] [VOTE] Release Apache Groovy 4.0.0-beta-2 External Email: Use caution with links and attachments. Dear development community, I am happy to start the VOTE thread for a Groovy 4.0.0-beta-2 release! This release includes 104 bug fixes/improvements as outlined in the changelog: https://urldefense.com/v3/__https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12318123&version=12350212__;!!GFN0sa3rsbfR8OLyAw!Lw3-JMgqD2iRnj5SsDhjOB222W8j20OTQHrUiKlFAo53xK29EywASr6vGB7sMg5bcQIlyLc$ Tag: https://urldefense.com/v3/__https://gitbox.apache.org/repos/asf?p=groovy.git;a=tag;h=refs*tags*GROOVY_4_0_0_BETA_2__;Ly8!!GFN0sa3rsbfR8OLyAw!Lw3-JMgqD2iRnj5SsDhjOB222W8j20OTQHrUiKlFAo53xK29EywASr6vGB7sMg5b9hhpRPA$ Tag commit id: 666b0084241f10293aa57175664ab4ca9764e3cb The artifacts to be voted on are located as follows (r50820). Source release: https://urldefense.com/v3/__https://dist.apache.org/repos/dist/dev/groovy/4.0.0-beta-2/sources__;!!GFN0sa3rsbfR8OLyAw!Lw3-JMgqD2iRnj5SsDhjOB222W8j20OTQHrUiKlFAo53xK29EywASr6vGB7sMg5bOhK1cMc$ Convenience binaries: https://urldefense.com/v3/__https://dist.apache.org/repos/dist/dev/groovy/4.0.0-beta-2/distribution__;!!GFN0sa3rsbfR8OLyAw!Lw3-JMgqD2iRnj5SsDhjOB222W8j20OTQHrUiKlFAo53xK29EywASr6vGB7sMg5b7PlLl1k$ 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!Lw3-JMgqD2iRnj5SsDhjOB222W8j20OTQHrUiKlFAo53xK29EywASr6vGB7sMg5bJi3wTyY$ Please vote on releasing this package as Apache Groovy 4.0.0-beta-2. 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!Lw3-JMgqD2iRnj5SsDhjOB222W8j20OTQHrUiKlFAo53xK29EywASr6vGB7sMg5bABbUGzE$ Hints on validating checksums/signatures (but replace md5sum with sha256sum): https://urldefense.com/v3/__https://www.apache.org/info/verification.html__;!!GFN0sa3rsbfR8OLyAw!Lw3-JMgqD2iRnj5SsDhjOB222W8j20OTQHrUiKlFAo53xK29EywASr6vGB7sMg5bu9U6qgs$ 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.0-beta-2 [ ] 0 I don't have a strong opinion about this, but I assume it's ok [ ] -1 Do not release Apache Groovy 4.0.0-beta-2 because... Here is my vote: +1 (binding)