Skip to content

Latest commit

 

History

History
167 lines (137 loc) · 8.02 KB

File metadata and controls

167 lines (137 loc) · 8.02 KB

Changelog

[0.10.0] - 2026-04-28

✨ Features

  • Full Telegram connector — web UI configuration, employee routing, typing indicators, media support
  • /models command + Opus 4.7 support in Telegram (#50)
  • Cron job latency alerting — Slack warning when scheduled jobs exceed threshold

🐛 Fixes

  • Slack app_mention handler — bot now responds to @Bot mentions in channels; root channel messages without mention are correctly ignored (#46, thanks @lisovet)
  • crypto.randomUUID polyfill — web UI no longer crashes when accessed over plain HTTP on LAN/Tailscale (#47, thanks @lisovet)
  • body.model honored in POST /api/sessions and /stub — per-employee model routing now works for MCP and API clients (#45, thanks @papajade55-debug, closes #38)
  • Slack unfurl crash — skip unfurl events that crashed the Claude engine (#44, thanks @MarockNRoll)

[0.7.0] - 2026-03-19

✨ Features — Project Phoenix

  • Chat tabs — Cmd+W close, Cmd+Shift+[/] switch, draft persistence, status indicators
  • Command palette — cmdk-powered Cmd+K with actions, recents, sessions, skills search
  • Breadcrumb navigation — context-aware breadcrumbs on all pages
  • ChatPane extraction — reusable chat component decoupled from page
  • Enhanced sidebar — expandable employee groups, pin/unpin, context menu, hover actions
  • React Query data layer — query key factory, hooks for all resources, WS→cache invalidation bridge

🔧 Improvements

  • Tailwind migration — 640→120 inline styles (81% reduction), shadcn token system
  • Header consolidation — single 40px tab bar replaces 3 stacked headers on chat
  • Mobile UX — more menu in top header, clean tab bar, responsive sidebar
  • Session state sync — tabs and selected session stay in sync
  • Instant tab switching — no scroll flash, useLayoutEffect for immediate scroll

🏗️ Infrastructure

  • Goals CRUD API + SQLite table (backend, for future use)
  • Cost aggregation API + budget enforcement system
  • Mock engine for E2E tests
  • Vitest setup (api + web), Playwright config, GitHub Actions CI workflow

🧹 Cleanup

  • Removed: split view, goals/costs pages (no backend yet), 14 unused shadcn components
  • Fixed: dual-fetch anti-pattern in sidebar, session delete via mutations
  • Net: 81 files changed, +5,608 / -8,723 lines

[0.3.0] - 2026-03-10

🔧 Improvements

  • Codex engine now runs with --dangerously-bypass-approvals-and-sandbox — prevents Jimmy-managed Codex sessions from being constrained by CLI sandbox/approval defaults

[0.2.0] - 2026-03-10

✨ Features

  • Connector abstraction layer — connectors declare capabilities (threading, reactions, edits, attachments) and health status
  • replyMessage() vs sendMessage() split — proper thread-aware message routing
  • CronConnector — cron jobs are now message sources routed through SessionManager (unified flow)
  • Slack config options — shareSessionInChannel, allowFrom whitelist, ignoreOldMessagesOnBoot
  • Transport state tracking — new transportState field + queue depth visibility
  • In-chat slash commands — /cron list|run|enable|disable, /model <name>, /doctor
  • Runtime cron control — trigger/enable/disable jobs without restart
  • Web UI: Slack settings toggles for new config options
  • Web UI: Transport visibility — connector name, queue depth, transport state badges

🔧 Improvements

  • Unified message routing — all sources flow through SessionManager.route() with uniform IncomingMessage
  • Cron runner simplified — ~35% code reduction by delegating to SessionManager
  • Capability-aware decorations — reactions/edits conditional on connector capabilities
  • Config token masking — Slack tokens masked in GET /api/config
  • Session queue monitoring — getPendingCount() and getTransportState()

🏗️ Infrastructure

  • Build pipeline — web UI bundled into gateway dist
  • Test suite — threads, queue, and registry tests using Node.js native test runner
  • DB migration — auto-adds connector/transport columns, backfills from legacy fields

💥 Breaking Changes

  • Connector interface expanded with new required methods: replyMessage(), getCapabilities(), getHealth(), reconstructTarget()
  • IncomingMessage and Session types have new required fields
  • GET /api/connectors response shape changed from string[] to objects with capabilities
  • startScheduler() now takes SessionManager instead of engine map
  • sendMessage() no longer posts to threads — use replyMessage()

[0.1.1] - 2026-03-09

🐛 Bug Fixes

  • Remove @jinn/web workspace dependency from published package — was causing unsupported URL type "workspace:" error on npm i -g jinn-cli (web UI is embedded as static files during build, not a runtime dependency)

🔧 Improvements

  • Claude engine now runs with --dangerously-skip-permissions — prevents sessions from hanging on tool approval prompts in headless mode

[0.1.0] - 2026-03-09

First release of the Jinn AI gateway platform.

✨ Core Platform

  • Gateway server with HTTP REST API + WebSocket real-time events
  • Session manager with context builder (32K char budget, progressive trimming)
  • SQLite session registry with WAL mode
  • Per-session serial execution queue
  • File watchers for hot-reload (config, cron, org, skills)
  • Daemon lifecycle management (start/stop/status as background process)
  • Multi-instance support with dynamic home directory resolution

✨ Engines

  • Claude Code CLI engine wrapper (spawn, JSON streaming, session resume)
  • Codex SDK engine wrapper (in-process, streaming)
  • Model/effort level passthrough and configuration

✨ CLI

  • jinn setup — bootstrap ~/.jinn/ from templates
  • jinn start / stop / status — daemon management
  • jinn create / list / remove — instance management
  • jinn nuke — permanent instance deletion with safety prompts
  • jinn migrate — AI-assisted template migrations
  • jinn skills — skill discovery + skills.sh integration
  • --port flag for custom port binding

✨ Connectors

  • Slack connector (Socket Mode via @slack/bolt)
  • Thread/DM/channel source-ref mapping
  • Reaction workflow (👀 → ✅/❌)
  • Message splitting for long responses
  • Attachment download support

✨ Organization System

  • Employee personas (YAML) with departments, ranks, engine assignment
  • Org scanner with @mention routing
  • Department boards for inter-agent task tracking
  • Rich employee identity + generic connector context
  • Dynamic COO naming via onboarding

✨ Skills System

  • Markdown-based skill playbooks (SKILL.md with YAML frontmatter)
  • 10 built-in skills: management, cron-manager, skill-creator, self-heal, onboarding, migrate, sync, status, new, find-and-install
  • Skill symlink syncing to .claude/skills/ and .agents/skills/
  • skills.sh marketplace integration
  • Skills directory watcher with WebSocket change events

✨ Cron System

  • node-cron scheduler with hot-reloadable jobs.json
  • Run logging to JSONL files
  • Delegation pattern (cron → COO → employee → review → deliver)
  • Optional delivery to connectors

✨ Web UI

  • Full Next.js 15 static dashboard
  • Chat interface with voice recording, file attachments, rich markdown
  • Session browser with detail view
  • Org map (React Flow) with grid/feed views + employee detail panels
  • Kanban board with drag-drop, tickets, employee assignment
  • Cron visualizations — weekly schedule heatmap, pipeline grid
  • Cost dashboard with charts, anomaly detection, WoW comparison
  • Activity console with log browser + floating live stream widget
  • Global search (Cmd+K)
  • Settings page + onboarding wizard
  • 5-theme CSS system with accent color support
  • shadcn/ui components

✨ Session Context

  • Rich context injection (identity, CLAUDE.md, config, org, skills, cron, connectors, API reference)
  • Local environment awareness
  • Lazy onboarding (stub session)

🏗️ Infrastructure

  • pnpm + Turborepo monorepo
  • TypeScript throughout
  • Web UI bundled into CLI package
  • CI workflow (GitHub Actions)
  • README, CONTRIBUTING guide, LICENSE