1 days ago
kratos

v3.0.0

Breaking Changes

  • break: update kratos modules to v3 (#3822)

New Features

  • feat(errors): add standard library errors wrappers (#3844)
  • feat(transport/http): add read/write deadline control to ServerStream (#3843)
  • feat(protoc-gen-go-http): support google.api.HttpBody response (#3839)
  • feat(config): add generic config Get support (#3778)
  • feat(middleware/auth/jwt): add WithParserOptions to allow configuring… (#3803)
  • feat: support pre condition failed code mapping (#3795)
  • feat(cmd): add --repo flag to kratos new command (#3789)
  • feat(errors): add TooManyRequests error type (#3787)
  • feat(transport/http): support redirect errors in default error encoder (#3783)
  • feat(validate): add custom validator support and improve flexibility (#3780)

Bug Fixes

  • fix(transport/http): bind named body field for websocket client streaming (#3837)
  • fix(transport/http): clone transport before applying TLSClientConfig to avoid mutating http.DefaultTransport (#3808)
  • fix: JSON parsing error during hot reload caused by duplicate file write events
  • fix(config/apollo): prevent panic on nil NewValue in watcher onChange (#3806)
  • fix(metrics): remove redundant _bucket suffix from default histogram name (#3794)
  • fix: trim service suffix of service name (#3785)
  • fix(cmd): assign filepath.Join result to base in findCMD loop (#3798)
  • fix(middleware/metrics): remove redundant _bucket suffix from default histogram names (#3797)
  • fix(contrib/registry/discovery): replace context.TODO() with context.Background() (#3786)
  • fix(contrib/registry/eureka): use shared http.Transport (#3772)

Chores

  • chore(cmd): update dependencies and enhance project creation (#3779)

Others

  • contrib/registry/nacos: upgrade nacos-sdk-go from v1 to v2 (#3804)
  • refactor(contrib/registry/discovery): remove dead code (#3801)
  • Acc/reg (#3800)
  • build(deps): bump actions/cache from 4 to 5 (#3788)
  • refactor(contrib/opensergo): replace golang.org/x/net/context with standard context (#3782)
  • perf(encoding/form): replace fmt.Sprintf with string concatenation for map key encoding (#3777)

New Contributors

Full Changelog: https://github.com/go-kratos/kratos/compare/v2.9.2...v3.0.0

2 days ago
go-micro

v6.3.0

What's Changed

Full Changelog: https://github.com/micro/go-micro/compare/v6.2.1...v6.3.0

3 days ago
wails

Wails v3.0.0-alpha2.106

Wails v3 Alpha Release - v3.0.0-alpha2.106

Changed

Fixes

  • Recover from transient runtime COM errors instead of exiting (#5658, #5580). Chromium.errorCallback previously called os.Exit(1) for any COM error, so a recoverable hiccup after startup killed the whole application. Runtime paths (Resize/GetClientRect, Navigate/NavigateToString, Init, MessageReceived, PutZoomFactor, OpenDevToolsWindow) now log and recover. In particular, a malformed/untrusted web message in MessageReceived is now dropped rather than taking the process down. This addresses the mixed-DPI monitor-crossing crash class (#5544, #5650). Environment/controller-creation paths remain fatal. Full diff: https://github.com/wailsapp/wails/compare/webview2/v1.0.25...webview2/v1.0.26

Fixed

  • Fix release-webview2 workflow to correctly handle go.sum files in PR by @taliesin-ai
  • Fix Linux GTK4 menu updates by clearing and rebuilding the native menu in PR by @taliesin-ai

🤖 This is an automated nightly release generated from the latest changes on master.

Installation:

go install github.com/wailsapp/wails/v3/cmd/wails3@v3.0.0-alpha2.106

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

3 days ago
wails

webview2 v1.0.27

webview2 v1.0.27

  • ci(webview2): fix release build (cross-compile Windows + complete go.sum) (#5671)

Full diff: https://github.com/wailsapp/wails/compare/webview2/v1.0.26...webview2/v1.0.27

3 days ago
wails

webview2 v1.0.26

webview2 v1.0.26

Fixes

  • Recover from transient runtime COM errors instead of exiting (#5658, #5580). Chromium.errorCallback previously called os.Exit(1) for any COM error, so a recoverable hiccup after startup killed the whole application. Runtime paths (Resize/GetClientRect, Navigate/NavigateToString, Init, MessageReceived, PutZoomFactor, OpenDevToolsWindow) now log and recover. In particular, a malformed/untrusted web message in MessageReceived is now dropped rather than taking the process down. This addresses the mixed-DPI monitor-crossing crash class (#5544, #5650). Environment/controller-creation paths remain fatal.

Full diff: https://github.com/wailsapp/wails/compare/webview2/v1.0.25...webview2/v1.0.26

4 days ago
go-micro

v6.2.1

What's Changed

Full Changelog: https://github.com/micro/go-micro/compare/v6.2.0...v6.2.1

5 days ago
go-micro

v6.2.0

What's Changed

Full Changelog: https://github.com/micro/go-micro/compare/v6.1.0...v6.2.0

5 days ago
redis

9.21.0

This is a minor release adding new features and bug fixes. There are no breaking changes; upgrading from 9.20.x is a drop-in replacement.

🚀 Highlights

Zero-copy GetToBuffer / SetFromBuffer

Two new StringCmdable methods let callers read and write Redis string values directly into and from pre-allocated byte buffers, eliminating the per-call payload allocation that Get/Set incur:

GetToBuffer(ctx, key, buf) *ZeroCopyStringCmd   // reads into buf; ZeroCopyStringCmd { Val() int; Bytes() []byte; Result() (int, error) }
SetFromBuffer(ctx, key, buf) *StatusCmd

GetToBuffer decodes the bulk reply straight into the caller-owned buf (no intermediate allocation); a buffer that is too small returns an error after draining the payload, so the connection stays aligned for the next reply. SetFromBuffer is provided for API symmetry — it dispatches to the same []byte writer path as Set(ctx, key, buf, 0) and produces byte-identical output on the wire. Available on *Client, *ClusterClient, *Ring, *Conn and Pipeliner.

(#3834) by @ndyakov

Explicit LIMIT 0 for stream trimming

Redis treats XTRIM/XADD approximate-trim (~) LIMIT 0 as "disable the trimming effort cap entirely", which differs from omitting LIMIT (the implicit 100 * stream-node-max-entries default). The command builders previously only emitted LIMIT when limit > 0, so callers could never send an explicit LIMIT 0. Following the KeepTTL = -1 precedent, the new XTrimLimitDisabled = -1 sentinel now emits an explicit LIMIT 0; limit == 0 keeps the historical no-LIMIT behavior, so existing callers produce byte-identical commands.

(#3848) by @TheRealMal

✨ New Features

  • Zero-copy buffer string commands: new GetToBuffer / SetFromBuffer on StringCmdable and the ZeroCopyStringCmd result type, reading/writing string values into caller-owned buffers without per-call payload allocation (#3834) by @ndyakov
  • XTrimLimitDisabled sentinel: XTRIM/XADD approximate trimming can now send an explicit LIMIT 0 to disable the trim effort cap, via the new XTrimLimitDisabled = -1 sentinel (#3848) by @TheRealMal
  • PubSub health-check timeouts: channel.initHealthCheck now bounds the Ping it issues with a fresh per-check timeout context (the exported pingTimeout / reconnectTimeout) instead of context.TODO(), so a stuck health-check Ping can no longer block indefinitely (#3819) by @abdellani
  • Skip redundant UNWATCH in Tx.Close: a transaction now tracks whether a WATCH is still active (watchArmed) and only issues UNWATCH on Close when it is, removing an extra round trip on the common WATCH/.../EXEC and no-key Watch paths while never returning a connection to the pool with an active watch (#3854) by @fcostaoliveira

🐛 Bug Fixes

  • maintnotifications ModeAuto fail-open: ModeAuto now stays fail-open when the server does not support maintenance notifications — connections are retired and tracking is guarded during downgrade so the client keeps working instead of erroring (#3853) by @terrorobe

👥 Contributors

We'd like to thank all the contributors who worked on this release!

@abdellani, @fcostaoliveira, @ndyakov, @terrorobe, @TheRealMal

5 days ago
go-redis

9.21.0

This is a minor release adding new features and bug fixes. There are no breaking changes; upgrading from 9.20.x is a drop-in replacement.

🚀 Highlights

Zero-copy GetToBuffer / SetFromBuffer

Two new StringCmdable methods let callers read and write Redis string values directly into and from pre-allocated byte buffers, eliminating the per-call payload allocation that Get/Set incur:

GetToBuffer(ctx, key, buf) *ZeroCopyStringCmd   // reads into buf; ZeroCopyStringCmd { Val() int; Bytes() []byte; Result() (int, error) }
SetFromBuffer(ctx, key, buf) *StatusCmd

GetToBuffer decodes the bulk reply straight into the caller-owned buf (no intermediate allocation); a buffer that is too small returns an error after draining the payload, so the connection stays aligned for the next reply. SetFromBuffer is provided for API symmetry — it dispatches to the same []byte writer path as Set(ctx, key, buf, 0) and produces byte-identical output on the wire. Available on *Client, *ClusterClient, *Ring, *Conn and Pipeliner.

(#3834) by @ndyakov

Explicit LIMIT 0 for stream trimming

Redis treats XTRIM/XADD approximate-trim (~) LIMIT 0 as "disable the trimming effort cap entirely", which differs from omitting LIMIT (the implicit 100 * stream-node-max-entries default). The command builders previously only emitted LIMIT when limit > 0, so callers could never send an explicit LIMIT 0. Following the KeepTTL = -1 precedent, the new XTrimLimitDisabled = -1 sentinel now emits an explicit LIMIT 0; limit == 0 keeps the historical no-LIMIT behavior, so existing callers produce byte-identical commands.

(#3848) by @TheRealMal

✨ New Features

  • Zero-copy buffer string commands: new GetToBuffer / SetFromBuffer on StringCmdable and the ZeroCopyStringCmd result type, reading/writing string values into caller-owned buffers without per-call payload allocation (#3834) by @ndyakov
  • XTrimLimitDisabled sentinel: XTRIM/XADD approximate trimming can now send an explicit LIMIT 0 to disable the trim effort cap, via the new XTrimLimitDisabled = -1 sentinel (#3848) by @TheRealMal
  • PubSub health-check timeouts: channel.initHealthCheck now bounds the Ping it issues with a fresh per-check timeout context (the exported pingTimeout / reconnectTimeout) instead of context.TODO(), so a stuck health-check Ping can no longer block indefinitely (#3819) by @abdellani
  • Skip redundant UNWATCH in Tx.Close: a transaction now tracks whether a WATCH is still active (watchArmed) and only issues UNWATCH on Close when it is, removing an extra round trip on the common WATCH/.../EXEC and no-key Watch paths while never returning a connection to the pool with an active watch (#3854) by @fcostaoliveira

🐛 Bug Fixes

  • maintnotifications ModeAuto fail-open: ModeAuto now stays fail-open when the server does not support maintenance notifications — connections are retired and tracking is guarded during downgrade so the client keeps working instead of erroring (#3853) by @terrorobe

👥 Contributors

We'd like to thank all the contributors who worked on this release!

@abdellani, @fcostaoliveira, @ndyakov, @terrorobe, @TheRealMal

5 days ago
gorm

Release v1.31.2

Changes

  • Fix potential rows leak on panic by deferring rows.Close() @omer-cengel (#7798)
  • perf: replace fmt.Sprintf with strconv in ExplainSQL numeric formatting @alpardfm (#7796)
  • Document NowFunc timezone behavior @morning-verlu (#7799)
  • correct typo and rename fileType to fieldType in AlterColumn @cragone (#7748)
  • fix: panic when using clause.Returning with CreateInBatches @Truongquangkhang (#7768)
  • fix(migrator): add nil guards to ColumnType methods to prevent panic @lihan3238 (#7767)
  • ci: switch tests Go matrix to stable/oldstable and update setup-go @smf-h (#7726)
  • chore(ci): bump actions/stale to v9 @Olexandr88 (#7696)
  • fix(migrator): don't clear alterColumn when defaults match @qqxhb (#7728)
  • Add package comments to fix ST1000 warnings @twocs (#7708)
  • generics: populate WithResult error @qqxhb (#7723)
  • fix(utils): restore FileWithLineNum caller depth and add regression test @smf-h (#7717)
  • tests: skip customized foreign key many2many on MySQL 8.4+ @smf-h (#7727)
  • fix tiny typo in error message @snelg (#7738)
  • Add unit test verifying chainable query methods mutate statement @miladev95 (#7684)
  • fix: Close connection after ping failure to prevent goroutine leak @liang09255 (#7689)
  • fix: Row() and Rows() functions should automaticaly apply the generic type as model @hakanakyurek (#7664)
  • internal/lru: improve concurrency with RWMutex @miladev95 (#7668)
  • Fix nil pointer panic in serializer for nil any-type fields @doraemonkeys (#7634)
  • staticcheck QF1001 @miladev95 (#7648)
  • Support array/slice expansion for named SQL parameters in parentheses @bafflingbug (#7614)