This page is obsolete. Please see ABL Releases.
Please find the Release History, below.
Note there are also Framework Releases that illustrate BusLogicDemo running on various frameworks. We recommend installing desired versions in conjunction with the full product release.
These releases contain the full product, samples, source and documentation.
Contains fixes for
- Strict bidirectional relationship checking introduced
- Revised guidelines for action coding (and runtime enforcement): any persistent object updated in an action must be passed to logicContext.touch before it is changed, and to logicContext.update afterwards.
- Initialization of aggregates on insert.
Introduces support for Min/Max, and "click-along" live demo.
Allocation is now used via Actions, not Formulas.
@Action, @EarlyAction, @CommitAction, @Constraint and @CommitConstraint now accept an optional parameter named "verbs", which is of type Verbs. This allows the restrictions of these annotations to only execute when certain verbs are current.
The @Relationships annotation is now obsolete, since all role inverses are now retrieved from the Hibernate metadata. We've always wanted to do this, but it has proved elusive until now.
The dynamic class loading mechanism is now more classpath-like: you can specify several dynamic logic class managers, and even implement your own.
Release 2.0 M3
Several bug fixes, including a rename of SnapShotDB (inadvertently named SnapShotDBj).
Release 2.0 M2
This release, dated Jan 22, 2012, is a milestone release for ABL 2.0. It is the initial public release of ABL 2.0.
ABL 2.0 is a major product release. It focuses on Logic Administration to complement the Logic Execution services of ABL 1.0. Logic Administration features include:
Your data may not conform to your business logic, perhaps because you changed the rules, or data was loaded externally, etc. The recompute utility can report on such discrepancies, and optional repair them when possible.
JVM restart time can sometimes incur significant delay. Dynamic class reloading enables you to reload changed logic without restarting the JVM, both in development and in clustered production mode.
Changing POJO objects (e.g., for a new database column) can also require restarting the JVM. You can avoid this with support for Map-based Domain Objects, with the sacrifice of compile time attribute name checking.
ABL 1.0 features are fully tested GA quality, and fully supported. ABL 2.0 features are in Beta state. Framework demos are being rolled out separately. BusLogicDoc is not yet integrated into the build, but can be made available by special request. Transient aggregates are also not fully tested.
ABL 2.0 requires minor upgrades from ABL 1.0 (e.g., package renames).
This release, dated Nov 22, 2011, contains a minor bug fix regarding a null parent.
This release, dated Nov 20, 2011, contains a minor bug fix regarding 1:1 relationships.
This release, dated Nov 15, 2011, contains a minor API change involving Constraint package names. While no recoding should be required, you will need to update your import statements. Accordingly, the letter suffix has been altered. Also note that the jar file name now uses the more conventional "-" (not "_").
This minor release, dated Nov 4, 2011, contains various documentation improvements - no changes to runtime.
This minor release, dated Sept 17, 2011, makes properties files optional, and improves error messages when upper case role names are used in Business Logic Component sum/count definitions.
This release, dated Sept 8, 2011, fixes additional bugs in SnapShotDB and its illustrated use in BusLogicDemo and BusLogicIntro. In particular, you must now always supply the dbObject parameter in
String dbObjects =
SnapShotDB snapShot =
This release, dated August 24, 2011, fixed several bugs in SnapShopDB which were interfering with the BusLogicIntro test suite.
This release, date July 27, 2011, includes Transaction Summary support for improved framework integration.
Released July 23, 2011:
Simplified Rule Syntax
Most Constraints and derivations are simple formulas. Annotation syntax has been extended so you can enter these directly, with a null method.
Grails descriptions and sample applications have been added.
Many frameworks bundle transaction support and expect to issue their own rollback commands. This caused issues in previous versions of Automated Business Logic, so FailConstraint no longer issues a rollback.
API Impact: this change can impact your existing application logic.
Released on June 16, 2011, this included
- New Features
- Business Logic Factory: You can now configure your own Business Logic Factory, for example to control the execution of the Business Logic Component class for a Domain object. See BusLogicIntro, BusinessLogicFactory.
- Bug Fixes
- Fixed bug where amount unallocated was not being returned. See BusLogicIntro jUnit test Payment_save.
These releases are the BusLogicDemo sample applications. We recommend you download the desired versions, plus the full product release.
On August 24, 2011, a release was issued that:
- provided an fully importable project
- for Grails 2.0.M1