Changelog
All notable changes to jcode are documented here. This project adheres to Semantic Versioning and follows the Keep a Changelog format.
For the full changelog, see CHANGELOG.md in the repository root.
Latest Release
[0.3.2] - 2026-04-20
TUI Cancel Confirmation • Slash Command Autocomplete • OnAgentStart Lifecycle Event
Added
- Cancel agent confirmation dialog to prevent accidental aborts when cancelling a running agent
- Interactive slash command autocomplete with keyboard navigation and filtering
- Type
/to see all available commands, filter as you type, Up/Down to navigate - Tab or Enter to accept, Esc to dismiss
- Type
OnAgentStart()lifecycle event for immediate working feedback before any LLM call- Web frontend handles
agent_startSSE/WS event for real-time running state
Changed
- Simplified token usage tracking with
LastTotalTokensfield - Working notification moved from
OnAgentTexttoOnAgentStartfor earlier visual feedback
Fixed
- Resolved gocritic, staticcheck and ineffassign lint warnings
- Handle unchecked error returns in BLE code (errcheck)
[0.3.1] - 2026-04-19
BLE IoT Notifications • Notifier System Refactoring • Rich Message Formatting
Added
- BLE IoT device notifications with auto-discovery of JCODE-* devices
- Real-time agent status push to BLE devices (idle/working/attention/complete)
- Nordic UART Service (NUS) protocol support for device commands
- Lazy background connection with automatic reconnection on failure
Notifierinterface with structuredNotifyEventtypesChannelNotifierwrapper to use anyChannelas aNotifier- WeChat integrated as notifier for automatic working/idle status pushes
- Varied, time-aware rich messages for WeChat (4+ variations per event)
- BLE-optimized short commands with ~10 character display values
Changed
Notifier.Notify()now takes structured events instead of raw strings- Event types:
EventIdle,EventWorking,EventApproval,EventDone - Each notifier formats events for its display (BLE: commands, WeChat: rich text)
- BLE messages: idle→”ready”, working→”thinking”, complete→”done”/”failed”
- WeChat messages vary by time-of-day and rotate for natural conversation
- Agent completion triggers “complete” then returns to “idle” after 5 seconds
[0.2.2] - 2026-04-18
Grep Enhancements • Doctor Command • WeChat Idempotency • Web UI Fixes
Added
- Hidden file support and updated default output mode for grep tool
- Enhanced
jcode doctorwith improved system diagnostics - Login reminder message for WeChat session activation
- Idempotent message deduplication for WeChat to prevent duplicate processing
Changed
- Makefile computes version from latest git tag automatically
- Message splitting adjusted to prevent orphaning tool-result messages during compaction
- Web sessions sorted by creation date for consistent ordering
Fixed
- Web conversation rendering and session sort order
- Tool result handling for proper display in web UI
[0.2.1] - 2026-04-17
Dark Mode / Theme System • WeChat Channel Integration • Tool Call Enhancements • Bug Fixes
Added
- Dark / Light / System theme modes with CSS custom-property design tokens
useThemecomposable for reactive theme management across all web components- Pre-hydration script to prevent flash of unstyled content (FOUC) for light-theme users
- Smooth cross-fade animations on theme transitions
- Bidirectional WeChat messaging: send prompts from WeChat, receive results back
- Inbound WeChat messages displayed in web UI with green “WeChat” label
- Toolbar toggle for quick WeChat enable/disable
- Settings dialog Channels tab with Connect/Disconnect and QR code login
- Approval and task-done notifications pushed to WeChat
toolCallIDfor precise tool call/result matching
Changed
- Web UI design system migrated from hardcoded Tailwind classes to CSS custom properties
- Execute tool reports exit codes correctly instead of returning errors
- NotifyingHandler always registered in web mode (UI toggle works without config)
- DOMPurify bumped to 3.4.0
Fixed
- Web UI showing user messages twice
- WeChat inbound messages not reaching agent in web mode
- Done/approval notifications not firing in web mode
- Approval notification race with 10s timer
- Exit code not reported on command failure
[0.1.1] - 2026-04-16
TUI Session Display Enhancements • Langfuse Integration Improvements • Session Recording Enhancements
Added
- Full session reconstruction with complete tool call history on resume
- Nested span support for subagent and teammate traces using
ParentObservationID - Subagent session recording with tool call and result persistence to JSONL
- Tool call ID linking between calls and results for full audit trails
ToolCallIDfield in session entries for tool call/result pairing
Changed
- Streaming tool call arguments now accumulated across chunks before display
- Tool call history reconstruction from JSONL includes complete tool messages
- Subagent inner tool calls and results recorded alongside parent session
- Tool parameters displayed during streaming execution (no truncation)
Fixed
- Streaming tool call arguments partial JSON fragments now properly accumulated
- Subagent tool call parameters missing from TUI display
- Subagent session content not persisted or displayed on resume
- Langfuse traces incomplete for subagent and teammate execution paths
- Tool parameters disappearing from conversation history during reduction
Version History
[0.0.3] - 2026-04-10
Self-update Support • Installation Script
Added
jcode updatecommand for self-updating binary- Installation script for easy setup from GitHub
Changed
- Improved build and release workflow
- Enhanced artifact handling in CI/CD pipeline
[0.0.2] - 2026-04-09
Artifact Download Fix
Fixed
- Artifact download path corrected to ‘internal/’ in release workflow
[0.0.1] - 2026-04-08
Initial Release
Added
- Core agent loop with file operations, shell execution, and regex search
- Todo tracking and interactive user prompting
- Plan Mode for structured task review before execution
- Agent Teams for parallel multi-agent coordination
- SSH support for remote code editing
- Multi-model support with OpenAI-compatible APIs
- Session recording and resume capability
- Web interface with React/Vue frontend
- Langfuse integration for tracing
- Per-agent token usage tracking
- WebSocket support for real-time communication
How to Check Your Version
jcode version
Shows:
- Current version number
- Build timestamp
- Git commit SHA
How to Update
jcode update
This automatically downloads and installs the latest version. You can also update manually:
curl -fsSL https://raw.githubusercontent.com/cnjack/jcode/main/script/install.sh | sh
What Changed Between Versions
Use the full CHANGELOG.md to see detailed changes for each release, including:
- Added features and capabilities
- Changed behavior and improvements
- Fixed bugs and issues
- Technical implementation details
- Deprecated features
Breaking Changes
This section will document any breaking changes that may affect your workflow:
Currently: No breaking changes between v0.0.1 and v0.0.4.
All releases maintain backward compatibility with existing configurations and workflows.
Getting Help
- Questions about a feature? Check the Features section
- Command reference? See Commands & Shortcuts
- Configuration questions? Visit Configuration
- Report a bug? Open an issue on GitHub
Last updated: April 20, 2026