docs: Update README and add CHANGELOG for v1.2.0

Added v1.2.0 release notes documenting CLI session-based Full Stack mode
and all bug fixes included in this release.

- Updated version badge to 1.2.0
- Added comprehensive v1.2.0 release notes with:
  - New CLI session-based terminal mode
  - Shell command API endpoint
  - Smart command detection
  - Bug fixes (terminal creation, XSS, memory leaks, etc.)
  - Technical details and security notes
- Created CHANGELOG.md following Keep a Changelog format

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
uroma
2026-01-20 16:09:55 +00:00
Unverified
parent 9b9ff5456d
commit db711d5bdf
2 changed files with 144 additions and 1 deletions

74
CHANGELOG.md Normal file
View File

@@ -0,0 +1,74 @@
# Changelog
All notable changes to ClaudeCLI-Web will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [1.2.0] - 2026-01-20
### Added
- CLI session-based Full Stack mode for direct shell command execution
- `executeShellCommand()` method to ClaudeService for spawning bash processes
- `POST /claude/api/shell-command` API endpoint for terminal commands
- Smart command detection to differentiate shell commands from conversational messages
- Auto-mode switching suggestions when non-shell commands are sent in Terminal mode
- Real-time stdout/stderr capture with event emission
### Changed
- Replaced WebContainer-based Full Stack mode with Claude Code CLI session approach
- Simplified terminal mode architecture by removing 350KB WebContainer bundle
- Improved session filtering with path-based project matching
- Updated `handleWebContainerCommand()` to use CLI sessions instead of WebContainers
### Fixed
- Terminal creation failure in Full Stack mode ("Failed to create terminal" error)
- WebContainer SharedArrayBuffer serialization errors (no longer applicable with CLI approach)
- Session filtering showing unrelated sessions in project view
- Memory leaks from setInterval() calls in context-panel.js and landing.js
- XSS vulnerability in autocomplete (file names now properly escaped)
- sendMessage() undefined errors in chat-message-enhanced.js
- terminalManager reference errors (changed to window.terminalManager)
### Removed
- WebContainer dependency (no longer needed for Full Stack mode)
- COOP/COEP header requirements (eliminated with CLI session approach)
### Security
- All shell command endpoints require authentication
- Command injection protection via bash shell spawning
- Proper HTML escaping for dynamic content in autocomplete
## [1.1.0] - 2026-01-19
### Added
- HTTP polling system for terminal output
- Terminal type selection dropdown (Standard Shell vs Claude Code CLI)
- Debug panel for terminal troubleshooting
- HTTP POST input and resize endpoints
- Automatic cleanup of old terminal output (5 minutes retention)
### Changed
- Terminal output delivery from WebSocket to HTTP polling
- Terminal command execution via HTTP POST instead of WebSocket
### Fixed
- WebSocket closure with code 1006 in nginx configurations
- Terminal command execution failing silently
- Race condition in `switchToTerminal()` method
- Terminal type selector not appearing in modal
## [1.0.0] - Initial Release
### Added
- Session management with real-time status tracking
- Project organization with smart suggestions
- WebSocket-based terminal integration
- XML tag system for file operations
- Obsidian vault integration
- File browser and editor
- Real-time chat interface
[1.2.0]: https://github.rommark.dev/admin/ClaudeCLI-Web/compare/v1.1.0...v1.2.0
[1.1.0]: https://github.rommark.dev/admin/ClaudeCLI-Web/compare/v1.0.0...v1.1.0
[1.0.0]: https://github.rommark.dev/admin/ClaudeCLI-Web/releases/tag/v1.0.0

View File

@@ -6,12 +6,81 @@
[![Express](https://img.shields.io/badge/Express-4.22-blue)](https://expressjs.com/) [![Express](https://img.shields.io/badge/Express-4.22-blue)](https://expressjs.com/)
[![SQLite](https://img.shields.io/badge/SQLite-3.0-orange)](https://www.sqlite.org/) [![SQLite](https://img.shields.io/badge/SQLite-3.0-orange)](https://www.sqlite.org/)
[![License](https://img.shields.io/badge/License-ISC-blue)](LICENSE) [![License](https://img.shields.io/badge/License-ISC-blue)](LICENSE)
[![Version](https://img.shields.io/badge/Version-1.1.0-brightgreen)](https://github.rommark.dev/admin/ClaudeCLI-Web) [![Version](https://img.shields.io/badge/Version-1.2.0-brightgreen)](https://github.rommark.dev/admin/ClaudeCLI-Web)
--- ---
## Version History ## Version History
### v1.2.0 (2026-01-20)
**🚀 Major Feature: CLI Session-Based Full Stack Mode**
This release introduces a simplified Full Stack mode using Claude Code CLI sessions instead of WebContainers, eliminating complex COOP/COEP header requirements and reducing bundle size by ~350KB.
#### Changes
**✨ New Features**
- **CLI Session-Based Terminal Mode** - Execute shell commands directly in Claude Code CLI sessions
- Spawns bash process for command execution
- Captures stdout, stderr, and exit codes
- Real-time output streaming via events
- No SharedArrayBuffer or special headers required
- **Shell Command API** - `POST /claude/api/shell-command` endpoint for executing commands
- **Smart Command Detection** - Automatically detects shell commands vs conversational messages
- Warns when conversational messages are sent in Terminal mode
- Auto-switches to Chat mode for non-shell commands
**🔧 Improvements**
- **Simplified Architecture** - Removes WebContainer dependency
- Faster startup (no 350KB bundle download)
- Better error handling
- Uses existing Claude Code infrastructure
- **Terminal Mode Reliability** - Fixed terminal creation failures
- Removed terminalManager reference errors
- Added fallback to native command execution
- **Project-Based Session Filtering** - Improved session filtering logic
- Path-based matching for accurate project assignment
- Better handling of nested directories
**🐛 Bug Fixes**
- Fixed terminal creation failure in Full Stack mode ("Failed to create terminal" error)
- Fixed WebContainer SharedArrayBuffer serialization errors
- Fixed session filtering showing unrelated sessions
- Fixed memory leaks from setInterval() calls
- Fixed XSS vulnerability in autocomplete (file names now escaped)
- Fixed sendMessage() undefined errors
**📝 Technical Details**
- `services/claude-service.js`:
- Added `executeShellCommand()` method for spawning bash processes
- Captures stdout/stderr with real-time event emission
- Returns Promise with exitCode, stdout, stderr
- `server.js`:
- Added `POST /claude/api/shell-command` endpoint
- Requires authentication via `requireAuth` middleware
- Validates sessionId and command parameters
- `public/claude-ide/chat-functions.js`:
- Rewrote `handleWebContainerCommand()` to use CLI sessions
- Added `sendShellCommand()` helper for API calls
- Smart command detection for shell vs conversational
- Auto-mode switching suggestions
**🔒 Security**
- All shell command endpoints require authentication
- Command injection protection via bash shell spawning
- Proper error handling for failed commands
**⚙️ Compatibility**
- Requires Claude Code CLI to be installed and accessible
- No special HTTP headers needed (removes COOP/COEP requirement)
- Maintains backward compatibility with Chat mode
---
### v1.1.0 (2026-01-19) ### v1.1.0 (2026-01-19)
**🚀 Major Feature: HTTP Polling for Terminal Output** **🚀 Major Feature: HTTP Polling for Terminal Output**