Change Log
This document contains notes on the major changes for each version of the Rule Engine. In comparison to the git log, this list is curated by the development team for note worthy changes.
Version 4.x.x
Version 4.5.0
Released v4.5.0 on June 19th, 2024
StringSyntaxErroris now raised for invalid string literalsFunctionCallErroris now raised when a typed function returns an incompatible valueAdded the new
BYTESdata typeAdded some new data attributes
Version 4.4.0
Released v4.4.0 on April 5th, 2024
Added the
$rangebuiltin functionAdded the
rule_engine.parser.utilitiesmodule with a few functions and documentation
Version 4.3.0
Released v4.3.0 on January 15th, 2024
Added the
is_nanattribute forFLOATvalues
Version 4.2.0
Released v4.2.0 on December 11th, 2023
Added attributes for coercion of types to themselves, e.g.
to_strforSTRINGvalues
Version 4.1.0
Released v4.1.0 on August 3rd, 2023
Added the
$absbuiltin functionAdded support to
from_typeto handle Python’s type hints
Version 4.0.0
Released v4.0.0 on July 15th, 2023
Breaking: Changed
STRING.to_aryto return an array of characters instead of splitting the stringUse the new builtin
$splitfunction to split a string on whitespace into an array of words
Breaking: Changed
Contextto use keyword-only argumentsBreaking: Dropped support for Python versions 3.4 and 3.5
Breaking: Invalid floating point literals now raise
FloatSyntaxErrorinstead ofRuleSyntaxErrorBreaking: Moved
rule_engine.engine.Builtinstorule_engine.builtins.BuiltinsAdded the new
FUNCTIONdata type
Version 3.x.x
Version 3.6.0
Released v3.6.0 on June 16th, 2023
Removed testing for Python versions 3.4 and 3.5 on GitHub Actions
Add regex error details to the debug REPL
Add support for Python-style comments
Version 3.5.0
Released v3.5.0 on July 16th, 2022
Added the new
TIMEDELTAdata type
Version 3.4.0
Released v3.4.0 on March 19th, 2022
Add support for string concatenation via the
+operator
Version 3.3.0
Released v3.3.0 on July 20th, 2021
Added
to_epochtoDATETIME
Version 3.2.0
Released v3.2.0 on April 3rd, 2021
Refactored the
astmodule to move theDataTypeclass into a new, dedicatedtypesmodule.Added the new
ComprehensionExpressionAdded suggestions to
AttributeResolutionErrorandSymbolResolutionError
Version 3.1.0
Released v3.1.0 on March 15th, 2021
Added the new
SETdata type
Version 3.0.0
Released v3.0.0 on March 1st, 2021
Version 2.x.x
Version 2.4.0
Released v2.4.0 on November 7th, 2020
Added the Debug REPL utility
Added the safe navigation version of the attribute, item and slice operators
Added the new
MAPPINGdata typeSwitched from Travis-CI to GitHub Actions for continuous integration
Added support for iterables to have multiple member types
Version 2.3.0
Released v2.3.0 on October 11th, 2020
Added support for arithmetic comparisons for all currently supported data types
Added support for proper type hinting of builtin symbols
Added the
$re_groupsbuiltin symbol for extracting groups from a regular expression matchAdded some new data attributes
Version 2.2.0
Released v2.2.0 on September 9th, 2020
Added script entries to the Pipfile for development
Added support for slices on sequence data types
Version 2.1.0
Released v2.1.0 on August 3rd, 2020
Version 2.0.0
Released v2.0.0 on October 2nd, 2019
Added proper support for attributes
Added a change log
Added additional information to the Graphviz output
Added the new
ARRAYdata typeStarted using Travis-CI
Added automatic unit testing using Travis-CI
Added automatic deployment of documentation using Travis-CI
Removed the resolver conversion functions
Removed
to_recursive_resolverin favor of attributesRemoved
to_default_resolverin favor of the default_value kwarg to__init__()
Version 1.x.x
Version 1.1.0
Released v1.1.0 on March 27th, 2019
Added the
to_default_dict()functionAdded the
to_recursive_resolver()function
Version 1.0.0
Released v1.0.0 on December 15th, 2018
First major release