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:
74
CHANGELOG.md
Normal file
74
CHANGELOG.md
Normal 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
|
||||
71
README.md
71
README.md
@@ -6,12 +6,81 @@
|
||||
[](https://expressjs.com/)
|
||||
[](https://www.sqlite.org/)
|
||||
[](LICENSE)
|
||||
[](https://github.rommark.dev/admin/ClaudeCLI-Web)
|
||||
[](https://github.rommark.dev/admin/ClaudeCLI-Web)
|
||||
|
||||
---
|
||||
|
||||
## 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)
|
||||
|
||||
**🚀 Major Feature: HTTP Polling for Terminal Output**
|
||||
|
||||
Reference in New Issue
Block a user