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
StringSyntaxError
is now raised for invalid string literalsFunctionCallError
is now raised when a typed function returns an incompatible valueAdded the new
BYTES
data typeAdded some new data attributes
Version 4.4.0
Released v4.4.0 on April 5th, 2024
Added the
$range
builtin functionAdded the
rule_engine.parser.utilities
module with a few functions and documentation
Version 4.3.0
Released v4.3.0 on January 15th, 2024
Added the
is_nan
attribute forFLOAT
values
Version 4.2.0
Released v4.2.0 on December 11th, 2023
Added attributes for coercion of types to themselves, e.g.
to_str
forSTRING
values
Version 4.1.0
Released v4.1.0 on August 3rd, 2023
Added the
$abs
builtin functionAdded support to
from_type
to handle Python’s type hints
Version 4.0.0
Released v4.0.0 on July 15th, 2023
Breaking: Changed
STRING.to_ary
to return an array of characters instead of splitting the stringUse the new builtin
$split
function to split a string on whitespace into an array of words
Breaking: Changed
Context
to use keyword-only argumentsBreaking: Dropped support for Python versions 3.4 and 3.5
Breaking: Invalid floating point literals now raise
FloatSyntaxError
instead ofRuleSyntaxError
Breaking: Moved
rule_engine.engine.Builtins
torule_engine.builtins.Builtins
Added the new
FUNCTION
data 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
TIMEDELTA
data 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_epoch
toDATETIME
Version 3.2.0
Released v3.2.0 on April 3rd, 2021
Refactored the
ast
module to move theDataType
class into a new, dedicatedtypes
module.Added the new
ComprehensionExpression
Added suggestions to
AttributeResolutionError
andSymbolResolutionError
Version 3.1.0
Released v3.1.0 on March 15th, 2021
Added the new
SET
data 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
MAPPING
data 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_groups
builtin 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
ARRAY
data 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_resolver
in favor of attributesRemoved
to_default_resolver
in 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