‹ all releases
The reliability release. The desktop app can no longer die silently — every early failure now surfaces with the logs you need to report it — Linux users finally get native packages, and a Chromium-generations Electron jump plus the React Compiler make the whole app quicker.
Highlights- Crashes now show themselves. A global crash guard catches every fatal error — even before the window exists — and shows a dialog with the full story: copy the logs, save them to a file, open the log folder, restart, or close. No more blank-screen deaths on Linux (or anywhere).
- Persistent logging, finally. Main-process, bridge, and interface errors all land in a rotated log file (
~/Library/Logs/Empryoon macOS,~/.config/Empryo/logson Linux), so a GUI-launched app no longer discards its own diagnostics. Fatal errors also write a standalone crash report. - Linux gets .deb and .rpm. Alongside the AppImage, native packages for Debian/Ubuntu and Fedora-family distros — x64 and arm64 — built and checksum-signed by the same release pipeline, on the download page now.
- Electron 43 + React Compiler. Ten Chromium generations newer (and back in the security-support window), with the interface auto-memoized by the React Compiler — snappier long chats without a single hand-written memo.
- LLM Gateway, three ways in. Log in with your browser to account credits or straight into your DevPass subscription (
/login llmgateway,/login llmgateway-devpass), or paste an API key — on desktop, in the TUI, and headless. Empryo now identifies itself as Empryo on the consent page. - Know what you're spending. A new Usage view — desktop drawer and TUI
/usage— with today/week/month spend, per-model breakdowns, a 30-day sparkline, and a DevPass budget ring showing exactly how much is left until reset. Powered by a local ledger, so it works offline and for every provider; it switches to live gateway numbers automatically once the gateway ships a key-scoped usage API.
- A stopped turn no longer waits out the full retry backoff before actually stopping, and a closed tab can no longer wedge itself mid-send.
- Checkpoint restore no longer corrupts binary files and no longer strips trailing newlines from text files; Windows paths restore correctly.
--timeoutin headless runs now also bounds background agents; piped--jsonoutput can no longer be truncated on exit; a failed--loginexits non-zero; Ctrl+C keeps its documented exit code on Windows.- The TUI no longer sprays escape sequences into pipes or logs when stdout isn't a terminal, and a clean quit can no longer terminate the shell wrapper that launched it.
- On Linux, bridge child processes (git and friends) now find per-user installs (
~/.bun/bin,~/.local/bin) when launched from the desktop.
- Conversation-history sanitizing now skips arrays it has already proven clean — per-turn cost stays flat instead of growing with session length.
- Renderer errors, unhandled rejections, and React error-boundary crashes are reported to the same log file over IPC, rate-limited so a hot loop can't flood it.
If Empryo ever breaks on your machine now, it will tell you — and hand you the logs to make it our problem instead of yours.
