v3.3.0
- Add support for configuring the Regex engine on the router (#4254) Swap the compiler used for
regex()route constraints. Assign a drop-in engine such ascoregex.MustCompilefor faster matching;Fiber reuses the compiled matcher across requests.https://docs.gofiber.io/api/fiber#regexhandlerapp := fiber.New(fiber.Config{ RegexHandler: coregex.MustCompile, // default: regexp.MustCompile })
- Host auth middleware (#4199) New
hostauthorizationmiddleware that validates the incomingHostheader against an allowlist (exact host,.subdomainwildcard, CIDR range) to protect against DNS rebinding attacks.https://docs.gofiber.io/middleware/hostauthorizationapp.Use(hostauthorization.New(hostauthorization.Config{ AllowedHosts: []string{"api.myapp.com", ".myapp.com", "10.0.0.0/8"}, }))
- Delegate implementation to fasthttp/prefork (#4210) Prefork now delegates to fasthttp's
preforkpackage and addsPreforkRecoverThreshold(max child restarts before the master exits) andPreforkLoggertoListenConfig. https://docs.gofiber.io/api/fiber#preforkrecoverthreshold - Add support for contextual logs (#4241) Render request-scoped fields in
log.WithContext(c)by configuring a template withlog.SetContextTemplate, reusing themiddleware/loggerengine (including${value:key}for arbitrary context values).https://docs.gofiber.io/api/log#bind-contextlog.MustSetContextTemplate(log.ContextConfig{Format: log.RequestIDFormat}) app.Get("/", func(c fiber.Ctx) error { log.WithContext(c).Info("start") // renders the request id return c.SendString("ok") })
- Add storage backed SharedState for prefork applications (#4243) A prefork-safe, storage-backed key/value store via
app.SharedState()for data shared across workers/processes, with JSON/MsgPack/CBOR/XML helpers and automatic key namespacing.app.State()stays process-local.https://docs.gofiber.io/api/state#sharedstate-prefork-safeapp := fiber.New(fiber.Config{ SharedStorage: redis.New(), // any fiber.Storage shared across workers }) app.SharedState().SetJSON("config", cfg, 0)
- Add lightweight SSE middleware (#4239) A Fiber-native
middleware/ssefor Server-Sent Events: SSE headers, event/comment/retry frames, per-write flushing, heartbeats,Last-Event-IDaccess, and disconnect detection viastream.Context().https://docs.gofiber.io/middleware/sseapp.Get("/events", sse.New(sse.Config{ Handler: func(c fiber.Ctx, stream *sse.Stream) error { return stream.Event(sse.Event{Name: "message", Data: fiber.Map{"message": "hello"}}) }, }))
- Add prefixes to unexported boolean fields (#4300)
- Improve error messages in SaveFileToStorage (#4173)
- Streamline request handler selection and context management for improved performance (#4233)
- Preserve mounted sub-app regex handler during mount prefixing (#4308)
- Trim only one trailing dot in host normalization (#4307)
- Reject oversized unknown-length adaptor request bodies (#4306)
- Fix compress middleware's shouldSkip method to avoid memory growth (#4284)
- Reject malformed host authorities in hostauthorization (#4293)
- Synchronize view reloads with template rendering (#4288)
- Avoid panic for non-struct listeners in TLS config discovery (#4305)
- Clear plaintext cookie when encryption fails (#4303)
- Fix regex route constraint parsing with literal > (#4292)
- Reject empty normalized host before dynamic matching (#4291)
- Preserve idempotency replay protection for oversized responses (#4287)
- Enforce CookieJar domain acceptance and host-only cookie matching (#4282)
- Avoid panic when reading released Fiber context values (#4271)
- Enforce static root for fs-backed directory serving (#4277)
- Prevent negative paginate start overflow (#4272)
- Prevent SharedState namespace key collisions (#4274)
- Copy FullURL string before returning pooled buffer (#4275)
- Enforce paginate sort allowlist when AllowedSorts is unset (#4276)
- Validate and safely apply workflow version updates (#4273)
- Close BodyStream in adaptor FiberHandler streaming path (#4267)
- Prevent panic when MsgPack is not configured (#4268)
- Keep IsFromLocal loopback-only and add unix-socket helper (#4270)
- Prevent panic when CBOR is not explicitly configured (#4269)
- Guard session logger tag against released middleware (#4265)
- Add X-Real-IP protection to Forward and DomainForward variants (#4261)
- Ensure BalancerForward overwrites X-Real-IP header (#4260)
- Add test coverage for multipart BodyLimit error handling (#4237)
- Improve error propagation in Express-style handler (#4250)
- Remove SSE Next and clarify SSE handler docs (#4247)
- BasicAuth verifier for unknown users (#4245)
13 changes
- bump github.com/shamaton/msgpack/v3 from 3.1.1 to 3.1.2 (#4296)
- bump codecov/codecov-action from 6.0.0 to 6.0.1 (#4294)
- bump actions/add-to-project from 1.0.2 to 2.0.0 (#4256)
- bump github.com/shamaton/msgpack/v3 from 3.1.0 to 3.1.1 (#4281)
- bump the golang-modules group with 3 updates (#4278)
- bump golang.org/x/sys from 0.43.0 to 0.44.0 in the golang-modules group (#4262)
- bump DavidAnson/markdownlint-cli2-action from 23.1.0 to 23.2.0 (#4259)
- bump benchmark-action/github-action-benchmark from 1.22.0 to 1.22.1 (#4258)
- bump github.com/valyala/fasthttp from 1.70.0 to 1.71.0 in the fasthttp-modules group (#4255)
- bump github.com/klauspost/compress from 1.18.5 to 1.18.6 (#4249)
- bump DavidAnson/markdownlint-cli2-action from 23.0.0 to 23.1.0 (#4246)
- bump github.com/mattn/go-isatty from 0.0.21 to 0.0.22 (#4242)
- Fix invalid RouteChain method chaining example (#4304)
- Harden reverse proxy X-Forwarded-For example (#4266)
- Correct fasthttpctx Done semantics in context guide (#4264)
- Clarify ${bytesSent} behavior in logger middleware (#4251)
- Clarify prefork security model and OS-specific socket behavior (#4240)
📒 Documentation: https://docs.gofiber.io/next/
💬 Discord: https://gofiber.io/discord
Full Changelog: https://github.com/gofiber/fiber/compare/v3.2.0...v3.3.0
Thank you @ReneWerner87, @elton-peixoto-lu, @gaby, @gtoxlili, @lyyvalhalla, @mutantkeyboard, @pageton and @pratikramteke for making this release possible.
Wails v3.0.0-alpha.95
- Added missing project structure page
- Docs: Change to a couple of diagrams on architecture page to use sequence diagram for cleaner display
- Docs: Include note about installing D2 as a prerequisite for running
- Fix
wails3 generate appimageon the GTK4 default: the bundler now detects the GTK stack from the binary before searching for runtime files, so it pickslibwebkitgtkinjectedbundle.so(underwebkitgtk-6.0/) for GTK4 builds andlibwebkit2gtkinjectedbundle.so(underwebkit2gtk-4.1/) for-tags gtk3builds. The.relr.dynprobe also checkslibgtk-4.so.1so stripping is correctly disabled on modern toolchains regardless of stack. (#5475) - Fix
wails3 generate appimagefailing when invoked with a relative-builddir: the bundler now resolves-binary,-icon,-desktopfile,-builddirand-outputdirto absolute paths up-front so the mid-flows.CDdoesn't break the AppRun download goroutine or the post-copylddprobe. - Fix
wails3 generate appimagefailing to move the final AppImage to-outputdirwhen the desktopName=field doesn't match the binary basename: the bundler now forces linuxdeploy's appimage plugin (via theOUTPUTenv var) to write the AppImage to<binary>-<arch>.AppImageinstead of the name derived from the desktop file. - Fix
events.Common.ApplicationStarted,Common.ThemeChanged,Common.SystemWillSleepandCommon.SystemDidWakenot firing on Linux after the GTK4 + WebKitGTK 6.0 stack was promoted to the default in alpha.93. The new defaultapplication_linux.gorun()wasn't callingsetupCommonEvents()(which forwardsLinux.*events to theirCommon.*counterparts) ormonitorPowerEvents(). The DBus power-monitor helper is now shared between the GTK3 and GTK4 build paths viaapplication_linux_dbus.go. (#5474)
🤖 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-alpha.95
Wails v3.0.0-alpha.94
- Fix
events.Common.ApplicationStarted,Common.ThemeChanged,Common.SystemWillSleepandCommon.SystemDidWakenot firing on Linux after the GTK4 + WebKitGTK 6.0 stack was promoted to the default in alpha.93. The new defaultapplication_linux.gorun()wasn't callingsetupCommonEvents()(which forwardsLinux.*events to theirCommon.*counterparts) ormonitorPowerEvents(). The DBus power-monitor helper is now shared between the GTK3 and GTK4 build paths viaapplication_linux_dbus.go. (#5474)
🤖 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-alpha.94
Version 1.49.0 (2026-05-18)
- fix(consumer): decouple FetchRequest.MaxBytes from MaxResponseSize by @dnwe in https://github.com/IBM/sarama/pull/3538
- feat(consumer): warn on sustained partition retries by @dnwe in https://github.com/IBM/sarama/pull/3535
- feat(producer): add Produce v8 request/response support by @dnwe in https://github.com/IBM/sarama/pull/3540
- feat(consumer): cap partition consumer retries by @dnwe in https://github.com/IBM/sarama/pull/3539
- feat: support FindCoordinator V3 protocol by @hindessm in https://github.com/IBM/sarama/pull/3544
- feat: support describe acls v2 by @hindessm in https://github.com/IBM/sarama/pull/3548
- feat: support create acls v2 by @hindessm in https://github.com/IBM/sarama/pull/3549
- feat: support delete acls v2 by @hindessm in https://github.com/IBM/sarama/pull/3550
- feat: support sasl authenticate v2 by @hindessm in https://github.com/IBM/sarama/pull/3551
- feat: support create partitions v2 by @hindessm in https://github.com/IBM/sarama/pull/3554
- feat: support join group v7 by @hindessm in https://github.com/IBM/sarama/pull/3555
- fix: flexible decoder out-of-bounds panic by @hindessm in https://github.com/IBM/sarama/pull/3543
- fix(consumer): size partial-batch retry correctly by @dnwe in https://github.com/IBM/sarama/pull/3541
- feat(consumer): add OffsetCommit v8 request/response support by @dnwe in https://github.com/IBM/sarama/pull/3545
- fix: decode nullable ACL describe error messages by @dnwe in https://github.com/IBM/sarama/pull/3552
- fix(consumer): lease preferred read replicas by @dnwe in https://github.com/IBM/sarama/pull/3553
- fix(producer): honour Retry.Backoff in idempotent retryBatch by @dnwe in https://github.com/IBM/sarama/pull/3557
- chore: better bounds checking by @hindessm in https://github.com/IBM/sarama/pull/3546
- chore: bump deps in ./examples tree by @dnwe in https://github.com/IBM/sarama/pull/3558
- docs: add AlterPartitionReassignments example and functional test by @dnwe in https://github.com/IBM/sarama/pull/3556
Full Changelog: https://github.com/IBM/sarama/compare/v1.48.2...v1.49.0
Version 3.4.0 Feature Release
This release has quite a number of bug fixes, but it also introduces some substantial new capabilities. Mostly the new support for advanced key reporting, along with backing support in the mouse demo, and enhanced configurability and overrides both for the application and for the user (environment variables).
This also replaces the old WASM terminal with a new version based on the libghostty implementation. This should be much faster, and nicer to work with, with a larger set of full features such as advanced key reporting, better support for resizing, etc.
- fix: possible panic in getConsoleInput if no event returned by @AntoineGS in https://github.com/gdamore/tcell/pull/1068
- Sanitize titles and notifications (fixes #1066) by @gdamore in https://github.com/gdamore/tcell/pull/1069
- feat: Optionally sanitize content before putting to the terminal (fix… by @gdamore in https://github.com/gdamore/tcell/pull/1071
- feat: Add reporting of keyboard protocol (fixes #967) by @gdamore in https://github.com/gdamore/tcell/pull/1073
- C1 handling improvements by @gdamore in https://github.com/gdamore/tcell/pull/1074
- feat(keys): Add support for advanced key reporting by @gdamore in https://github.com/gdamore/tcell/pull/1075
- feat(wasm): Introduce ghostty-wasm as backing WASM terminal (fixes #7… by @gdamore in https://github.com/gdamore/tcell/pull/1076
- fix: close OSC8 hyperlinks (fixes #1078) by @gdamore in https://github.com/gdamore/tcell/pull/1080
- feat: KeyBacktab updates for advanced mode (fixes #1018) by @gdamore in https://github.com/gdamore/tcell/pull/1081
- feat: support pixel-precision mouse reporting (CSI ?1016h) by @ImGajeed76 in https://github.com/gdamore/tcell/pull/1077
- fix(input): accept Unicode modifyOtherKeys codepoints by @ayn2op in https://github.com/gdamore/tcell/pull/1083
- Fix reporting of key releases by @tihirvon in https://github.com/gdamore/tcell/pull/1088
- chore(deps): bump golang.org/x/term from 0.42.0 to 0.43.0 by @dependabot[bot] in https://github.com/gdamore/tcell/pull/1085
- chore(deps): bump golang.org/x/text from 0.36.0 to 0.37.0 by @dependabot[bot] in https://github.com/gdamore/tcell/pull/1087
- MInor bug fixes by @gdamore in https://github.com/gdamore/tcell/pull/1097
- Preserve orphaned UTF-16 surrogates on Windows by @gdamore in https://github.com/gdamore/tcell/pull/1104
- vt: prune tab stops after resize by @gdamore in https://github.com/gdamore/tcell/pull/1105
- vt: ignore malformed SGR parameters by @gdamore in https://github.com/gdamore/tcell/pull/1106
- Limit inbound control strings by @gdamore in https://github.com/gdamore/tcell/pull/1107
- fix: cells should be marked dirty even if they have no content (fixes… by @gdamore in https://github.com/gdamore/tcell/pull/1108
- fix: lock SetSize screen mutations by @gdamore in https://github.com/gdamore/tcell/pull/1109
- tscreen: prevent terminal mutation after Fini by @gdamore in https://github.com/gdamore/tcell/pull/1110
- Avoid extra keyboard protocols on Windows by @gdamore in https://github.com/gdamore/tcell/pull/1111
- [codex] Fix OSC 8 hyperlink state transitions by @gdamore in https://github.com/gdamore/tcell/pull/1112
- @ImGajeed76 made their first contribution in https://github.com/gdamore/tcell/pull/1077
Full Changelog: https://github.com/gdamore/tcell/compare/v3.3.0...v3.4.0
Wails v3.0.0-alpha.93
- Add
XDG_SESSION_TYPEtowails3 doctoroutput on Linux by @leaanthony
- Fix window menu crash on Wayland caused by appmenu-gtk-module accessing unrealized window (#4769) by @leaanthony
- Fix GTK application crash when app name contains invalid characters (spaces, parentheses, etc.) by @leaanthony
- Fix "not enough memory" error when initializing drag and drop on Windows (#4701) by @overlordtm
- Fix race condition in mainthread callback store using incorrect RLock for map deletion (Linux, macOS, iOS) (#4424) by @leaanthony
- Fixed variable handling when passing command-line arguments to tasks. CLI variables specified as KEY=VALUE pairs are now properly initialized and propagated throughout task execution.
- Fix NSWindowZoomButton conflict on macOS:
MaximiseButtonStateandFullscreenButtonStatenow apply the more restrictive state at both startup and runtime; neither setter can silently override the other (#5319) - Fix a cluster of pre-existing bugs in the legacy GTK3 build path (
-tags gtk3) surfaced by CodeRabbit on #5463: file-association launches no longer skip startup handlers;getThemeis bounds- and type-safe;appNameno longer frees GLib-owned memory;clipboardGetno longer leaks thegchar*returned by GTK;Callocnow uses pointer receivers (andNewCallocreturns*Calloc) so the pool actually tracks allocations;zoomOutuses the reciprocal ofzoomInFactorinstead of a negative multiplier that clamped to 1.0;execJSreuses the preallocated empty world-name instead of leaking aC.CString("")per call; a developmentfmt.Printlnwas removed frommenuItem.setAccelerator. Resolves #5465. - Fix the same
Callocvalue-receiver leak in the default GTK4 build path (linux_cgo.go): pointer receivers +NewCalloc() *Callocso per-windowc.String(...)allocations are actually tracked and freed.
🤖 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-alpha.93
Wails v3.0.0-alpha.92
- Modify the Taskfiles to allow control of frontend package manager used via
PACKAGE_MANAGERoption - Enrich template data with
{{.Opn}}and{{.Cls}}to make writing Taskfile templates more predictable
- Modified a couple of the existing Taskfiles to make use of
{{.Opn}} and {{.Cls}}
- Fix
concurrent map read and map writeruntime fatal inlinuxSystemTraywhen the tray menu is updated while the panel reads it. - Use
loginstead offmtfor WebView2 error and stack trace output so messages aren't lost when the app runs without an attached console on Windows.
🤖 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-alpha.92
v5.0.4
lego is an independent, free, and open-source project, if you value it, consider supporting it! ❤️
Everybody thinks that the others will donate, but in the end, nobody does.
So if you think that lego is worth it, please consider donating.
For key updates, see the changelog.
- c23a229b70776112bc818df9426adc8922c4a7f2 docs: add menu icons (#3083)
- 1c9159d9d71de51d03e8ea3a53bb34edeb9ac47b docs: fix typos (#3091)
- 1fed358bb4f5580adab97435026d2342b6137dc2 docs: improve file configuration section (#3092)
- 7eb0b53682e7fb20580908c9aef7a99c9a21cfe4 fix: allow account registration in all cases (#3085)
- 8bfa4d5db0283f03bea6f5765429266845235b91 fix: missing hook env vars (#3089)
v1.5.2
- Propagate AddConsumerHandler to examples and docs by @m110 in https://github.com/ThreeDotsLabs/watermill/pull/612
- Add quickstart docs by @m110 in https://github.com/ThreeDotsLabs/watermill/pull/615
- Update Quickstart link in README by @m110 in https://github.com/ThreeDotsLabs/watermill/pull/618
- Polish watermill.io after update by @roblaszczak in https://github.com/ThreeDotsLabs/watermill/pull/619
- Update Pub/Sub links to latest versions by @m110 in https://github.com/ThreeDotsLabs/watermill/pull/620
- added sqlite docs PoC by @roblaszczak in https://github.com/ThreeDotsLabs/watermill/pull/563
- edit SQLite documentation and transaction example by @dkotik in https://github.com/ThreeDotsLabs/watermill/pull/621
- Refresh getting started by @m110 in https://github.com/ThreeDotsLabs/watermill/pull/628
- docs: add suport of mysql delayed messages by @AdrianZajkowski in https://github.com/ThreeDotsLabs/watermill/pull/630
- refactor: use maps.Copy to simplify the code by @dulanting in https://github.com/ThreeDotsLabs/watermill/pull/627
- docs: update discord link by @m110 in https://github.com/ThreeDotsLabs/watermill/pull/634
- chore: fix some comments by @geogrego in https://github.com/ThreeDotsLabs/watermill/pull/635
- refactor: remove redundant variable declarations in for loops by @efcking in https://github.com/ThreeDotsLabs/watermill/pull/637
- chore: execute goimports to format the code by @xibeiyoumian in https://github.com/ThreeDotsLabs/watermill/pull/644
- Rename variable from pub to sub in main.go by @sdil in https://github.com/ThreeDotsLabs/watermill/pull/643
- I can't see anything by @boreq in https://github.com/ThreeDotsLabs/watermill/pull/674
- Bump dependencies and fix races by @m110 in https://github.com/ThreeDotsLabs/watermill/pull/679
- Bump vite from 5.4.12 to 5.4.21 in /docs by @dependabot[bot] in https://github.com/ThreeDotsLabs/watermill/pull/629
- Bump picomatch from 2.3.1 to 2.3.2 in /docs by @dependabot[bot] in https://github.com/ThreeDotsLabs/watermill/pull/680
- docs: assorted documentation and comment improvements by @jjpinto in https://github.com/ThreeDotsLabs/watermill/pull/647
- Fix HTTP response body leak and add retry backoff in run.go by @jjpinto in https://github.com/ThreeDotsLabs/watermill/pull/665
- Validate all examples + fix by @m110 in https://github.com/ThreeDotsLabs/watermill/pull/681
- Added support for custom JSON configuration in the forwarder component by @falboe in https://github.com/ThreeDotsLabs/watermill/pull/667
- feat(retry): add OnRetriesExhausted hook for cleanup actions by @Br1an67 in https://github.com/ThreeDotsLabs/watermill/pull/670
- Restore PR CI by @m110 in https://github.com/ThreeDotsLabs/watermill/pull/682
- @AdrianZajkowski made their first contribution in https://github.com/ThreeDotsLabs/watermill/pull/630
- @dulanting made their first contribution in https://github.com/ThreeDotsLabs/watermill/pull/627
- @geogrego made their first contribution in https://github.com/ThreeDotsLabs/watermill/pull/635
- @efcking made their first contribution in https://github.com/ThreeDotsLabs/watermill/pull/637
- @xibeiyoumian made their first contribution in https://github.com/ThreeDotsLabs/watermill/pull/644
- @sdil made their first contribution in https://github.com/ThreeDotsLabs/watermill/pull/643
- @jjpinto made their first contribution in https://github.com/ThreeDotsLabs/watermill/pull/647
- @falboe made their first contribution in https://github.com/ThreeDotsLabs/watermill/pull/667
- @Br1an67 made their first contribution in https://github.com/ThreeDotsLabs/watermill/pull/670
Full Changelog: https://github.com/ThreeDotsLabs/watermill/compare/v1.5.1...v1.5.2
v5.0.3
lego is an independent, free, and open-source project, if you value it, consider supporting it! ❤️
Everybody thinks that the others will donate, but in the end, nobody does.
So if you think that lego is worth it, please consider donating.
For key updates, see the changelog.
- 18bfb7f5c7aa5fcd37bc6d9d765ba5e6034ee482 docs: add a note about JSON files migration (#3078)
- ff774dc2262e3cb989d3d0a4cb96e08480da1109 fix: propagate context to server listeners (#3082)
- 583ab11c743225b2eea322bf11b8cb828ac005c6 fix: recursive NSs propagation checks (#3080)