Three visual modes: Solid, Translucent, and Glass
The app window background system was rebuilt around three visual modes. Solid mode preserves the traditional opaque look. Translucent mode makes windows and surfaces semi-transparent. Glass mode uses macOS 26's Liquid Glass APIs with Ghostty background-blur support for a modern frosted-glass effect when available, with graceful fallback to Translucent on older systems.
- Added AppearanceMode enum (Solid, Translucent, Glass) with capability gating for macOS 26
- Added AppearanceModeResolver that handles accessibility reduce-transparency overrides
- Added KajiAppearanceContext environment value threaded throughout the view hierarchy
- Added KajiControlSurface and TranslucentSurface wrappers for glass-aware component backgrounds
- Applied glass surfaces to browser toolbar, sidebar, inputs, selects, switches, segmented pickers, buttons, and icon toggles
- Added Ghostty glass terminal settings: background-opacity, background-blur, background-opacity-cells
- Added TerminalGlassBlurMode with Regular Glass and Clear Glass options
Kaji Agent Runtime build pipeline established
A dedicated build script (build-kaji-agent-runtime.sh) bundles the Kaji Agent Runtime TypeScript source into a single .mjs file using Bun, which is then embedded into the Kaji app resources. The release pipeline invokes this step before the Swift build.
- Added build-kaji-agent-runtime.sh for bundling the agent runtime with Bun
- Integrated agent runtime build into build-release.sh
- Added gitignore exclusion for the bundled kaji-agent-runtime.mjs artifact
- Added Bun installation step in the release workflow
FFF host search tools and permission modes for agents
Agents can now invoke FFF-backed file and text search tools through the Kaji host bridge, enabling fast indexed search without traversing the filesystem manually. Agent permission modes and zlob-backed glob matching were added for pattern-based file authorization.
- Added FFF host search tools for agent file and text search
- Added agent permission mode tracking for operation authorization
- Added zlob-backed glob matching for pattern-based agent file access
Native diff parser replaces SwiftyDiff adapter
The SwiftyDiff-backed parser was replaced with a fast native patch parser that tracks hunk line numbers, additions, deletions, and inline change segments. Diff views now render rows directly with cached attributed lines, and large diffs are rendered in chunks to avoid performance issues.
- Added a native fast diff parser replacing SwiftyDiff adapter
- Added DiffRenderPlan with chunked unified and split view support
- Added row indexing, line metrics, and split row pairing
- Improved large diff performance with cached attributed lines and backgrounds
- Added tests for render planning, inline diff segments, and split pairing
CI/CD infrastructure overhaul
The release pipeline was split into macOS 15 (deps build) and macOS 26 (Swift build) stages. Zig 0.16.0 auto-download was added for zlob builds, and CEF helper executable bits are restored after artifact download. SwiftUIIntrospect was added as a dependency for SwiftUI window introspection.
- Split release workflow into macos-15 deps and macos-26 Swift build jobs
- Added Zig 0.16.x auto-download in build-zlob.sh when missing
- Fixed CEF helper and zlob executable bits after artifact download
- Fixed ghostty.h inclusion in native deps artifact
- Added SwiftUIIntrospect dependency (v26.0.1)
- Bumped Kaji to 0.2.2