9.18.0
Added support for Redis 8.6, including new commands and features for streams idempotent production and HOTKEYS.
note: Pending RS version release
This release introduces comprehensive support for Redis Enterprise Cluster maintenance notifications via SMIGRATING/SMIGRATED push notifications. The client now automatically handles slot migrations by:
- Relaxing timeouts during migration (SMIGRATING) to prevent false failures
- Triggering lazy cluster state reloads upon completion (SMIGRATED)
- Enabling seamless operations during Redis Enterprise maintenance windows
Added comprehensive OpenTelemetry metrics support following the OpenTelemetry Database Client Semantic Conventions. The implementation uses a Bridge Pattern to keep the core library dependency-free while providing optional metrics instrumentation through the new extra/redisotel-native package.
Metric groups include:
- Command metrics: Operation duration with retry tracking
- Connection basic: Connection count and creation time
- Resiliency: Errors, handoffs, timeout relaxation
- Connection advanced: Wait time and use time
- Pubsub metrics: Published and received messages
- Stream metrics: Processing duration and maintenance notifications
(#3637) by @ofekshenawa
- HOTKEYS Commands: Added support for Redis HOTKEYS feature for identifying hot keys based on CPU consumption and network utilization (#3695) by @ofekshenawa
- Streams Idempotent Production: Added support for Redis 8.6+ Streams Idempotent Production with
ProducerID,IdempotentID,IdempotentAutoinXAddArgsand newXCFGSETcommand (#3693) by @ofekshenawa - NaN Values for TimeSeries: Added support for NaN (Not a Number) values in Redis time series commands (#3687) by @ofekshenawa
- DialerRetries Options: Added
DialerRetriesandDialerRetryTimeouttoClusterOptions,RingOptions, andFailoverOptions(#3686) by @naveenchander30 - ConnMaxLifetimeJitter: Added jitter configuration to distribute connection expiration times and prevent thundering herd (#3666) by @cyningsun
- Digest Helper Functions: Added
DigestStringandDigestByteshelper functions for client-side xxh3 hashing compatible with Redis DIGEST command (#3679) by @ofekshenawa - SMIGRATED New Format: Updated SMIGRATED parser to support new format and remember original host:port (#3697) by @ndyakov
- Cluster State Reload Interval: Added cluster state reload interval option for maintenance notifications (#3663) by @ndyakov
- PubSub nil pointer dereference: Fixed nil pointer dereference in PubSub after
WithTimeout()-pubSubPoolis now properly cloned (#3710) by @Copilot - MaintNotificationsConfig nil check: Guard against nil
MaintNotificationsConfigininitConn(#3707) by @veeceey - wantConnQueue zombie elements: Fixed zombie
wantConnelements accumulation inwantConnQueue(#3680) by @cyningsun - XADD/XTRIM approx flag: Fixed XADD and XTRIM to use
=when approx is false (#3684) by @ndyakov - Sentinel timeout retry: When connection to a sentinel times out, attempt to connect to other sentinels (#3654) by @cxljs
- Fuzz test optimization: Eliminated repeated string conversions, used functional approach for cleaner operation selection (#3692) by @feiguoL
- Pre-allocate capacity: Pre-allocate slice capacity to prevent multiple capacity expansions (#3689) by @feelshu
- Comprehensive TLS tests: Added comprehensive TLS tests and example for standalone, cluster, and certificate authentication (#3681) by @ndyakov
- Redis 8.6: Updated CI to use Redis 8.6-pre (#3685) by @ndyakov
- Deprecation warnings: Added deprecation warnings for commands based on Redis documentation (#3673) by @ndyakov
- Use errors.Join(): Replaced custom error join function with standard library
errors.Join()(#3653) by @cxljs - Use Go 1.21 min/max: Use Go 1.21's built-in min/max functions (#3656) by @cxljs
- Proper formatting: Code formatting improvements (#3670) by @12ya
- Set commands documentation: Added comprehensive documentation to all set command methods (#3642) by @iamamirsalehi
- MaxActiveConns docs: Added default value documentation for
MaxActiveConns(#3674) by @codykaup - README example update: Updated README example (#3657) by @cxljs
- Cluster maintnotif example: Added example application for cluster maintenance notifications (#3651) by @ndyakov
We'd like to thank all the contributors who worked on this release!
@12ya, @Copilot, @codykaup, @cxljs, @cyningsun, @feelshu, @feiguoL, @iamamirsalehi, @naveenchander30, @ndyakov, @ofekshenawa, @veeceey
9.18.0
Added support for Redis 8.6, including new commands and features for streams idempotent production and HOTKEYS.
note: Pending RS version release
This release introduces comprehensive support for Redis Enterprise Cluster maintenance notifications via SMIGRATING/SMIGRATED push notifications. The client now automatically handles slot migrations by:
- Relaxing timeouts during migration (SMIGRATING) to prevent false failures
- Triggering lazy cluster state reloads upon completion (SMIGRATED)
- Enabling seamless operations during Redis Enterprise maintenance windows
Added comprehensive OpenTelemetry metrics support following the OpenTelemetry Database Client Semantic Conventions. The implementation uses a Bridge Pattern to keep the core library dependency-free while providing optional metrics instrumentation through the new extra/redisotel-native package.
Metric groups include:
- Command metrics: Operation duration with retry tracking
- Connection basic: Connection count and creation time
- Resiliency: Errors, handoffs, timeout relaxation
- Connection advanced: Wait time and use time
- Pubsub metrics: Published and received messages
- Stream metrics: Processing duration and maintenance notifications
(#3637) by @ofekshenawa
- HOTKEYS Commands: Added support for Redis HOTKEYS feature for identifying hot keys based on CPU consumption and network utilization (#3695) by @ofekshenawa
- Streams Idempotent Production: Added support for Redis 8.6+ Streams Idempotent Production with
ProducerID,IdempotentID,IdempotentAutoinXAddArgsand newXCFGSETcommand (#3693) by @ofekshenawa - NaN Values for TimeSeries: Added support for NaN (Not a Number) values in Redis time series commands (#3687) by @ofekshenawa
- DialerRetries Options: Added
DialerRetriesandDialerRetryTimeouttoClusterOptions,RingOptions, andFailoverOptions(#3686) by @naveenchander30 - ConnMaxLifetimeJitter: Added jitter configuration to distribute connection expiration times and prevent thundering herd (#3666) by @cyningsun
- Digest Helper Functions: Added
DigestStringandDigestByteshelper functions for client-side xxh3 hashing compatible with Redis DIGEST command (#3679) by @ofekshenawa - SMIGRATED New Format: Updated SMIGRATED parser to support new format and remember original host:port (#3697) by @ndyakov
- Cluster State Reload Interval: Added cluster state reload interval option for maintenance notifications (#3663) by @ndyakov
- PubSub nil pointer dereference: Fixed nil pointer dereference in PubSub after
WithTimeout()-pubSubPoolis now properly cloned (#3710) by @Copilot - MaintNotificationsConfig nil check: Guard against nil
MaintNotificationsConfigininitConn(#3707) by @veeceey - wantConnQueue zombie elements: Fixed zombie
wantConnelements accumulation inwantConnQueue(#3680) by @cyningsun - XADD/XTRIM approx flag: Fixed XADD and XTRIM to use
=when approx is false (#3684) by @ndyakov - Sentinel timeout retry: When connection to a sentinel times out, attempt to connect to other sentinels (#3654) by @cxljs
- Fuzz test optimization: Eliminated repeated string conversions, used functional approach for cleaner operation selection (#3692) by @feiguoL
- Pre-allocate capacity: Pre-allocate slice capacity to prevent multiple capacity expansions (#3689) by @feelshu
- Comprehensive TLS tests: Added comprehensive TLS tests and example for standalone, cluster, and certificate authentication (#3681) by @ndyakov
- Redis 8.6: Updated CI to use Redis 8.6-pre (#3685) by @ndyakov
- Deprecation warnings: Added deprecation warnings for commands based on Redis documentation (#3673) by @ndyakov
- Use errors.Join(): Replaced custom error join function with standard library
errors.Join()(#3653) by @cxljs - Use Go 1.21 min/max: Use Go 1.21's built-in min/max functions (#3656) by @cxljs
- Proper formatting: Code formatting improvements (#3670) by @12ya
- Set commands documentation: Added comprehensive documentation to all set command methods (#3642) by @iamamirsalehi
- MaxActiveConns docs: Added default value documentation for
MaxActiveConns(#3674) by @codykaup - README example update: Updated README example (#3657) by @cxljs
- Cluster maintnotif example: Added example application for cluster maintenance notifications (#3651) by @ndyakov
We'd like to thank all the contributors who worked on this release!
@12ya, @Copilot, @codykaup, @cxljs, @cyningsun, @feelshu, @feiguoL, @iamamirsalehi, @naveenchander30, @ndyakov, @ofekshenawa, @veeceey
Wails v3.0.0-alpha.72
- Fix 20-30 minute hangs during
wails3 buildandwails3 devby excludingnode_modules/from go-task's up-to-date checking. Previously, thesources: "**/*"glob caused go-task to enumerate and checksum every file innode_modules/(50-100k+ files with heavy dependencies like MUI), especially slow on Windows/NTFS (#4939)
🤖 This is an automated nightly release generated from the latest changes in the v3-alpha branch.
Installation:
go install github.com/wailsapp/wails/v3/cmd/wails3@v3.0.0-alpha.72
v5.0.4 small fixes and improvements
- Remove unused import 'errors' from README example by @kumapower17 in https://github.com/labstack/echo/pull/2889
- Fix Graceful shutdown: after
http.Server.Servereturns we need to wait for graceful shutdown goroutine to finish by @aldas in https://github.com/labstack/echo/pull/2898 - Update location of oapi-codegen in README by @mromaszewicz in https://github.com/labstack/echo/pull/2896
- Add Go 1.26 to CI flow by @aldas in https://github.com/labstack/echo/pull/2899
- Add new function
echo.StatusCodeby @suwakei in https://github.com/labstack/echo/pull/2892 - CSRF: support older token-based CSRF protection handler that want to render token into template by @aldas in https://github.com/labstack/echo/pull/2894
- Add
echo.ResolveResponseStatusfunction to help middleware/handlers determine HTTP status code and echo.Response by @aldas in https://github.com/labstack/echo/pull/2900
- @mromaszewicz made their first contribution in https://github.com/labstack/echo/pull/2896
- @suwakei made their first contribution in https://github.com/labstack/echo/pull/2892
Full Changelog: https://github.com/labstack/echo/compare/v5.0.3...v5.0.4
goctl/v1.10.0
This goctl release brings enhanced Swagger support, improved Docker generation, and better multi-proto file handling.
- Proto Package Control: Added cmdline argument to control package name generation from proto filename (#5387)
- Multi-Proto Support: RPC service now uses
proto.Package.Nameto support multiple proto files (#5378)
- Swagger Generation: Fixed support for PUT, PATCH, DELETE methods with request body definitions (#5239)
- Docker Generation: Ensured Dockerfile includes etc directory and correct CMD based on config (#4343)
- Added comprehensive unit tests for goctl docker command (#5241)
- Bumped
github.com/spf13/cobrafrom 1.10.1 to 1.10.2 (#5312) - Bumped
github.com/emicklei/protofrom 1.14.2 to 1.14.3 (#5403)
- @JackGod001 made their first contribution in #4343
- @stemlaud made their first contribution in #5245
- @gfischer7 made their first contribution in #5254
- @lerity-yao made their first contribution in #5270
- @YunFy26 made their first contribution in #5281
- @mmfiRan made their first contribution in #5323
- @mk0walsk made their first contribution in #5375
- @Bension made their first contribution in #5372
Full Changelog: https://github.com/zeromicro/go-zero/compare/tools/goctl/v1.9.2...tools/goctl/v1.10.0
v2.17.2
- backport: header deepcopy fix by @jeevatkm in https://github.com/go-resty/resty/pull/1110
- release: version bump to v2.17.2 and readme update by @jeevatkm in https://github.com/go-resty/resty/pull/1112
Full Changelog: https://github.com/go-resty/resty/compare/v2.17.1...v2.17.2
Release 1.79.1
- grpc: Remove the
-devsuffix from the User-Agent header. (https://github.com/grpc/grpc-go/pull/8902)
v1.10.0
This release brings Go 1.23 support, MCP SDK migration, and several important bug fixes including race condition resolutions.
- Go 1.23 Support: Upgraded minimum Go version to 1.23 (#5359)
- MCP Framework: Migrated to official go-sdk with simplified API (#5362)
- Gateway Enhancement: Exported
WithDialeroption for custom gRPC client configuration (#5406)
- Circuit Breaker: Fixed context cancellation incorrectly triggering breaker in httpc (#5360)
- Service Discovery: Resolved data race in service discovery map access (#5408)
- Configuration: Fixed support for equal signs in property values (#5392)
- Configuration: Removed redundant validation (#5372)
- MCP Routes: Refactored routes and hardened AddTool implementation (#5375)
- Testing: Added comprehensive validation tests for Load function (#5388)
- Jaeger Exporter: Removed due to official deprecation (#5361)
- Bumped
go.mongodb.org/mongo-driver/v2from 2.4.1 to 2.5.0 (#5385, #5393) - Bumped
github.com/alicebob/miniredis/v2from 2.35.0 to 2.36.1 (#5381, #5386) - Bumped
github.com/redis/go-redis/v9from 9.17.2 to 9.17.3 (#5390) - Bumped
github.com/modelcontextprotocol/go-sdkfrom 1.2.0 to 1.3.0 (#5413)
Full Changelog: https://github.com/zeromicro/go-zero/compare/v1.9.4...v1.10.0