v0.21.0
PolyUI v0.21.0
What's new
- Chromium viewport (experimental). A real embedded browser in the agent viewport — input forwarding, address-bar sync, in-place reloads. Off by default: Settings → Advanced → Experimental Chromium browser.
- Native Anthropic and Gemini providers. No proxy, no shim, both ings.
- Real keyboard shortcuts, driven from a single registry.
Major changes
- CEF runtime now ships inside the Linux packages and is staged correS bundles.
- Markdown renders while a response streams instead of after it finishes.
- Composer state is scoped per conversation, so drafts no longer leak
- Accessibility pass: audible toasts, visible focus rings, reduced motion actually honoured, auth gate rebuilt on Radix Dialog.
- PolyAgent removed.
- Release and nightly CI collapsed into one reusable build workflow.
Minor changes
- Titlebar branding and a reworked sidebar rail.
- Sidebar performance: unvirtualized list, tooltips mounted only when collapsed, resize observers settled instead of firing every frame.
- Unified scrollbars, icon and type scales across the app.
- Scroll-to-bottom button above the composer.
- Settings dialog is capped instead of filling the viewport.
- 13 of 15 Dependabot advisories patched.
Bug fixes
- CEF failing to initialise, plus an idle spin that pinned ~80% CPU.
- Workspace collapsing under the browser drawer; layout now shrinks correctly in small windows.
- Sending a message did not scroll to the bottom from further up the
- Sidebar collapse jumped on the first frame; animations looped at transition speed under reduced motion.
- Tooltips overlapping the title bar; conversation row hover bleeding
- Windows builds failing to link — CEF, whisper and ONNX now share one static CRT.
Full Changelog: v0.20.11...v0.21.0