mirror of
https://github.com/redis/go-redis.git
synced 2025-06-06 17:40:59 +03:00
* 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 <117659936+vladvildanov@users.noreply.github.com> Co-authored-by: Nedyalko Dyakov <nedyalko.dyakov@gmail.com> * 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] <support@github.com> 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 <1547186+ndyakov@users.noreply.github.com> * 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 <1547186+ndyakov@users.noreply.github.com> * 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 <elena-kolevska@users.noreply.github.com> * 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 <1547186+ndyakov@users.noreply.github.com> * 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 <gh7396@gmail.com> Co-authored-by: Nedyalko Dyakov <nedyalko.dyakov@gmail.com> * 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] <support@github.com> Co-authored-by: Nikolay Dubina <nikolay.dubina.pub@gmail.com> Co-authored-by: andy-stark-redis <164213578+andy-stark-redis@users.noreply.github.com> Co-authored-by: Vladyslav Vildanov <117659936+vladvildanov@users.noreply.github.com> Co-authored-by: Liu Shuang <liushuangbill@outlook.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: ofekshenawa <104765379+ofekshenawa@users.noreply.github.com> Co-authored-by: Bulat Khasanov <afti@yandex.ru> Co-authored-by: Naveen Prashanth <78990165+gnpaone@users.noreply.github.com> Co-authored-by: Glenn <alohaglenn@icloud.com> Co-authored-by: frankj <frankxjkuang@gmail.com> Co-authored-by: Elena Kolevska <elena-kolevska@users.noreply.github.com> Co-authored-by: Hui <gh73962@gmail.com> Co-authored-by: Guo Hui <gh7396@gmail.com> Co-authored-by: fukua95 <fukua95@gmail.com>
7.1 KiB
7.1 KiB
Release Notes
9.8.0 (2025-04-30)
🚀 Highlights
- Redis 8 Support: Full compatibility with Redis 8.0, including testing and CI integration
- Enhanced Hash Operations: Added support for new hash commands (
HGETDEL
,HGETEX
,HSETEX
) andHSTRLEN
command - Search Improvements: Enabled Search DIALECT 2 by default and added
CountOnly
argument forFT.Search
✨ New Features
- Added support for new hash commands:
HGETDEL
,HGETEX
,HSETEX
(#3305) - Added
HSTRLEN
command for hash operations (#2843) - Added
Do
method for raw query by single connection frompool.Conn()
(#3182) - Prevent false-positive marshaling by treating zero time.Time as empty in isEmptyValue (#3273)
- Added FailoverClusterClient support for Universal client (#2794)
- Added support for cluster mode with
IsClusterMode
config parameter (#3255) - Added client name support in
HELLO
RESP handshake (#3294) - Enabled Search DIALECT 2 by default (#3213)
- Added read-only option for failover configurations (#3281)
- Added
CountOnly
argument forFT.Search
to useLIMIT 0 0
(#3338) - Added
DB
option support inNewFailoverClusterClient
(#3342) - Added
nil
check for the options when creating a client (#3363)
🐛 Bug Fixes
- Fixed
PubSub
concurrency safety issues (#3360) - Fixed panic caused when argument is
nil
(#3353) - Improved error handling when fetching master node from sentinels (#3349)
- Fixed connection pool timeout issues and increased retries (#3298)
- Fixed context cancellation error leading to connection spikes on Primary instances (#3190)
- Fixed RedisCluster client to consider
MASTERDOWN
a retriable error (#3164) - Fixed tracing to show complete commands instead of truncated versions (#3290)
- Fixed OpenTelemetry instrumentation to prevent multiple span reporting (#3168)
- Fixed
FT.Search
Limit argument and addedCountOnly
argument for limit 0 0 (#3338) - Fixed missing command in interface (#3344)
- Fixed slot calculation for
COUNTKEYSINSLOT
command (#3327) - Updated PubSub implementation with correct context (#3329)
📚 Documentation
- Added hash search examples (#3357)
- Fixed documentation comments (#3351)
- Added
CountOnly
search example (#3345) - Added examples for list commands:
LLEN
,LPOP
,LPUSH
,LRANGE
,RPOP
,RPUSH
(#3234) - Added
SADD
andSMEMBERS
command examples (#3242) - Updated
README.md
to use Redis Discord guild (#3331) - Updated
HExpire
command documentation (#3355) - Featured OpenTelemetry instrumentation more prominently (#3316)
- Updated
README.md
with additional information (#310ce55)
⚡ Performance and Reliability
- Bound connection pool background dials to configured dial timeout (#3089)
- Ensured context isn't exhausted via concurrent query (#3334)
🔧 Dependencies and Infrastructure
- Updated testing image to Redis 8.0-RC2 (#3361)
- Enabled CI for Redis CE 8.0 (#3274)
- Updated various dependencies:
- Migrated golangci-lint configuration to v2 format (#3354)
⚠️ Breaking Changes
- Enabled Search DIALECT 2 by default (#3213)
- Dropped RedisGears (Triggers and Functions) support (#3321)
- Dropped FT.PROFILE command that was never enabled (#3323)
🔒 Security
- Fixed network error handling on SETINFO (CVE-2025-29923) (#3295)
🧪 Testing
- Added integration tests for Redis 8 behavior changes in Redis Search (#3337)
- Added vector types INT8 and UINT8 tests (#3299)
- Added test codes for search_commands.go (#3285)
- Fixed example test sorting (#3292)
👥 Contributors
We would like to thank all the contributors who made this release possible:
@alexander-menshchikov, @EXPEbdodla, @afti, @dmaier-redislabs, @four_leaf_clover, @alohaglenn, @gh73962, @justinmir, @LINKIWI, @liushuangbill, @golang88, @gnpaone, @ndyakov, @nikolaydubina, @oleglacto, @andy-stark-redis, @rodneyosodo, @dependabot, @rfyiamcool, @frankxjkuang, @fukua95, @soleymani-milad, @ofekshenawa, @khasanovbi