1 days ago
redis

9.18.0

Redis 8.6 Support

Added support for Redis 8.6, including new commands and features for streams idempotent production and HOTKEYS.

Smart Client Handoff (Maintenance Notifications) for Cluster

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

(#3643) by @ndyakov

OpenTelemetry Native Metrics Support

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

✨ New Features

  • 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, IdempotentAuto in XAddArgs and new XCFGSET command (#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 DialerRetries and DialerRetryTimeout to ClusterOptions, RingOptions, and FailoverOptions (#3686) by @naveenchander30
  • ConnMaxLifetimeJitter: Added jitter configuration to distribute connection expiration times and prevent thundering herd (#3666) by @cyningsun
  • Digest Helper Functions: Added DigestString and DigestBytes helper 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

🐛 Bug Fixes

  • PubSub nil pointer dereference: Fixed nil pointer dereference in PubSub after WithTimeout() - pubSubPool is now properly cloned (#3710) by @Copilot
  • MaintNotificationsConfig nil check: Guard against nil MaintNotificationsConfig in initConn (#3707) by @veeceey
  • wantConnQueue zombie elements: Fixed zombie wantConn elements accumulation in wantConnQueue (#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

⚡ Performance

  • 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

🧪 Testing

  • 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

🧰 Maintenance

  • 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

👥 Contributors

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

1 days ago
go-redis

9.18.0

Redis 8.6 Support

Added support for Redis 8.6, including new commands and features for streams idempotent production and HOTKEYS.

Smart Client Handoff (Maintenance Notifications) for Cluster

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

(#3643) by @ndyakov

OpenTelemetry Native Metrics Support

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

✨ New Features

  • 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, IdempotentAuto in XAddArgs and new XCFGSET command (#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 DialerRetries and DialerRetryTimeout to ClusterOptions, RingOptions, and FailoverOptions (#3686) by @naveenchander30
  • ConnMaxLifetimeJitter: Added jitter configuration to distribute connection expiration times and prevent thundering herd (#3666) by @cyningsun
  • Digest Helper Functions: Added DigestString and DigestBytes helper 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

🐛 Bug Fixes

  • PubSub nil pointer dereference: Fixed nil pointer dereference in PubSub after WithTimeout() - pubSubPool is now properly cloned (#3710) by @Copilot
  • MaintNotificationsConfig nil check: Guard against nil MaintNotificationsConfig in initConn (#3707) by @veeceey
  • wantConnQueue zombie elements: Fixed zombie wantConn elements accumulation in wantConnQueue (#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

⚡ Performance

  • 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

🧪 Testing

  • 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

🧰 Maintenance

  • 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

👥 Contributors

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

1 days ago
wails

Wails v3.0.0-alpha.72

Wails v3 Alpha Release - v3.0.0-alpha.72

Fixed

  • Fix 20-30 minute hangs during wails3 build and wails3 dev by excluding node_modules/ from go-task's up-to-date checking. Previously, the sources: "**/*" glob caused go-task to enumerate and checksum every file in node_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

⚠️ Alpha Warning: This is pre-release software and may contain bugs or incomplete features.

2 days ago
echo

v5.0.4 small fixes and improvements

What's Changed

New Contributors

Full Changelog: https://github.com/labstack/echo/compare/v5.0.3...v5.0.4

2 days ago
go-zero

goctl/v1.10.0

🎉 Highlights

This goctl release brings enhanced Swagger support, improved Docker generation, and better multi-proto file handling.

✨ New Features

  • Proto Package Control: Added cmdline argument to control package name generation from proto filename (#5387)
  • Multi-Proto Support: RPC service now uses proto.Package.Name to support multiple proto files (#5378)

🐛 Bug Fixes

  • 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)

🧪 Testing

  • Added comprehensive unit tests for goctl docker command (#5241)

📦 Dependencies

  • Bumped github.com/spf13/cobra from 1.10.1 to 1.10.2 (#5312)
  • Bumped github.com/emicklei/proto from 1.14.2 to 1.14.3 (#5403)

👥 New Contributors

  • @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

3 days ago
resty

v2.17.2

Release Notes

Backport

Release

Full Changelog: https://github.com/go-resty/resty/compare/v2.17.1...v2.17.2

4 days ago
grpc-go

Release 1.79.1

Bug Fixes

5 days ago
go-zero

v1.10.0

🎉 Highlights

This release brings Go 1.23 support, MCP SDK migration, and several important bug fixes including race condition resolutions.

✨ New Features

  • 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 WithDialer option for custom gRPC client configuration (#5406)

🐛 Bug Fixes

  • 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)

🔧 Improvements

  • MCP Routes: Refactored routes and hardened AddTool implementation (#5375)
  • Testing: Added comprehensive validation tests for Load function (#5388)

🗑️ Deprecations

  • Jaeger Exporter: Removed due to official deprecation (#5361)

📦 Dependencies

  • Bumped go.mongodb.org/mongo-driver/v2 from 2.4.1 to 2.5.0 (#5385, #5393)
  • Bumped github.com/alicebob/miniredis/v2 from 2.35.0 to 2.36.1 (#5381, #5386)
  • Bumped github.com/redis/go-redis/v9 from 9.17.2 to 9.17.3 (#5390)
  • Bumped github.com/modelcontextprotocol/go-sdk from 1.2.0 to 1.3.0 (#5413)

👥 New Contributors

  • @mk0walsk made their first contribution in #5375
  • @Bension made their first contribution in #5372

Full Changelog: https://github.com/zeromicro/go-zero/compare/v1.9.4...v1.10.0

6 days ago
unipdf

v4.7.0

Release notes - UniPDF v4.7.0

This release contains new features, improvements, and bug fixes.

New Features

  • US-1284 StyledParagraph Drop Caps support
  • US-311 extractor add disable de-hyphenation option

Improvements

  • US-376 render multiply blend mode transparency processing
  • US-1204 Parser handle missing endobj on PdfIndirectObject gracefully

Bug Fixes

  • US-1282 typesetting version causing breaking changes on update fix
  • US-144 Hyphenated word that spans two lines fails to extract properly fix