Skip to content

v0.19.0

Choose a tag to compare

@github-actions github-actions released this 10 Aug 21:16
· 40 commits to main since this release
073f9b2

0.19.0 (2026-08-10)

⚠ BREAKING CHANGES

  • redis: the write protocol is rebuilt on native commands.
    dialcache/redis-protocol removes WRITE_CACHE_SCRIPT,
    WRITE_TRACKED_CACHE_SCRIPT, REDIS_FRAME_VERSION, REDIS_ENCODING_UTF8,
    and REDIS_ENCODING_BINARY, and adds encodeRedisFrame,
    encodeTrackedRedisPlaceholder, TrackedRedisPlaceholder,
    WRITE_TRACKED_STAMP_SCRIPT, resolveTrackedRedisWriteReply,
    validateRedisSetReply, validateRedisScriptInvalidationReply, and
    ceilSupportedCacheTtlMs. dialcacheRedisScripts drops dialcacheWrite and
    dialcacheWriteTracked and gains dialcacheWriteTrackedStamp(valueKey,
    watermarkKey, cacheTtlMs, nonce); createNodeRedisDialCacheClient throws
    TypeError for clients constructed without those registrations; the
    structural node-redis sendCommand argument type widens to string or
    Buffer. The tracked write reply domain is 0, 1, or 2, and reply 2 must
    fail the write with the new root-exported
    DialCacheRedisPlaceholderLostError. The GLIDE adapter is stateless:
    createValkeyGlideDialCacheClient returns a plain DialCacheRedisClient
    with no dispose method, ValkeyGlideDialCacheClient and
    ValkeyGlideScriptHandle are removed, ValkeyGlideRuntime takes a single
    TDecoder parameter and requires the ClusterBatch constructor instead of
    Script, and ValkeyGlideScriptingClient requires customCommand and drops
    invokeScript. ACLs must allow the client-issued GET, MGET, and SET (SET
    newly carries every write) plus EVALSHA and EVAL, and the script-invoked
    TIME, GET, SET, and PTTL for both mutation scripts plus the stamp
    script's PEXPIRE, UNLINK, GETRANGE, and SETRANGE; adapters reject
    non-numeric or out-of-range cacheTtlMs with RangeError before issuing
    commands.

Features

  • redis: use native commands for cache writes (#131) (5560ee3), closes #123