feat(webv2): restore the What's New notes and point docs at the v7 site - #9644
Merged
Merged
Conversation
Add a lightbulb to the app menu footer, between Settings and Documentation, that opens a small What's New dialog listing the `whatsNew.items` catalog entries with links to the release notes and the docs. The dialog also opens once per server version for each account, after preferences load and the alpha notice is acknowledged; dismissing it records `whatsNewSeenVersion` in the account's workbench preferences. The server version is held in the What's New store rather than the query cache: the gate mounts above the router, and account transitions clear that cache without remounting it. Initial focus lands on the dialog panel so the automatic showing does not draw a keyboard focus ring on the first link. The documentation links now go to https://invoke-ai.github.io/InvokeAI-7/. Keep the new boot modules in the route-shared chunk so startup requests stay at baseline, and re-record the build baseline for the three modules the startup graph now contains. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
lstein
requested review from
JPPhoto,
Pfannkuchensack,
blessedcoolant and
dunkeroni
as code owners
October 2, 2026 02:16
…pp menu The launchpad has no app menu, so its rail footer gets a What's New action with the same lightbulb, between Preferences and Help. The editor's Invoke menu gains a Home item, with the launchpad's house icon, above Manage. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Widen the dialog and lead with the v7 logo, title and version badge. Headline features show as icon cards from `whatsNew.highlights`, with the remaining notes listed beneath and the docs and release notes as footer buttons.
Replace the hard-coded `7.0` with `__version__` from invokeai_version.py, injected by Vite; the build fails if the file is missing or unparseable. The Docker web stage mirrors the repository layout so the file is available.
joshistoast
approved these changes
Oct 2, 2026
…modules appMetadata, whatsNewStore and useWhatsNew now load at startup: startup scripts grow by 4.8 KB on the launchpad and 7.5 KB in the editor, with no new requests.
joshistoast
enabled auto-merge
October 2, 2026 04:01
joshistoast
approved these changes
Oct 2, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This brings back the "What's New" notes from 6.14.2 and earlier in the v7 (webv2) UI, redesigned around the v7 highlights, and makes the UI show the real release version instead of a hard-coded
7.0.whatsNew.highlights: redesigned interface, projects, rebuilt Canvas, expanded model support), with the remaining notes listed under "Also in this release" (whatsNew.items). Read the Docs and Read Release Notes (releases/tag/v<server version>) are footer buttons. The<StrongComponent>emphasis from 6.14 is gone; card titles carry that emphasis now.whatsNewSeenVersionin the account's preferences.LightbulbFilament(bold) glyph as 6.14.2, vendored intoVendoredIcon.tsxbecause webv2 doesn't depend on react-icons.APP_VERSIONwas hard-coded to'7.0'and went stale (the server is7.0.0-rc1). Vite now reads__version__frominvokeai/version/invokeai_version.py, the same file the release workflow checks against the tag. The splash screen, app menu, Help menu,.invkexport manifest, and diagnostics and log exports all show the real version. The release process still bumps only that one file.Implementation notes
whatsNewStore, not in the TanStack query cache. The gate mounts above the router, and account transitions callqueryClient.clear()without remounting it. A query-backed version therefore never arrived in the real app, even though the unit tests passed. The version is loaded from the authenticated route'sbeforeLoad, and opening the dialog from the menu retries it.whatsNew.highlights.<key>entry inWhatsNewDialog.tsx, so adding a headline feature means adding both. The browser test fails if a catalog highlight has no card.import.meta.env.APP_VERSION, not as a global__APP_VERSION__define: Vitest browser mode re-encodes string globals, so they arrive wrapped in an extra pair of quotes. The build fails if the version file is missing or its__version__line can't be parsed; there is no fallback.appMetadata,whatsNewStoreanduseWhatsNewjoinROUTE_SHARED_MODULES, so startup request counts stay at the baseline. The build and browser baselines are re-recorded for those three modules entering the startup graph (measured cost under QA Instructions). The baseline's image-byte drop comes from main's assets changing since the 2026-09-29 capture. The 113 KB logo loads only when the dialog opens.translationKeys.test.tsnow treats an array's own path as a key, because arrays are read whole withreturnObjects.whatsNewSeenVersionso journeys don't open on the dialog, and the topbar-menu accessibility journey includes the new footer item in its keyboard order.Related Issues / Discussions
Follows #9613 (InvokeAI 7 alpha); the highlights are drawn from its release notes.
QA Instructions
pnpm lint(format, oxlint, tsc, architecture): passes.pnpm test: 9290 passed.pnpm test:browser: all files pass, includingWhatsNewDialogtests for:pnpm test:accessibility: all 17 journeys pass.pnpm test:performance:build(check-architecture-performance.mjs): passes.pnpm test:performance:browser: passes after re-recording the browser baseline for the three What's New boot modules. Startup scripts grow by 4.8 KB on the launchpad and 7.5 KB in the editor, and other assets by 1.2 KB (mostly the English catalog), with no new requests. The editor's image bytes drop by 112 KB because the previous capture predates main's asset changes. The 113 KB logo is not loaded at startup.APP_VERSIONis7.0.0-rc1in Node Vitest, browser Vitest,vite devand the production bundle. A build in the Docker stage's directory layout succeeds, and fails with a clear error when the version file is missing or malformed.Review
No material findings remain. Remaining limitations:
whatsNewSeenVersionback, so the notes show once more. Every preference already behaves this way.Compatibility / Rollout
/build/invokeai/frontend/webv2plus/build/invokeai/version/invokeai_version.py), and the final stage copiesdistfrom the new path.invokeai/version/invokeai_version.pytwo directories up now fails. The wheel script, CI workflows and Dockerfile all build inside the repository layout.Checklist
What's Newcopy (if doing a release after this PR)🤖 Generated with Claude Code