Skip to content

v1.3.0 - 2026-10-10

Latest

Choose a tag to compare

@al-mehedi al-mehedi released this 16 Oct 08:46
· 3 commits to main since this release

Bug fixes, performance improvements and a bulk insert API with Internal code refactoring, better documentation, and Zig-0.17.0 version support.

Added

  • Redox.Sync.setMany() — pipelined bulk insert of multiple records in a single network round-trip.

Changed

  • scan() now scales its per-batch COUNT hint with the requested count (up to 1024), reducing network round-trips for large scans.
  • scan() pre-allocates the result list and copies keys binary-safely (embedded NUL bytes are no longer truncated).
  • Reduced code duplication in set()/setWith() command construction and reply validation.
  • Optimized Sync struct memory layout and host copy.

Fixed

  • scan() always terminated after the first SCAN batch, silently returning incomplete results; the new cursor is now followed until completion.
  • Potential use-after-free in scan() — the cursor is now copied out of the reply before it is freed.
  • Reply memory leaks on error replies in set(), setWith(), get() and remove().
  • Null pointer dereference in errMsg() when the HiRedis context allocation failed, and a leaked context on failed connect().