5.4.0
API
API v5.4.0 — Stability and hardening.
- Fixed /address (street word order for
us,uk, anddeaddresses, e.g.42 Main Street) and /text (now correctly writessoixante et onzefor French 71). - Hardened crypto modules: /otp fixes a counter-zero underflow and switches to a timing-safe comparison, /symmetric adds an integrity MAC to CBC mode, and /asymmetric derives its size limit from the actual key modulus instead of the client-supplied value.
- Fixed compute and rendering modules: /evaluate (unary minus precedence, malformed numbers), /matrix (false "singular matrix" from determinant rounding), /algorithms (integer validation for
isprimeandfactorial), and /chart (all-zero, single-slice, and single-label data). - Fixed /barcode (inverted rendering, EAN-8 check digit), /jwt (rejects non-object
header/payload), /case (rejects separator-only input), /chat (session eviction, private room pruning), and /tic-tac-toe (player registration, casing, cleanup timers). - Hardened GET routes against array-valued query parameters, NaN inputs, and missing modules; the error handler is now registered after routes, and unknown endpoints return a structured JSON 404 instead of an HTML page.
- Fixed a rate-limiting off-by-one and evict stale users; the
/latestredirect now preserves the full path and query string. - Added a large batch of unit and integration tests covering these fixes.
Documentation
- Documented the country-dependent street word order on Address.
- Added the new
count/size/width+heightNaN-guard errors to Address, Avatar, Barcode, and Cron. - Added the new
factorial/isprimevalidation errors to Algorithms. - Clarified that Asymmetric's
modulusLengthonly applies tokeygen, and broadened the invalid key format description. - Updated JWT error messages for the new non-object header/payload rejection.
- Added the new separator-only input error to Case.
- Documented unary minus precedence and the new malformed-number error on Evaluate.
- Updated Symmetric's blob format for the CBC integrity MAC, with a breaking-change note for pre-5.4.0 CBC blobs.
- Added a JSON 404 example to the Getting Started error handling section, and a nested-path/query example for
/latestto the changelog migration guide.