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