Skip to content

Commit 422779b

Browse files
committed
Merge remote-tracking branch 'origin/master' into ndyakov/CAE-1088-resp3-notification-handlers
2 parents b62fe92 + 0b1e9f7 commit 422779b

File tree

40 files changed

+1047
-469
lines changed

40 files changed

+1047
-469
lines changed

.github/actions/run-tests/action.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ runs:
2525
2626
# Mapping of redis version to redis testing containers
2727
declare -A redis_version_mapping=(
28-
["8.2.x"]="8.2-rc2-pre"
28+
["8.2.x"]="8.2"
2929
["8.0.x"]="8.0.2"
3030
["7.4.x"]="rs-7.4.0-v5"
3131
["7.2.x"]="rs-7.2.0-v17"

.github/wordlist.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,4 +74,5 @@ Azure
7474
StreamingCredentialsProvider
7575
oauth
7676
entraid
77-
MiB
77+
MiB
78+
KiB

.github/workflows/build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ jobs:
4444
4545
# Mapping of redis version to redis testing containers
4646
declare -A redis_version_mapping=(
47-
["8.2.x"]="8.2-rc2-pre"
47+
["8.2.x"]="8.2"
4848
["8.0.x"]="8.0.2"
4949
["7.4.x"]="rs-7.4.0-v5"
5050
)

.github/workflows/stale-issues.yml

Lines changed: 17 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,11 @@ jobs:
1818
stale:
1919
runs-on: ubuntu-latest
2020
steps:
21-
- uses: actions/stale@v9
21+
# First step: Handle regular issues (excluding needs-information)
22+
- name: Mark regular issues as stale
23+
uses: actions/stale@v9
2224
with:
2325
repo-token: ${{ secrets.GITHUB_TOKEN }}
24-
dry-run: true
2526

2627
# Default stale policy
2728
days-before-stale: ${{ env.DAYS_BEFORE_STALE }}
@@ -32,15 +33,15 @@ jobs:
3233
stale-pr-label: "stale"
3334

3435
stale-issue-message: |
35-
This issue has been automatically marked as stale due to inactivity.
36-
It will be closed in 30 days if no further activity occurs.
36+
This issue has been automatically marked as stale due to inactivity.
37+
It will be closed in 30 days if no further activity occurs.
3738
If you believe this issue is still relevant, please add a comment to keep it open.
3839
3940
close-issue-message: |
40-
This issue has been automatically closed due to inactivity.
41+
This issue has been automatically closed due to inactivity.
4142
If you believe this issue is still relevant, please reopen it or create a new issue with updated information.
4243
43-
# Exclude needs-information issues from this job
44+
# Exclude needs-information issues from this step
4445
exempt-issue-labels: 'no-stale,needs-information'
4546

4647
# Remove stale label when issue/PR becomes active again
@@ -51,24 +52,21 @@ jobs:
5152
days-before-pr-close: ${{ env.DAYS_BEFORE_CLOSE }}
5253

5354
stale-pr-message: |
54-
This pull request has been automatically marked as stale due to inactivity.
55+
This pull request has been automatically marked as stale due to inactivity.
5556
It will be closed in 30 days if no further activity occurs.
5657
5758
close-pr-message: |
58-
This pull request has been automatically closed due to inactivity.
59+
This pull request has been automatically closed due to inactivity.
5960
If you would like to continue this work, please reopen the PR or create a new one.
6061
6162
# Only exclude no-stale PRs (needs-information PRs follow standard timeline)
6263
exempt-pr-labels: 'no-stale'
6364

64-
# Separate job for needs-information issues ONLY with accelerated timeline
65-
stale-needs-info:
66-
runs-on: ubuntu-latest
67-
steps:
68-
- uses: actions/stale@v9
65+
# Second step: Handle needs-information issues with accelerated timeline
66+
- name: Mark needs-information issues as stale
67+
uses: actions/stale@v9
6968
with:
7069
repo-token: ${{ secrets.GITHUB_TOKEN }}
71-
dry-run: true
7270

7371
# Accelerated timeline for needs-information
7472
days-before-stale: ${{ env.NEEDS_INFO_DAYS_BEFORE_STALE }}
@@ -81,17 +79,17 @@ jobs:
8179
only-issue-labels: 'needs-information'
8280

8381
stale-issue-message: |
84-
This issue has been marked as stale because it requires additional information
85-
that has not been provided for 30 days. It will be closed in 7 days if the
82+
This issue has been marked as stale because it requires additional information
83+
that has not been provided for 30 days. It will be closed in 7 days if the
8684
requested information is not provided.
8785
8886
close-issue-message: |
89-
This issue has been closed because the requested information was not provided within the specified timeframe.
87+
This issue has been closed because the requested information was not provided within the specified timeframe.
9088
If you can provide the missing information, please reopen this issue or create a new one.
9189
92-
# Disable PR processing for this job
90+
# Disable PR processing for this step
9391
days-before-pr-stale: -1
9492
days-before-pr-close: -1
9593

9694
# Remove stale label when issue becomes active again
97-
remove-stale-when-updated: true
95+
remove-stale-when-updated: true

README.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ In `go-redis` we are aiming to support the last three releases of Redis. Current
2020
- [Redis 7.2](https://raw.githubusercontent.com/redis/redis/7.2/00-RELEASENOTES) - using Redis Stack 7.2 for modules support
2121
- [Redis 7.4](https://raw.githubusercontent.com/redis/redis/7.4/00-RELEASENOTES) - using Redis Stack 7.4 for modules support
2222
- [Redis 8.0](https://raw.githubusercontent.com/redis/redis/8.0/00-RELEASENOTES) - using Redis CE 8.0 where modules are included
23+
- [Redis 8.2](https://raw.githubusercontent.com/redis/redis/8.2/00-RELEASENOTES) - using Redis CE 8.2 where modules are included
2324

2425
Although the `go.mod` states it requires at minimum `go 1.18`, our CI is configured to run the tests against all three
2526
versions of Redis and latest two versions of Go ([1.23](https://go.dev/doc/devel/release#go1.23.0),
@@ -77,6 +78,7 @@ key value NoSQL database that uses RocksDB as storage engine and is compatible w
7778
- [Redis Ring](https://redis.uptrace.dev/guide/ring.html).
7879
- [Redis Performance Monitoring](https://redis.uptrace.dev/guide/redis-performance-monitoring.html).
7980
- [Redis Probabilistic [RedisStack]](https://redis.io/docs/data-types/probabilistic/)
81+
- [Customizable read and write buffers size.](#custom-buffer-sizes)
8082

8183
## Installation
8284

@@ -372,6 +374,21 @@ For example:
372374
```
373375
You can find further details in the [query dialect documentation](https://redis.io/docs/latest/develop/interact/search-and-query/advanced-concepts/dialects/).
374376
377+
#### Custom buffer sizes
378+
Prior to v9.12, the buffer size was the default go value of 4096 bytes. Starting from v9.12,
379+
go-redis uses 256KiB read and write buffers by default for optimal performance.
380+
For high-throughput applications or large pipelines, you can customize buffer sizes:
381+
382+
```go
383+
rdb := redis.NewClient(&redis.Options{
384+
Addr: "localhost:6379",
385+
ReadBufferSize: 1024 * 1024, // 1MiB read buffer
386+
WriteBufferSize: 1024 * 1024, // 1MiB write buffer
387+
})
388+
```
389+
390+
**Important**: If you experience any issues with the default buffer sizes, please try setting them to the go default of 4096 bytes.
391+
375392
## Contributing
376393
We welcome contributions to the go-redis library! If you have a bug fix, feature request, or improvement, please open an issue or pull request on GitHub.
377394
We appreciate your help in making go-redis better for everyone.
@@ -412,6 +429,7 @@ vals, err := rdb.Eval(ctx, "return {KEYS[1],ARGV[1]}", []string{"key"}, "hello")
412429
res, err := rdb.Do(ctx, "set", "key", "value").Result()
413430
```
414431
432+
415433
## Run the test
416434
417435
go-redis will start a redis-server and run the test cases.

RELEASE-NOTES.md

Lines changed: 37 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,37 @@
11
# Release Notes
22

3-
# 9.12.0-beta.1 (2025-08-04)
3+
# 9.12.1 (2025-08-11)
4+
## 🚀 Highlights
5+
In the last version (9.12.0) the client introduced bigger write and read buffer sized. The default value we set was 512KiB.
6+
However, users reported that this is too big for most use cases and can lead to high memory usage.
7+
In this version the default value is changed to 256KiB. The `README.md` was updated to reflect the
8+
correct default value and include a note that the default value can be changed.
9+
10+
## 🐛 Bug Fixes
11+
12+
- fix(options): Add buffer sizes to failover. Update README ([#3468](https://github.com/redis/go-redis/pull/3468))
13+
14+
## 🧰 Maintenance
15+
16+
- fix(options): Add buffer sizes to failover. Update README ([#3468](https://github.com/redis/go-redis/pull/3468))
17+
- chore: update & fix otel example ([#3466](https://github.com/redis/go-redis/pull/3466))
18+
19+
## Contributors
20+
We'd like to thank all the contributors who worked on this release!
21+
22+
[@ndyakov](https://github.com/ndyakov) and [@vmihailenco](https://github.com/vmihailenco)
23+
24+
# 9.12.0 (2025-08-05)
425

526
## 🚀 Highlights
627

7-
- This is a beta release for Redis 8.2 support.
28+
- This release includes support for [Redis 8.2](https://redis.io/docs/latest/operate/oss_and_stack/stack-with-enterprise/release-notes/redisce/redisos-8.2-release-notes/).
829
- Introduces an experimental Query Builders for `FTSearch`, `FTAggregate` and other search commands.
930
- Adds support for `EPSILON` option in `FT.VSIM`.
10-
- Includes bug fixes and improvements related to search and community contributions for [redisotel](https://github.com/redis/go-redis/tree/master/extra/redisotel).
31+
- Includes bug fixes and improvements contributed by the community related to ring and [redisotel](https://github.com/redis/go-redis/tree/master/extra/redisotel).
1132

1233
## Changes
13-
14-
- chore(github): Improve stale issue workflow ([#3458](https://github.com/redis/go-redis/pull/3458))
34+
- Improve stale issue workflow ([#3458](https://github.com/redis/go-redis/pull/3458))
1535
- chore(ci): Add 8.2 rc2 pre build for CI ([#3459](https://github.com/redis/go-redis/pull/3459))
1636
- Added new stream commands ([#3450](https://github.com/redis/go-redis/pull/3450))
1737
- feat: Add "skip_verify" to Sentinel ([#3428](https://github.com/redis/go-redis/pull/3428))
@@ -21,33 +41,38 @@
2141

2242
## 🚀 New Features
2343

44+
- feat: recover addIdleConn may occur panic ([#2445](https://github.com/redis/go-redis/pull/2445))
45+
- feat(ring): specify custom health check func via HeartbeatFn option ([#2940](https://github.com/redis/go-redis/pull/2940))
2446
- Add Query Builder for RediSearch commands ([#3436](https://github.com/redis/go-redis/pull/3436))
25-
- Add configurable buffer sizes for Redis connections ([#3453](https://github.com/redis/go-redis/pull/3453))
47+
- add configurable buffer sizes for Redis connections ([#3453](https://github.com/redis/go-redis/pull/3453))
2648
- Add VAMANA vector type to RediSearch ([#3449](https://github.com/redis/go-redis/pull/3449))
2749
- VSIM add `EPSILON` option ([#3454](https://github.com/redis/go-redis/pull/3454))
2850
- Add closing support to otel metrics instrumentation ([#3444](https://github.com/redis/go-redis/pull/3444))
2951

3052
## 🐛 Bug Fixes
3153

54+
- fix(redisotel): fix buggy append in reportPoolStats ([#3122](https://github.com/redis/go-redis/pull/3122))
3255
- fix(search): return results even if doc is empty ([#3457](https://github.com/redis/go-redis/pull/3457))
3356
- [ISSUE-3402]: Ring.Pipelined return dial timeout error ([#3403](https://github.com/redis/go-redis/pull/3403))
3457

3558
## 🧰 Maintenance
3659

60+
- Merges stale issues jobs into one job with two steps ([#3463](https://github.com/redis/go-redis/pull/3463))
61+
- improve code readability ([#3446](https://github.com/redis/go-redis/pull/3446))
62+
- chore(release): 9.12.0-beta.1 ([#3460](https://github.com/redis/go-redis/pull/3460))
3763
- DOC-5472 time series doc examples ([#3443](https://github.com/redis/go-redis/pull/3443))
3864
- Add VAMANA compression algorithm tests ([#3461](https://github.com/redis/go-redis/pull/3461))
3965
- bumped redis 8.2 version used in the CI/CD ([#3451](https://github.com/redis/go-redis/pull/3451))
4066

4167
## Contributors
4268
We'd like to thank all the contributors who worked on this release!
4369

44-
[@andy-stark-redis](https://github.com/andy-stark-redis), [@cxljs](https://github.com/cxljs), [@htemelski-redis](https://github.com/htemelski-redis), [@jouir](https://github.com/jouir), [@ndyakov](https://github.com/ndyakov), [@ofekshenawa](https://github.com/ofekshenawa), [@rokn](https://github.com/rokn) and [@smnvdev](https://github.com/smnvdev)
70+
[@andy-stark-redis](https://github.com/andy-stark-redis), [@cxljs](https://github.com/cxljs), [@elena-kolevska](https://github.com/elena-kolevska), [@htemelski-redis](https://github.com/htemelski-redis), [@jouir](https://github.com/jouir), [@monkey92t](https://github.com/monkey92t), [@ndyakov](https://github.com/ndyakov), [@ofekshenawa](https://github.com/ofekshenawa), [@rokn](https://github.com/rokn), [@smnvdev](https://github.com/smnvdev), [@strobil](https://github.com/strobil) and [@wzy9607](https://github.com/wzy9607)
4571

4672
## New Contributors
47-
* [@htemelski-redis](https://github.com/htemelski-redis) made their first contribution in https://github.com/redis/go-redis/pull/3409
48-
* [@smnvdev](https://github.com/smnvdev) made their first contribution in https://github.com/redis/go-redis/pull/3403
49-
* [@rokn](https://github.com/rokn) made their first contribution in https://github.com/redis/go-redis/pull/3444
50-
73+
* [@htemelski-redis](https://github.com/htemelski-redis) made their first contribution in [#3409](https://github.com/redis/go-redis/pull/3409)
74+
* [@smnvdev](https://github.com/smnvdev) made their first contribution in [#3403](https://github.com/redis/go-redis/pull/3403)
75+
* [@rokn](https://github.com/rokn) made their first contribution in [#3444](https://github.com/redis/go-redis/pull/3444)
5176

5277
# 9.11.0 (2025-06-24)
5378

@@ -383,4 +408,4 @@ We would like to thank all the contributors who made this release possible:
383408
### Fixed
384409

385410
- Improved and fixed pipeline retries.
386-
- As usually, added support for more commands and fixed some bugs.
411+
- As usually, added support for more commands and fixed some bugs.

example/del-keys-without-ttl/go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ go 1.18
55
replace github.com/redis/go-redis/v9 => ../..
66

77
require (
8-
github.com/redis/go-redis/v9 v9.12.0-beta.1
8+
github.com/redis/go-redis/v9 v9.12.1
99
go.uber.org/zap v1.24.0
1010
)
1111

example/hll/go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ go 1.18
44

55
replace github.com/redis/go-redis/v9 => ../..
66

7-
require github.com/redis/go-redis/v9 v9.12.0-beta.1
7+
require github.com/redis/go-redis/v9 v9.12.1
88

99
require (
1010
github.com/cespare/xxhash/v2 v2.3.0 // indirect

example/hset-struct/go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ replace github.com/redis/go-redis/v9 => ../..
66

77
require (
88
github.com/davecgh/go-spew v1.1.1
9-
github.com/redis/go-redis/v9 v9.12.0-beta.1
9+
github.com/redis/go-redis/v9 v9.12.1
1010
)
1111

1212
require (

example/lua-scripting/go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ go 1.18
44

55
replace github.com/redis/go-redis/v9 => ../..
66

7-
require github.com/redis/go-redis/v9 v9.12.0-beta.1
7+
require github.com/redis/go-redis/v9 v9.12.1
88

99
require (
1010
github.com/cespare/xxhash/v2 v2.3.0 // indirect

0 commit comments

Comments
 (0)