Releases: beltoforion/muparser
Releases · beltoforion/muparser
muparser 2.3.4
Change Notes for Revision 2.3.4
Maintainance Release with updates of the cmake build system.
Build System:
- cmake is using OpenMP target and setting _UNICODE preprocessor definition
Fixed Compiler Warnings:
- fix for #117 (sprintf deprecated)
muparser 2.3.3
Change Notes for Revision 2.3.3
Security Fixes:
The following new issues, discovered by oss-fuzz are fixed:
- https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=24167 (Abrt)
- https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=24355 (Heap-buffer-overflow READ 8)
- https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=25402 (Heap-buffer-overflow READ 8)
Bugfixes:
- Fixed a couple of issues for building the C-Interface (muParserDLL.cpp/.h) with wide character support.
- fix for #93 (#93)
- fix for #94 (#94)
- fix for #110 (#110); new expression size limit is 20000
Fixed Compiler Warnings:
- Visual Studio: Disabled compiler warning 26812 (Prefer 'enum class' over 'enum') Use of plain old enums has not been deprecated and only MSVC is complaining.
- Visual Studio: Disabled compiler warning 4251 (... needs to have dll-interface to be used by clients of class ...) For technical reason the DLL contains the class API and the DLL API. Just do not use the class API if you intent to share the dll accross windows versions. (The same is true for Linux but distributions do compile each application against their own library version anyway)
Changes:
- Adding manual definitions to avoid potential issues with MSVC
- Adding missing overrides
- Added a new option "-DENABLE_WIDE_CHAR" to CMake for building muparser with wide character support
- export muparser targets, such that client projects can import it using find_package() (#81 (comment))
muparser 2.3.2
Changes To version 2.3.1:
Two different prereleases of v2.3.1 existed. The second one fixed the issue with the final keyword. To avoid confusion the second prerelease is now the official release with the version number 2.3.2.
Changes To version 2.3.0:
- removed final keyword from parser class (https://github.com/highperformancecoder/scidavis/issues/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.
muparser 2.2.6
This is release 2.2.6 of muparser
Changes:
- build system based on cmake
- source code fixes for modern compilers
muparser V2.2.5
Minor service release; Created to have an "official" release on github.