Back

The Groovy Team
Patches for Groovy
Windows
13 patches available
Apache Groovy is a powerful, optionally typed and dynamic language, with static-typing and static compilation capabilities, for the Java platform aimed at improving developer productivity thanks to a concise, familiar and easy to learn syntax.
Groovy Version 4.0.27
Release Date
6/30/2025
Bug Fix?
Yes
Minor Release?
Yes
Patch Notes

Changelog for Groovy 4.0.27$$$Bug$$$[GROOVY-10904] - STC doesnt find property accessor on nested class$$$[GROOVY-11579] - Reproduction of GROOVY-11548 with Generic Parameters$$$[GROOVY-11581] - byte array casted to array list when calling parent method from nested class$$$[GROOVY-11600] - Static compiler should treat inner records as static$$$[GROOVY-11607] - Nested <src> in <groovyc> Ant task is not handled nicely$$$[GROOVY-11613] - Cannot call on outerclasss default method if the inner class extends that outerclass$$$[GROOVY-11614] - Enums in switch/case statements that are not fully qualified will cause a groovy compile error but Java requires enums to not be fully qualified$$$[GROOVY-11618] - Method reference not found for record fields$$$[GROOVY-11621] - Assigning null to a List or Map using bracket notation does not work with @CompileStatic$$$[GROOVY-11634] - ClassFormatError when property and abstract getter exist in the same class$$$[GROOVY-11642] - source offset of inner class declaration with annotation$$$[GROOVY-11671] - Groovy 4_0_X branch fails$$$[GROOVY-11674] - Grails reproducible build$$$[GROOVY-3908] - groovyc should enforce correct usage of continue$$$[GROOVY-4843] - Mocking a method with byte[] parameter type throws a ClassCastException: ArrayList cannot be cast to Number$$$[GROOVY-8560] - Spread operator type conversion error$$$Dependency upgrade$$$[GROOVY-11588] - Bump jackson to 2.18.3$$$[GROOVY-11592] - Bump asm to 9.8$$$[GROOVY-11594] - Bump junit5 to 5.12.1$$$[GROOVY-11598] - Bump javaparser to 3.26.4$$$[GROOVY-11608] - Bump junit5 to 5.12.2$$$[GROOVY-11620] - Bump slf4j to 2.0.17 (test and standard install dependency)$$$[GROOVY-11625] - Bump picocli to 4.7.7$$$[GROOVY-11626] - Bump japicmp to 0.4.6$$$[GROOVY-11637] - Bump gradle to 8.14 (build dependency)$$$[GROOVY-11645] - Bump jansi to 2.4.2$$$[GROOVY-11651] - Bump antlr to 4.13.2.7$$$Improvement$$$[GROOVY-11619] - Replace buildscan-recipes with simplified custom value generation$$$[GROOVY-11658] - Groovyc ant task is excessively verbose$$$[GROOVY-11668] - Groovydoc fails to produce documentation for some files with higher Java language level code$$$[GROOVY-11673] - Add an explicit mention of selected license for JavaParser for BIN/SDK.$$$Task$$$[GROOVY-11661] - Add JDK 25 constant
Groovy Version 4.0.26
Release Date
3/4/2025
Bug Fix?
Yes
Minor Release?
Yes
Patch Notes

Changelog for Groovy 4.0.26$$$Bug$$$[GROOVY-11548] - Could not inherit class and interface where class has a final method overridden by interface$$$[GROOVY-11559] - BUG! exception in phase instruction selection of @CompileStatic method$$$[GROOVY-11564] - SC: call site writer makes reference to removed method$$$[GROOVY-11565] - empty if/else seems to confuse the parser$$$[GROOVY-11570] - Groovy 4/5 not working in OSGi container$$$[GROOVY-11572] - STC: spread on non-iterable type causes compiler error$$$Dependency upgrade$$$[GROOVY-11574] - Bump junit5/junit5platform to 5.12.0/1.12.0$$$[GROOVY-11575] - Bump gradle to 8.12.1 (build dependency)$$$[GROOVY-11576] - Bump logback-classic to 1.3.15 (test dependency)$$$Improvement$$$[GROOVY-11573] - Propagate parameters flag from compiler configuration to javac
Groovy Version 4.0.26
Release Date
3/4/2025
Bug Fix?
Yes
Minor Release?
Yes
Patch Notes

Changelog for Groovy 4.0.26$$$Bug$$$[GROOVY-11548] - Could not inherit class and interface where class has a final method overridden by interface$$$[GROOVY-11559] - BUG! exception in phase instruction selection of @CompileStatic method$$$[GROOVY-11564] - SC: call site writer makes reference to removed method$$$[GROOVY-11565] - empty if/else seems to confuse the parser$$$[GROOVY-11570] - Groovy 4/5 not working in OSGi container$$$[GROOVY-11572] - STC: spread on non-iterable type causes compiler error$$$Dependency upgrade$$$[GROOVY-11574] - Bump junit5/junit5platform to 5.12.0/1.12.0$$$[GROOVY-11575] - Bump gradle to 8.12.1 (build dependency)$$$[GROOVY-11576] - Bump logback-classic to 1.3.15 (test dependency)$$$Improvement$$$[GROOVY-11573] - Propagate parameters flag from compiler configuration to javac
Groovy Version 4.0.25
Release Date
1/28/2025
Bug Fix?
Yes
Minor Release?
Yes
Patch Notes

Changelog for Groovy 4.0.25$$$Bug$$$[GROOVY-11524] - Error with circular loading of installed providers when using transitive dependency groovy 4.0.23 in docker$$$[GROOVY-11553] - org.abego.treelayout:org.abego.treelayout.core dependency should be runtimeOnly$$$[GROOVY-7407] - Compilation not thread safe if Grape / Ivy is used in Groovy scripts$$$Dependency upgrade$$$[GROOVY-11519] - Bump xstream to 1.4.21$$$[GROOVY-11523] - Bump gradle to 8.11.1$$$[GROOVY-11526] - Bump jackson/jackson-databind to 2.18.2$$$[GROOVY-11527] - Bump log4j2 to 2.24.2 (test dependency)$$$[GROOVY-11530] - Bump japicmp to 0.4.5$$$[GROOVY-11533] - Bump junit5 to 5.11.4$$$[GROOVY-11534] - Bump javaparser to 3.26.3$$$[GROOVY-11536] - Bump antlr4 to 4.13.2.4$$$[GROOVY-11537] - Bump gradle to 8.12$$$[GROOVY-11538] - Bump ivy to 2.5.3$$$[GROOVY-11544] - Bump jqwik to 1.9.2 (test dependency)$$$[GROOVY-11546] - Bump log4j2 to 2.24.3 (test dependency)$$$[GROOVY-11554] - Bump antlr to 4.13.2.5$$$[GROOVY-11555] - Bump antlr to 4.13.2.6$$$[GROOVY-11556] - Bump jarjar to 1.14.1 (build dependency)
Groovy Version 4.0.24
Release Date
11/8/2024
Bug Fix?
Yes
Minor Release?
Yes
Patch Notes

Changelog for Groovy 4.0.24$$$Bug$$$[GROOVY-11459] - weak hashing algorithm (???????)$$$[GROOVY-11488] - STC: NPE for not-instanceof examination$$$[GROOVY-11508] - Multiple traits with related generic types cannot be used$$$[GROOVY-11512] - Inconsistent isAttribute & getAttribute behavior in Groovy 4 with traits$$$Dependency upgrade$$$[GROOVY-11484] - Downgrade asciidoctorj-diagram to 2.2.10 due to errors$$$[GROOVY-11494] - Bump gradle to 8.10.2$$$[GROOVY-11497] - Bump asm to 9.7.1$$$[GROOVY-11498] - Bump junit to 5.11.2$$$[GROOVY-11499] - Bump jackson to 2.18.0$$$[GROOVY-11500] - Bump japicmp to 0.4.4$$$[GROOVY-11501] - Bump log4j2 to 2.24.1$$$[GROOVY-11502] - Bump asciidoctorj-pdf to 2.3.19$$$[GROOVY-11503] - Bump asciidoctorj-diagram to 2.2.17$$$[GROOVY-11504] - Bump jqwik to 1.9.1$$$[GROOVY-11506] - Bump checkstyle to 10.18.2$$$[GROOVY-11510] - Bump junit5 to 5.11.3$$$[GROOVY-11514] - Bump jackson to 2.18.1$$$Improvement$$$[GROOVY-11181] - Improve STC error message for non-functional interface$$$[GROOVY-11478] - Enable GroovyClassLoader to be ParallelCapable$$$[GROOVY-11491] - Add support for join and group by in ginq
Groovy Version 3.0.23
Release Date
11/8/2024
Bug Fix?
Yes
Minor Release?
Yes
Patch Notes

Changelog for Groovy 3.0.23$$$Bug$$$[GROOVY-11450] - flow typing can lead to type unsafe results when having nested ifs$$$[GROOVY-11467] - Failed to find method when using method reference on a class field$$$[GROOVY-11488] - STC: NPE for not-instanceof examination$$$[GROOVY-9873] - SAM type or functional interface referenced from a method is not visible from class loader$$$Dependency upgrade$$$[GROOVY-11045] - Bump testng to 7.5.1$$$Improvement$$$[GROOVY-11181] - Improve STC error message for non-functional interface$$$[GROOVY-11478] - Enable GroovyClassLoader to be ParallelCapable
Groovy Version 4.0.23
Release Date
9/28/2024
Bug Fix?
Yes
Minor Release?
Yes
Patch Notes

Changelog for Groovy 4.0.23$$$Bug$$$[GROOVY-11353] - SC: variable initialized to null and assigned primitive value in loop$$$[GROOVY-11436] - [GINQ] Some non-ascii characters in ascii table can not align correctly in console$$$[GROOVY-11450] - flow typing can lead to type unsafe results when having nested ifs$$$[GROOVY-11467] - Failed to find method when using method reference on a class field$$$[GROOVY-11469] - Empty execute method in groovy.sql.Sql$$$[GROOVY-9873] - SAM type or functional interface referenced from a method is not visible from class loader$$$Dependency upgrade$$$[GROOVY-11429] - Bump junit to 5.10.3$$$[GROOVY-11433] - Bump jackson to 2.17.2$$$[GROOVY-11435] - Bump asciidoctorj-diagram to 2.3.1$$$[GROOVY-11441] - Bump gradle to 8.9$$$[GROOVY-11452] - Bump asciidoctorj-pdf to 2.3.18$$$[GROOVY-11455] - Bump junit to 5.11.0$$$[GROOVY-11456] - Bump gradle to 8.10$$$[GROOVY-11458] - Bump javaparser to 3.26.2$$$[GROOVY-11460] - Bump slf4j to 2.0.16 (test and standard install dependency)$$$[GROOVY-11462] - Bump Codenarc to 3.5.0-groovy-4.0 (build dependency)$$$[GROOVY-11463] - Bump ant version to 1.10.15$$$[GROOVY-11465] - Bump jqwik to 1.9.0 (test dependency)$$$[GROOVY-11473] - Bump log4j2 version to 2.24.0 (test dependency)
Groovy Version 4.0.22
Release Date
6/30/2024
Bug Fix?
Yes
Minor Release?
Yes
Patch Notes

Changelog for Groovy 4.0.22$$$Bug$$$[GROOVY-11144] - MissingPropertyEx when accessing private static field in closure of same class$$$[GROOVY-11223] - STC: error message for inaccessible setter is not too helpful$$$[GROOVY-11352] - Reference to this in ctor before this/super call false positive$$$[GROOVY-11356] - STC: missing property error for implicit-this reference to private super field or method$$$[GROOVY-11358] - STC: error for abstract class private or package-private field access$$$[GROOVY-11362] - implicit type of catch parameter is written as Object$$$[GROOVY-11363] - Bootstrap method error for method reference used with a primitive literal$$$[GROOVY-11364] - STC loses generic specialization on inheritance$$$[GROOVY-11368] - SC: map access different for parameter and local variable of same type$$$[GROOVY-11369] - STC: map properties class and empty indicated as read-only$$$[GROOVY-11370] - STC: extension method cannot provide map property (read mode)$$$[GROOVY-11372] - STC: write property via extension method$$$[GROOVY-11373] - IllegalAccessError writing package-private property of other-package map-based type$$$[GROOVY-11378] - array or collection coercion of non-collection iterable produces single-element result$$$[GROOVY-11384] - STC: map property access within closure$$$[GROOVY-11385] - reference to the constructor of an abstract class is not detected$$$[GROOVY-11387] - STC: entry vs field for map-based types$$$[GROOVY-11390] - access error for inaccessible getter of super class$$$[GROOVY-11399] - STC: inferred type of closure delegate; owner and thisObject$$$[GROOVY-11401] - STC: inferred type of name within closure (delegate property versus owner field) *$$$[GROOVY-11414] - Compiler does not promote/check lambda results when required$$$[GROOVY-11427] - unexpected crash in class generation On receiver: x with message: getAt and arguments: 0$$$[GROOVY-9850] - STC: add error for write of private or package-private field of super class$$$Dependency upgrade$$$[GROOVY-11395] - Bump jackson to 2.17.1$$$[GROOVY-11396] - Bump picocli to 4.7.6$$$[GROOVY-11416] - Bump antlr to 4.13.1.4$$$[GROOVY-11417] - Bump antlr to 4.13.1.5$$$[GROOVY-11418] - Bump hsqldb to 2.7.3 (test dependency)$$$[GROOVY-11419] - Bump slf4j to 2.0.13 (test and standard install dependency)$$$[GROOVY-11420] - Bump jqwik to 1.8.5 (test dependency)$$$[GROOVY-11424] - Bump spotbugs to 4.8.6$$$[GROOVY-11425] - Bump gson to 2.11.0 (test dependency)$$$[GROOVY-11426] - Bump javaparser to 3.26.1$$$Improvement$$$[GROOVY-11360] - Issue a warning when accessing static fields that are shadowed by get() methods$$$[GROOVY-11415] - Bytecode for identity$$$* potentially breaking change (read issue for details - even minor differences are sometimes flagged as potentially breaking changes)
Groovy Version 4.0.21
Release Date
4/10/2024
Bug Fix?
Yes
Minor Release?
Yes
Patch Notes

Changelog for Groovy 4.0.21$$$Bug$$$[GROOVY-11319] - Access to a private property of a parent object is not caught$$$Dependency upgrade$$$[GROOVY-11343] - Bump asm to 9.7$$$[GROOVY-11344] - Bump jackson/jackson-databind to 2.17.0$$$[GROOVY-11345] - Bump jqwik to 1.8.4 (test dependency)$$$[GROOVY-11350] - Bump log4j2 version to 2.23.1 (test dependency)$$$[GROOVY-11354] - Bump javaparser to 3.25.10$$$Improvement$$$[GROOVY-11342] - SQL enhancement to allow metadata access for execute$$$[GROOVY-11347] - Support JDK 23
Groovy Version 4.0.20
Release Date
3/16/2024
Bug Fix?
Yes
Minor Release?
Yes
Patch Notes

Changelog for Groovy 4.0.20$$$Bug$$$[GROOVY-11328] - Groovy 4.0.19 - Unable to start (picocli)$$$[GROOVY-11329] - Class using trait and @Immutable and allProperties gives BUG! exception in phase canonicalization NPE$$$[GROOVY-11335] - STC: for loop element type inference with multiple instanceof$$$Dependency upgrade$$$[GROOVY-11331] - Bump javaparser to 3.25.9$$$[GROOVY-11334] - Bump jqwik to 1.8.3 (test dependency)$$$[GROOVY-11336] - Bump jackson/jackson-databind to 2.16.2$$$Improvement$$$[GROOVY-11270] - Dont truncate argument types in MissingMethodException
Groovy Version 3.0.21
Release Date
3/1/2024
Bug Fix?
Yes
Minor Release?
Yes
Patch Notes

Changelog for Groovy 3.0.21$$$Bug$$$[GROOVY-11254] - Compiler crash: ClassNode#getTypeClass for TemporalAccessor called before the type class is set$$$[GROOVY-11257] - [STC] Cannot detect the type of Optional in some cases$$$[GROOVY-11259] - STC loses generic information on method references$$$[GROOVY-11266] - Static Compilation fails when using generics (no such property)$$$[GROOVY-11271] - ConcurrentCommonCache causes memory leaks.$$$[GROOVY-11276] - Generics error in method resolution$$$[GROOVY-11290] - STC: multiple instanceof checks produce different results$$$[GROOVY-11293] - Error BUG! At this point argument array length and parameter array length should be the same$$$[GROOVY-11296] - shuffled modifies input array$$$[GROOVY-11297] - Fail to identify duplicate constructor declaration$$$[GROOVY-11304] - The script running reports a null pointer.$$$[GROOVY-11308] - DefaultGroovyMethods#unique now returns null for empty or 1 element input$$$[GROOVY-11313] - Closure owner seems to be overwritten$$$[GROOVY-11323] - Interface default method and static import precedence$$$[GROOVY-6837] - String[] + String[] gives Object[] *$$$Dependency upgrade$$$[GROOVY-11187] - Bump asm to 9.6$$$Improvement$$$[GROOVY-7001] - generics info can be improved for DGM methods with a collector$$$* potentially breaking change (read issue for details - even minor differences are sometimes flagged as potentially breaking changes)
Groovy Version 4.0.18
Release Date
1/19/2024
Bug Fix?
Yes
Minor Release?
Yes
Patch Notes

Changelog for Groovy 4.0.18$$$Bug$$$[GROOVY-10998] - Not reporting cyclic dependency in functions type parameters$$$[GROOVY-11254] - Compiler crash: ClassNode#getTypeClass for TemporalAccessor called before the type class is set$$$[GROOVY-11257] - [STC] Cannot detect the type of Optional in some cases$$$[GROOVY-11259] - STC loses generic information on method references$$$[GROOVY-11265] - Runtime rehydrate error for closure in interface default method$$$[GROOVY-11267] - Trait static methods are not resolved when called from closure$$$[GROOVY-11269] - GroovyClassDoc has empty enumConstants when call method GroovyDocParser.getClassDocsFromSingleSource(...)$$$[GROOVY-11271] - ConcurrentCommonCache causes memory leaks.$$$[GROOVY-11276] - Generics error in method resolution$$$Dependency upgrade$$$[GROOVY-11278] - Bump slf4j to 2.0.11 (test and standard install dependency)$$$[GROOVY-11279] - Bump log4j2 version to 2.22.1 (test dependency)$$$[GROOVY-11280] - Bump javaparser to 3.25.8$$$[GROOVY-11282] - Bump jackson/jackson-databind to 2.16.1$$$[GROOVY-11283] - Bump Gradle to 7.6.3$$$Improvement$$$[GROOVY-11262] - Avoid processing duplicated entries within META-INF$$$[GROOVY-9464] - GroovyDoc: List inherited properties
Groovy Version 4.0.18
Release Date
1/19/2024
Bug Fix?
Yes
Minor Release?
Yes
Patch Notes

Changelog for Groovy 4.0.18$$$Bug$$$[GROOVY-10998] - Not reporting cyclic dependency in functions type parameters$$$[GROOVY-11254] - Compiler crash: ClassNode#getTypeClass for TemporalAccessor called before the type class is set$$$[GROOVY-11257] - [STC] Cannot detect the type of Optional in some cases$$$[GROOVY-11259] - STC loses generic information on method references$$$[GROOVY-11265] - Runtime rehydrate error for closure in interface default method$$$[GROOVY-11267] - Trait static methods are not resolved when called from closure$$$[GROOVY-11269] - GroovyClassDoc has empty enumConstants when call method GroovyDocParser.getClassDocsFromSingleSource(...)$$$[GROOVY-11271] - ConcurrentCommonCache causes memory leaks.$$$[GROOVY-11276] - Generics error in method resolution$$$Dependency upgrade$$$[GROOVY-11278] - Bump slf4j to 2.0.11 (test and standard install dependency)$$$[GROOVY-11279] - Bump log4j2 version to 2.22.1 (test dependency)$$$[GROOVY-11280] - Bump javaparser to 3.25.8$$$[GROOVY-11282] - Bump jackson/jackson-databind to 2.16.1$$$[GROOVY-11283] - Bump Gradle to 7.6.3$$$Improvement$$$[GROOVY-11262] - Avoid processing duplicated entries within META-INF$$$[GROOVY-9464] - GroovyDoc: List inherited properties
Groovy Version 3.0.19
Release Date
8/22/2023
Bug Fix?
Yes
Minor Release?
Yes
Patch Notes

Changelog for Groovy 3.0.19$$$Bug$$$[GROOVY-10602] - Compiler crash in class generation when combining lambdas and default args$$$[GROOVY-11119] - String and Pattern conflict$$$[GROOVY-11122] - SC: map-style constructor call for non-static inner class within closure$$$[GROOVY-11151] - Example in the Documentation of the Coercion Operator is Wrong$$$Dependency upgrade$$$[GROOVY-11131] - Bump javaparser to 3.25.4$$$Improvement$$$[GROOVY-10893] - collectEntries accepts one or more entry values for each iteration but not zero (via null)$$$[GROOVY-11090] - STC: closure param type inference for tupl
Groovy Version 2.5.23
Release Date
8/22/2023
Bug Fix?
Yes
Minor Release?
No
Patch Notes

Changelog for Groovy 2.5.23$$$Bug$$$[GROOVY-11056] - modified behavior of variable resolution within Closure$$$[GROOVY-11136] - NoSuchMethodError thrown when executing Groovy script
Interested in automating patching for Groovy?