Releases: lmfit/asteval
Releases · lmfit/asteval
1.0.5
1.0.4
1.0.3
bug fixes, a few feature enhancements:
- functions ("Procedures") defined within asteval have a
_signature()
method, now use in repr - add support for deleting subscript
- nested symbol tables now have a Group() function
- update coverage config
- cleanups of exception handling : errors must now have an exception
- several related fixes to suppress repeated exceptions: see GH #132 and #129
- make non-boolean return values from comparison operators behave like Python - not immediately testing as bool
1.0.2
1.0.1
security fixes, based on audit by Andrew Effenhauser, Ayman Hammad, and Daniel Crowley, IBM X-Force Security Research division
- remove numpy modules polynomial, fft, linalg by default for security concerns
- disallow string.format(), improve security of f-string evaluation
1.0.0
Asteval 1.0.0
Asteval has been fairly mature for a while, with major improvements since version 0.9.29 over the past year or so making it feel like it has reached a point where the features and API are stable enough to call version 1.0.0.
Changes compared to 0.9.33:
- fix (again) nested list comprehension (Issues #127 and #126).
- add more testing of multiple list comprehensions.
- more complete support for Numpy 2, and removal of many Numpy symbols that have been long deprecated.
- remove AST nodes deprecated in Python 3.8.
- clean up build files and outdated tests.
- fixes to codecov configuration.
- update docs.
0.9.33
0.9.32
- add deprecations message for numpy functions to be removed in numpy 2.0 (#122)
- comparison operations use try/except for short-circuiting instead of checking for numpy arrays (addressing #123)
- add Python 3.12 to testing
- move repository from "newville" to "lmfit" organization
- update doc theme, GitHub locations pointed to by docs, other doc tweaks.
0.9.31
- cleanup
numpy
imports to avoid deprecated functions, add financial functions fromnumpy_financial
module, if installed. - prefer 'user_symbols' when initializing
Interpreter
, but still support 'usersyms' argument. Will deprecate and remove eventually. - add support of optional (off-by default) "nested symbol table", based on a
Group
object that can be accessed from Python either with dict syntax (ieaeval.symtable['x']
) or with object attribute access (aeval.symtable.x
). In addition, symbols can be found by looking first in the top-level symbol table and then in sub-Groups named insymtable._searchgroups
, allowing for a more hierarchical, nested symbol table. This should be considered experimental and is off by default. Themake_symbol_table()
function gains anested=False
argument to control whether to use this option. - update tests to run most tests with symbol tables of dict and nested group type.
- general code and testing cleanup.
0.9.30
- add
config
argument to Interpreter to more fully control which nodes are supported - add support for
import
andimportfrom
-- off by default - add support for with blocks
- add support for f-strings
- add support of set and dict comprehension
- fix bug with 'int**int' not returning a float.