If Empryo flat-out would not start on Windows, that was us, and it was a silly one. The spinner on the splash screen handed its artwork to a helper process the laziest way imaginable: as one giant command-line argument, about 32,306 characters of it. Windows hangs up at 32,767. Install into a folder with a slightly longer path and you crossed the line — Empryo died before printing a single word, and reinstalling could never fix it. The artwork travels down a pipe now. Argv carries code and nothing else.
Windows- A spinner that fails can no longer take the app with it. It used to throw from the top of the file. Empryo is not, in fact, dependent on a spinner.
- Boot crashes read like sentences. The crash handler was registered about 800 lines too late, so anything that broke during startup — hydration, native probes, the console switch, the splash — printed a wall of minified Bun internals and no report. It's the first statement in the file now: readable message, crash-report file. (This is exactly how the bug above hid for so long.)
- `empryo doctor` stops dying mid-report. It was loading a graphics addon that segfaults on Windows. The terminal UI has skipped it there for ages; doctor now honours the same rule and says "skipped".
- `Failed to create TextBuffer` finally names its cause — UI tree too large, handles retained after unmount, or the allocator refusing — and warns at 70% of the limit, while you can still do something about it.
- Dock the browser, the map and the chat together. A wide screen fits all five panes, each resizable, and chat never trades away its floor.
- Too narrow? Panes get demoted, not deleted. Columns shrink toward their minimums first, then side panes float instead of vanishing.
- Resize with the keyboard. Arrows on a grip (Shift for bigger steps), Home/End for the ends, Enter to reset.
- The widths in between are reachable. Every screen used to land on the same hardcoded 640px, because "no stored width yet" could never actually happen.
- Pane headers wrap instead of shoving their own collapse button off the edge.
- See-Through is see-through. The shell was painting an opaque layer *under* every pane, so the entire slider range did nothing. The same alpha was also stacked five times over — 0.58 five times composites to ~0.99, which is a wall. The frame is painted once now.
- Windows translucency is back. Mica never shows what's behind the window; acrylic does. We went back to acrylic.
- Opacity floors, re-measured against a window that can genuinely see through. They'd been shaved to nothing while chasing a bug that lived somewhere else entirely.
- Chrome stays legible over a backdrop it can't trust — including a clear window, where the titlebar text was sitting directly on your wallpaper.
- One "Around panes" control, with sliders that don't stick, and a frame that follows each pane's curve instead of ruling a straight band across it.
- A restart is only asked for when one is genuinely needed. Blurred ⇄ Solid changes live; only crossing into or out of See-Through needs a new window.
- A thinner titlebar with one pane on the right — Context, Memory, Errors, Tools and Diffs are tabs now, and the ⌘K button is gone, since ⌘K already exists.
- The update dialog's forge idles while it waits, then extends into the download instead of restarting the scene.
- "What's new in v3.5.2-beta" no longer appears above some older release's notes.
- Change an appearance setting against a stale main process and it tells you, rather than storing it nowhere.
- Quieter diff wash, evener memory rows.
It isn't. The installer is unsigned — certificates are a recurring cost — and Defender's ML has taken to tagging fresh unsigned builds (Trojan:Win32/Wacatac.B!ml). That's a guess about a file nobody has downloaded yet, not a finding. Every artifact ships with an RSA-4096-signed SHA256 manifest on dl.empryo.com, and the installers check against it before anything runs.
