Kaji for macOS is being built in public →
0.1.6May 22, 2026
Release resource loading and browser profile recovery

Packaged resources load from the right place

This bug-fix release hardens how Kaji finds its bundled resources in packaged builds. Browser MCP scripts, CodeGraph adapters, Parent Agent runtime files, language packs, icons, and other app assets now resolve through a shared app resource bundle lookup instead of assuming SwiftPM's development-time layout.

Translation: the app is much less likely to work perfectly in debug and then go looking for its socks in production.

  • Added a shared Bundle.appResources lookup across app bundle, resource, executable, and loaded-bundle candidates
  • Moved Browser MCP, CodeGraph, Parent Agent runtime, shortcut, and language-pack resource loading onto the packaged app resource bundle
  • Updated the release workflow to smoke-launch the app during release builds

Browser profiles recover after a bad startup

Kaji now detects if the embedded Chromium profile was interrupted during startup, quarantines the old profile when needed, clears stale singleton lock files, and creates a clean profile for the next launch. If the browser profile gets haunted, Kaji moves it aside and keeps going.

  • Added a CEF startup marker so failed browser startups can be detected on the next launch
  • Removes stale SingletonCookie, SingletonLock, and SingletonSocket files before startup
  • Quarantines failed CEFProfile directories with timestamped backups
  • Marks browser startup complete after the embedded browser remains stable
  • Added tests for stale lock cleanup, startup-marker cleanup, and failed-profile quarantine behavior