> ## Documentation Index
> Fetch the complete documentation index at: https://upstash.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Changelog

<Update label="December 2025">
  Added [Redis Functions](https://redis.io/docs/latest/develop/programmability/functions-intro/) support. New commands are:

  * [`FCALL`](https://redis.io/docs/latest/commands/fcall/): Call a function with read/write capabilities
  * [`FCALL_RO`](https://redis.io/docs/latest/commands/fcall_ro/): Call a function in read-only mode
  * `FUNCTION DELETE`, `FUNCTION FLUSH`, `FUNCTION KILL`, `FUNCTION LIST`, `FUNCTION LOAD` and `FUNCTION STATS`

  New Hash commands:

  * [`HGETDEL`](https://redis.io/docs/latest/commands/hgetdel/): Get and delete hash fields atomically
  * [`HGETEX`](https://redis.io/docs/latest/commands/hgetex/): Get hash fields with expiration support
  * [`HSETEX`](https://redis.io/docs/latest/commands/hsetex/): Set hash fields with expiration support

  New Stream Commands:

  * [`XDELEX`](https://redis.io/docs/latest/commands/xdelex/): Extended delete for streams
  * [`XACKDEL`](https://redis.io/docs/latest/commands/xackdel/): Acknowledge and delete stream entries

  New Bit operations added:

  * `BITOP DIFF`: A bit is set only if it's set in all source bitmaps
  * `BITOP DIFF1`: A bit is set if it's set in the first key but not in any of the other keys
  * `BITOP ANDOR`: A bit is set if it's set in X and also in one or more of Y1, Y2, ...
  * `BITOP ONE`: A bit is set if it's set in exactly one source key
</Update>

<Update label="April 2025">
  Added HASH expiration support. New commands are:

  * [`HEXPIRE`](https://redis.io/docs/latest/commands/hexpire/): Set expiration time in seconds
  * [`HPEXPIRE`](https://redis.io/docs/latest/commands/hpexpire/): Set expiration time in milliseconds
  * [`HEXPIREAT`](https://redis.io/docs/latest/commands/hexpireat/): Set expiration time as Unix timestamp in seconds
  * [`HPEXPIREAT`](https://redis.io/docs/latest/commands/hpexpireat/): Set expiration time as Unix timestamp in milliseconds
  * [`HTTL`](https://redis.io/docs/latest/commands/httl/): Get remaining time to live in seconds
  * [`HPTTL`](https://redis.io/docs/latest/commands/hpttl/): Get remaining time to live in milliseconds
  * [`HEXPIRETIME`](https://redis.io/docs/latest/commands/hexpiretime/): Get absolute expiration time as Unix timestamp in seconds
  * [`HPEXPIRETIME`](https://redis.io/docs/latest/commands/hpexpiretime/): Get absolute expiration time as Unix timestamp in milliseconds
  * [`HPERSIST`](https://redis.io/docs/latest/commands/hpersist/): Remove expiration from hash fields
</Update>

<Update label="Feb 2025">
  Added [`EVAL_RO`](https://redis.io/docs/latest/commands/eval_ro/) and [`EVALSHA_RO`](https://redis.io/docs/latest/commands/evalsha_ro/)
  commands introduced in Redis 7.
</Update>

<Update label="July 2024">
  * Added REST API support for [`MONITOR`](https://redis.io/docs/latest/commands/monitor/) and [`SUBSCRIBE`](https://redis.io/docs/latest/commands/subscribe/)
    commands using [SSE](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events).
    See [Monitor](../features/restapi#monitor-command) and [Subscribe](../features/restapi#subscribe-command) docs.
  * Added [`JSON.MSET`](https://redis.io/docs/latest/commands/json.mset/) and [`JSON.MERGE`](https://redis.io/docs/latest/commands/json.merge/) commands.
  * Introduced the `IP Allowlist` feature for enhanced security on newly created databases. By default, all IP addresses will be allowed.
    However, access can be restricted by specifying permitted IP addresses or CIDR ranges.
</Update>

<Update label="June 2024">
  * Added AWS AP-NorthEast-1 Japan region.
  * Added an option to return REST response in [`RESP2`](https://redis.io/docs/latest/develop/reference/protocol-spec/) format instead of `JSON`.
    See [REST API docs](/redis/features/restapi#resp2-format-responses) for more information.
</Update>

<Update label="April 2024">
  * Implemented [`MONITOR`](https://redis.io/docs/latest/commands/monitor/) command
  * Implemented Redis [keyspace notifications](/redis/howto/keyspacenotifications)
  * Implemented [`WAIT`](https://redis.io/docs/latest/commands/wait/) and [`WAITAOF`](https://redis.io/docs/latest/commands/waitaof/) commands
  * Added `lag` field to [`XINFO GROUPS`](https://redis.io/docs/latest/commands/xinfo-groups/)
  * Added [`CLIENT ID`](https://redis.io/docs/latest/commands/client-id/) subcommand
  * Added password strength check to [`ACL SETUSER`](https://redis.io/docs/latest/commands/acl-setuser/) command
</Update>

<Update label="February 2024">
  * Fixed JSON commands with empty keys
  * Fixed a panic on `XTRIM` and `XDEL`
  * Added `CLIENT SETNAME/NAME/LIST` subcommands
  * Implemented near exact trim for streams
</Update>

<Update label="September 2023">
  * Implemented some missing Redis commands:
    * `DUMP`
    * `RESTORE`
    * `ZMPOP`
    * `BZMPOP`
    * `LMPOP`
    * `BLMPOP`
    * `SINTERCARD`
  * Added support for `BIT/BYTE` flag to `BITPOS` and `BITCOUNT` commands
  * Added support for `XX`, `NX`, `GT`, and `LT` arguments to `EXPIRE` commands
  * Allowed `NX` and `GET` args to be used together in `SET` command
</Update>
