You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Release v1.1.0
Fix a batch of crashes and a unary-minus bug found by a full audit.
- parser: guard unguarded std::string::front()/at() that aborted on empty
input while parsing numbers, escape sequences ('\x, '\0, '\), unterminated
strings and unsupported characters
- parser/token/variable: catch std::out_of_range from std::stod, so overflowing
numeric literals (a 400-digit number, '1e9999') no longer terminate
- evaluate: guard against an empty token vector (e.g. "()()" / "() + ()")
- function: pad_left/pad_right no longer crash on an empty fill argument
- fix unary minus after a binary operator being dropped: "5 + -4" returned 9,
now 1; "10 * -2" now -20 (the "two operators in a row" rule was too strict)
- update GitHub Actions (actions/checkout@v5, create/upload-asset actions @v2)
- README: fix the logger dependency link, add the license badge and an example
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Signed-off-by: Oskari Rauta <oskari.rauta@gmail.com>