Changelog for Groovy 1.1.0-rc-1
Bug
- [GROOVY-1186] - NullpointerException occurs when unboxing boolean Java return type where no return value specified from Java interface implemented in Groovy
- [GROOVY-1323] - Inline conditional List << not being executed fully.
- [GROOVY-1440] - println /hello/ results in unexpected token exception
- [GROOVY-1503] - SimpleTemplateEngine drops Windows new-line character (\r)
- [GROOVY-1517] - DomToGroovy outputs builder code not compatible with MarkupBuilder
- [GROOVY-1549] - Array equality is not treated same as List equality
- [GROOVY-1738] - Color settings not saving
- [GROOVY-1744] - Extreme performance problem when calling closures using 'shorthand' notation
- [GROOVY-1776] - GroovyJ 0.1.9 corrupts compiler caches in IDEA Selena
- [GROOVY-1860] - Problem calling override method with different return type.
- [GROOVY-1863] - Groovy compiler executes code it is compiling
- [GROOVY-1913] - Problem when running script that uses java covariants
- [GROOVY-1962] - add a stream based class reader and an optional java5 module
- [GROOVY-1978] - static imports not working with groovy classes
- [GROOVY-1995] - minus(List self, Collection removeMe) throws IllegalStateException for dupplicate values
- [GROOVY-2126] - ClassCastException when using java.util.prefs package
- [GROOVY-2130] - Use of java iterators in for loop is syntax error
- [GROOVY-2132] - Filter stacktraces in the new shell
- [GROOVY-2133] - Static imports not working inside closures
- [GROOVY-2136] - Static import of properties and fields does not work
- [GROOVY-2137] - Enum class does not load
- [GROOVY-2139] - Can not init instances with super(...)
- [GROOVY-2141] - ExpandoMetaClass has concurrency modification issues with multiple threads
- [GROOVY-2150] - ClosureMetaClass regression (mapping of ArrayLIst to parameters)
- [GROOVY-2152] - Stacktrace in the new shell
- [GROOVY-2153] - BUG! exception in phase 'semantic analysis'
- [GROOVY-2155] - Some additional static import regressions since beta-2
- [GROOVY-2156] - Parameter annotations cannot be queried at runtime
- [GROOVY-2157] - Elvis operator is evaluating the "true" expression twice
- [GROOVY-2158] - Code crashing in new shell but not in old
- [GROOVY-2159] - Stub generator does not generate stubs for Groovy sub classes
- [GROOVY-2165] - GroovyClassLoader dead lock situation with multiple threads
- [GROOVY-2166] - ExpandoMetaClass causes exceptions with multiple threads, need to sync on isInitialised()
- [GROOVY-2167] - Occasional NPE with multiple threads with class caching mechanism
- [GROOVY-2169] - NPE in GroovyScriptEngine
- [GROOVY-2170] - Purge commands don't work anymore in the new shell
- [GROOVY-2180] - LoaderConfiguration is broken for relative paths
- [GROOVY-2181] - NPE generated groovydoc documentation
- [GROOVY-2187] - GString as String[] returns a 1-element array with the whole text
- [GROOVY-2188] - missing coercion for array
- [GROOVY-2190] - check generics usage in class header
- [GROOVY-2194] - The method primitiveArrayToList doesn't checks for nulls inside arrays causing NPE
- [GROOVY-2198] - owner/delegatechain is broken for multiple delegates
Improvement
- [GROOVY-1314] - support covariant return types (& generics)
- [GROOVY-1737] - Map unary negation operator to a method and be able to overload it via a Category
- [GROOVY-1832] - XMLParser: remove method on NodeList returns true (success). But, Node is not removed.
- [GROOVY-1835] - Allow string coercion into classes
- [GROOVY-1977] - Allow static and default to be used as property names after the dereference operator
- [GROOVY-1979] - SimpleTemplateEngine (and poentially other TemplateEngines) should allow caller to specify classloader
- [GROOVY-1996] - Groovy-all pom.xml has dependency to an outdated version of Castor
- [GROOVY-2053] - Re-write InteractiveShell (aka. groovysh) in Groovy
- [GROOVY-2068] - Extract a FactoryBuilder from SwingBuilder
- [GROOVY-2102] - Groovy-all pom.xml omits <optional> tag for its optional dependencies
- [GROOVY-2140] - Handle Null Attributes in MarkupBuilder
- [GROOVY-2142] - Add new metaClass property to all objects to unify access to meta class across instances
- [GROOVY-2162] - The unary negate "~" operator could work with any kind of object, not just numbers and strings
- [GROOVY-2172] - Change the new groovysh IO debug/verbose/quiet to a single verbosity field
- [GROOVY-2173] - Create a Main CLI class for the new groovysh, to free Groovysh from those details
- [GROOVY-2179] - Make the *new* groovysh the default
New Feature
- [GROOVY-174] - Round Peg, Square Hole
- [GROOVY-604] - Provide parsing errors and warnings
- [GROOVY-605] - Automatic imports
- [GROOVY-608] - Provide refactoring capabilities
- [GROOVY-611] - Intention actions
- [GROOVY-614] - Add an Outline/File structure pane
- [GROOVY-1851] - Expose unary plus and unary minus operators as interceptable method calls: positive() and negative()
- [GROOVY-2131] - Map implementation that fires PropertyChangeEvents
- [GROOVY-2174] - Add commands to capture/manage a complete transcript of a groovysh session
- [GROOVY-2175] - Add something like pythons {{sys.displayhook}} to the new groovysh
- [GROOVY-2176] - Install SecurityManager for groovysh to prevent unwanted System.exit()
Sub-task
- [GROOVY-1902] - add check for usage of generics only with generics enabled classes and with the correct number of parameters
- [GROOVY-2151] - Filter stack traces in GroovyConsole