View a markdown version of this page

Major version behavior and compatibility differences for Valkey - Amazon ElastiCache

Major version behavior and compatibility differences for Valkey

When upgrading to a new major Valkey version, review the following behavior changes that may affect your applications.

Valkey 9.0

Valkey 9.0 introduces the following potentially breaking behavior changes compared to Valkey 8.x:

  • Authentication checks run before command validation. Unauthenticated clients now get auth errors instead of "unknown command." (#1475)

  • Error messages in transactions include full command name (e.g., CLIENT SETNAME instead of client). (#2286)

  • GEOSEARCH shape error message now says "BYRADIUS, BYBOX and BYPOLYGON." (#1809)

For more information on the Valkey 9.0 release, see the Valkey 9.0 release notes.

Valkey 8.1

Valkey 8.1 introduces zero potentially breaking behavior changes compared to Valkey 8.0.

For more information on the Valkey 8.1 release, see the Valkey 8.1 release notes.

Valkey 8.0

Valkey 8.0 introduces the following potentially breaking behavior changes compared to Valkey 7.2:

  • Nested MULTI or WATCH inside a transaction now aborts the transaction. Previously silently ignored. (#723)

  • SCAN no longer returns lazily expired keys. (#501)

  • BITCOUNT and BITPOS return errors instead of zero for invalid arguments on non-existing keys. (Redis#11734)

  • Default repl-backlog-size increased 1 MB → 10 MB. (#911)

  • Streams use 8 extra bytes per entry. (#688)

  • Error messages no longer include "Redis" branding. (#206)

For more information on the Valkey 8.0 release, see the Valkey 8.0 release notes.

Valkey 7.2

Valkey 7.2.6 has similar compatibility differences with previous versions of Redis OSS 7.2.4. Here are the potentially breaking behavior changes between Valkey 7.2 and Redis OSS 7.1 (or 7.0):

  • Freeze time sampling occurs during command execution and in scripts.

  • A blocked stream command that's released when key no longer exists carries a different error code (-NOGROUP or -WRONGTYPE instead of -UNBLOCKED).

  • Client side tracking for scripts now tracks the keys that are read by the script, instead of the keys that are declared by the caller of EVAL / FCALL.

For more information on the Valkey 7.2 release, see Redis OSS 7.2.4 Release Notes (Valkey 7.2 includes all changes from Redis OSS up to version 7.2.4) and Valkey 7.2 release notes at Valkey on GitHub.