Skip to content

Releases: cesarParra/expression

v1.48.0

22 Dec 12:44
1071395

Choose a tag to compare

What's Changed

Full Changelog: v1.47.0...v1.48.0

v1.47.0

18 Dec 22:37
e1afe4d

Choose a tag to compare

What's Changed

Full Changelog: v1.46.0...v1.47.0

v1.46.0

16 Dec 14:53
8a36253

Choose a tag to compare

What's Changed

Full Changelog: v1.45.0...v1.46.0

v1.45.0

10 Dec 15:28
4038ecf

Choose a tag to compare

What's Changed

  • Fix: enhance comparison operators to support Date and Datetime types by @cesarParra in #228

Full Changelog: v1.44.0...v1.45.0

v1.44.0

28 Nov 15:04
d8ad7c9

Choose a tag to compare

What's Changed

  • Fix: update spread operator handling to use addIfExpr by @cesarParra in #226
  • Refactoring pipeline interpretation to first completely desugar it be… by @cesarParra in #227

Full Changelog: v1.43.0...v1.44.0

v1.43.0

24 Nov 20:54
ffe84bf

Choose a tag to compare

What's Changed

New feature: Capturing piped values:
https://cesarparra.github.io/expression/docs/piping#capturing-piped-values

New global variable: $Setup
https://cesarparra.github.io/expression/docs/referencing-org-data#setup

Full Changelog: v1.42.0...v1.43.0

v1.42.0

22 Nov 16:46
f498b27

Choose a tag to compare

What's Changed

This is a pretty fundamental change to the way things work behind the scenes. See https://cesarparra.github.io/expression/docs/caching for documentation on this new behavior and how to turn it off if needed.

Full Changelog: v1.41.0...v1.42.0

v1.41.0

08 Nov 15:41
01c96f1

Choose a tag to compare

What's Changed

  • Added Curved Quotation handling to scanner and Monaco Static Resource by @adc103 in #218
  • miniEditor Improvements by @adc103 in #219
  • Ability to provide a custom record context besides the standard record Id by @cesarParra in #220

Adds support for custom record contexts beyond the standard record Id + @context merge expression. This allows developers to define multiple named record contexts that can be referenced in expressions using custom variable names.

E.g.

Account accountRecord = new Account(Name = 'Acme');
insert accountRecord;

CustomRecordContext customRecordContext = new CustomRecordContext('TargetAccount', accountRecord.Id);
String expressionFormula = '@TargetAccount.Name';
Object result = Evaluator.run(expressionFormula, customRecordContext, new Configuration());

Other changes and improvements

  • Caching: Scanner and Parser now cache results for repeated expressions
  • Context variable prefix can now be defined through the Configuration class. So it is now possible to now define something different than @ when referencing custom context variables. To continue from the example above, this is now possible:
Configuration config = new Configuration().withGlobalContextVariablePrefix('$');
CustomRecordContext context = new CustomRecordContext('TargetAccount', accountRecord.Id);
String expression = '$TargetAccount.Name';
Object result = Evaluator.run(expression, context, config);

Bug Fixes

  • CONTAINS Function: Now returns false when the second argument is null instead of throwing an error
  • Documentation: Fixed malformed descriptions in multiple API documentation files

Full Changelog: v1.40.0...v1.41.0

v1.40.0

17 Aug 13:05
5789bbd

Choose a tag to compare

What's Changed

  • Refactor packaging scripts and remove deprecated project configuration by @cesarParra in #213
  • Refactor global variable management to separate global and context-sp… by @cesarParra in #216
  • Fix permission namespace handling by @cesarParra in #217

Full Changelog: v1.36.0...v1.40.0

v1.36.0

22 Jul 19:45
aa3245c

Choose a tag to compare

What's Changed

Full Changelog: v1.35.0...v1.36.0