Changelog for Groovy 1.8.0-beta-3

Bug

  • [GROOVY-3194] - increment/decrement operations must respect the variable type
  • [GROOVY-3978] - Error in as Int[] conversion
  • [GROOVY-4182] - very bad performance in GroovyCategorySupport because of static AtomicInteger use
  • [GROOVY-4219] - Error during class generation for simple java/groovy program
  • [GROOVY-4237] - LocalVariableTable index attributes aren't consecutive
  • [GROOVY-4334] - Method parameter names missing in compiled classes when using parameter in closure
  • [GROOVY-4386] - static import does not work in Groovy 1.7.4
  • [GROOVY-4391] - Groovy build fails test target using Java 1.7.0
  • [GROOVY-4392] - asymmetry of closure parameter type among String#replaceAll/String#eachMatch/Pattern#each
  • [GROOVY-4397] - @Delegate broken in Groovy 1.8.0-beta-2-SNAPSHOT
  • [GROOVY-4406] - Script extension set on groovyc does not flow down to the CompilerConfiguration
  • [GROOVY-4422] - An Interface nested within a class fails to parse.
  • [GROOVY-4431] - Groovy Console binding's output-transform missing yields a stacktrace when context is cleared
  • [GROOVY-4434] - Java stub generator doesn't use FQN for annotation values
  • [GROOVY-4435] - Inconsistent handling of final fields
  • [GROOVY-4437] - Static import don't work in scripts in default packages
  • [GROOVY-4440] - Groovy Console looking for wrong LAF on Snow Leopard
  • [GROOVY-4441] - method File.eachFile is not returning full directory content
  • [GROOVY-4443] - null.asBoolean() should be false
  • [GROOVY-4444] - Constructor chaining in enums doesn't work
  • [GROOVY-4445] - ImmutableASTTransformation puts initialization of static fields into instance constructor
  • [GROOVY-4447] - A few issues in stubgenerator testing infrastructure
  • [GROOVY-4448] - SwingBuilder TitledBorder not recognizing justification attribute correctly
  • [GROOVY-4449] - Vararg parameter allowed in non-last position but fails at runtime
  • [GROOVY-4451] - Stub generation for annotation types doesn't work
  • [GROOVY-4453] - Duplicate methods added by stub generator in joint compilation when method parameters have default values.
  • [GROOVY-4455] - multiple assignment code makes Groovy AST Browser throw Exception
  • [GROOVY-4467] - Groovy JDK's java.util.Date page has double method definitions
  • [GROOVY-4469] - http://groovy.codehaus.org/gapi/ - empty/duplicate/missing Javadocs
  • [GROOVY-4475] - Boolean seems to support toBoolean() but yields incorrect results
  • [GROOVY-4477] - Exceptions do not get unwrapped from InvokerInvocationException
  • [GROOVY-4481] - MetaClassRegistry listener isn't triggered and iterator is not returning updated MCs
  • [GROOVY-4482] - Closure.memoize fails on Google App Engine
  • [GROOVY-4484] - changelist 20965 Broke AST Browser in Groovy Console
  • [GROOVY-4492] - Bug in groovy.util.GroovyScriptEngine isSourceNewer() results in gratuitous recompilations and lost of static state in groovlets
  • [GROOVY-4497] - IllegalAccessError when accessing base class property with "super.propertyName"
  • [GROOVY-4500] - Issues with remote closures
  • [GROOVY-4505] - Rogue line number for method declarations confuses IDE debuggers
  • [GROOVY-4508] - Incorrect stub code generated for constructor with optional parameters
  • [GROOVY-4510] - NPE during "record" command with relative path file name
  • [GROOVY-4512] - Method invocation syntax does not work properly with ComposedClosures
  • [GROOVY-4514] - Groovydoc does not include all the implemented interfaces of a type
  • [GROOVY-4516] - @Delegate does not work with default method parameters
  • [GROOVY-4517] - Java stub generator does not set correct value for annotations that expect a Class as a value
  • [GROOVY-4521] - Inconsistency between CompilerConfiguration, groovy -c and groovysh ?
  • [GROOVY-4524] - Groovy AntBuilder reset InputHandler when use <groovy> task
  • [GROOVY-4527] - Groovydoc does not include a super-type which is referenced in the source using a fully-qualified name
  • [GROOVY-4528] - Groovydoc does not work with java 5
  • [GROOVY-4534] - Thread.join appears to not work correctly in at least one special case
  • [GROOVY-4545] - Invalid closure name generated when containing method name has spaces
  • [GROOVY-4546] - Several bugs with @Category
  • [GROOVY-4547] - A few UI issues in AST Browser
  • [GROOVY-4548] - @Field cannot annotate a multiple assignment expression. throws a ClassCastException
  • [GROOVY-4549] - Source locations dropped inside of StaticImportVisitor
  • [GROOVY-4550] - Regression with @Immutable: @Immutable fields not recognised
  • [GROOVY-4551] - Method Closure.curry() returns raw type
  • [GROOVY-4555] - Wrong return subtypes of collectEntries{}
  • [GROOVY-4561] - VerifyError when debugging Groovy core tests
  • [GROOVY-4566] - AbstractASTTransformation should not reference ImmutableASTTransformation
  • [GROOVY-4567] - AST browser decompiled source is missing parens for StaticMethodCallExpressions
  • [GROOVY-4569] - AST Browser throws exception for enum classes
  • [GROOVY-4578] - static star ImportNode has invalid constructor?

Improvement

  • [GROOVY-3941] - Invalid method code length for many tokens in code
  • [GROOVY-4014] - Provide more Feedback while downloading Grapes
  • [GROOVY-4350] - @Log annotation should be extensible by users and other frameworks
  • [GROOVY-4423] - Map should have an isCase method
  • [GROOVY-4424] - Groovy should provide a way to adjust the ivy message logging level
  • [GROOVY-4425] - GroovyConsole has a hard-coded output limit on the console; needs a way to configure it
  • [GROOVY-4452] - proposed GrabResolver shorthand
  • [GROOVY-4456] - DGM#collectEntries has a Collection variant but no Object[] variant
  • [GROOVY-4496] - Do not scroll output console when exception is thrown, let people see the message without having to scroll back
  • [GROOVY-4501] - String to Enum coercion
  • [GROOVY-4511] - asType for collections should use .addAll if no <init>(Collection) constructor is found
  • [GROOVY-4525] - Sql.newInstance map version assumes map values are strings
  • [GROOVY-4538] - AST Browser - Allowing changing the font size in the decompiled source view
  • [GROOVY-4541] - ast browser should save your selected compilerphase and restore it when the window opens.
  • [GROOVY-4552] - Closure.leftShift() and rightShift() and trampoline() return the raw type
  • [GROOVY-4564] - AST Browser Tree should support font resizing

New Feature

  • [GROOVY-4436] - Support (at least at the syntax level) for project Coin "Diamond" syntax
  • [GROOVY-4468] - Groovy Console's AST Browser should allow you to view a source code view of AST
  • [GROOVY-4474] - Enhanced SwingBuilder to add a columnModel into a table, added cellEditor support to tables and trees, implemented optional DefaultRenderer-behaviour for cellRenderers
  • [GROOVY-4479] - Closure Memoization
  • [GROOVY-4509] - ASTTransformation @ListenerList - Java-style listener support
  • [GROOVY-4518] - add support for @WithReadLock and @WithWriteLock declarative synchronization
  • [GROOVY-4522] - Closure Trampoline
  • [GROOVY-4530] - @ThreadInterrupt AST Transformation
  • [GROOVY-4536] - There are DGM#sort methods for Map but no min or max methods
  • [GROOVY-4539] - create @TimedInterrupt annotation to automatically timeout scripts after a certain amount of time
  • [GROOVY-4542] - @ConditionalInterrupt AST Transformation
  • [GROOVY-4560] - @Immutable should allow public static final constants to be defined
  • [GROOVY-4581] - allow the storage of meta data on ast nodes using a map

Sub-task

  • [GROOVY-4274] - improved int math
  • [GROOVY-4401] - GEP-3: ability to use (extended) command expression on the RHS

Task