Skip to content

chore(release): prepare v3 beta release branch for merge - #5863

Merged
leaanthony merged 31 commits into
masterfrom
releases/v3-beta
Aug 2, 2026
Merged

leaanthony merged 31 commits into
masterfrom
releases/v3-beta

Conversation

@leaanthony

@leaanthony leaanthony commented Jul 31, 2026 •

Copy link
Copy Markdown
Member

Purpose

Draft integration PR for releases/v3-beta into master.

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

  • preserve v3.0.0-beta.0 release versioning and beta-only release metadata
  • bring in all current master blocker and stabilisation fixes
  • resolve conflicts on the release branch rather than on master
  • run the full CI matrix against the final beta candidate

Relates to #5844.

Summary by CodeRabbit

  • New Features

    • Added documentation for window escape behavior, system tray interactions, native dialogs, menus, and file drops.
    • Added a dismissible Wails v3 Beta announcement banner.
  • Documentation

    • Updated multilingual documentation, migration guidance, architecture diagrams, screenshots, and platform support details.
    • Documented Windows updater, GTK4 window, and Linux WebView fixes.
  • Release Management

    • Updated versioning, release workflows, changelog handling, readiness auditing, communication templates, and launch procedures for Beta.

leaanthony and others added 18 commits July 6, 2026 09:48
…-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>
@coderabbitai

coderabbitai Bot commented Jul 31, 2026 •

Copy link
Copy Markdown
Contributor

Review Change Stack

Note

Reviews paused

It 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 reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

Walkthrough

The 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.

Changes

Beta release and repository status

Layer / File(s) Summary
Beta status and repository workflow
.github/*, AGENTS.md, CONTRIBUTING.md, README.md, SECURITY.md, v3/README.md, v3/internal/version/version.txt, v3/UNRELEASED_CHANGELOG.md, docs/src/content/docs/..., website/docusaurus.config.js
Repository guidance, version metadata, changelog entries, support information, announcement messaging, and localized documentation now describe the beta release state.

Beta release planning and communications

Layer / File(s) Summary
Beta release plan and launch materials
.release/v3.0.0-beta.0/..., history/beta-readiness-audit.html
The PR adds release metadata, milestones, release gates, audit content, launch sequencing, rollback constraints, packager guidance, FAQs, and communication templates.

Prerelease tooling

Layer / File(s) Summary
Prerelease automation and release notes
.github/workflows/nightly-release-v3.yml, v3/scripts/validate-changelog.go, v3/tasks/release/...
Nightly tag detection, changelog validation, release-channel classification, release-body warnings, and beta version incrementing now support beta, alpha, and release-candidate versions.

Documentation and system tray behavior

Layer / File(s) Summary
Architecture, feature, and system tray documentation
docs/src/content/docs/*/concepts/architecture.mdx, docs/src/content/docs/features/..., v3/pkg/application/systemtray_test.go
Architecture diagrams show native WebView rendering and Window 2 event handling. Feature pages add native screenshots and window behavior details. System tray tests cover smart defaults and explicit handler preservation.

Estimated code review effort: 4 (Complex) | ~45 minutes

Possibly related PRs

Suggested labels: size:L

Poem

A beta badge hops into view,
Release plans and checklists too.
Tags now know each channel’s name,
Docs and tests record the change.
The rabbit thumps: “Ship with care!”

🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (2 warnings)

Check name Status Explanation Resolution
Description check ⚠️ Warning The description explains the integration purpose and review focus but omits the required change type, testing details, test configuration, and checklist. Complete the template sections with the change type, test results and configuration, issue reference format, and applicable checklist items.
Docstring Coverage ⚠️ Warning Docstring coverage is 44.44% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly identifies preparation of the v3 beta release branch for merging.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch releases/v3-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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions github-actions Bot added Documentation Improvements or additions to documentation Linux v3-alpha labels Jul 31, 2026
@leaanthony
leaanthony marked this pull request as ready for review July 31, 2026 21:05
Copilot AI review requested due to automatic review settings July 31, 2026 21:05

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.0 and add the .release/v3.0.0-beta.0 release 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.

Comment on lines +426 to +430
func isInstallerAsset(name string) bool {
return strings.Contains(name, "-installer.") ||
strings.Contains(name, "_installer.") ||
name == "installer.exe"
}
Comment thread docs/src/content/docs/quick-start/installation.mdx
Comment thread docs/src/content/docs/migration/v2-to-v3.mdx Outdated

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

📥 Commits

Reviewing files that changed from the base of the PR and between 6e3c2b0 and ee98c2b.

📒 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.json
  • AGENTS.md
  • CONTRIBUTING.md
  • IMPLEMENTATION.md
  • README.md
  • SECURITY.md
  • docs/src/content/docs/concepts/architecture.mdx
  • docs/src/content/docs/de/concepts/architecture.mdx
  • docs/src/content/docs/faq.mdx
  • docs/src/content/docs/features/menus/systray.mdx
  • docs/src/content/docs/features/windows/options.mdx
  • docs/src/content/docs/fr/concepts/architecture.mdx
  • docs/src/content/docs/id/concepts/architecture.mdx
  • docs/src/content/docs/index.mdx
  • docs/src/content/docs/ja/concepts/architecture.mdx
  • docs/src/content/docs/ko/concepts/architecture.mdx
  • docs/src/content/docs/migration/v2-to-v3.mdx
  • docs/src/content/docs/pt/concepts/architecture.mdx
  • docs/src/content/docs/quick-start/installation.mdx
  • docs/src/content/docs/reference/overview.mdx
  • docs/src/content/docs/ru/concepts/architecture.mdx
  • docs/src/content/docs/status.mdx
  • docs/src/content/docs/zh-tw/concepts/architecture.mdx
  • history/beta-readiness-audit.html
  • v3/README.md
  • v3/UNRELEASED_CHANGELOG.md
  • v3/internal/version/version.txt
  • v3/pkg/application/linux_cgo.c
  • v3/pkg/application/linux_cgo.go
  • v3/pkg/application/linux_cgo.h
  • v3/pkg/application/systemtray_test.go
  • v3/pkg/application/webview_window_linux.go
  • v3/pkg/application/webview_window_linux_test.go
  • v3/pkg/updater/providers/github/github.go
  • v3/pkg/updater/providers/github/github_test.go
  • v3/scripts/validate-changelog.go
  • v3/tasks/release/release.go
  • v3/tasks/release/release_test.go
💤 Files with no reviewable changes (1)
  • .beads/issues.jsonl

Comment thread .github/pull_request_template.md Outdated
Comment on lines +8 to +18
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

@coderabbitai coderabbitai Bot Jul 31, 2026 •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 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/comms

Repository: 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 -200

Repository: 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.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

Comment thread .release/v3.0.0-beta.0/comms/faq.md
Comment thread .release/v3.0.0-beta.0/comms/packagers.md Outdated
Comment thread .release/v3.0.0-beta.0/comms/social-bluesky-mastodon.md
Comment thread docs/src/content/docs/migration/v2-to-v3.mdx Outdated
Comment thread docs/src/content/docs/quick-start/installation.mdx Outdated
Comment thread history/beta-readiness-audit.html
Comment thread IMPLEMENTATION.md Outdated
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.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📐 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

Comment on lines +426 to +429
func isInstallerAsset(name string) bool {
return strings.Contains(name, "-installer.") ||
strings.Contains(name, "_installer.") ||
name == "installer.exe"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 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: Recognize uninstaller as a bounded filename token, in addition to installer.
  • 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-L407
  • v3/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.

@taliesin-ai taliesin-ai added this to the v3.0.0-beta.0 milestone Aug 1, 2026
@taliesin-ai

Copy link
Copy Markdown
Collaborator

Release-cycle reconciliation evidence: this integration PR is currently conflicting, and the v3 Ubuntu 1.25 job fails in TestLinuxBlobBodyFetchShimBehaviour under Node 22.23.1 with TypeError: Headers constructor: Argument 1 could not be converted to ... HeadersInit (run https://github.com/wailsapp/wails/actions/runs/30665920882/job/91273052525). The aggregate v3 Build Results check consequently fails. Project 16 now records this PR as Beta 0 / Required / Todo with milestone v3.0.0-beta.0. Safe next action: fix the test/runtime compatibility on a dedicated branch targeting master, then sync master into releases/v3-beta, preserve beta-specific metadata, resolve the integration conflicts there, and rerun the full matrix. No release gate is changed by this evidence.

…ses/v3-beta

# Conflicts:
#	v3/UNRELEASED_CHANGELOG.md
#	v3/internal/version/version.txt
…ses/v3-beta

# Conflicts:
#	v3/UNRELEASED_CHANGELOG.md

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

📥 Commits

Reviewing files that changed from the base of the PR and between 0dd4e04 and 2bdfb22.

⛔ Files ignored due to path filters (6)
  • docs/src/assets/screenshots/application-menu-macos.png is excluded by !**/*.png
  • docs/src/assets/screenshots/context-menu-macos.png is excluded by !**/*.png
  • docs/src/assets/screenshots/dialog-question-macos.png is excluded by !**/*.png
  • docs/src/assets/screenshots/file-dialog-macos.png is excluded by !**/*.png
  • docs/src/assets/screenshots/file-drop-macos.png is excluded by !**/*.png
  • docs/src/assets/screenshots/systray-menu-macos.png is excluded by !**/*.png
📒 Files selected for processing (39)
  • docs/src/content/docs/de/index.mdx
  • docs/src/content/docs/de/quick-start/installation.mdx
  • docs/src/content/docs/de/status.mdx
  • docs/src/content/docs/features/dialogs/file.mdx
  • docs/src/content/docs/features/dialogs/overview.mdx
  • docs/src/content/docs/features/drag-and-drop/files.mdx
  • docs/src/content/docs/features/menus/application.mdx
  • docs/src/content/docs/features/menus/context.mdx
  • docs/src/content/docs/features/menus/systray.mdx
  • docs/src/content/docs/fr/index.mdx
  • docs/src/content/docs/fr/quick-start/installation.mdx
  • docs/src/content/docs/fr/status.mdx
  • docs/src/content/docs/guides/mcp-service.mdx
  • docs/src/content/docs/id/guides/mcp-service.mdx
  • docs/src/content/docs/id/index.mdx
  • docs/src/content/docs/id/migration/v2-to-v3.mdx
  • docs/src/content/docs/id/quick-start/installation.mdx
  • docs/src/content/docs/id/reference/overview.mdx
  • docs/src/content/docs/id/status.mdx
  • docs/src/content/docs/index.mdx
  • docs/src/content/docs/ja/index.mdx
  • docs/src/content/docs/ja/quick-start/installation.mdx
  • docs/src/content/docs/ko/index.mdx
  • docs/src/content/docs/ko/quick-start/installation.mdx
  • docs/src/content/docs/migration/v2-to-v3.mdx
  • docs/src/content/docs/pt/quick-start/installation.mdx
  • docs/src/content/docs/pt/status.mdx
  • docs/src/content/docs/quick-start/installation.mdx
  • docs/src/content/docs/ru/index.mdx
  • docs/src/content/docs/ru/quick-start/installation.mdx
  • docs/src/content/docs/ru/status.mdx
  • docs/src/content/docs/zh-cn/feedback.mdx
  • docs/src/content/docs/zh-cn/index.mdx
  • docs/src/content/docs/zh-cn/quick-start/installation.mdx
  • docs/src/content/docs/zh-cn/status.mdx
  • docs/src/content/docs/zh-tw/index.mdx
  • docs/src/content/docs/zh-tw/quick-start/installation.mdx
  • docs/src/content/docs/zh-tw/status.mdx
  • v3/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

Comment thread docs/src/content/docs/de/index.mdx Outdated
Comment thread docs/src/content/docs/zh-cn/feedback.mdx Outdated
Comment thread docs/src/content/docs/zh-cn/feedback.mdx Outdated
Comment thread docs/src/content/docs/zh-cn/index.mdx Outdated
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Aug 1, 2026 •

Copy link
Copy Markdown

Deploying wails with  Cloudflare Pages  Cloudflare Pages

Latest commit: 5e653fb
Status: ✅  Deploy successful!
Preview URL: https://894815de.wails.pages.dev
Branch Preview URL: https://releases-v3-beta.wails.pages.dev

View logs

@taliesin-ai taliesin-ai self-assigned this Aug 1, 2026
@taliesin-ai taliesin-ai moved this from Todo to In Progress in Wails Release Train Aug 1, 2026
@wailsapp wailsapp deleted a comment from leaanthony Aug 1, 2026
@wailsapp wailsapp deleted a comment from leaanthony Aug 1, 2026
@wailsapp wailsapp deleted a comment from leaanthony Aug 1, 2026
@wailsapp wailsapp deleted a comment from leaanthony Aug 1, 2026
@taliesin-ai

Copy link
Copy Markdown
Collaborator

Release-cycle implementation evidence at commit 20d83ca:

  • reconciled actionable review findings across release metadata, minimum-Go examples, localized Beta copy, v3 feedback guidance, and the historical audit checklist
  • updated the comparison base to the current preceding prerelease, v3.0.0-alpha2.121
  • full docs validation: Astro check passed and 1,721 pages built successfully after installing the declared D2 dependency
  • plan JSON and diff checks passed
  • local CodeRabbit review completed with no findings
  • 14 addressed/not-applicable review threads resolved; two human-decision threads remain open (approved launch copy, and Beta 0/Beta 1/GA schedule identity)
  • core v3 JS/Go jobs are green; the template matrix is still running in Actions run 30690098718

Project 16 remains Beta 0 / Required / In Progress, assigned to taliesin-ai. No release gate was changed.

@taliesin-ai

Copy link
Copy Markdown
Collaborator

Release branch synchronized and pushed in 78d991077cbc5ebb3cc1c55f00544bbd3a87c785.

Evidence:

  • merge parents are prior release head e50105582 and current master bc1eaa79e; no force push
  • preserved v3.0.0-beta.0 and the release evidence ledger; updated prevVersion plus the FAQ prior-alpha wording to the published v3.0.0-alpha2.122
  • left the launch-copy and release-target/schedule review threads unresolved for human decisions
  • passed git diff --check, jq empty .release/v3.0.0-beta.0/plan.json, focused release/version/updater tests, and changelog validation
  • CodeRabbit local review completed with no findings

Broader native Linux tests remain environment-limited by unavailable GTK3/GTK4/WebKit development packages. The merged dependency update also inherits the existing master tidy mismatch in v2/examples/customlayout (x/crypto 0.51 vs 0.52); the release-branch module files are byte-identical to master.

@leaanthony
leaanthony merged commit 6fa6ddc into master Aug 2, 2026
14 of 19 checks passed
@leaanthony
leaanthony deleted the releases/v3-beta branch August 2, 2026 11:23
@github-project-automation github-project-automation Bot moved this from In Progress to Done in Wails Release Train Aug 2, 2026
@taliesin-ai taliesin-ai added v3 and removed v3-alpha labels Aug 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Documentation Improvements or additions to documentation Linux v3

Projects

No open projects
Archived in project

Development

Successfully merging this pull request may close these issues.

3 participants