Release 4.0.0

Removed the Vitznauerstock demonstration application

If your application previously depended on the String wrapped contract and agent classes when working with sic, you will need to change the dependency for them from sic-rest-operations to sic-preamble-core.

Removal of expression normalizer

In the calls to get next events for a contract, we would simplify the where-clauses using a normalisation by evaluation approach. A consequence is that in calls to get the next potential events of a contract where an Exp-value is returned, the shape of the data will be different. Instead, one should make use of the DbLedgerContractOperations.nextEventValues method or AnalysisContext<E>.deriveEventValues.

Removal of opaqueness-control and tracking

The Value.Defined subtype of Value has been removed and all opacity-control and opacity-tracking parameters to context-creation functions have been removed. In code that would previously access a .underlying property on objects of Value-type, one should remove the .underlying access. Code that relies on being able to control unfoldings of applications would typically do so in order to be able to make assumptions about the shape of reified Exp values. One should look at the results of AnalysisContext<E>.traceExpEval as an alternative way to interpret expected Value-data.