Skip to content
This repository has been archived by the owner on Jan 7, 2020. It is now read-only.

Releases

andresteingress edited this page Apr 10, 2013 · 22 revisions

2013-04-18: GContracts 1.2.12

Fixes a build issue.

2013-03-19: GContracts 1.2.11

  • [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

2012-10-15: GContracts 1.2.10

  • [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

2012-10-04: GContracts 1.2.9

  • 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

2012-01-16: GContracts 1.2.5

  • [33] Unable to apply GContracts annotation on Spock methods
  • [34] support for Groovy 1.8.x

2011-06-12: GContracts 1.2.4

  • [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

2011-05-18: GContracts 1.2.3

  • [27] avoid class invariants on read-only properties
  • [26] doc template not in classpath
  • [23] A circular call is detected when there isn’t

2011-05-12: GContracts 1.2.2

  • [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

2011-03-31: GContracts 1.2.1

  • [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

2011-03-10: GContracts 1.2.0

  • 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.

2010-11-16: GContracts 1.1.3

  • 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

2010-07-12: GContracts 1.1.2

  • 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

2010-06-14: GContracts 1.1.1

  • ISSUE-15: support for requires and ensures at object creation – pre- and postconditions can now be defined at constructor nodes.

2010-06-12: GContracts 1.1.0

  • 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.

2010-05-18: GContracts 1.0.2

  • 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.


2010-04-27: GContracts 1.0.1

  • POGO support – invariants are checked when setting Groovy bean properties/executing default constructor.
  • Advanced old variable support in Ensures annotation – added support for more data-types, e.g. groovy.lang.GString, java.lang.*, java.math.BigDecimal, etc.
  • Refined AssertionError exception messages.
  • Bug fixes.


2010-04-01: GContracts 1.0

  • Initial Release