Skip to content

Crash-proof desktop with real logs, Linux .deb/.rpm packages, and a faster everything

Empryo 3.3.0-beta, released Jul 9, 2026. Part of the 3.3 line.

Release notes

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/Empryo on macOS, ~/.config/Empryo/logs on 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.

Fixed

  • 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.
  • --timeout in headless runs now also bounds background agents, piped --json output can no longer be truncated on exit, a failed --login exits 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.

Under the hood

  • 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.