zeekay
fe31ef4530
deps: bump nested go.mod Go to 1.26.4
...
Workspace-wide sync. luxfi/node already shipped on 1.26.4 in v1.30.6
(commit 121aca1fa9); nested module catch-up.
2026-06-07 12:27:54 -07:00
zeekay
21f34da35a
merge: upstream/master (preserve Hanzo brand, 100 commits)
2026-06-02 09:58:21 -07:00
Nedyalko Dyakov and GitHub
7d05dd3b7c
chore(release): v9.20.0 ( #3832 )
...
* chore(release): add release notes
* Update readme and release notes.
Deprecate UnstableResp3 everywhere
* chore(release): bump version v9.20.0
2026-05-28 10:31:45 +03:00
zeekay
7cdf45df6a
go.mod: bump go directive to 1.26.3 (security advisory)
2026-05-12 20:54:34 -07:00
Nedyalko Dyakov and GitHub
e7e9866e54
chore(release): v9.19.0 ( #3796 )
...
- Add release notes
- Add release checklist
- Fix release script to update deps
2026-04-28 14:16:39 +03:00
Bigsk and GitHub
cd984fae99
chore(ring): inline rendezvous hashing and remove external dependency ( #3762 )
...
* ring: remove external rendezvous dependency by inlining implementation
Replace usage of github.com/dgryski/go-rendezvous with an internal
implementation to eliminate the external dependency and avoid licence
propagation concerns.
The implementation preserves the exact hashing algorithm and behaviour:
- same hash combination: khash ^ nhash
- same mixing function (xorshift* variant)
- same node ordering semantics
No functional changes intended.
* Refactor TestRendezvous to remove randomString function
Replaced function with inline string generation for test cases.
* test: refactor RendezvousHash tests to use Ginkgo and Gomega
* test: improve RendezvousHash test for per-instance determinism and distribution balance
* test: enhance distribution verification in RendezvousHash tests
2026-04-07 10:26:18 +03:00
8eca179665
feat(command): Implement ReplicaOf method to replace deprecated SlaveOf ( #3720 )
...
* Initial plan
* Implement ReplicaOf method and update test usages
Co-authored-by: ndyakov <[email protected] >
* Run go fmt on modified files
Co-authored-by: ndyakov <[email protected] >
* Final review completed
Co-authored-by: ndyakov <[email protected] >
---------
Co-authored-by: copilot-swe-agent[bot] <[email protected] >
Co-authored-by: ndyakov <[email protected] >
Co-authored-by: ofekshenawa <[email protected] >
2026-03-09 13:35:16 +02:00
zeekay
7a62812520
chore: update Go module dependencies
2026-03-03 22:35:21 -08:00
Nedyalko Dyakov and GitHub
3b155e9443
chore(go): update go version to 1.24 ( #3714 )
...
* chore(go): update go version to 1.24
* update readmes and ci workflows
* update dockerfile for proxy-fi-server
* address changed test behaviour
* address changed test behaviour
2026-02-20 10:00:33 +02:00
Nedyalko Dyakov and GitHub
bf8e8e3b16
chore(release): v9.18.0 ( #3711 )
...
* chore(release): add release notes
* chore(release): update version
2026-02-16 16:19:35 +02:00
a881cd4280
fix(clone): nil pointer dereference in PubSub after WithTimeout() ( #3710 )
...
* Initial plan
* Fix pubSubPool nil pointer in clone() method
Co-authored-by: ndyakov <[email protected] >
* Final: Fix complete and verified
Co-authored-by: ndyakov <[email protected] >
---------
Co-authored-by: copilot-swe-agent[bot] <[email protected] >
Co-authored-by: ndyakov <[email protected] >
2026-02-16 10:44:37 +02:00
ee6e9dbf09
feat(otel): Add OpenTelemetry Native Metrics Support ( #3637 )
...
* First draft. One metric - command duration.
Signed-off-by: Elena Kolevska <[email protected] >
* Adds connection state metrics
Signed-off-by: Elena Kolevska <[email protected] >
* wip
Signed-off-by: Elena Kolevska <[email protected] >
* Add phase 1 metrics
* Add client api configurations
* remove redundent code
* refactor: move otel-metrics example to separate module
* refactor: move otel-metrics example to separate module
* remove internal test
* Resolve merge conflicts with upstream/master
* Fix linting issues
* Fix pool idle connection counter bug
* Add OTel performance benchmarking suite
* Improve perf compatison script
* Add phase 2,3 metrics
* Remove local benchmark tests
* Add new fields to tests
* Change db.client.connection.count and db.client.connection.pending_request metric type from UpAndDownCounter to Async gauge.
* fix golangci lint
* Add piplined commands metrics support
* Redesign otel init method
* Address comments
* Fix golangci-lint errors
* Fix passing nil pointer
* Add metric prefix to callbacks and atomic batch registration
* Add unique name for pool.name attr
* Fix unique pool name for pubsub
* Refactor all hardcoded OTel attribute strings to use constants
* Refactor all hardcoded OTel attribute strings to use constants
* extract metric names and pool names as constants, improve error handling
---------
Signed-off-by: Elena Kolevska <[email protected] >
Co-authored-by: Elena Kolevska <[email protected] >
2026-02-13 18:08:10 +02:00
zeekay
24f201b8e5
Rebrand as hanzoai/kv-go
...
Update module path from github.com/redis/go-redis/v9 to
github.com/hanzoai/kv-go/v9 for use as the Hanzo KV Go SDK.
- Update go.mod module declaration
- Update all Go imports across 260 files
- Update all submodule go.mod files (extra/*, example/*, internal/customvet)
2026-01-19 18:15:43 -08:00
Nedyalko Dyakov and GitHub
e4965ea90b
chore(release) v9.18.0-beta.2 ( #3644 )
...
* add release notes
* update version number
* update date
2025-12-09 15:50:10 +02:00
674c7b8695
chore(go): update go version to 1.21 ( #3640 )
...
* chore(go): update go version to 1.21
* chore(aggregators): make aggregators work with 1.21
* fix doctests
* address copilot comments
* use atomic bool for logic and/or aggregators
* Update .github/workflows/build.yml
Co-authored-by: ccoVeille <[email protected] >
* use stable/oldstable, 1.23 and 1.21
* fix versions in README
* add oldstable in wordlist
---------
Co-authored-by: ccoVeille <[email protected] >
2025-12-05 12:27:55 +02:00
Nedyalko Dyakov and GitHub
981f5db9a2
chore(release): 9.18.0-beta.1 ( #3628 )
...
* bump version to 9.18.0-beta.1
* add release notes
2025-12-02 15:08:54 +02:00
f711eb0f62
feat(cluster): Implement Request and Response Policy Based Routing in Cluster Mode ( #3422 )
...
* Add search module builders and tests (#1 )
* Add search module builders and tests
* Add tests
* Use builders and Actions in more clean way
* Update search_builders.go
Co-authored-by: Nedyalko Dyakov <[email protected] >
* Update search_builders.go
Co-authored-by: Nedyalko Dyakov <[email protected] >
* Apply suggestions from code review
Co-authored-by: Nedyalko Dyakov <[email protected] >
* feat(routing): add internal request/response policy enums
* feat: load the policy table in cluster client (#4 )
* feat: load the policy table in cluster client
* Remove comments
* modify Tips and command pplicy in commandInfo (#5 )
* centralize cluster command routing in osscluster_router.go and refactor osscluster.go (#6 )
* centralize cluster command routing in osscluster_router.go and refactor osscluster.go
* enalbe ci on all branches
* Add debug prints
* Add debug prints
* FIX: deal with nil policy
* FIX: fixing clusterClient process
* chore(osscluster): simplify switch case
* wip(command): ai generated clone method for commands
* feat: implement response aggregator for Redis cluster commands
* feat: implement response aggregator for Redis cluster commands
* fix: solve concurrency errors
* fix: solve concurrency errors
* return MaxRedirects settings
* remove locks from getCommandPolicy
* Handle MOVED errors more robustly, remove cluster reloading at exectutions, ennsure better routing
* Fix: supports Process hook test
* Fix: remove response aggregation for single shard commands
* Add more preformant type conversion for Cmd type
* Add router logic into processPipeline
---------
Co-authored-by: Nedyalko Dyakov <[email protected] >
* remove thread debugging code
* remove thread debugging code && reject commands with policy that cannot be used in pipeline
* refactor processPipline and cmdType enum
* remove FDescribe from cluster tests
* Add tests
* fix aggregation test
* fix mget test
* fix mget test
* remove aggregateKeyedResponses
* added scaffolding for the req-resp manager
* added default policies for the search commands
* split command map into module->command
* cleanup, added logic to refresh the cache
* added reactive cache refresh
* revert cluster refresh
* fixed lint
* addresed first batch of comments
* rewrote aggregator implementations with atomic for native or nearnative primitives
* addressed more comments, fixed lint
* added batch aggregator operations
* fixed lint
* updated batch aggregator, fixed extractcommandvalue
* fixed lint
* added batching to aggregateResponses
* fixed deadlocks
* changed aggregator logic, added error params
* added preemptive return to the aggregators
* more work on the aggregators
* updated and and or aggregators
* fixed lint
* added configurable policy resolvers
* slight refactor
* removed the interface, slight refactor
* change func signature from cmdName to cmder
* added nil safety assertions
* few small refactors
* added read only policies
* removed leftover prints
* Rebased to master, resolved comnflicts
* fixed lint
* updated gha
* fixed tests, minor consistency refactor
* preallocated simple errors
* changed numeric aggregators to use float64
* speculative test fix
* Update command.go
Co-authored-by: Nedyalko Dyakov <[email protected] >
* Update main_test.go
Co-authored-by: Nedyalko Dyakov <[email protected] >
* Add static shard picker
* Fix nil value handling in command aggregation
* Modify the Clone method to return a shallow copy
* Add clone method to digest command
* Optimize keyless command routing to respect ShardPicker policy
* Remove MGET references
* Fix MGET aggregation to map individual values to keys across shards
* Add clone method to hybrid search commands
* Undo changes in route keyless test
* remove comments
* Add test for DisableRoutingPolicies option
* Add Routing Policies Comprehensive Test Suite and Fix multi keyed aggregation for different step
---------
Co-authored-by: Nedyalko Dyakov <[email protected] >
Co-authored-by: Nedyalko Dyakov <[email protected] >
Co-authored-by: Hristo Temelski <[email protected] >
2025-11-28 11:46:23 +02:00
Nedyalko Dyakov and GitHub
68d8c59557
chore(release): v9.17.1 ( #3617 )
...
* add release notes
* update version to 9.17.1
2025-11-26 12:20:20 +02:00
Nedyalko Dyakov and GitHub
5b0b228a37
chore(release): v9.17.0 ( #3604 )
...
* update release notes
* update readme
* update version number
* cleanup release notes
* fix checkMinIdle
2025-11-19 19:53:02 +02:00
Nedyalko Dyakov and GitHub
f1956565ee
chore(release): 9.16.0 ( #3557 )
...
* notes
* bump version
2025-10-23 18:08:39 +03:00
7aa4a60667
update gomods to align them with the latest beta ( #3539 )
...
Co-authored-by: Nedyalko Dyakov <[email protected] >
2025-10-21 11:28:04 +03:00
Hristo Temelski and GitHub
a44df88257
version 9.15.1, used to retract itself and 9.15.0 ( #3537 )
...
* version 9.15.1, used to retract itself and 9.15.0
* added retract to the submodules
* revert submodules retracts as they are not needed
2025-09-27 23:33:54 +03:00
Hristo Temelski and GitHub
819f01b489
retract wrongly released version ( #3533 )
2025-09-27 15:38:46 +01:00
Hristo Temelski and GitHub
7405cff430
depreciate 9.15.0 ( #3532 )
2025-09-27 02:17:21 +03:00
Hristo Temelski and GitHub
8b38e27f97
release: 9.15.0-beta.2 ( #3531 )
2025-09-26 19:40:07 +03:00
Nedyalko Dyakov and GitHub
0dcfeefea7
chore(release): 9.15.0-beta.1 ( #3514 )
2025-09-10 23:02:16 +03:00
Hristo Temelski and GitHub
c11a704481
chore(release): v9.14.0 ( #3512 )
2025-09-10 14:33:08 +03:00
Nedyalko Dyakov and GitHub
52bda7a35a
chore(release): 9.13.0 ( #3500 )
2025-09-03 14:52:32 +03:00
Nedyalko Dyakov and GitHub
7b4a537aef
chore(release): 9.12.1, failover client buffer size fixes ( #3469 )
2025-08-11 18:58:21 +03:00
Nedyalko Dyakov and GitHub
b7838dc4e7
chore(release): 9.12.0 / redis 8.2 ( #3464 )
2025-08-05 16:50:25 +03:00
Nedyalko Dyakov and GitHub
f006e941d9
chore(release): 9.12.0-beta.1 ( #3460 )
2025-08-04 15:00:37 +03:00
Nedyalko Dyakov and GitHub
0decfdc6ed
chore(release): v9.11.0 ( #3416 )
...
* chore(release): update version to 9.11.0
* chore(release): Add Release Notes for v9.11.0
2025-06-24 14:05:24 +03:00
Nedyalko Dyakov and GitHub
75e8370a6f
chore(release): Update release notes and versions for v9.10.0 ( #3395 )
2025-06-06 18:30:30 +03:00
Nedyalko Dyakov and GitHub
c935f96148
release(go-redis): v9.9.0 ( #3390 )
...
* release(go-redis): v9.9.0
- Add release notes
- Update dependencies and version.go
* chore(release-notes) Update release notes
2025-05-27 19:00:07 +03:00
+6
c0be87ec5b
chore(release): sync master after releasing V9.8.0 ( #3365 )
...
* Bump version to 9.8.0-beta1
Update README.md
* Feature more prominently how to enable OpenTelemetry instrumentation (#3316 )
* Sync master with v9.8.0-beta.1 (#3322 )
* DOC-4464 examples for llen, lpop, lpush, lrange, rpop, and rpush (#3234 )
* DOC-4464 examples for llen, lpop, lpush, lrange, rpop, and rpush
* DOC-4464 improved variable names
---------
Co-authored-by: Vladyslav Vildanov <[email protected] >
Co-authored-by: Nedyalko Dyakov <[email protected] >
* update pubsub.go (#3329 )
* use 8.0-RC1 (#3330 )
* drop ft.profile that was never enabled (#3323 )
* chore(deps): bump rojopolis/spellcheck-github-actions (#3336 )
Bumps [rojopolis/spellcheck-github-actions](https://github.com/rojopolis/spellcheck-github-actions ) from 0.47.0 to 0.48.0.
- [Release notes](https://github.com/rojopolis/spellcheck-github-actions/releases )
- [Changelog](https://github.com/rojopolis/spellcheck-github-actions/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rojopolis/spellcheck-github-actions/compare/0.47.0...0.48.0 )
---
updated-dependencies:
- dependency-name: rojopolis/spellcheck-github-actions
dependency-version: 0.48.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <[email protected] >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Fix FT.Search Limit argument and add CountOnly argument for limit 0 0 (#3338 )
* Fix Limit argument and add CountOnly argument
* Add test and Documentation
* Update search_commands.go
---------
Co-authored-by: Nedyalko Dyakov <[email protected] >
* fix add missing command in interface (#3344 )
* Use DB option in NewFailoverClusterClient (#3342 )
* DOC-5102 added CountOnly search example for docs (#3345 )
* Add integration tests for Redis 8 behavior changes in Redis Search (#3337 )
* Add integration tests for Redis 8 behavior changes in Redis Search
* Undo changes in ft.search limit
* Fix BM25 as the default scorer test
* Add more tests and comments on deprecated params
* Update search_commands.go
* Remove deprication comment for nostopwords
---------
Co-authored-by: Nedyalko Dyakov <[email protected] >
* Use correct slot for COUNTKEYSINSLOT command (#3327 )
* Ensure context isn't exhausted via concurrent query as opposed to sentinel query (#3334 )
* fix: better error handling when fetching the master node from the sentinels (#3349 )
* Better error handling when fetching the master node from the sentinels
* fix error message generation
* close the errCh to not block
* use len over errCh
* docs: fix documentation comments (#3351 )
* DOC-5111 added hash search examples (#3357 )
* fix: Fix panic caused when arg is nil (#3353 )
* Update README.md, use redis discord guild (#3331 )
* use redis discord guild
* add line in CONTRIBUTING.md
* update with badges similar to rest of the libraries. update url
* updated with direct invite link
* fix discord link in CONTRIBUTING.md
* fix stackoverflow tag
---------
Co-authored-by: Elena Kolevska <[email protected] >
* update HExpire command documentation (#3355 )
* update HExpire command documentation
* Apply suggestions from code review
Format the links in the documentation. Add missing documentation.
---------
Co-authored-by: Nedyalko Dyakov <[email protected] >
* feat: func isEmptyValue support time.Time (#3273 )
* fix:func isEmptyValue support time.Time
* fix: Improve HSet unit tests
* feat: Improve HSet unit tests
* fix: isEmptyValue Struct only support time.Time
* test(hset): add empty custom struct test
---------
Co-authored-by: Guo Hui <[email protected] >
Co-authored-by: Nedyalko Dyakov <[email protected] >
* fix: `PubSub` isn't concurrency-safe (#3360 )
* migrate golangci-lint config to v2 format (#3354 )
* migrate golangci-lint config to v2 format
* chore: skip CI on migration [skip ci]
* Bump golangci version
* Address several golangci-lint/staticcheck warnings
* change staticchecks settings
* chore(ci): Use redis 8 rc2 image. (#3361 )
* chore(ci): Use redis 8 rc2 image
* test(timeseries): fix duplicatePolicy check
* feat(options): panic when options are nil (#3363 )
Client creation should panic when options are nil.
* chore(release): Update version to v9.8.0
- update version in relevant places
- add RELEASE-NOTES.md to keep track of release notes
---------
Signed-off-by: dependabot[bot] <[email protected] >
Co-authored-by: Nikolay Dubina <[email protected] >
Co-authored-by: andy-stark-redis <[email protected] >
Co-authored-by: Vladyslav Vildanov <[email protected] >
Co-authored-by: Liu Shuang <[email protected] >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: ofekshenawa <[email protected] >
Co-authored-by: Bulat Khasanov <[email protected] >
Co-authored-by: Naveen Prashanth <[email protected] >
Co-authored-by: Glenn <[email protected] >
Co-authored-by: frankj <[email protected] >
Co-authored-by: Elena Kolevska <[email protected] >
Co-authored-by: Hui <[email protected] >
Co-authored-by: Guo Hui <[email protected] >
Co-authored-by: fukua95 <[email protected] >
2025-05-07 14:40:49 +03:00
Nedyalko Dyakov and GitHub
cb3aa19618
Sync master with v9.8.0-beta.1 ( #3322 )
2025-03-25 12:25:35 +02:00
Nedyalko Dyakov and GitHub
34222bffeb
release 9.7.3, retract 9.7.2 ( #3314 ) ( #3315 )
2025-03-21 13:13:14 +02:00
Nedyalko Dyakov and GitHub
aa7019d718
V9.7.1 -> master ( #3287 )
2025-02-24 12:45:08 +02:00
Flcã‚› and GitHub
40e049e67a
chore(deps): update github.com/cespare/xxhash/v2 to v2.3.0 ( #3265 )
...
* chore(deps): update github.com/cespare/xxhash/v2 to v2.3.0
* chore(deps): update github.com/cespare/xxhash/v2 to v2.3.0
2025-02-10 15:03:50 +02:00
Vladyslav Vildanov and GitHub
cc9bcb0c0f
Updated package version ( #3158 )
2024-10-15 16:32:53 +03:00
Vladyslav Vildanov and GitHub
00d98485f8
Updated module version that points to retracted package version ( #3074 )
...
* Updated module version that points to retracted package version
* Updated testing image to latest
2024-07-31 11:15:15 +03:00
Vladimir Mihailenco and GitHub
f752b9a9d5
Release/v9.5.3 ( #3018 )
...
* chore: ignore package.json
* chore: release v9.5.3 (release.sh)
2024-06-07 17:04:08 +03:00
ofekshenawa and GitHub
d43a9fa887
Bump go-redis version to 9.5.1 ( #2917 )
2024-02-20 17:44:29 +02:00
ofekshenawa and GitHub
b5a9e5d2c6
Bump go-redis version to 9.5.0 ( #2905 )
...
* Bump go-redis version to 9.4.1
* Bump go-redis version to 9.5.0
2024-02-18 19:16:42 +02:00
ofekshenawa and GitHub
531f06861b
9.4.0 ( #2862 )
2024-01-07 12:27:07 +02:00
ofekshenawa and GitHub
73c879df57
9.3.1 ( #2835 )
2023-12-19 12:14:38 +02:00
9073e4056d
Update docs and examples ( #2806 )
...
* Fix example 'Connecting via a redis url' and make it compile
* Fix name of example
---------
Co-authored-by: ofekshenawa <[email protected] >
2023-12-17 17:43:21 +02:00
ofekshenawa and GitHub
21bd40a47e
Version 9.3.0 ( #2774 )
2023-10-31 15:40:45 +02:00
ofekshenawa and GitHub
f994ff1cd9
Bump version to 9.2.1 ( #2735 )
2023-09-27 11:25:09 +03:00
ofekshenawa and GitHub
dac3314bc6
Bump version to 9.2.0 ( #2722 )
2023-09-20 16:38:58 +03:00