muparser v2.3.1._prerelease2 Release Notes
Release Date: 2020-06-15 // almost 4 years ago-
๐ This is the second prerelease for the upcoming Version 2.3.1. I'll wait for feedback and more error reports before doing the final release. At the time of creations (2020-06-15) this release does not contain any known unfixed issues!
๐ Changes To version 2.3.0:
- โ removed final keyword from parser class (highperformancecoder/scidavis#139)
๐ Security Fixes:
๐ The issues following issues were fixed. They are present in all prior releases
๐ Changes (compared to 2.2.6):
- ๐ using OpenMP is now the default settings for cmake based builds
- โ added optimization for trivial expressions. (Expressions whose RPN only has a single entry)
- introduced a maximum length for expressions (5000 Character)
- introduced a maximum length for identifiers (100 Characters)
- removed the MUP_MATH_EXCEPTION macro and related functionality. (C++ exceptions for divide by zero or sqrt of a negative number are no longer supported)
- โ removed ParserStack.h (replaced with std::stack)
- โ removed macros for defining E and PI (replaced with a static constants)
- ๐ the MUP_ASSERT macro is no longer removed in release builds for better protection against segmentation faults
๐ Security Fixes:
๐ The issues following issues were fixed. They are present in previous stable releases.
- Prevented multiple access violations for malformed expressions with if then else and functions taking multiple arguments like "sum(0?1,2,3,4:5)"
- https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=23330
- https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=22922
- https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=22938
- https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=23330
- โ Added additional runtime checks for release builds to prevent segmentation faults for invalid expressions
๐ Bugfixes:
- ๐ Fixed an issue where the bulk mode could hang on GCC/CLANG builds due to OpenMP chunksize dropping below 1.