Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 8 Next »

Groovy 1.8 release notes

Icon

This page is a placeholder for the upcoming release notes for the final release of Groovy 1.8. This page is neither complete nor even finished!

Performance improvements

In general the goal of these improvements is to bypass the MOP where allowed and possible without altering the original MOP too much.

Groovy 1.8.0 will contain several integer based optimizations for basic operations like plus, minus, multiply, increment, decrement and compares. This version will not support the mixed usage of different types and then fall back to the old way of performing the operation.

This version also contains an optimization for direct method calls. Such a method call is done directly if it is done on "this" and if the argument types are a direct match with the parameter types of the method we may call. Since this is an operation that does not behave too well with a method call logic based on runtime types we select only methods where the primtive types match, the parameter types are final or for methods that take no arguments. Currently methods with variable arguments are not matched in general, unless a fitting array is used for the method call.

Extended Command Expressions for nicer Domain-Specific Languages

GPars bundled within the Groovy distribution

Closure enhancements

Closure annotation parameters

Closure functional flavors

Closure composition

Closure memoization

Closure trampoline

Native JSON support

JSON parser

JSON builder

New AST Transformations

@Log

@Field

@PackageScope enhancements

@Synchronized

@InheritConstructors

@IndexedProperties

@AutoClone

@AutoExternalizable

Controlling the execution of your code

@ThreadInterrupt

@TimedInterrupt

@ConditionalInterrupt

@Canonical

@ToString

@EqualsAndHashCode

@TupleConstructor

@WithReadLock

@WithWriteLock

Alignments with JDK 7

Diamond operator

Miscelanous

Dollar slashy strings

Breaking changes

  • No labels