Repository navigation
chore(release): prepare v3 beta release branch for merge - #5863
Conversation
…-aware Derive the Alpha/Beta/RC label from the version string instead of hardcoding Alpha in the release notes heading and warning, generalize the changelog validator to recognize any v3.0.0- prerelease section heading, and drop the alpha-specific wording from the unreleased changelog template. Alpha output is byte-identical to before.
Stage version.txt at v3.0.0-beta.0 so the first nightly release from this branch becomes v3.0.0-beta.1. Mark the 3.0.x beta series as supported in the security policy and update contributor-facing alpha wording.
Rename the workflow display name to Nightly Release v3 and extend the latest-tag lookup to the beta and rc series. Explicit series globs are used instead of v3.0.0-* so stray legacy alpha tags cannot be selected.
… v3 commands The FAQ predated much of current v3 and had drifted badly: - Platform support said Windows 7+, macOS 10.13+ and Linux GTK3. Now matches the installation docs: Windows 10/11 (WebView2, AMD64/ARM64), macOS 10.15+/11+ (deploy target 10.13+), Linux GTK4 + WebKitGTK 6.0 default with the legacy gtk3 tag option, iOS/Android experimental, plus the server build. - Build answers used v2-style commands that do not exist in v3 (wails3 build -platform ..., manual -ldflags advice). Replaced with the real commands from the build guides (wails3 build GOOS=..., wails3 task darwin:build:universal, wails3 package) and a note that production defaults already strip binaries. - Removed the Electron comparison table in favour of stating what Wails does well on its own terms. - Every API snippet is now verified against v3 source and examples (GreetService bindings import, Events.On, app.Dialog.OpenFile chain, app.SystemTray.New) and every internal link resolves to an existing page. - Added the questions new users actually ask: prerequisites, wails3 doctor as the first troubleshooting step, build-failure checklist, how to report a bug. - Softened the production-readiness answer to point at the status page instead of overpromising.
The rewritten FAQ (cherry-picked from PR #5763) uses channel-neutral wording on master. On this branch the answer matches the staged beta banners: in beta, API stable, final polish before 3.0.
The beta branch had drifted 31 commits behind master, which means everything landing on master since — including the go.work removal and the release workflow hardening — was absent from the branch the beta will actually be cut from. Drift like that is only ever discovered at the worst moment. Two conflicts, both resolved in favour of the beta branch, which is the point of the branch: - v3/internal/version/version.txt keeps v3.0.0-beta.0 rather than master's v3.0.0-alpha2.117. - The FAQ production-readiness answer keeps the beta wording rather than master's "active pre-release" phrasing. Verified: no conflict markers remain; `go build ./...` in v3 behaves identically to master (the examples/ failures are pre-existing on both, not introduced here); the beta wording in faq.mdx and status.mdx survived; go.work is correctly absent after the merge. Claude-Session: https://claude.ai/code/session_01FigQqUQbNu9ngE4a2CSNm8
chore(beta): merge master into releases/v3-beta
Picks up the contribution terms (#5816), the release workflow hardening (#5815), the runtime/CLI version lockstep (#5820) and the crash fixes merged since the first sync. Clean merge, no conflicts. The branch was six commits behind again within hours of the first sync, which is why this is now an audit blocker rather than something to remember: a release branch that quietly ages is how a release ships without fixes everyone believes are in it. Claude-Session: https://claude.ai/code/session_01FigQqUQbNu9ngE4a2CSNm8
chore(beta): merge master into releases/v3-beta (second sync)
Picks up the four crash and correctness fixes merged since the last sync: the macOS OpenFile dialog crash (#5678), the stray v3/old symlink (#5785), the Windows locked/secure-desktop fatal (#5789) and the changelog entries that accompany them. Clean merge. version.txt still v3.0.0-beta.0 and the stray symlink is correctly absent after the merge. Claude-Session: https://claude.ai/code/session_01FigQqUQbNu9ngE4a2CSNm8
chore(beta): merge master into releases/v3-beta (third sync)
* chore(beta): add the release record and comms drafts Puts the release plan, the gate configuration and the channel drafts in the repository next to the code, so the beta is resumable by somebody who is not the person who prepared it. Nothing here is published, and nothing invents the release's argument for itself: positioning and headlines are empty on purpose, with a note explaining that filling them and re-running the generator produces the real copy. The parts that are facts rather than claims are filled in: the launch-day sequence with the Wails-specific steps, the packager notice with the artifact names and the version-scheme changes, and the preconditions that still block tagging. Claude-Session: https://claude.ai/code/session_01FigQqUQbNu9ngE4a2CSNm8 * docs(beta): record the findings worth acting on after the beta Four things noticed while preparing the release that are not blocking but will cost something if forgotten: v3 CI only ever compiles the GTK4 backend against a single GTK version, fork PRs cannot converge while the changelog bot is active, 'go build ./...' from v3 fails on example packages, and six diagram placeholders render in the docs. Kept in the release record rather than opened as issues, so nothing about this release becomes public before it should. Claude-Session: https://claude.ai/code/session_01FigQqUQbNu9ngE4a2CSNm8 --------- Co-authored-by: taliesin-ai <lea.anthony@gmail.com>
Picks up the GTK frameless corners fix (#5800), the runtime sideEffects fix (#5797) and the generate-icons defaults (#5825). Clean merge; version.txt still v3.0.0-beta.0 and the release record survives. Claude-Session: https://claude.ai/code/session_01FigQqUQbNu9ngE4a2CSNm8
chore(beta): merge master into releases/v3-beta (fourth sync)
…mitting the renders (#5827) Two problems, one cause. The d2 diagrams were never localised: every label in every locale is English. What the per-locale copies actually held was drift. The translation pipeline copied the d2 block when a page was translated and never re-synced it when the English diagram changed, so seven locales rendered an older architecture diagram than the English page, with English labels, on a page explaining how Wails works. de, fr, ja and ru were byte-identical to each other and different from English, which is the signature of a stale copy rather than a translation. Separately, 110 generated SVGs were committed to the repository in #5793. They are build output: astro-d2 writes one per diagram per locale, so the count scales with locales x diagrams and grows as translation coverage improves. - Sync the d2 source from each English page into its translated counterparts, where the diagram counts line up. Prose is untouched, verified by stripping the d2 blocks and confirming the remainder is byte-identical. - Untrack docs/public/d2 and gitignore it. Nine files are deliberately not synced because they need a human. zh-cn's architecture page has four diagrams where English has eight, and eight locales have one lifecycle diagram where English has two: the English pages gained diagrams the translations never received. Inserting a diagram into translated prose is not a mechanical substitution, so the tool reports these and stops. Verified: clean rebuild, 1711 pages, no page loss. architecture-0 went from three variants across locales to one shared render everywhere except zh-cn, which is one of the deliberately skipped files. Every other diagram is now a single variant across all locales. All 110 diagram references in the built HTML resolve to a file on disk, so no broken images. Claude-Session: https://claude.ai/code/session_01FigQqUQbNu9ngE4a2CSNm8 Co-authored-by: taliesin-ai <lea.anthony@gmail.com>
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
WalkthroughThe PR promotes Wails v3 from alpha to beta. It adds release planning, audit, runbook, and communication artifacts. Release tooling supports beta and other prerelease channels. Documentation, repository guidance, and system tray validation reflect the beta release. ChangesBeta release and repository status
Beta release planning and communications
Prerelease tooling
Documentation and system tray behavior
Estimated code review effort: 4 (Complex) | ~45 minutes Possibly related PRs
Suggested labels: Poem
🚥 Pre-merge checks | ✅ 3 | ❌ 2❌ Failed checks (2 warnings)
✅ Passed checks (3 passed)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Pull request overview
Prepares the releases/v3-beta branch to merge into master by promoting v3 from alpha to beta, staging v3.0.0-beta.0, and adding a beta release record plus supporting code/docs/test updates for the beta train.
Changes:
- Promote v3 channel messaging and release tooling from “Alpha” to “Beta”, including channel-aware release notes.
- Stage
v3.0.0-beta.0and add the.release/v3.0.0-beta.0release plan/kit scaffolding. - Bring in key stabilization fixes + regression coverage (GitHub updater asset selection, GTK4 window state/size events, systray smart defaults tests) and update docs accordingly.
Reviewed changes
Copilot reviewed 53 out of 53 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| v3/UNRELEASED_CHANGELOG.md | Updates unreleased notes for beta promotion and key fixes. |
| v3/tasks/release/release.go | Makes release notes channel-aware (alpha/beta/rc/stable) and updates changelog template copy. |
| v3/tasks/release/release_test.go | Adds coverage for beta.0→beta.1 increment and channel-aware release notes. |
| v3/scripts/validate-changelog.go | Broadens prerelease section detection beyond alpha-only headings. |
| v3/README.md | Updates v3 readme branding and links to the new docs location. |
| v3/pkg/updater/providers/github/github.go | Skips installer assets during default GitHub updater asset matching. |
| v3/pkg/updater/providers/github/github_test.go | Adds matcher fixtures to ensure installer assets are ignored without over-filtering names. |
| v3/pkg/application/webview_window_linux.go | Adds GTK4 window-state tracking helpers for deterministic state event emission. |
| v3/pkg/application/webview_window_linux_test.go | Adds unit tests for GTK4 window state transition event selection. |
| v3/pkg/application/systemtray_test.go | Adds unit tests for systray smart-default click handler behavior. |
| v3/pkg/application/linux_cgo.h | Renames/expands GTK4 signal handler exports for surface size/state changes. |
| v3/pkg/application/linux_cgo.go | Switches GTK4 size reporting to GdkSurface configured sizes and emits state events from GdkToplevel state. |
| v3/pkg/application/linux_cgo.c | Hooks GTK4 GdkSurface notify signals for width/height/state and wires initial state/size emission. |
| v3/internal/version/version.txt | Stages version at v3.0.0-beta.0. |
| SECURITY.md | Marks 3.0.x-beta as supported and alpha as unsupported. |
| README.md | Updates root README v3 status from Alpha→Beta. |
| IMPLEMENTATION.md | Updates Phase 10 testing status narrative and logs recent GTK4 verification work. |
| history/beta-readiness-audit.html | Adds a beta readiness audit snapshot artifact under history/. |
| docs/src/content/docs/status.mdx | Updates status to Beta and documents the beta compatibility promise and Go version requirement. |
| docs/src/content/docs/index.mdx | Updates top-level docs banner/copy from ALPHA→BETA. |
| docs/src/content/docs/reference/overview.mdx | Updates “current status” label from Alpha→Beta. |
| docs/src/content/docs/faq.mdx | Updates “production-ready” wording to reflect beta status. |
| docs/src/content/docs/quick-start/installation.mdx | Updates example doctor output to show beta CLI version. |
| docs/src/content/docs/migration/v2-to-v3.mdx | Updates migration snippet to reference beta module version and beta wording. |
| docs/src/content/docs/features/windows/options.mdx | Documents the HideOnEscape window option. |
| docs/src/content/docs/features/menus/systray.mdx | Documents systray popup defaults and auto-hide behavior with beta-era guidance. |
| docs/src/content/docs/concepts/architecture.mdx | Updates architecture diagrams to describe OS-native WebViews and multi-window event flow. |
| docs/src/content/docs/de/concepts/architecture.mdx | Same as above (German locale). |
| docs/src/content/docs/fr/concepts/architecture.mdx | Same as above (French locale). |
| docs/src/content/docs/id/concepts/architecture.mdx | Same as above (Indonesian locale). |
| docs/src/content/docs/ja/concepts/architecture.mdx | Same as above (Japanese locale). |
| docs/src/content/docs/ko/concepts/architecture.mdx | Same as above (Korean locale). |
| docs/src/content/docs/pt/concepts/architecture.mdx | Same as above (Portuguese locale). |
| docs/src/content/docs/ru/concepts/architecture.mdx | Same as above (Russian locale). |
| docs/src/content/docs/zh-tw/concepts/architecture.mdx | Same as above (Traditional Chinese locale). |
| CONTRIBUTING.md | Updates v3 contribution section header from alpha→beta. |
| AGENTS.md | Replaces beads-based workflow guidance with GitHub-based tracking and beta-era agent workflow. |
| .release/v3.0.0-beta.0/README.md | Adds release record README describing purpose, gates, and known preconditions. |
| .release/v3.0.0-beta.0/plan.json | Adds the beta release plan, gates, milestones, and audit configuration. |
| .release/v3.0.0-beta.0/comms/announcement.md | Adds announcement scaffolding for the beta release kit. |
| .release/v3.0.0-beta.0/comms/discord-forum.md | Adds community post scaffolding for the beta release kit. |
| .release/v3.0.0-beta.0/comms/email.md | Adds newsletter scaffolding for the beta release kit. |
| .release/v3.0.0-beta.0/comms/faq.md | Adds launch FAQ scaffolding for the beta release kit. |
| .release/v3.0.0-beta.0/comms/launch-sequence.md | Adds a launch sequence/runbook scaffold for beta release operations. |
| .release/v3.0.0-beta.0/comms/packagers.md | Adds downstream packager heads-up scaffold for versioning/runtime changes. |
| .release/v3.0.0-beta.0/comms/reddit.md | Adds Reddit post scaffolding for the beta release kit. |
| .release/v3.0.0-beta.0/comms/show-hn.md | Adds Show HN post scaffolding for the beta release kit. |
| .release/v3.0.0-beta.0/comms/social-bluesky-mastodon.md | Adds Bluesky/Mastodon post scaffolding for the beta release kit. |
| .release/v3.0.0-beta.0/comms/social-linkedin.md | Adds LinkedIn post scaffolding for the beta release kit. |
| .release/v3.0.0-beta.0/comms/social-x.md | Adds X/Twitter thread scaffolding for the beta release kit. |
| .github/workflows/nightly-release-v3.yml | Renames workflow and expands “latest tag” detection to include beta/rc series. |
| .github/pull_request_template.md | Updates v3 guidance/examples from alpha to beta and adjusts enhancement guidance. |
| .beads/issues.jsonl | Removes the beads issue-tracking file from the repository. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| func isInstallerAsset(name string) bool { | ||
| return strings.Contains(name, "-installer.") || | ||
| strings.Contains(name, "_installer.") || | ||
| name == "installer.exe" | ||
| } |
There was a problem hiding this comment.
Actionable comments posted: 14
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.github/pull_request_template.md:
- Around line 9-10: Update the tagged-version example in the PR template’s
source-install guidance to use the current candidate, v3.0.0-beta.0, instead of
v3.0.0-beta.1; leave the surrounding submission guidance unchanged.
In @.release/v3.0.0-beta.0/comms/discord-forum.md:
- Around line 8-18: Complete all unresolved release communication placeholders
in .release/v3.0.0-beta.0/comms/discord-forum.md (lines 8-18), email.md (7-17),
faq.md (11-49), reddit.md (8-18), show-hn.md (10-27), social-bluesky-mastodon.md
(8-20), and social-linkedin.md (8-20) with platform-specific beta launch copy.
Populate plan.headlines and the final calls to action and links, run relman kit,
and verify the generated release output contains no remaining TODOs.
In @.release/v3.0.0-beta.0/comms/faq.md:
- Around line 1-4: Update the FAQ header comment to state that it contains ten
questions, matching the ten question headings in the document; leave the FAQ
content unchanged.
In @.release/v3.0.0-beta.0/comms/packagers.md:
- Around line 12-14: Update the Version scheme guidance to explicitly state that
after publishing the npm package, the configured `latest` dist-tag must point to
the new `v3.0.0-beta.N` version, replacing the current `3.0.0-alpha2.*` target;
do not rely on semantic-version ordering alone.
In @.release/v3.0.0-beta.0/comms/social-bluesky-mastodon.md:
- Around line 1-3: Update the header documentation near the Bluesky/Mastodon
limits to clearly state both platform limits—Bluesky 300 characters and Mastodon
500 characters—or explicitly state that cross-posted content must fit within
Bluesky’s 300-character limit.
In @.release/v3.0.0-beta.0/plan.json:
- Around line 160-481: Remove the mutable gate-tracking data from the gates
configuration, including status, owners, notes, timestamps, and release-decision
fields. Retain only immutable relman gate definitions such as IDs, titles,
phases, tracks, and blocking requirements; use GitHub issue `#5844` and its
milestones as the authoritative source for gate state.
- Around line 3-8: Align the release identity and schedule across
.release/v3.0.0-beta.0/plan.json lines 3-8, .release/v3.0.0-beta.0/README.md
lines 12-17, and .release/v3.0.0-beta.0/comms/launch-sequence.md lines 24-32:
choose either the actual Beta 0 target or the GA target, then update plan.json’s
releaseDate and milestone fields, the README milestones, and the launch
sequence’s tag, announcement, and release-day details consistently.
- Line 4: Update the prevVersion value in the release plan to the immediately
preceding release, v3.0.0-alpha2.118, so comparisons start after the prior
release and do not include already released changes.
In `@AGENTS.md`:
- Line 19: Update the planning-document storage rule in AGENTS.md to explicitly
exempt the root IMPLEMENTATION.md file or reference its persistent
implementation-tracker exception, while continuing to require other AI-generated
planning documents to be stored in history/.
In `@docs/src/content/docs/migration/v2-to-v3.mdx`:
- Line 266: Update the go.mod migration example to reference an actually
published github.com/wailsapp/wails v3 module tag, replacing v3.0.0-beta.1 with
the appropriate available version so users can resolve the dependency.
In `@docs/src/content/docs/quick-start/installation.mdx`:
- Line 246: Update the Wails CLI version shown in the quick-start diagnostic
output from v3.0.0-beta.1 to the release branch version declared by
v3/internal/version/version.txt, v3.0.0-beta.0.
In `@history/beta-readiness-audit.html`:
- Around line 136-179: Remove the executable browser-local checklist, including
the checklist section and its checkbox-state behavior around the checklist
markup and related script. Keep the report as a static summary, and direct gate
tracking to GitHub issue `#5844` and linked issues or pull requests instead of
maintaining parallel local state.
In `@IMPLEMENTATION.md`:
- Line 357: Update the Markdown text on the line beginning with “#5843” to begin
with “issue `#5843`” instead, preventing it from being parsed as an invalid
heading while preserving the surrounding sentence.
In `@v3/pkg/updater/providers/github/github.go`:
- Around line 426-429: Update isInstallerAsset in
v3/pkg/updater/providers/github/github.go:426-429 to recognize bounded
“uninstaller” filename tokens alongside “installer”; update the asset filtering
at v3/pkg/updater/providers/github/github.go:405-407 to skip uninstaller assets
before platform and architecture matching. Extend the tests in
v3/pkg/updater/providers/github/github_test.go:301-315 with a valid Windows
update fixture and expected asset, plus a no-match case containing only
installer and uninstaller assets.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro Plus
Run ID: 187fb86b-75de-4224-a144-064e632d4931
📒 Files selected for processing (53)
.beads/issues.jsonl.github/pull_request_template.md.github/workflows/nightly-release-v3.yml.release/v3.0.0-beta.0/README.md.release/v3.0.0-beta.0/comms/announcement.md.release/v3.0.0-beta.0/comms/discord-forum.md.release/v3.0.0-beta.0/comms/email.md.release/v3.0.0-beta.0/comms/faq.md.release/v3.0.0-beta.0/comms/launch-sequence.md.release/v3.0.0-beta.0/comms/packagers.md.release/v3.0.0-beta.0/comms/reddit.md.release/v3.0.0-beta.0/comms/show-hn.md.release/v3.0.0-beta.0/comms/social-bluesky-mastodon.md.release/v3.0.0-beta.0/comms/social-linkedin.md.release/v3.0.0-beta.0/comms/social-x.md.release/v3.0.0-beta.0/plan.jsonAGENTS.mdCONTRIBUTING.mdIMPLEMENTATION.mdREADME.mdSECURITY.mddocs/src/content/docs/concepts/architecture.mdxdocs/src/content/docs/de/concepts/architecture.mdxdocs/src/content/docs/faq.mdxdocs/src/content/docs/features/menus/systray.mdxdocs/src/content/docs/features/windows/options.mdxdocs/src/content/docs/fr/concepts/architecture.mdxdocs/src/content/docs/id/concepts/architecture.mdxdocs/src/content/docs/index.mdxdocs/src/content/docs/ja/concepts/architecture.mdxdocs/src/content/docs/ko/concepts/architecture.mdxdocs/src/content/docs/migration/v2-to-v3.mdxdocs/src/content/docs/pt/concepts/architecture.mdxdocs/src/content/docs/quick-start/installation.mdxdocs/src/content/docs/reference/overview.mdxdocs/src/content/docs/ru/concepts/architecture.mdxdocs/src/content/docs/status.mdxdocs/src/content/docs/zh-tw/concepts/architecture.mdxhistory/beta-readiness-audit.htmlv3/README.mdv3/UNRELEASED_CHANGELOG.mdv3/internal/version/version.txtv3/pkg/application/linux_cgo.cv3/pkg/application/linux_cgo.gov3/pkg/application/linux_cgo.hv3/pkg/application/systemtray_test.gov3/pkg/application/webview_window_linux.gov3/pkg/application/webview_window_linux_test.gov3/pkg/updater/providers/github/github.gov3/pkg/updater/providers/github/github_test.gov3/scripts/validate-changelog.gov3/tasks/release/release.gov3/tasks/release/release_test.go
💤 Files with no reviewable changes (1)
- .beads/issues.jsonl
| Wails v3.0.0-beta.0 is out. TODO: one line | ||
|
|
||
| ## Follow-ups (one per headline, each self-contained) | ||
|
|
||
| TODO: fill plan.headlines and re-run `relman kit` | ||
|
|
||
|
|
||
| ## Final post | ||
|
|
||
| TODO: call to action | ||
| TODO: link |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟠 Major | 🏗️ Heavy lift
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
rg -n 'TODO|\[[0-9]+/[0-9]+ chars:' .release/v3.0.0-beta.0/commsRepository: wailsapp/wails
Length of output: 4127
🏁 Script executed:
#!/bin/bash
set -euo pipefail
printf 'Tracked release communication files:\n'
git ls-files .release/v3.0.0-beta.0/comms | sort
printf '\nRelevant project files mentioning relman or comms:\n'
rg -n 'relman|\.release/|/comms/|announce|release.*comms|TODO' --glob '!**/node_modules/**' --glob '!**/dist/**' --glob '!**/build/**' . | head -200Repository: wailsapp/wails
Length of output: 41056
Render the beta release communication assets before launch.
.release/v3.0.0-beta.0/comms contains unfinished copy with unresolved placeholders. Complete the platform-specific messages, run relman kit, then verify the generated/release output has no remaining TODOs before publishing beta launch material.
📍 Affects 7 files
.release/v3.0.0-beta.0/comms/discord-forum.md#L8-L18(this comment).release/v3.0.0-beta.0/comms/email.md#L7-L17.release/v3.0.0-beta.0/comms/faq.md#L11-L49.release/v3.0.0-beta.0/comms/reddit.md#L8-L18.release/v3.0.0-beta.0/comms/show-hn.md#L10-L27.release/v3.0.0-beta.0/comms/social-bluesky-mastodon.md#L8-L20.release/v3.0.0-beta.0/comms/social-linkedin.md#L8-L20
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In @.release/v3.0.0-beta.0/comms/discord-forum.md around lines 8 - 18, Complete
all unresolved release communication placeholders in
.release/v3.0.0-beta.0/comms/discord-forum.md (lines 8-18), email.md (7-17),
faq.md (11-49), reddit.md (8-18), show-hn.md (10-27), social-bluesky-mastodon.md
(8-20), and social-linkedin.md (8-20) with platform-specific beta launch copy.
Populate plan.headlines and the final calls to action and links, run relman kit,
and verify the generated release output contains no remaining TODOs.
There was a problem hiding this comment.
@leaanthony, understood. The placeholders are intentional until human release decisions approve the positioning, proof, CTA, headlines, owners, and final links.
The com-positioning and related communications gates remain open. This finding should remain unresolved until approved copy is available.
🐇
✏️ Learnings added
Learnt from: leaanthony
Repo: wailsapp/wails PR: 5863
File: .release/v3.0.0-beta.0/comms/discord-forum.md:8-18
Timestamp: 2026-08-01T07:38:41.581Z
Learning: For the Wails v3.0.0-beta.0 release record, `.release/v3.0.0-beta.0/README.md` intentionally leaves positioning, proof, calls to action, headlines, owners, and final links blank until human release decisions approve them. The `com-positioning` and related communications gates remain open, so communication-template `TODO` placeholders must not be treated as defects before approved copy exists.
Note: Learnings are effective only in the context of similar code segments. To apply general coding guidelines, please configure review instructions. You can manage existing learnings in the app.
You are interacting with an AI system.
There was a problem hiding this comment.
This remains blocked on human release decisions. The release README deliberately leaves positioning, proof, CTA, headlines, owners, and final links blank so automation cannot invent launch claims. com-positioning and the related communications gates remain open; leaving this thread unresolved until approved copy exists.
There was a problem hiding this comment.
@taliesin-ai, acknowledged. The placeholders are intentional release controls, not defects.
The com-positioning and related communications gates remain open. This thread will remain unresolved until approved release copy is available.
🐇
You are interacting with an AI system.
| systray smart-default tests pass with Go 1.25 against GTK4/WebKitGTK 6.0 in a | ||
| disposable container. Native compositor confirmation, the GTK3 matrix, full | ||
| examples, resource checks, and performance comparisons remain pending in | ||
| #5843, so this phase must not be marked complete. |
There was a problem hiding this comment.
📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
Fix the Markdown issue reference.
Line 357 starts with #5843 at column one. Markdown interprets it as an invalid ATX heading. Change it to issue #5843``.
Static analysis reports MD018 on this line.
🧰 Tools
🪛 markdownlint-cli2 (0.23.1)
[warning] 357-357: No space after hash on atx style heading
(MD018, no-missing-space-atx)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@IMPLEMENTATION.md` at line 357, Update the Markdown text on the line
beginning with “#5843” to begin with “issue `#5843`” instead, preventing it from
being parsed as an invalid heading while preserving the surrounding sentence.
Source: Linters/SAST tools
| func isInstallerAsset(name string) bool { | ||
| return strings.Contains(name, "-installer.") || | ||
| strings.Contains(name, "_installer.") || | ||
| name == "installer.exe" |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟠 Major | ⚡ Quick win
Exclude uninstaller assets from update selection.
product-uninstaller-windows-amd64.exe does not match isInstallerAsset, so the added Windows case selects it as the update artifact. An uninstaller is not an update artifact. If it appears before the actual package, DefaultAssetMatcher returns the wrong asset.
v3/pkg/updater/providers/github/github.go#L426-L429: Recognizeuninstalleras a bounded filename token, in addition toinstaller.v3/pkg/updater/providers/github/github.go#L405-L407: Skip uninstaller assets before platform and architecture matching.v3/pkg/updater/providers/github/github_test.go#L301-L315: Add a valid Windows update fixture and expect that asset. Add a no-match case when only installer and uninstaller assets exist.
📍 Affects 2 files
v3/pkg/updater/providers/github/github.go#L426-L429(this comment)v3/pkg/updater/providers/github/github.go#L405-L407v3/pkg/updater/providers/github/github_test.go#L301-L315
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@v3/pkg/updater/providers/github/github.go` around lines 426 - 429, Update
isInstallerAsset in v3/pkg/updater/providers/github/github.go:426-429 to
recognize bounded “uninstaller” filename tokens alongside “installer”; update
the asset filtering at v3/pkg/updater/providers/github/github.go:405-407 to skip
uninstaller assets before platform and architecture matching. Extend the tests
in v3/pkg/updater/providers/github/github_test.go:301-315 with a valid Windows
update fixture and expected asset, plus a no-match case containing only
installer and uninstaller assets.
|
Release-cycle reconciliation evidence: this integration PR is currently conflicting, and the v3 Ubuntu 1.25 job fails in |
…ses/v3-beta # Conflicts: # v3/UNRELEASED_CHANGELOG.md # v3/internal/version/version.txt
…ses/v3-beta # Conflicts: # v3/UNRELEASED_CHANGELOG.md
There was a problem hiding this comment.
Actionable comments posted: 4
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@docs/src/content/docs/de/index.mdx`:
- Line 6: Keep the v3 beta status explicit in the localized landing pages:
update the banners at docs/src/content/docs/de/index.mdx:6-6,
docs/src/content/docs/fr/index.mdx:6-6, and
docs/src/content/docs/id/index.mdx:6-6 to say Wails v3 Beta is available, and
beta-qualify the production notes at docs/src/content/docs/de/index.mdx:282-282,
docs/src/content/docs/fr/index.mdx:282-282, and
docs/src/content/docs/id/index.mdx:178-178 until GA.
In `@docs/src/content/docs/zh-cn/feedback.mdx`:
- Line 21: Update the example-directory reference in the Chinese feedback
instructions so both mentions consistently use v3/examples, including the
existing-example path and the new-example path.
- Line 19: Update the feedback checklist text in the Chinese feedback page to
reference the Wails v3 command `wails3 doctor` instead of `wails doctor`,
keeping the surrounding instruction unchanged.
In `@docs/src/content/docs/zh-cn/index.mdx`:
- Line 6: Update the localized landing-page messaging to preserve the
v3.0.0-beta.0 status: in docs/src/content/docs/zh-cn/index.mdx at lines 6-6 and
282-282, and docs/src/content/docs/zh-tw/index.mdx at lines 6-6 and 282-282,
state that Wails v3 Beta is available and retain Beta in the
production-readiness note.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro Plus
Run ID: 9ad65b65-ae13-4c69-b5e6-752fa1d8d8c3
⛔ Files ignored due to path filters (6)
docs/src/assets/screenshots/application-menu-macos.pngis excluded by!**/*.pngdocs/src/assets/screenshots/context-menu-macos.pngis excluded by!**/*.pngdocs/src/assets/screenshots/dialog-question-macos.pngis excluded by!**/*.pngdocs/src/assets/screenshots/file-dialog-macos.pngis excluded by!**/*.pngdocs/src/assets/screenshots/file-drop-macos.pngis excluded by!**/*.pngdocs/src/assets/screenshots/systray-menu-macos.pngis excluded by!**/*.png
📒 Files selected for processing (39)
docs/src/content/docs/de/index.mdxdocs/src/content/docs/de/quick-start/installation.mdxdocs/src/content/docs/de/status.mdxdocs/src/content/docs/features/dialogs/file.mdxdocs/src/content/docs/features/dialogs/overview.mdxdocs/src/content/docs/features/drag-and-drop/files.mdxdocs/src/content/docs/features/menus/application.mdxdocs/src/content/docs/features/menus/context.mdxdocs/src/content/docs/features/menus/systray.mdxdocs/src/content/docs/fr/index.mdxdocs/src/content/docs/fr/quick-start/installation.mdxdocs/src/content/docs/fr/status.mdxdocs/src/content/docs/guides/mcp-service.mdxdocs/src/content/docs/id/guides/mcp-service.mdxdocs/src/content/docs/id/index.mdxdocs/src/content/docs/id/migration/v2-to-v3.mdxdocs/src/content/docs/id/quick-start/installation.mdxdocs/src/content/docs/id/reference/overview.mdxdocs/src/content/docs/id/status.mdxdocs/src/content/docs/index.mdxdocs/src/content/docs/ja/index.mdxdocs/src/content/docs/ja/quick-start/installation.mdxdocs/src/content/docs/ko/index.mdxdocs/src/content/docs/ko/quick-start/installation.mdxdocs/src/content/docs/migration/v2-to-v3.mdxdocs/src/content/docs/pt/quick-start/installation.mdxdocs/src/content/docs/pt/status.mdxdocs/src/content/docs/quick-start/installation.mdxdocs/src/content/docs/ru/index.mdxdocs/src/content/docs/ru/quick-start/installation.mdxdocs/src/content/docs/ru/status.mdxdocs/src/content/docs/zh-cn/feedback.mdxdocs/src/content/docs/zh-cn/index.mdxdocs/src/content/docs/zh-cn/quick-start/installation.mdxdocs/src/content/docs/zh-cn/status.mdxdocs/src/content/docs/zh-tw/index.mdxdocs/src/content/docs/zh-tw/quick-start/installation.mdxdocs/src/content/docs/zh-tw/status.mdxv3/UNRELEASED_CHANGELOG.md
🚧 Files skipped from review as they are similar to previous changes (4)
- docs/src/content/docs/quick-start/installation.mdx
- docs/src/content/docs/migration/v2-to-v3.mdx
- v3/UNRELEASED_CHANGELOG.md
- docs/src/content/docs/index.mdx
Deploying wails with
|
| Latest commit: |
5e653fb
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://894815de.wails.pages.dev |
| Branch Preview URL: | https://releases-v3-beta.wails.pages.dev |
|
Release-cycle implementation evidence at commit 20d83ca:
Project 16 remains Beta 0 / Required / In Progress, assigned to taliesin-ai. No release gate was changed. |
|
Release branch synchronized and pushed in Evidence:
Broader native Linux tests remain environment-limited by unavailable GTK3/GTK4/WebKit development packages. The merged dependency update also inherits the existing |
# Conflicts: # v3/UNRELEASED_CHANGELOG.md # v3/internal/version/version.txt
Purpose
Draft integration PR for
releases/v3-betaintomaster.This is intentionally opened before the branch is ready to merge so GitHub can expose the exact conflict set and branch-update options for the real beta release branch.
Review focus
v3.0.0-beta.0release versioning and beta-only release metadatamasterblocker and stabilisation fixesmasterRelates to #5844.
Summary by CodeRabbit
New Features
Documentation
Release Management