Skip to content

Releases: valkey-io/valkey-glide

v2.4.1

29 May 22:28
v2.4.1
3f261ed

Choose a tag to compare

What's Changed

  • Backport #5916 to release 2.4: Core: Propagate per-command response timeout to multiplexed connection by @jeremyprime in #5991
  • Backport of #5917 to release 2.4: Core: Add dedicated timeout watchdog thread independent of Tokio runtime by @jeremyprime in #5993
  • Cherry-pick of #5952 to release 2.4: Java: Add a synchronous check on inflight request limits before submitting tasks by @jeremyprime in #5992
  • Cherry pick #6015 to release-2.4: Python: Include _fast_response extension in glide-sync wheel by @xShinnRyuu in #6020
  • Implement connection refresh on circular moved (#5893) by @jamesx-improving in #6023

Full Changelog: v2.4.0...v2.4.1

v2.4.0

15 May 22:38
v2.4.0
0a919bf

Choose a tag to compare

Key Features

Client-Side Caching Support: Full client-side caching support enabling local caching of frequently accessed data to reduce round-trips to the server

Transparent Compression: Client-side transparent compression feature enabled. This feature is experimental

Valkey Search 1.2 Support: Comprehensive FT.* command support for the Valkey Search module

NodeDiscoveryMode for Standalone Clients: New configuration option to allow for better integration with proxies

JSON module support: Full support for Valkey JSON module

URI-Based Client Creation API: New FFI create_client_from_uri function accepting Redis/Valkey URI strings with optional JSON configuration

Performance Enhancements: Multiple performance enhancements in the Valkey Glide Core

What's Changed

  • feat(java): add cluster info & topology commands by @prashanna-frsh in #5433
  • feat(jedis-compatibility):add support for connection and tx commands by @prashanna-frsh in #5422
  • Bump redis.clients:jedis from 5.1.2 to 7.0.0 in /java by @dependabot[bot] in #4916
  • Fixed PermissionDenied error to fail fast by @Aryex in #5515
  • feat(python-sync): enable zero-copy SET by accepting bytearray and memoryview in command args by @omerrubi-amzn in #5492
  • feat(python-sync): add response buffer support to get() to improve performance by reducing copies by @omerrubi-amzn in #5493
  • feat(core): Add OTel DB semantic convention attributes to command spans by @naoki-tateyama in #5413
  • Updated attribution files for commit 8f8c3f7 by @github-actions[bot] in #5523
  • Python: Recycle callback indices for cancelled futures and use monotonic counter to prevent index collisions that permanently closed the client by @xShinnRyuu in #5517
  • Java: Fix swallowed errors in JNI async bridge that left CompletableFutures dangling by @avifenesh in #5536
  • Go bug fix: remove pubsub config check for message handler register by @liorsve in #5534
  • Node: add dynamic PubSub support by @affonsov in #5295
  • Fix/go/python cicd test-container tests by @xShinnRyuu in #5560
  • CI: add note to avoid using GitHub runners for macOS ARM workflows by @liorsve in #5570
  • Fix Potential Security Issues for Release 2.3 by @alexr-bq in #5583
  • refactor(java): rename unsubscribe methods to lazy variants by @yeoncheol-jang in #5532
  • Add IAM authentication tests across all clients by @affonsov in #5402
  • Refactor go pubsub tests to support cluster by @alexr-bq in #5577
  • Pypi-CD: fix test-the-release step for linux-arm ephemeral runner by @liorsve in #5566
  • Fix sleep usage to be compatible with trio backend by @alexr-bq in #5612
  • Fix python pubsub test by @alexr-bq in #5615
  • Address issues with tests in CI by @alexr-bq in #5625
  • Cherry-pick release 2.3 JAVA/IAM changes to main by @affonsov in #5630
  • Update CHANGELOG.md after release of 2.3 by @xShinnRyuu in #5636
  • fix(java): optimize convertMapToKeyValueStringArray by @yeoncheol-jang in #5603
  • Fix: Prevent zombie sub-command accumulation causing event loop starvation by @avifenesh in #5632
  • fix(java): fix thread safety issue in NativeClusterScanCursor by @yeoncheol-jang in #5528
  • Core: Avoid cloning compression manager if not enabled by @jeremyprime in #5644
  • Node: Implement transparent compression feature by @prateek-kumar-improving in #5648
  • Java: Implement transparent compression feature by @prateek-kumar-improving in #5647
  • Core: Add IAM token cache support for cluster reconnections by @affonsov in #5663
  • Core: Maintain throughput during cluster failover by @jeremyprime in #5399
  • Update supported compression commands by @alexr-bq in #5420
  • fix(core): eliminate Tokio runtime blocking in cluster async by @jeremyprime in #5451
  • Fix flaky Rust core tests due to checking client id by @Aryex in #5667
  • feat(test): Improve DNS and IP address tests consistency by @currantw in #5513
  • Go: Add JSON.SET and JSON.GET commands by @prateek-kumar-improving in #5662
  • Updated attribution files for commit 745946b by @github-actions[bot] in #5552
  • perf(java): replace stream+flatMap with pre-sized for-loop in ArrayTransformUtils by @ajzach in #5631
  • fix(python,java,node,rust): add missing vector search 1.1 args by @edlng in #5550
  • Go: add JSON - DEL, FORGET, CLEAR, MGET, TYPE, and array commands by @prateek-kumar-improving in #5691
  • sentinel read-only commands by @Redoubts in #5608
  • FFI: Add OTel DB semantic convention attributes for Go and Python Sync by @naoki-tateyama in #5579
  • GO: Add JSON TOGGLE, RESP, DEBUG, numeric, string and object commands by @prateek-kumar-improving in #5711
  • [Core] Fixed flaky tests: pipeline_can_reconnect and pipeline_reconnect_after_kill_all_connections by @Aryex in #5707
  • feat(python, java, node): Add Valkey Search 1.2 arguments to FT.* commands by @edlng in #5571
  • test: fix cluster cleanup to handle TLS cluster prefixes by @affonsov in #5650
  • Python: Downgrade protobuf dependency to >=3.20 by @liorsve in #5655
  • ALL_NODES support by @alexr-bq in #5216
  • Enabling support to create connection requests from uris directly by @pratheep-kumar in #5620
  • Fix broken Valkey GLIDE documentation link checker by @Aryex in #5734
  • Fix false error logs in cluster_manager.py when stopping already-dead servers by @jeremyprime in #5726
  • Exempt transitive rand 0.8.5 in deny.toml by @jeremyprime in #5739
  • Python: perf - optimize sync thread handling and response parsing by @jduo in #5635
  • Updated attribution files for commit 8e6040d by @github-actions[bot] in #5696
  • feat(Java): Task/add cluster slot commands by @prashanna-frsh in #5434
  • Fix lint errors due to new Rust version by @jeremyprime in #5761
  • feat(go): Add Valkey Search Support by @edlng in #5590
  • Allow ORT updates commits from github-actions[bot] to be signed by @xShinnRyuu in #5744
  • feat(jedis-compatibility): add pub sub commands jedis layer by @prashanna-frsh in #5286
  • CI: Switch Modules Test to Self-hosted Valkey Bundle Server by @edlng in #5661
  • build(deps): update ctor requirement from 0.5 to 0.10 in /glide-core by @dependabot[bot] in #5738
  • build(deps): bump the patch-updates group across 1 directory with 2 updates by @dependabot[bot] in #5736
  • Bump eslint-plugin-jsdoc from 57.2.1 to 62.5.5 by @dependabot[bot] in #5374
  • build(deps): update criterion requirement from ^0.6 to ^0.8 in /glide-core by @dependabot[bot] in #5671
  • Bump the minor-updates group across 1 directory with 2 updates by @dependabot[bot] in #5088
  • Bump isort from 6.0.1 to 6.1.0 in /python by @dependabot[bot] in #4978
  • feat(java): Add support for cluster management and node management commands by @prashanna-frsh in #5503
  • Add context manager support to clients by @Redoubts in https://git...
Read more

v2.2.10

01 May 03:02
v2.2.10
7fb4b90

Choose a tag to compare

What's Changed

  • Fix to allow auto-detect npm tag to handle RC and backport releases by @xShinnRyuu in #5669
  • Fix/add --skip-existing to twine upload for sync client PyPI publish by @xShinnRyuu in #5670
  • Cherry-pick/Pypi-CD: fix test-the-release step for linux-arm ephemera… by @xShinnRyuu in #5685
  • Updated attribution files for commit 1d8a599 by @github-actions[bot] in #5652
  • Updated attribution files for commit 6769247 by @github-actions[bot] in #5695
  • Updated attribution files for commit 4c8f6bc by @github-actions[bot] in #5709
  • Updated attribution files for commit 02e1d94 by @github-actions[bot] in #5718
  • Updated attribution files for commit c973d8d by @github-actions[bot] in #5723
  • feat: add diagnostic logging for failover, topology refresh, and pipeline issues by @jduo in #5756
  • Cherry-pick/Allow ORT updates commits from github-actions[bot] to be signed #5744 by @xShinnRyuu in #5766
  • Scope Sonatype deployment repo to io.valkey group by @jeremyprime in #5770
  • Updated attribution files for commit 638ebbe by @github-actions[bot] in #5748
  • Wait for artifact test deployment by @jeremyprime in #5784
  • Correct URL for artifact wait by @jeremyprime in #5785
  • Misc upgrades to Java deployment workflow by @xShinnRyuu in #5786
  • fix(glide-core,java): rate-limit high-frequency diagnostic logs during failover by @jduo in #5791
  • Updated attribution files for commit bc8ed8a by @github-actions[bot] in #5801
  • Core: trigger topology check on ConnectionNotFoundForRoute in fanout operations (cherry-pick to release-2.2) by @shohamazon in #5836
  • Updated attribution files for commit 5fee413 by @github-actions[bot] in #5816
  • Updated attribution files for commit 2832184 by @github-actions[bot] in #5848
  • fix(glide-core): fall back to existing connections when initial nodes are unavailable during toplogy refresh by @jduo in #5814

Full Changelog: v2.2.9...v2.2.10

v2.3.1

02 Apr 17:15
v2.3.1
9601a76

Choose a tag to compare

What's Changed

  • Address issues with tests in CI (#5625) by @alexr-bq in #5629
  • Updated attribution files for commit 180f388 by @github-actions[bot] in #5594
  • Cherry-pick: Update approved license for aws-lc-sys:0.39.0 (#5645) by @xShinnRyuu in #5646
  • feat(core): Add OTel DB semantic convention attributes to command spans by @jduo in #5680
  • Fix: Prevent zombie sub-command accumulation causing event loop starvation by @jduo in #5681
  • Java: Fix swallowed errors in JNI async bridge that left CompletableFutures dangling by @jduo in #5683
  • Core: Add IAM token cache support for cluster reconnections (#5663) by @affonsov & @jamesx-improving in #5679

Full Changelog: v2.3.0...v2.3.1

v2.2.9 (Java only)

27 Mar 02:41
d9a1bf5

Choose a tag to compare

What's Changed

Full Changelog: v2.2.8...v2.2.9

v2.2.9 (Go, Node, and Python)

27 Mar 22:15
c9c0135

Choose a tag to compare

What's Changed

  • [Backport-2.2] Fix/empty hostname cluster slots#5373 by @jamesx-improving in #5397
  • Diagnostic build for customer debug (based on release-2.2) by @shohamazon in #5568
  • Revert "Diagnostic build for customer debug (based on release-2.2)" by @shohamazon in #5641
  • Update approved license for aws-lc-sys:0.39.0 by @xShinnRyuu in #5645
  • cherry-pick: Prevent zombie sub-command accumulation with InflightTracker (#5632) by @shohamazon in #5642
  • fix(java): remove Java-side inflight counter, let Rust be sole authority by @avifenesh in #5656
  • fix(java): update inflight_requests_limit test for async Rust rejection by @avifenesh in #5658
  • Revert Java inflight counter changes — keep Rust-only fix by @avifenesh in #5660
  • Backport: Fix swallowed errors in JNI async bridge (#5536) by @avifenesh in #5664
  • Backport: Security hardening — shutdown race + registry leak (#5583) by @avifenesh in #5665

Full Changelog: v2.2.7...v2.2.9

v2.2.8 (Java only)

27 Mar 02:39
f7ee5d5

Choose a tag to compare

What's Changed

  • [Backport-2.2] Fix/empty hostname cluster slots#5373 by @jamesx-improving in #5397
  • Diagnostic build for customer debug (based on release-2.2) by @shohamazon in #5568
  • Revert "Diagnostic build for customer debug (based on release-2.2)" by @shohamazon in #5641
  • Update approved license for aws-lc-sys:0.39.0 by @xShinnRyuu in #5645
  • cherry-pick: Prevent zombie sub-command accumulation with InflightTracker (#5632) by @shohamazon in #5642
  • fix(java): remove Java-side inflight counter, let Rust be sole authority by @avifenesh in #5656
  • fix(java): update inflight_requests_limit test for async Rust rejection by @avifenesh in #5658
  • Revert Java inflight counter changes — keep Rust-only fix by @avifenesh in #5660

Full Changelog: v2.2.7...v2.2.8

v2.3.0

19 Mar 18:17
180f388

Choose a tag to compare

🚀 Key Features

Dynamic PubSub Support: Added dynamic PubSub methods across all clients (Node, Java, Python Sync, Go) including subscribe, unsubscribe, psubscribe, punsubscribe, ssubscribe, sunsubscribe with timeout support, getSubscriptions() for subscription state tracking, and pubsub_reconciliation_interval configuration.

mTLS Support: Added client certificate and private key support for mutual TLS (mTLS) authentication across Core and Python clients.

Java 8 Compatibility: Made the Java client compatible with Java 8, expanding support for legacy environments.

Java Uber JAR: Added uber JAR support for multi-platform builds, simplifying deployment across different architectures.

Read-Only Mode: Added read-only flag support in Core, enforcing no write commands and allowing connections without a primary node.

Go ACL Commands: Added comprehensive ACL server management commands (ACL CAT, ACL DELUSER, ACL DRYRUN, ACL GENPASS, ACL GETUSER, ACL LIST, ACL LOAD, ACL LOG, ACL LOGRESET, ACL SAVE, ACL SETUSER, ACL USERS, ACL WHOAMI).

Go Cluster Management: Added CLUSTER management commands (CLUSTER INFO, CLUSTER NODES, CLUSTER SHARDS, CLUSTER SLOTS, CLUSTER KEYSLOT, CLUSTER MYID, CLUSTER MYSHARDID, CLUSTER GETKEYSINSLOT, CLUSTER COUNTKEYSINSLOT, CLUSTER LINKS).

Node OpenTelemetry Enhancement: Added parent span context propagation support for OpenTelemetry integration.

Python Sync Performance: Added support for bytearray and memoryview as command argument types and response buffer support for get() to reduce memory copies and improve performance.

Python Sync OpenTelemetry: Added OpenTelemetry support with traces and metrics configuration for the sync client.

Java New Commands: Added EVAL_RO, EVALSHA_RO, SCRIPT DEBUG, KEYS, MIGRATE, WAITAOF, and comprehensive ACL commands.

🎉 New Contributors

Full Changelog: v1.2.0...v2.3.0

Thanks to everyone who contributed to this release!

@xShinnRyuu, @affonsov, @alex-rehnby-martin, @jduo, @avifenesh, @prashanna-freshworks, @jamesx-improving, @Sasidharan3094, @taylor-curran, @shohamazon, @hank95179, @Aryex, @liorsve, @pratheepkumar, @xdk-amz, @prateek-kumar-improving, @oxy-star, @Maayanshani25, @KaushikVijayakumar, @tdschwarz, @rzoutm, @naoki-tateyama, @yipin-chen, @invokermain, @Sylvain-Royer, @v3rm0n, @jh1231223, @jeremyprime, @danielr, @louwersj, @a-potapenko-g

v2.2.7

09 Feb 19:28
5fb4de6

Choose a tag to compare

What's Changed

Full Changelog: v2.2.6...v2.2.7

v2.2.6

09 Feb 18:43
f9bf974

Choose a tag to compare

What's Changed

Full Changelog: v2.2.5...v2.2.6