Version 3.0 switches the Rule Engine `FLOAT` data type to using Python's `decimal.Decimal` internally instead of `float`. The `if`, `elif`, `else`, `for` and `while` keywords are also reserved for future use now, they may not be used as symbol / variable names.
The `rule_engine.ast` module is also now documented as being private. Downstream projects should not reference it directly because the API may change between minor version releases in order to add new functionality.