Release 0.83.0

Environments are now local or global

Previously, a single environment in the CSL evaluator tracked all bindings, whether they resulted from global definitions or from let or function arguments. Now, there are separate structures for global vs local environments. If your code invokes the CSL evaluator, then it will need to be adapted as follows:

  1. CSLEvaluationContext and CSLRuntimeContext have been removed. Replace references to them with references to their respective supertypes EvaluationContext and RuntimeContext.

  2. Initializing the evaluation machinery by creating an EvaluationContext now requires a CSLEnv.Global parameter. This will usually be constructed from a list of top-level definitions using envFromTopLevelDefs.

  3. Closure minimization has become unnecessary and has been removed, so function arguments named minimizeClosures and fvExp and fvContract are no longer necessary and should be deleted.

Running the Corda CSL Platform upgrade script

Like version 0.82.0, the new version also requires that you migrate your Corda contracts to the new sic ABI. The process is exactly identical to the previous process, except that the artifact id is now com.deondigital:upgrade-from-0-82-0-to-0-83-0.