Changelog for Groovy 1.8.6

Bug

  • [GROOVY-4231] - DOMCategory.setValue is unable to handle newly created elements
  • [GROOVY-4362] - Node.text() returns empty string for non-String or Collection values
  • [GROOVY-4617] - Error when running groovysh with verbose option (-v)
  • [GROOVY-4660] - NPE in groovy.servlet.AbstractHttpServlet if deploy WAR to jetty
  • [GROOVY-4934] - incorrect signature attributes in class files for inner class generics
  • [GROOVY-5082] - Sometimes invalid inner class reference left in .class files produced for interfaces
  • [GROOVY-5084] - Groovydoc can't handle @link tags in package-info.java
  • [GROOVY-5130] - Documentation: Error for one of the examples from JN0025-Starting
  • [GROOVY-5144] - JsonSlurper does not handle backslashes at the end of a String
  • [GROOVY-5163] - IncompatibleClassChangeError when running groovysh
  • [GROOVY-5170] - GroovyRowResult and GroovyResultSet are Inconsistent with each other when using a postgres driver
  • [GROOVY-5197] - Source location incorrect for statement after a label
  • [GROOVY-5202] - inherited non public listener structure causing NPE
  • [GROOVY-5207] - @Field access within closure fails with 'BUG! exception in phase 'class generation' in source unit'
  • [GROOVY-5212] - Compilation problem for java enums defined as groovy classes
  • [GROOVY-5214] - Source location incorrect for enums
  • [GROOVY-5215] - Linenumber information is missing for Enums in AST
  • [GROOVY-5216] - groovy.sql.Sql.newInstance(Map<String, Object>) remove params
  • [GROOVY-5219] - FactoryBuilderSupport doesn't register methods in a predictable order
  • [GROOVY-5221] - Problem with @InheritConstructors with multiple level of inheritance (part 1 of 2 - document the current limitation)
  • [GROOVY-5224] - groovy.util.Node plus operator assuming all children are not strings
  • [GROOVY-5247] - Sorting a map then passing it to JsonBuilder results in a NullPointerException only in 1.8.5
  • [GROOVY-5248] - call site caching missing null check
  • [GROOVY-5254] - Prohibited final modifier in enum stubs
  • [GROOVY-5257] - Node.ReplaceNode method fails cannot remove itself
  • [GROOVY-5259] - VerifyError - cannot access outer class static final fields from an inner class
  • [GROOVY-5260] - Groovyc stub generation doesn't handle all primitive types properly
  • [GROOVY-5262] - Problem currying null parameters
  • [GROOVY-5267] - getting java.lang.VerifyError depending on some simple method content
  • [GROOVY-5272] - Intermittant/random incorrect resolution of sub-interface constant values
  • [GROOVY-5274] - CLONE - Problem with @InheritConstructors with multiple level of inheritance
  • [GROOVY-5277] - SecureASTCustomizer doesn't check class methods
  • [GROOVY-5279] - groovysh holds a grudge -
  • [GROOVY-5280] - DOMCategory: NullPointerException in setValue() when element has no text
  • [GROOVY-5286] - Constant pool is used for not final fields too
  • [GROOVY-5287] - invalid unboxing in compare and other operations if primopts are enabled
  • [GROOVY-5288] - invalid cast of null to int

Improvement

  • [GROOVY-4735] - part1: patches to enable groovy-eclipse to run unpatched groovy
  • [GROOVY-5139] - GroovyTestCase's shouldFail {...} should return the throwable and not the enclosed message
  • [GROOVY-5230] - Add a <license/> block to groovy's POM
  • [GROOVY-5241] - GroovyScriptEngineImpl could use ConcurrentHashMaps
  • [GROOVY-5255] - GroovyClassLoader-aware constructor of GroovyScriptEngineImpl
  • [GROOVY-5266] - GroovyEngine not creating friendly script names for ant files
  • [GROOVY-5269] - Add hasVariable to binding
  • [GROOVY-5270] - TableSorter prints to System.out on table change
  • [GROOVY-5271] - TimeDuration should implement Comparable
  • [GROOVY-5283] - Add a collate method to List

New Feature