Skip to content

v2.25.0

Choose a tag to compare

@haxllo haxllo released this 12 Oct 12:26
· 175 commits to master since this release

Your background, your call — plus chat that keeps up

The headline: the panel background is now a setting. Liquid Glass stays for those who love it, but solid black (now the default for fresh installs) and white are one dropdown away — each with readable text, parked glass, and edges drawn for flat paint instead of refraction. Around that, chat got its biggest polish pass yet.

What changed

  • Background setting (Settings → Display → Background): Liquid Glass / Black / White. Black and white paint solid, park the glass capture (no GPU burn), force the matching text palette, and switch live with no restart. Starting opaque no longer kills glass for the session either.
  • Markdown that behaves: links from bare URLs, _italic_/__bold__ without eating foo_bar, nested emphasis and code spans, #{1,6} headings, horizontal rules, nested bullet lists, - [ ] task checkboxes, indented code blocks, \ escapes, strikethrough — with javascript: URLs still staying dead text.
  • Composer that grows up: long pastes expand the box (pill relaxes into a rounded box past 3 lines), scroll internally with the Nex scrollbar, keep tools bottom-anchored, and recenter the placeholder when single-line. No morph flash on shape change.
  • Copy transcript + sane new-chat: copy icon next to +, and both disable on empty conversations so blank histories stop piling up.
  • Update flow unblocked: follow-up chat messages stopped dying with HTTP 400 (assistant history now uses output_text); the updater spawns without inheriting file handles, waits for renderers to die, retries longer, and names locking processes in the log when blocked.
  • Quieter chrome: update and What's New are independent pills; What's New never resumes after hide; footer hints and the sharing paragraph are gone; disabled icon buttons show a normal cursor.

Performance

  • Glass capture sleeps in opaque modes: no DXGI duplication running behind a solid panel.

Bug Fixes

  • Overlay edge saga, closed: thick double edges, DWM's smaller corner curve behind ours, square DWM borders at the corners, sheared drop shadows, WebView2 square-corner artifacts — each traced to its own painter and fixed (see docs/issues/overlay-edge-artifacts.md). Panel radius is 20px everywhere now, with one silhouette per mode.
  • Picker back navigation reaches This PC from drive roots; back button hides at top level.
  • File picker corners get a real border; its list uses the Nex scrollbar.
  • Focus outlines from the OS no longer show in chat.

Commit Log

  • 9fbd1f4 fix(overlay): independent update/whats-new pills, reset whats-new on hide
  • 1564c0f feat(settings): choosable panel background with glass, black, white
  • a7c37cd fix(theme): drop painted edge in opaque panel modes
  • ede3959 fix(theme): flat edge in opaque modes, dyed border
  • 8a327dd feat(theme): overlay corner radius 8px to 12px
  • bedcdc8 fix(chrome): no DWM backdrop under opaque panels
  • 073a46b feat(theme): overlay radius 20px to match pill aesthetic
  • 3da6c4f fix(chrome): single 20px silhouette, DWM corners off
  • 313f452 fix(chrome): region only for acrylic fallback, fresh geometry
  • 30faa40 fix(chrome): clip main window in all modes against runtime artifacts
  • caf48af fix(theme): single hairline edge in opaque modes
  • 1a54ba1 fix(theme): inset hairline immune to outer-edge rounding
  • be2836c fix(glass): align from client rect, not DWM extended bounds
  • 4a2b425 fix(chrome): revert all-modes region, sheared drop shadow
  • 459fee5 fix(chrome): dye DWM border to panel in opaque modes
  • 7234233 fix(chrome): disable DWM non-client rendering, drop square border
  • 5e790c0 fix(glass): don't latch glass off when starting opaque
  • 482bc48 feat(theme): black panel background by default
  • 7e04057 fix(chat): use output_text parts for assistant history turns
  • 3c11720 feat(updater): log locking processes when backup move is blocked
  • 5b85c5e fix(updater): non-inheriting spawn, WebView2 quiesce, longer backoff
  • 7f941e1 fix(chat): robust markdown with nesting, autolinks, tasks, hr
  • 113d425 fix(chat): composer grows gracefully for long pastes
  • 4711733 fix(chat): recenter single-line composer input
  • 2593474 fix(chat): instant composer shape switch, no radius morph
  • d8c769c fix(chat): real border on file picker corners
  • cf66354 chore(release): bump to v2.25.0

Binary