Apache Groovy 2.4.6 发布

jopen 8年前

Apache Groovy 2.4.6 发布,这是一个维护版本,完整改进记录包括:

Bug

  • [GROOVY-2178] - Shell can not handle multi-line list defs

  • [GROOVY-2242] - Missing information in Javadoc of ExpandoMetaClass.enableGlobally()

  • [GROOVY-3341] - MissingMethodException in Builder is misleading

  • [GROOVY-4698] - Possible memory leak in Tomcat

  • [GROOVY-4888] - groovy console script execution output appears in all output windows

  • [GROOVY-6067] - MetaClassImpl triggers new entries for maps with default

  • [GROOVY-6352] - Type checker ignores wrong number of constructor arguments

  • [GROOVY-6669] - Compile in groovyConsole instantiates class

  • [GROOVY-6787] - type checker does not check generics bounds of wildcards properly

  • [GROOVY-6835] - flow typing activated by if statement doing an "instanceof" check  doesn't work as expected with interface types

  • [GROOVY-6922] - JsonSlurper loses trailing 0's in numbers (regression in Groovy 2.3)

  • [GROOVY-6958] - null != NullObject when using Categories

  • [GROOVY-7036] - An interface implementation (override) with a method including a default parameter value does not compile

  • [GROOVY-7074] - DelegatingScript does not work with Builder as delegate

  • [GROOVY-7105] - Oracle Thin Driver Fails with an Exception in Groovy 2.3.x

  • [GROOVY-7170] - STC error If we use java.lang.Integer as Target Type with method generics

  • [GROOVY-7342] - last enum value is hidden if annotated

  • [GROOVY-7363] - Frequent compilation error on cascading generic types

  • [GROOVY-7378] - Spaces in JAVA_OPTS env var  prevent launching of groovy

  • [GROOVY-7420] - Cannot choose between primitive and object variants of an overloaded method

  • [GROOVY-7442] - spread-dot operator within assert isn't expected with @CompileStatic

  • [GROOVY-7535] - Groovy category throwing MissingMethodException and MissingPropertyException when using multiple threads

  • [GROOVY-7538] - Compiler crash in the static type checker with self-referencing generic type

  • [GROOVY-7587] - Groovy 2.2 and 2.4 all fail to execute almost any script with Java 9 JIGSAW preview builds

  • [GROOVY-7596] - src/test/org/codehaus/groovy/ast/LineColumnCheck.txt file missing header in source release

  • [GROOVY-7597] - Static Compiler tries to cast delegate to target type of property accessor

  • [GROOVY-7598] - type checking with generics

  • [GROOVY-7610] - Null safe is call throws VerifyError when used as condition with CompileStatic

  • [GROOVY-7618] - Parameterless closure to SAM coercion causes NPE during instruction selection with STC

  • [GROOVY-7621] - Memory Leak (metaClassRegistry) unable to remove metaClass based on instances

  • [GROOVY-7623] - IBM Java (J9) ClassValue works correctly so should use it by default

  • [GROOVY-7627] - Property calls are not correctly type checked if the setter parameter type or getter return type are not the field type

  • [GROOVY-7630] - JsonSlurper LAX parser with invalid number

  • [GROOVY-7631] - @CompileStatic compiles 0 != null to false

  • [GROOVY-7639] - NPE when using safe traversal operator with CompileStatic

  • [GROOVY-7644] - ExternalizeMethods generates incorrect bytecode for statically compiled nested classes

  • [GROOVY-7645] - Stub generator unescapes escaped backslashes in String annotation values

  • [GROOVY-7649] - Grape.resolve() always fails after first unresolved dependency

  • [GROOVY-7650] - CLONE - collectEntries throws cryptic error when used with split(delimiter, limit)

  • [GROOVY-7652] - Float/Double trunc methods perform rounding for negative values

  • [GROOVY-7656] - Spread safe method calls on list literals result in the list expression being evaluated twice (SC)

  • [GROOVY-7665] - JsonSlurperCharSource decimal parsing producing unexpected results

  • [GROOVY-7675] - Compiler customization builder not resolve secureAst properties

  • [GROOVY-7688] - Using spread operator on function with compile static results in two calls to function

  • [GROOVY-7694] - Results of spread safe method calls should be stored in temporary variables

  • [GROOVY-7698] - @CompileStatic safe navigation is broken for property style non-synthetic setter calls

  • [GROOVY-7702] - @CompileStatic and the method with(Closure) seem to determine wrong type

  • [GROOVY-7705] - CompileStatic closure accessing "thisObject" private field: setProperty instead of synthetic method

  • [GROOVY-7707] - StreamingJsonBuilder produces IllegalStateException when using unescaped output

  • [GROOVY-7709] - NPE with ConvertedClosure

  • [GROOVY-7710] - Random resolution of an overloaded method with arrays as last parameter called without an argument

  • [GROOVY-7711] - Wrong method resolution for an overridden method with varargs and covariant return type

  • [GROOVY-7715] - ulimit use is not supported on NonStop

  • [GROOVY-7716] - groovy.json.internal.FastStringUtils.StringImplementation#toCharArray fails on jdk9

  • [GROOVY-7717] - StaticTypeCheckingTestCase#shouldFailWithMessages erroneously passes

  • [GROOVY-7718] - java.lang.ClassFormatError: Illegal class name on runtime cast array to trait

  • [GROOVY-7726] - Groovysh doc command fails when using Java 9

  • [GROOVY-7742] - CompileStatic stackoverflow with generic method with different placeholder as type argument

  • [GROOVY-7747] - Generated Java stub for enum with abstract method is invalid

Documentation

  • [GROOVY-7524] - Document that mixing TupleConstructor and InheritConstructors will likely not give you what you want

  • [GROOVY-7533] - GroovyInterceptions.png has an inconsistency

  • [GROOVY-7592] - Problem in switch statement docs

  • [GROOVY-7603] - Update groovy docs for Category

  • [GROOVY-7605] - Improve docs for MetaClass getMethods vs getMetaMethods

  • [GROOVY-7625] - document why slashy strings allow brackets but double quoted strings do not

  • [GROOVY-7736] - Argfiles not documented for groovyc

Improvement

  • [GROOVY-7546] - Misleasing error message for null + something-that-is-not-a-string

  • [GROOVY-7583] - Unnecessary Instantiation on DefaultGroovyMethods.numberAwareCompareTo

  • [GROOVY-7612] - GroovyDoc should allow timestamp/version stamp info (hidden info embedded in HTML) to be omitted

  • [GROOVY-7626] - Allow security managers to prevent system property access for Indy

  • [GROOVY-7668] - Better error-message for AST transformation when binary compatibility changes

  • [GROOVY-7703] - Add support for Iterable with Closure to JsonBuilder/StreamingJsonBuilder

  • [GROOVY-7706] - StreamingJsonBuilder should supported nested closures

  • [GROOVY-7708] - StreamingJsonBuilder doesn't define DelegatesTo on some methods, impacting @CompileStatic usage

  • [GROOVY-7735] - Closures should be generated as public classes

  • [GROOVY-7737] - Provide static methods in GeneralUtils to create ThrowStatement and CatchStatement

  • [GROOVY-7739] - Groovsh code-completion should display groovy jdk enhancements of java.io.file

  • [GROOVY-7740] - Groovsh code-completion should display groovy jdk enhancements of String

Task

  • [GROOVY-7660] - gradle/utils.gradle: remove unused imports + general housekeeping

来自: http://www.oschina.net//news/70931/apache-groovy-2-4-6