{
  "schema_version": 2,
  "id": "operate/oss_and_stack/stack-with-enterprise/release-notes/redistimeseries/redistimeseries-1.6-release-notes",
  "title": "RedisTimeSeries 1.6 release notes",
  "url": "https://redis.io/docs/latest/operate/oss_and_stack/stack-with-enterprise/release-notes/redistimeseries/redistimeseries-1.6-release-notes/",
  "summary": "Added support for aggregating across multiple time series (multi-key). Can compute queries such as \"the maximum observed value of a set of time series\" server-side instead of client-side.",
  "aliases": [
    "/modules/redistimeseries/release-notes/redistimeseries-1.6-release-notes/"
  ],
  "tags": [
    "Modules"
  ],
  "last_updated": "2026-09-21T16:36:33+01:00",
  "page_type": "content",
  "content_hash": "1e8d94176d4a287ad13c2c6844b54d845ae02f3b7457e3b3f35905da5a8a22e9",
  "sections": [
    {
      "id": "requirements",
      "title": "Requirements",
      "role": "overview",
      "text": "RedisTimeSeries v1.6.19 requires:\n\n- Minimum Redis compatibility version (database): 6.0.16\n- Minimum Redis Enterprise Software version (cluster): 6.2.8"
    },
    {
      "id": "v1619-february-2023",
      "title": "v1.6.19 (February 2023)",
      "role": "content",
      "text": "This is a maintenance release for RedisTimeSeries 1.6.\n\nUpdate urgency: `MODERATE`: Program an upgrade of the server, but it's not urgent.\n\nDetails:\n\n- Bug fixes:\n\n    - [#1397](https://github.com/RedisTimeSeries/RedisTimeSeries/issues/1397) Memory leak when trying to create an already existing key (MOD-4724, RED-93418)"
    },
    {
      "id": "v1617-july-2022",
      "title": "v1.6.17 (July 2022)",
      "role": "content",
      "text": "This is a maintenance release for RedisTimeSeries 1.6.\n\nUpdate urgency: `HIGH`: There is a critical bug that may affect a subset of users. Upgrade!\n\nDetails:\n\n- Bug fixes:\n\n    - [#1240](https://github.com/RedisTimeSeries/RedisTimeSeries/pull/1240) Compaction rules are not saved to [RoF](https://docs.redis.com/latest/rs/databases/redis-on-flash) (Redis Enterprise)"
    },
    {
      "id": "v1616-june-2022",
      "title": "v1.6.16 (June 2022)",
      "role": "content",
      "text": "This is a maintenance release for RedisTimeSeries 1.6.\n\nUpdate urgency: `HIGH`: There is a critical bug that may affect a subset of users. Upgrade!\n\nDetails:\n\n- Features:\n\n    - [#1193](https://github.com/RedisTimeSeries/RedisTimeSeries/pull/1193) Commands that don’t execute on the main thread now appear in [SLOWLOG](https://redis.io/docs/latest/commands/slowlog)\n\n- Bug fixes:\n\n    - [#1203](https://github.com/RedisTimeSeries/RedisTimeSeries/pull/1203) Compaction rules are not replicated (Replica Of) on Redis Enterprise\n    - [#1204](https://github.com/RedisTimeSeries/RedisTimeSeries/issues/1204) When the last sample is deleted with [`TS.DEL`](https://redis.io/docs/latest/commands/ts.del), it may still be accessible with [`TS.GET`](https://redis.io/docs/latest/commands/ts.get)\n    - [#1226](https://github.com/RedisTimeSeries/RedisTimeSeries/pull/1226) [`TS.MRANGE`](https://redis.io/docs/latest/commands/ts.mrange), [`TS.MREVRANGE`](https://redis.io/docs/latest/commands/ts.mrevrange): on a multi-shard environment, some chunks may be skipped\n\n> [!NOTE]\n> New RDB version (v5). RDB files created with 1.6.16 are not backward compatible."
    },
    {
      "id": "v1613-june-2022",
      "title": "v1.6.13 (June 2022)",
      "role": "content",
      "text": "This is a maintenance release for RedisTimeSeries 1.6.\n\nUpdate urgency: `HIGH`: There is a critical bug that may affect a subset of users. Upgrade!\n\nDetails:\n\n- Bug fixes:\n\n    - [#1176](https://github.com/RedisTimeSeries/RedisTimeSeries/issues/1176), [#1187](https://github.com/RedisTimeSeries/RedisTimeSeries/pull/1187) When executing [`DEL`](https://redis.io/docs/latest/commands/ts.del), chunk index could be set to a wrong value and cause some data to be inaccessible\n    - [#1180](https://github.com/RedisTimeSeries/RedisTimeSeries/pull/1180) When executing [`MADD`](https://redis.io/docs/latest/commands/ts.madd), make sure that only successful insertions are replicated"
    },
    {
      "id": "v1611-may-2022",
      "title": "v1.6.11 (May 2022)",
      "role": "content",
      "text": "This is a maintenance release for RedisTimeSeries 1.6.\n\nUpdate urgency: `HIGH`: There is a critical bug that may affect a subset of users. Upgrade!\n\nDetails:\n\n- Bug fixes:\n\n    - [#1166](https://github.com/RedisTimeSeries/RedisTimeSeries/pull/1166) Stop forwarding multi-shard commands during cluster resharding and upgrade (MOD-3154)\n    - [#1165](https://github.com/RedisTimeSeries/RedisTimeSeries/pull/1165) Stop forwarding multi-shard commands during transactions (`MULTI EXEC`) (MOD-3182)\n    - [LibMR](https://github.com/RedisGears/LibMR): Fixed crash on multi-shard commands in some rare scenarios (MOD-3182)"
    },
    {
      "id": "v1610-may-2022",
      "title": "v1.6.10 (May 2022)",
      "role": "content",
      "text": "This is a maintenance release for RedisTimeSeries 1.6.\n\nUpdate urgency: `MODERATE`: Program an upgrade of the server, but it's not urgent.\n\nDetails:\n\n- Bug fixes:\n\n    - [#1074](https://github.com/RedisTimeSeries/RedisTimeSeries/pull/1074) [`RANGE`](https://redis.io/docs/latest/commands/ts.range), [`REVRANGE`](https://redis.io/docs/latest/commands/ts.revrange), [`MRANGE`](https://redis.io/docs/latest/commands/ts.mrange), and [`MREVRANGE`](https://redis.io/docs/latest/commands/ts.mrevrange): Possibly incorrect result when using `ALIGN` and aggregating a bucket with a timestamp close to 0\n    - [#1094](https://github.com/RedisTimeSeries/RedisTimeSeries/pull/1094) [LibMR](https://github.com/RedisGears/LibMR): Potential memory leak; memory release delay\n    - [#1127](https://github.com/RedisTimeSeries/RedisTimeSeries/pull/1127) Memory leak on [`RANGE`](https://redis.io/docs/latest/commands/ts.range) and [`REVRANGE`](https://redis.io/docs/latest/commands/ts.revrange) when argument parsing fails\n    - [#1096](https://github.com/RedisTimeSeries/RedisTimeSeries/pull/1096) [`RANGE`](https://redis.io/docs/latest/commands/ts.range), [`REVRANGE`](https://redis.io/docs/latest/commands/ts.revrange), [`MRANGE`](https://redis.io/docs/latest/commands/ts.mrange), and [`MREVRANGE`](https://redis.io/docs/latest/commands/ts.mrevrange): Using `FILTER_BY_TS` without specifying timestamps now returns an error as expected"
    },
    {
      "id": "v169-february-2022",
      "title": "v1.6.9 (February 2022)",
      "role": "content",
      "text": "This is a maintenance release for RedisTimeSeries 1.6.\n\nUpdate urgency: `MODERATE`: Program an upgrade of the server, but it's not urgent.\n\nDetails:\n\n- Security and privacy:\n\n    - [#1061](https://github.com/RedisTimeSeries/RedisTimeSeries/pull/1061) Internode communications encryption: support passphrases for PEM files\n\n- Bug fixes:\n\n    - [#1056](https://github.com/RedisTimeSeries/RedisTimeSeries/pull/1056) Return an error when a shard is down (in v1.6.8, returned an empty result)"
    },
    {
      "id": "v16-ga-v168-january-2022",
      "title": "v1.6 GA (v1.6.8) (January 2022)",
      "role": "content",
      "text": "This is the General Availability release of RedisTimeSeries 1.6."
    },
    {
      "id": "highlights",
      "title": "Highlights",
      "role": "content",
      "text": "RedisTimeSeries 1.6 adds support for aggregating across multiple time series (multi-key). Before this version, queries such as \"the maximum observed value of a set of time series\" needed to be calculated client-side. Such queries can now be computed server-side, leveraging the heart of RedisGears ([LibMR](https://github.com/RedisGears/LibMR)) for clustered databases."
    },
    {
      "id": "whats-new-in-16",
      "title": "What's new in 1.6",
      "role": "content",
      "text": "- Introduction of `GROUPBY` and `REDUCE` in `TS.MRANGE` and `TS.MREVRANGE` to add support for \"multi-key aggregation\" and support for such aggregations spanning multiple shards, leveraging [LibMR](https://github.com/RedisGears/LibMR). Currently, we support `min`, `max`, and `sum` as reducers and grouping by a label.\n\n- [#722](https://github.com/RedisTimeSeries/RedisTimeSeries/pull/722), [#275](https://github.com/RedisTimeSeries/RedisTimeSeries/pull/275) Filter results using `FILTER_BY_TS` by providing a list of timestamps and `FILTER_BY_VALUE` by providing a `min` and a `max` value (`TS.RANGE`, `TS.REVRANGE`, `TS.MRANGE`, and `TS.MREVRANGE`).\n\n- [#603](https://github.com/RedisTimeSeries/RedisTimeSeries/pull/603), [#611](https://github.com/RedisTimeSeries/RedisTimeSeries/pull/611), [#841](https://github.com/RedisTimeSeries/RedisTimeSeries/pull/841) Introduction of TS.DEL which allows deleting samples in a time series within two timestamps (inclusive).\n\n- [#762](https://github.com/RedisTimeSeries/RedisTimeSeries/pull/762) Limit the number of returned labels in the response of read commands (`TS.MRANGE`, `TS.MREVRANGE`, and `TS.MGET`) using `SELECTED_LABELS`. This can be a significant performance improvement when returning a large number of series.\n\n- [#655](https://github.com/RedisTimeSeries/RedisTimeSeries/pull/655), [#801](https://github.com/RedisTimeSeries/RedisTimeSeries/pull/801) Ability to align the aggregation buckets with the requested start, end, or specific timestamp on aggregation queries using `ALIGN` (`TS.RANGE`, `TS.REVRANGE`, `TS.MRANGE`, and `TS.MREVRANGE`).\n\n- [#675](https://github.com/RedisTimeSeries/RedisTimeSeries/pull/675) Add keyspace notifications for all CRUD commands. Check out [this test](https://github.com/RedisTimeSeries/RedisTimeSeries/blob/master/tests/flow/test_ts_keyspace.py) for the details.\n\n- [#882](https://github.com/RedisTimeSeries/RedisTimeSeries/pull/882) [Auto Tiering ](https://docs.redis.com/latest/rs/databases/redis-on-flash//#:~:text=Redis%20on%20Flash%20%20offers,dedicated%20flash%20memory%20(SSD).) support."
    }
  ],
  "examples": []
}
