Skip to content

v0.2.1 — Security, Electron Desktop, Testing Infrastructure

Choose a tag to compare

@bobbyjohnstx bobbyjohnstx released this 06 Jul 18:30

What's New

Security Hardening

  • Timing-safe password comparison (crypto.timingSafeEqual)
  • Content Security Policy headers on all renderer pages
  • Command injection fixes (execFileSync for pdftotext and which)
  • URL scheme validation on shell.openExternal (http/https/mailto only)
  • Navigation restriction to renderer origin
  • Auth token query parameter deprecation warning
  • Provider filtering now applies to locally-discovered providers (Ollama, vLLM, MaaS)

Electron Desktop App — Professional Grade

  • System tray with Show Window / Quit context menu
  • Cross-platform menus for Windows and Linux (was macOS-only)
  • Global hotkey (Cmd/Ctrl+Shift+T) to bring window to front
  • Auto-updates via GitHub Releases with non-blocking notification banner
  • Theme sync — automatically detects OS dark/light mode changes
  • Zoom persistence across restarts
  • Dock/taskbar badges for background notifications
  • Minimum window size (960x600)
  • macOS lifecycle (close = hide to dock, Cmd+Q = quit)
  • Global error handlers for uncaught exceptions
  • Help menu links to GitHub repo/discussions/issues
  • macOS entitlements audit (removed 3 unnecessary permissions)

Testing Infrastructure

  • MockLanguageModel — deterministic LanguageModelV3 for testing session processor without real LLMs
  • Dependency audit CI — daily bun audit workflow with PR comments and issue creation
  • 125+ new tests across all packages (desktop, app, core)
  • Fixed 26 test failures (compaction, adapter, instruction, events, plugins)
  • Slow tests (>30s) marked .skip with documented convention for pre-release runs

Features

  • HTML session export (tinycode export --format html) — self-contained dark-theme HTML with collapsible tool calls
  • Session tree sidebar (<leader>b) — ASCII tree showing session hierarchy
  • Plugin lifecycle hookssession.start, session.end, session.switch, session.model.change (observe-only)
  • OC CLI cheatsheet in docs for cluster-admin agent users

Dependencies

  • AI SDK v6 → v7 (coordinated 20+ package migration)
  • Electron 41 → 42 (Chromium 148, supply chain hardening)
  • minimatch, hono, diff updated for CVE fixes
  • turbo, oxlint, @tsconfig/bun, vscode-languageserver-types updated
  • Removed unused @shikijs/transformers dependency
  • Removed dead omt LSP stub tools

Bug Fixes

  • Provider filtering: enabled_providers/disabled_providers now correctly apply to locally-discovered providers
  • Compaction: fixed processor.toMessage() (never existed), added file part serialization
  • Compact prompt cutoff lowered from ≤9B to ≤8B (9B models like qwen3.5:9b get full prompts)

Documentation

  • Cheatsheet, troubleshooting guide, getting-started tutorial, roadmap, SUPPORT.md
  • OC CLI cheatsheet for OpenShift cluster-admin users
  • tinycode vs Open WebUI explainer
  • Updated README with interfaces section, ecosystem details, container deployment patterns
  • All docs verified against current codebase