Skip to content

Commit 2f9ce8b

Browse files
committed
Resolve merge conflicts with upstream/master
2 parents b4d5dbc + eeea45c commit 2f9ce8b

File tree

154 files changed

+20513
-1471
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

154 files changed

+20513
-1471
lines changed

.github/RELEASE_NOTES_TEMPLATE.md

Lines changed: 125 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,125 @@
1+
# Release Notes Template for go-redis
2+
3+
This template provides a structured format for creating release notes for go-redis releases.
4+
5+
## Format Structure
6+
7+
```markdown
8+
# X.Y.Z (YYYY-MM-DD)
9+
10+
## 🚀 Highlights
11+
12+
### [Category Name]
13+
Brief description of the major feature/change with context and impact.
14+
- Key points
15+
- Performance metrics if applicable
16+
- Links to documentation
17+
18+
### [Another Category]
19+
...
20+
21+
## ✨ New Features
22+
23+
- Feature description ([#XXXX](https://github.com/redis/go-redis/pull/XXXX)) by [@username](https://github.com/username)
24+
- ...
25+
26+
## 🐛 Bug Fixes
27+
28+
- Fix description ([#XXXX](https://github.com/redis/go-redis/pull/XXXX)) by [@username](https://github.com/username)
29+
- ...
30+
31+
## ⚡ Performance
32+
33+
- Performance improvement description ([#XXXX](https://github.com/redis/go-redis/pull/XXXX)) by [@username](https://github.com/username)
34+
- ...
35+
36+
## 🧪 Testing & Infrastructure
37+
38+
- Testing/CI improvement ([#XXXX](https://github.com/redis/go-redis/pull/XXXX)) by [@username](https://github.com/username)
39+
- ...
40+
41+
## 👥 Contributors
42+
43+
We'd like to thank all the contributors who worked on this release!
44+
45+
[@username1](https://github.com/username1), [@username2](https://github.com/username2), ...
46+
47+
---
48+
49+
**Full Changelog**: https://github.com/redis/go-redis/compare/vX.Y-1.Z...vX.Y.Z
50+
```
51+
52+
## Guidelines
53+
54+
### Highlights Section
55+
The Highlights section should contain the **most important** user-facing changes. Common categories include:
56+
57+
- **Typed Errors** - Error handling improvements
58+
- **New Commands** - New Redis commands support (especially for new Redis versions)
59+
- **Search & Vector** - RediSearch and vector-related features
60+
- **Connection Pool** - Pool improvements and performance
61+
- **Metrics & Observability** - Monitoring and instrumentation
62+
- **Breaking Changes** - Any breaking changes (should be prominent)
63+
64+
Each highlight should:
65+
- Have a descriptive title
66+
- Include context about why it matters
67+
- Link to relevant PRs
68+
- Include performance metrics if applicable
69+
70+
### New Features Section
71+
- List all new features with PR links and contributor attribution
72+
- Use descriptive text, not just PR titles
73+
- Group related features together if it makes sense
74+
75+
### Bug Fixes Section
76+
- Only include actual bug fixes
77+
- Be specific about what was broken and how it's fixed
78+
- Include issue links if the PR references an issue
79+
80+
### Performance Section
81+
- Separate from New Features to highlight performance work
82+
- Include metrics when available (e.g., "47-67% faster", "33% less memory")
83+
- Explain the impact on users
84+
85+
### Testing & Infrastructure Section
86+
- Include only important testing/CI changes
87+
- **Exclude** dependency bumps (e.g., dependabot PRs for actions)
88+
- **Exclude** minor CI tweaks unless they're significant
89+
- Include major Redis version updates in CI
90+
91+
### What to Exclude
92+
- Dependency bumps (dependabot PRs)
93+
- Minor documentation typo fixes
94+
- Internal refactoring that doesn't affect users
95+
- Duplicate entries (same PR in multiple sections)
96+
- `dependabot[bot]` from contributors list
97+
98+
### Formatting Rules
99+
1. **PR Links**: Use `([#XXXX](https://github.com/redis/go-redis/pull/XXXX))` format
100+
2. **Contributor Links**: Use `[@username](https://github.com/username)` format
101+
3. **Issue Links**: Use `([#XXXX](https://github.com/redis/go-redis/issues/XXXX))` format
102+
4. **Full Changelog**: Always include at the bottom with correct version comparison
103+
104+
### Getting PR Information
105+
Use GitHub API to fetch PR details:
106+
```bash
107+
# Get recent merged PRs
108+
gh pr list --state merged --limit 50 --json number,title,author,mergedAt,url
109+
```
110+
111+
Or use the GitHub web interface to review merged PRs between releases.
112+
113+
### Example Workflow
114+
1. Gather all merged PRs since last release
115+
2. Categorize PRs by type (feature, bug fix, performance, etc.)
116+
3. Identify the 3-5 most important changes for Highlights
117+
4. Remove duplicates and dependency bumps
118+
5. Add PR and contributor links
119+
6. Review for clarity and completeness
120+
7. Add Full Changelog link with correct version tags
121+
122+
## Example (v9.17.0)
123+
124+
See the v9.17.0 release notes in `RELEASE-NOTES.md` for a complete example following this template.
125+

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

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,22 +18,20 @@ runs:
1818
- name: Setup Test environment
1919
env:
2020
REDIS_VERSION: ${{ inputs.redis-version }}
21-
CLIENT_LIBS_TEST_IMAGE: "redislabs/client-libs-test:${{ inputs.redis-version }}"
2221
run: |
2322
set -e
2423
redis_version_np=$(echo "$REDIS_VERSION" | grep -oP '^\d+.\d+')
25-
24+
2625
# Mapping of redis version to redis testing containers
2726
declare -A redis_version_mapping=(
27+
["8.4.x"]="8.4.0"
2828
["8.2.x"]="8.2.1-pre"
2929
["8.0.x"]="8.0.2"
30-
["7.4.x"]="rs-7.4.0-v5"
31-
["7.2.x"]="rs-7.2.0-v17"
3230
)
33-
31+
3432
if [[ -v redis_version_mapping[$REDIS_VERSION] ]]; then
3533
echo "REDIS_VERSION=${redis_version_np}" >> $GITHUB_ENV
36-
echo "REDIS_IMAGE=redis:${{ inputs.redis-version }}" >> $GITHUB_ENV
34+
echo "REDIS_IMAGE=redis:${REDIS_VERSION}" >> $GITHUB_ENV
3735
echo "CLIENT_LIBS_TEST_IMAGE=redislabs/client-libs-test:${redis_version_mapping[$REDIS_VERSION]}" >> $GITHUB_ENV
3836
else
3937
echo "Version not found in the mapping."
@@ -51,4 +49,4 @@ runs:
5149
RE_CLUSTER: "false"
5250
run: |
5351
make test.ci
54-
shell: bash
52+
shell: bash

.github/workflows/build.yml

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ name: Go
22

33
on:
44
push:
5-
branches: [master, v9, v9.7, v9.8, 'ndyakov/*', 'ofekshenawa/*', 'htemelski-redis/*', 'ce/*']
5+
branches: [master, v9, 'v9.*']
66
pull_request:
77
branches: [master, v9, v9.7, v9.8, 'ndyakov/*', 'ofekshenawa/*', 'htemelski-redis/*', 'ce/*']
88

@@ -18,9 +18,9 @@ jobs:
1818
fail-fast: false
1919
matrix:
2020
redis-version:
21+
- "8.4.x" # Redis CE 8.4
2122
- "8.2.x" # Redis CE 8.2
2223
- "8.0.x" # Redis CE 8.0
23-
- "7.4.x" # Redis stack 7.4
2424
go-version:
2525
- "1.23.x"
2626
- "1.24.x"
@@ -32,7 +32,7 @@ jobs:
3232
go-version: ${{ matrix.go-version }}
3333

3434
- name: Checkout code
35-
uses: actions/checkout@v5
35+
uses: actions/checkout@v6
3636

3737
- name: Setup Test environment
3838
env:
@@ -44,9 +44,9 @@ jobs:
4444
4545
# Mapping of redis version to redis testing containers
4646
declare -A redis_version_mapping=(
47+
["8.4.x"]="8.4.0"
4748
["8.2.x"]="8.2.1-pre"
4849
["8.0.x"]="8.0.2"
49-
["7.4.x"]="rs-7.4.0-v5"
5050
)
5151
if [[ -v redis_version_mapping[$REDIS_VERSION] ]]; then
5252
echo "REDIS_VERSION=${redis_version_np}" >> $GITHUB_ENV
@@ -74,17 +74,16 @@ jobs:
7474
fail-fast: false
7575
matrix:
7676
redis-version:
77+
- "8.4.x" # Redis CE 8.4
7778
- "8.2.x" # Redis CE 8.2
7879
- "8.0.x" # Redis CE 8.0
79-
- "7.4.x" # Redis stack 7.4
80-
- "7.2.x" # Redis stack 7.2
8180
go-version:
8281
- "1.23.x"
8382
- "1.24.x"
8483

8584
steps:
8685
- name: Checkout code
87-
uses: actions/checkout@v5
86+
uses: actions/checkout@v6
8887

8988
- name: Run tests
9089
uses: ./.github/actions/run-tests

.github/workflows/codeql-analysis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ jobs:
3535

3636
steps:
3737
- name: Checkout repository
38-
uses: actions/checkout@v5
38+
uses: actions/checkout@v6
3939

4040
# Initializes the CodeQL tools for scanning.
4141
- name: Initialize CodeQL

.github/workflows/doctests.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616

1717
services:
1818
redis-stack:
19-
image: redislabs/client-libs-test:8.0.2
19+
image: redislabs/client-libs-test:8.4.0
2020
env:
2121
TLS_ENABLED: no
2222
REDIS_CLUSTER: no
@@ -36,7 +36,7 @@ jobs:
3636
go-version: ${{ matrix.go-version }}
3737

3838
- name: Checkout code
39-
uses: actions/checkout@v5
39+
uses: actions/checkout@v6
4040

4141
- name: Test doc examples
4242
working-directory: ./doctests

.github/workflows/golangci-lint.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,9 @@ jobs:
2020
name: lint
2121
runs-on: ubuntu-latest
2222
steps:
23-
- uses: actions/checkout@v5
23+
- uses: actions/checkout@v6
2424
- name: golangci-lint
25-
uses: golangci/golangci-lint-action@v8.0.0
25+
uses: golangci/golangci-lint-action@v9.1.0
2626
with:
2727
verify: true
2828

.github/workflows/spellcheck.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ jobs:
66
runs-on: ubuntu-latest
77
steps:
88
- name: Checkout
9-
uses: actions/checkout@v5
9+
uses: actions/checkout@v6
1010
- name: Check Spelling
11-
uses: rojopolis/spellcheck-github-actions@0.52.0
11+
uses: rojopolis/spellcheck-github-actions@0.55.0
1212
with:
1313
config_path: .github/spellcheck-settings.yml
1414
task_name: Markdown

.github/workflows/stale-issues.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020
steps:
2121
# First step: Handle regular issues (excluding needs-information)
2222
- name: Mark regular issues as stale
23-
uses: actions/stale@v9
23+
uses: actions/stale@v10
2424
with:
2525
repo-token: ${{ secrets.GITHUB_TOKEN }}
2626

@@ -64,7 +64,7 @@ jobs:
6464

6565
# Second step: Handle needs-information issues with accelerated timeline
6666
- name: Mark needs-information issues as stale
67-
uses: actions/stale@v9
67+
uses: actions/stale@v10
6868
with:
6969
repo-token: ${{ secrets.GITHUB_TOKEN }}
7070

.github/workflows/test-redis-enterprise.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,10 @@ jobs:
2020

2121
steps:
2222
- name: Checkout code
23-
uses: actions/checkout@v5
23+
uses: actions/checkout@v6
2424

2525
- name: Clone Redis EE docker repository
26-
uses: actions/checkout@v5
26+
uses: actions/checkout@v6
2727
with:
2828
repository: RedisLabs/redis-ee-docker
2929
path: redis-ee

Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
GO_MOD_DIRS := $(shell find . -type f -name 'go.mod' -exec dirname {} \; | sort)
2-
REDIS_VERSION ?= 8.2
2+
REDIS_VERSION ?= 8.4
33
RE_CLUSTER ?= false
44
RCE_DOCKER ?= true
5-
CLIENT_LIBS_TEST_IMAGE ?= redislabs/client-libs-test:8.2.1-pre
5+
CLIENT_LIBS_TEST_IMAGE ?= redislabs/client-libs-test:8.4.0
66

77
docker.start:
88
export RE_CLUSTER=$(RE_CLUSTER) && \

0 commit comments

Comments
 (0)