Skip to content

[Compatibility] ACL LIST emits new "alldbs" selector for the default user in 9.1 (absent in 9.0) - intended? backward-compat impact for ACL parsers #3915

Description

@gabiganam

Summary

After upgrading from Valkey 9.0.x to 9.1.x, the output of ACL LIST for the default user includes a new token alldbs that was not present in 9.0.x. Example default-user line on 9.1.x: user default on nopass sanitize-payload ~* &* alldbs +@all

Clients/proxies that parse ACL LIST output and validate each rule token reject alldbs as an unknown specifier (it did not exist in the 9.0 grammar). We'd like to confirm whether this is intended and understand the backward-compatibility expectations for ACL LIST output across minor versions.

Steps to reproduce

  1. Start Valkey 9.1.x with default configuration (no custom ACLs).
  2. Run ACL LIST (or ACL GETUSER default).
  3. Observe the default user line now contains alldbs:
    user default on nopass sanitize-payload ~* &* alldbs +@all
  4. Repeat on 9.0.x — the line does not include alldbs:
    user default on nopass sanitize-payload ~* &* +@all

Questions

  1. Is emitting alldbs in ACL LIST for the default user by default in a minor release (9.0 → 9.1) intended?
  2. Is ACL LIST / ACL GETUSER output considered a stable, parseable contract, or should consumers expect new selector tokens across minors?

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Fields

No fields configured for issues without a type.

Projects

Status
Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions