Skip to content

Releases: predis/predis

v3.7.0

Choose a tag to compare

@tillkruss tillkruss released this 08 Oct 16:46
Immutable release. Only release title and notes can be modified.
4d91f3b

Added

  • Added BLESS * command family (#1733)
  • Added optional CELL_SIZE argument for CMS.INITBY(DIM|PROB) (#1729)

Fixed

  • Fixed Redis Cluster not retrying slot map discovery on StreamInitException (#1717)
  • Fixed client iteration when using replication (#1730)
  • Fixed *StreamConnection looping forever when closed in the middle of a bulk reply (#1731)
  • Fixed cluster CAS transactions returning transaction objects for reads and sending MULTI twice (#1735)
  • Fixed cleanup of empty transactions and transaction callbacks that throw PHP errors (#1735)
  • Fixed MultiExec::multi() being ignored as the first call of a CAS transaction (#1735)
  • Fixed spl_object_hash() deprecation on PHP 8.6 in ConnectionErrorProof pipeline (#1738)
  • Fixed ConnectionErrorProof pipeline returning too few responses or throwing ValueError (#1739)

Security

  • Fixed aborted cluster transactions leaving node connections in MULTI (#1735)

v3.6.1

Choose a tag to compare

@tillkruss tillkruss released this 17 Sep 20:42
Immutable release. Only release title and notes can be modified.
e2db963

Fixed

  • Fixed RESP3 double parsing returning positive INF for -inf payloads (#1716)
  • Fixed client_info connection parameter being ignored (#1722)
  • Fixed Stream::write() and read() leaving a dead connection when a host error handler throws exception (#1725)

Security

  • Deprecated CommandInterface::deserializeCommand() (CVE GHSA-w6f5-v2h6-g786)
  • Fixed CRLF command smuggling and node misrouting in AbstractAggregateConnection::write() and CommandInterface::deserializeCommand() (CVE GHSA-w6f5-v2h6-g786)

v3.6.0

Choose a tag to compare

@tillkruss tillkruss released this 14 Aug 23:08
Immutable release. Only release title and notes can be modified.
2ff20c0

Added

  • Added support for new TS commands + Indonesian language support integration test (#1695)
  • Added support for new COLLECT reducer for FT.AGGREGATE (#1699)
  • Added support for SDIFFCARD and SUNIONCARD command
  • Added support for MAXCOUNT and MAXSIZE arguments for XREAD and XREADGROUP
  • Added support for TS.READ command
  • Added support for EXCLUDEEMPTY argument for TS.MRANGE and TS.MREVRANGE commands
  • Added explicit testing for FT.SEARCH timeout policies
  • Added support for TS.QUERYLABELS command
  • Added support for LMOVEM and BLMOVEM commands
  • Added support for FT.ALIASLIST command
  • Added stream commands to ClusterStrategy
  • Added vector sets commands to ClusterStrategy
  • Added experimental support for HIMPORT bulk hash import feature (API may change in a future release)

Changed

  • Added OBJECT and hash field expiration commands to ClusterStrategy
  • Make ZMSCORE command prefixable and add to ClusterStrategy (#1692)

Fixed

  • Fixed Sentinel does not wipe servers on exception caused (#1694)
  • Fixed @method cmsincrby() annotation

v3.5.1

Choose a tag to compare

@tillkruss tillkruss released this 11 Jun 16:58
Immutable release. Only release title and notes can be modified.
5c996db

Added

  • Expose pipeline() API via ClientInterface (#1686)

Fixed

  • Allow UNLINK to accept an array of keys (#1687)

v3.5.0

Choose a tag to compare

@tillkruss tillkruss released this 02 Jun 19:26
Immutable release. Only release title and notes can be modified.
8cc4319

Added

  • Added support for XNACK command (#1666)
  • Added support for INCREX command (#1674)
  • Added support for UNLINK command (#1680)
  • Added support for AR* array commands (#1672)
  • Handle Redis Cluster -READONLY responses failover events (#1656)
  • Added FPHA argument for JSON.SET command (#1661)
  • Added new COUNT aggregator for Sorted Set commands (#1668)
  • Added support for multiple aggregators for TS.range commands (#1670)

Changed

  • Include command name in unsupported container command error messages (#1653)

Fixed

  • Fixed handling of gap slots in SlotMap::offsetUnset() (#1660)
  • Fixed ZRANGE to include 6.2 arguments (#1662)
  • Fixed Sentinel retry to narrow retryable exceptions to CommunicationException (#1665)
  • Fixed SENTINEL SLAVES RESP3 incompatible response (#1676)

v3.4.2

Choose a tag to compare

@tillkruss tillkruss released this 09 Mar 20:34
2033429

Changed

  • Switch to static closures

Fixed

  • Fixed Sentinel getParameters() executed on string configuration (#1649)
  • Fixed Sentinel discovery methods not catching StreamInitException on connection failure (#1650)

v3.4.1

Choose a tag to compare

@tillkruss tillkruss released this 23 Feb 19:51
0850f2f

Added

  • Made H(P)TTL commands prefixable (#1639)
  • Made (B)LMPOP commands prefixable (#1643)

Fixed

  • Fixed Sentinel getParameter() call on array error (#2423)
  • Removed deprecated static from callables (#1642)

v3.4.0

Choose a tag to compare

@tillkruss tillkruss released this 11 Feb 17:30
1183f57

This release introduces two major improvements: a refactored handshake process and built-in retry support.

The redesigned handshake session delivers up to 25% performance improvement compared to the previous version.

With the newly added retry support, you can automatically retry command execution on transient failures before giving up. This helps mitigate network glitches and delegate error handling to Predis.

For more details, see the documentation.

Added

  • Added optional retry support (#1616)
  • Added support for VRANGE command (#1623)
  • Added support for idempotent stream API (#1632)
  • Added support for HOTKEYS container command (#1630)

Fixed

  • Fixed [L|R]PUSHX variadic arguments normalization (#1633)
  • Fixed wrong @param annotation in Parameters (#1614)
  • Made ZRANDMEMBER prefixable (#1621)
  • Improve connection handshake by pipelining commands (#1622)

v3.3.0

Choose a tag to compare

@tillkruss tillkruss released this 24 Nov 17:49
1530973

Added

  • Added cluster support for XADD, XDEL and XRANGE (#1587)
  • Added prefixable interface for HEXPIRE and HEXPIRETIME (#1592)
  • Added new experimental CAS/CAD functionality (#1609)
  • Added temporary XREADGROUP_CLAIM command (#1608)
  • Added support for MSET command (#1610)
  • Added experimental support for FT.HYBRID (#1607)

Changed

  • Improved compatiblity with Relay (#1597)
  • Refactor pipeline data writing depends on connection type (#1586)

v2.4.1

Choose a tag to compare

@tillkruss tillkruss released this 12 Nov 18:01
07105e0

Fixed

  • Fixed return type for ZCOUNT to be int (#1546)
  • Removed automatic conn_uid parameter assignment (#1551)