Skip to content

5.4.0

API

API v5.4.0 — Stability and hardening.

  • Fixed /address (street word order for us, uk, and de addresses, e.g. 42 Main Street) and /text (now correctly writes soixante et onze for 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 isprime and factorial), 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 /latest redirect 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+height NaN-guard errors to Address, Avatar, Barcode, and Cron.
  • Added the new factorial/isprime validation errors to Algorithms.
  • Clarified that Asymmetric's modulusLength only applies to keygen, 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 /latest to the changelog migration guide.