First they ignore you
then they ridicule you
then they fight you
then you win
    -- Mahatma Gandhi
Chinese => English     英文 => 中文             
随笔-221  评论-1047  文章-0  trackbacks-0
Groovy1.5.2是Groovy1.5.0发布后的第二bug修正版本(类似于JDK1.5update2),旨在进一步提高Groovy的品质,除了Groovy1.5.1和Groovy1.5.2这两个bug修正版本外,还有最后一个bug修正版本Groovy1.5.3。

最近Groovy Team正致力于提升Groovy的性能,他们研发出了call site缓存技术,能显著提升Groovy的整体性能,
部分测试显示Groovy的性能提升了2~4倍,这与应用场景相关。
这些优化我们将在Groovy1.6中便可体验到 :)

下载:http://dist.groovy.codehaus.org/distributions/groovy-binary-1.5.2.zip

下面是Groovy1.5.2修正和改进的内容:

Release Notes - groovy - Version 1.5.2 - HTML format

Bug

  • [GROOVY-569] - java.lang.ClassFormatError running groovy script from shell (bash)
  • [GROOVY-1044] - println invoked on a writer object still prints to System.out and not to the given writer
  • [GROOVY-1150] - Strange behavior on property setter
  • [GROOVY-1207] - If one constructor calls another, instance variables may be initialized incorrectly
  • [GROOVY-1358] - getParameters and asSql process / strip nulls incorrectly
  • [GROOVY-1462] - Parsing quoted method name fails if there is no modifier
  • [GROOVY-1464] - Optional interface modifier
  • [GROOVY-1467] - Default method parameters
  • [GROOVY-1472] - Repeating superinterface in implements clause
  • [GROOVY-1527] - Incorrect behaviour of a parse error.
  • [GROOVY-1560] - 'as' not allowed as namespace in embedding Groovy-code
  • [GROOVY-1637] - String minus() fails in case of regex chars in operand [minor breaking change]
  • [GROOVY-1684] - MarkupBuilder throws NPE if element content or attribute values are null
  • [GROOVY-1767] - Windows start scripts have problems with -Dfoo=bar parameters
  • [GROOVY-1855] - OrderBy Comparable Check
  • [GROOVY-2007] - Why in script I can define variable with access modifiers private public protected simultaniously?
  • [GROOVY-2143] - Code completion does not find all Java classes
  • [GROOVY-2146] - Can't insert null values into database
  • [GROOVY-2216] - mysql: class of result columns from "show full processlist" is byte array, should be java.lang.String
  • [GROOVY-2222] - groovyc documentation needs update!!!
  • [GROOVY-2280] - ConcurrentModificationException when accessing iterator variable in nested iterator
  • [GROOVY-2385] - Code completion throws NPE when Groovy nature is not enabled
  • [GROOVY-2392] - Can't reflect groovy script annotations in java
  • [GROOVY-2401] - Processing XML with XQuery Example not working
  • [GROOVY-2411] - [].sum() should return 0 not null.
  • [GROOVY-2424] - Stackoverflow with groovy & ant
  • [GROOVY-2425] - Cannot resolve which method to invoke with extended interfaces
  • [GROOVY-2426] - Addition to ProjectExplorer needs to much System-Performance
  • [GROOVY-2431] - New TestNG-Test Wizard forget to inherit from superclass
  • [GROOVY-2434] - NPE in codecompletion if underlying type is null
  • [GROOVY-2436] - fail to lauch groovysh with cygwin
  • [GROOVY-2440] - Range of enum not working
  • [GROOVY-2444] - list of string output format changed between 1.5.0 and 1.5.1
  • [GROOVY-2446] - Groovy XML-RPC uses ISO-8859-1 for the XML-RPC response even if it is declared as UTF-8
  • [GROOVY-2448] - groovy hangs if enum range includes last value
  • [GROOVY-2449] - Enum range works only for Groovy enums and not for Java enums
  • [GROOVY-2451] - regex with / and \ causes compilation error on 1.5.1
  • [GROOVY-2452] - 'in' with an array always returns false
  • [GROOVY-2454] - Groovy does not enforce implementation contract on interface that extends interface
  • [GROOVY-2459] - Qualified static property reference from static method of qualified class causes infinate recursion
  • [GROOVY-2460] - VerifyError instead of compilation error
  • [GROOVY-2473] - StreamingMarkupBuilder assumes that the encoding is always known
  • [GROOVY-2482] - More problems with covariant return types
  • [GROOVY-2484] - performance issue with collections operations when numbers are elements of the collections
  • [GROOVY-2485] - A labelled continue statement does not appear to correctly imitate its Java counterpart.
  • [GROOVY-2486] - getAt calls not selecting right implementation
  • [GROOVY-2490] - Static properties are not overriden correctly in the byte code
  • [GROOVY-2493] - java.lang.IllegalAccessError: tried to access method org.codehaus.groovy.reflection.CachedClass.coerceArgument(Ljava/lang/Object;)Ljava/lang/Object; from class org.codehaus.groovy.runtime.dgm$328
  • [GROOVY-2495] - MissingMethodExceptions in highly concurrent environments
  • [GROOVY-2497] - assertEquals() raises IllegalAccessError for Lists
  • [GROOVY-2498] - Swingbuilder table content gets mixed up when columns are re-ordered by dragging.
  • [GROOVY-2501] - Java.lang.VerifyError... signature: (Ljavax/swing/JTable;Ljava/lang/Object;Lboolean;Lboolean;Lint;Lint;)Ljava/awt/Component;)
  • [GROOVY-2514] - ExpandoMetaClass returns expando properties twice
  • [GROOVY-2515] - Command line option -D does not work in Windows XP but does in MacOSX
  • [GROOVY-2534] - GString should be serializable
  • [GROOVY-2549] - Expression with "as int" fails (regression)

Improvement

  • [GROOVY-1001] - Allow junit.framework.TestCase to be run by groovy command
  • [GROOVY-1108] - provide GString versions for Sql.rows and Sql.firstRow() [minor breaking change]
  • [GROOVY-1348] - Patch to provide acess to Script Object in GroovyScriptEngine
  • [GROOVY-1597] - Error message when trying to execute a directory should be improved
  • [GROOVY-1635] - Improve docs for Collection.groupBy and add new Collection.collate(Closure) [Small breaking change]
  • [GROOVY-1681] - null.setProperty yields confusing error message
  • [GROOVY-1742] - Change compiler error message "Closure expression looks like it may be an isolated open block" to make it more clear
  • [GROOVY-2226] - Errors in templates syntax produce not so helpful error messages
  • [GROOVY-2415] - Add 1 argument constructor to groovy.util.Node, and corresponding groovy.util.XmlParser appendNode('someElementName') method
  • [GROOVY-2428] - Provide a reverseEach method for arrays
  • [GROOVY-2445] - Provide an enhanced each() method for subclasses of java.lang.Enum
  • [GROOVY-2447] - Allow JUnit 4 tests to be run by the groovy command
  • [GROOVY-2466] - Code completion import improvements
  • [GROOVY-2467] - Hover link improvements
  • [GROOVY-2474] - Change all withXXX methods to return the value returned by their closure instead of void
  • [GROOVY-2478] - Add a Groovy version of the JavaPluginImages to simplify access to common icons
  • [GROOVY-2492] - Allow Map.eachWithIndex to be called with a three-arg closure
  • [GROOVY-2496] - superfluous checked exception: IOException in Script#evaluate(String)

New Feature

  • [GROOVY-637] - groovy SQL needs to create updateable rowsets
  • [GROOVY-975] - Provide size() on StringBuilder
  • [GROOVY-1007] - List#indexOf(groovy.lang.Closure closure) and friends to groovy jdk
  • [GROOVY-1183] - improve the org.w3c.dom.Node support with List and Map methods
  • [GROOVY-2419] - Provide a collectAll() method for lists (WAS: Provide a 'SpreadAllDot' operator)
  • [GROOVY-2470] - Add support for coercing strings to enum classes with "as" keyword
  • [GROOVY-2471] - Add newInputStream and withInputStream to java.net.URL for dealing with binary files
  • [GROOVY-2479] - Add support for JavaDocs
  • [GROOVY-2480] - Adding support for code-templates
  • [GROOVY-2481] - Implement a Quick-Outline

附:朝花夕拾——Groovy & Grails
posted on 2008-01-30 21:50 山风小子 阅读(2159) 评论(6)  编辑  收藏 所属分类: Groovy & Grails