This repository has been archived by the owner on Jan 7, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 11
Releases
andresteingress edited this page Apr 10, 2013
·
22 revisions
Fixes a build issue.
- [43] Improved compilation error messages
- [41] Fix copyright text
- [40] Provide GDSL and DSLD files for improved IDE support
- [39] @Grab with GContracts fails in groovyConsole and @CompileStatic
- [38] ContractClosureWriter should generate final classes
- [33] Error when constructor parameter and instance variables have the same identifier
- [34] ClassNotFoundError when using Groovy 1.8.8
- [35] Introduce an inline mode for performance boost
- [36] Generic parameter type leads to NP when running on Oracle Java 1.7_10
- Moving from Lighthouse to Github issue tracking
- [29] Ensure Groovy 2.0 @CompileStatic compability
- [32] Ensure GContracts works with Groovy AST transformations
- [28] Evaluate annotation closure expressions
- [30] Class invariants should allow private instance field access
- [17] old variable generation on inherited instance variables
- [10] support for static methods
- [25] precondition (@Requires) should be checked before the method’s closure is invoked
- [28] use locks to avoid concurrency issues when checking contracts
- [29] no explicit return returns null
- [30] ReturnStatementVisitor does not ignore closure expressions
- [27] avoid class invariants on read-only properties
- [26] doc template not in classpath
- [23] A circular call is detected when there isn’t
- [22] Support for private contructor
- [11] Support for private methods
- [16] Missing return causes wrong method behavior
- [21] Cyclic method calls when querying property in class invariant
- [19] Multiple return statements cause missing postcondition validation
- [20] Precondition specification on constructor with default value fails
- [15] Allow multiple labels in contracts
- [14] Allow Labels in Annotation Closures
- [13] Automtically infer @Retention and @Target into Annotation Contracts
- [07] Documentation on Annotation Contracts
- [12] Optimize CandidateChecks and exclude java.lang and groovy.lang
- [08] find better way instead of @Contracted
- [02] update github wiki with new 1.2 features
- Support for
@Requires
and@Ensures
in interfaces - Custom
ContractGroovyDoc
Ant task, where output includes class-invariants, pre- and postconditions - Meta Annotations:
@Precondition
,@Postcondition
,@ClassInvariant
- Extensions with Annotation Contracts and Annotation Processors
- Detection of circular calls in assertion hierarchies
- Bug Fixes
- Migration to Gradle multi-module build project
- Moved bugtracking to Lighthouse
Future release notes will contain a detailed description on fixed issues, based on the Lighthouse release notes export.
- ISSUE-25: better support for Spring component classes with class invariants
- ISSUE-24: wrong class invariant placement with inherited invariant
- ISSUE-23: @Requires on constructor with super statement causes compilation error
- ISSUE-22: Separate Exception Types for Pre-, Postconditions and Class Invariant
- ISSUE-17: remove direct reference to PowerAssertionError
- first version with dependency on Groovy 1.7
- ISSUE-16: old variables gets cleared on inherited postcondition
- ISSUE-7: use Groovy power asserts as an alternative to AssertionStatement
- ISSUE-15: support for requires and ensures at object creation – pre- and postconditions can now be defined at constructor nodes.
- ISSUE-14: fix class invariant inheritance with default class invariant – a class with a class invariant in its heir must be equipped with a default class invariant chaining the method call to the super class invariant.
- ISSUE-1: pre- and postcondition inheritance – class invariants, pre- and postconditions are now inherited. inheritance support does not include pre/postcondition support in interfaces, but there is a separate ISSUE on this topic. More about pre/postcondition inheritance will follow in a separate blog post.
- ISSUE-10: all uses of getTypeClass() were removed with valid alternatives. this was done due to issues with the Groovy Eclipse plugin.
-
ISSUE-13: Cleanup the generated AST: a few optimizations have been made to the AST node generating components.
- Bug fixes and a lot more bug fixes.
- ISSUE-5: better AssertionError messages – the closure source of the invariant or pre/postcondition that failed has been added to the AssertionError message.
-
ISSUE-6: line numbers were added in the AssertionError stacktrace. Whenever an assertion fails the last line number guides directly to the condition that caused the AssertionError.
- Bug fixes.
- POGO support – invariants are checked when setting Groovy bean properties/executing default constructor.
- Advanced
old
variable support inEnsures
annotation – added support for more data-types, e.g.groovy.lang.GString
,java.lang.*
,java.math.BigDecimal
, etc.
- Refined
AssertionError
exception messages.
- Bug fixes.
- Initial Release