|
| 1 | +# Changelog |
| 2 | + |
| 3 | +All notable changes to Opcode will be documented in this file. |
| 4 | + |
| 5 | +## [0.3.0] - 2025-01-15 |
| 6 | + |
| 7 | +### Major Features |
| 8 | + |
| 9 | +#### Plugin Management System |
| 10 | +A complete plugin ecosystem has been integrated into Opcode, bringing the full power of Claude Code's plugin marketplace directly into the desktop application. |
| 11 | + |
| 12 | +- **Plugin Discovery**: Browse all available plugins from the official Claude marketplace directly within the app |
| 13 | +- **Local Cache Integration**: Seamlessly reads from Claude's local marketplace cache (`~/.claude/plugins/marketplaces/`) for instant access to plugin metadata |
| 14 | +- **Plugin Installation**: Install, enable, and disable plugins with a single click |
| 15 | +- **Marketplace Management**: View and manage registered plugin marketplaces |
| 16 | +- **Three-Tab Interface**: |
| 17 | + - **Discover**: Browse all available plugins with descriptions, authors, and tags |
| 18 | + - **Installed**: Manage your currently installed plugins |
| 19 | + - **Marketplaces**: Configure plugin sources and view marketplace statistics |
| 20 | + |
| 21 | +#### Skills Management System |
| 22 | +Full CRUD operations for Claude Code skills, allowing users to create, edit, and manage custom skills. |
| 23 | + |
| 24 | +- **Skills Editor**: Create and modify skills with syntax-highlighted YAML/Markdown editing |
| 25 | +- **File Management**: Read, write, and delete skill files directly from the app |
| 26 | +- **Skills Browser**: View all available skills with their configurations |
| 27 | +- **Integration**: Skills sync with Claude Code's native skill system |
| 28 | + |
| 29 | +#### Claude Memories Editor |
| 30 | +A dedicated panel for viewing and editing Claude's memory files, providing transparency and control over persistent context. |
| 31 | + |
| 32 | +- **Memory Browser**: View all stored memories across projects |
| 33 | +- **Inline Editing**: Edit memory content directly in the app |
| 34 | +- **Memory Management**: Create new memories and delete outdated ones |
| 35 | + |
| 36 | +#### MCP (Model Context Protocol) Servers Tab |
| 37 | +Enhanced MCP server management moved to a dedicated Settings tab for better organization. |
| 38 | + |
| 39 | +- **Server List**: View all configured MCP servers with status indicators |
| 40 | +- **Add Server**: Easily add new MCP servers with guided configuration |
| 41 | +- **Server Status**: Real-time status checking for MCP server connectivity |
| 42 | +- **Configuration Management**: Edit and remove server configurations |
| 43 | + |
| 44 | +### Web Server Mode Enhancements |
| 45 | + |
| 46 | +#### Mobile & Remote Access |
| 47 | +The web server mode has been significantly improved for mobile browser access: |
| 48 | + |
| 49 | +- **WebSocket Protocol Fix**: Automatic detection of HTTPS connections to use `wss://` protocol, fixing connectivity issues when accessing via ngrok or other HTTPS tunnels |
| 50 | +- **Claude Installations Endpoint**: New `/api/settings/claude/installations` endpoint for web mode |
| 51 | +- **Debug Command**: Added `just debug` command for troubleshooting Claude binary detection |
| 52 | + |
| 53 | +### Cross-Platform Improvements |
| 54 | + |
| 55 | +#### Windows Support |
| 56 | +- Added Windows support for Claude binary detection |
| 57 | +- Conditional compilation for Windows and Unix-like systems |
| 58 | +- Platform-specific path handling |
| 59 | + |
| 60 | +#### NVM Integration |
| 61 | +- Improved Claude binary detection for active NVM environments |
| 62 | +- Support for `NVM_BIN` environment variable detection |
| 63 | +- Prioritizes currently active NVM environment over other installations |
| 64 | +- Maintains backward compatibility with existing detection methods |
| 65 | + |
| 66 | +### Bug Fixes |
| 67 | + |
| 68 | +#### Project Path Display |
| 69 | +Fixed a critical bug where project paths containing hyphens were incorrectly displayed: |
| 70 | +- Projects like `~/projects/flipside/data-discovery` were showing as `~/projects/flipside/data/discovery` |
| 71 | +- Root cause: Only the first line of JSONL session files was checked for `cwd` field |
| 72 | +- Solution: Now checks up to 10 lines for valid, non-empty `cwd` values |
| 73 | +- Added comprehensive unit tests covering the bug scenario and edge cases |
| 74 | + |
| 75 | +#### IME Composition Handling |
| 76 | +Improved input handling for users of CJK input methods and other IME systems: |
| 77 | +- Added IME composition state tracking to prevent premature submission during input composition |
| 78 | +- Handles `onCompositionStart`/`onCompositionEnd` events in text inputs and textareas |
| 79 | +- Replaced `onKeyPress` with `onKeyDown` for better IME interaction handling |
| 80 | +- Fixed in: AgentExecution, ClaudeCodeSession fork dialog, TimelineNavigator, WebviewPreview URL input, FloatingPromptInput |
| 81 | + |
| 82 | +#### Message Scroll Behavior |
| 83 | +- Implemented dual-phase scrolling: virtualizer positioning + native scroll to bottom |
| 84 | +- Reduced excessive bottom padding from `pb-40` to `pb-20` for better viewport usage |
| 85 | +- Unified scroll behavior across auto-scroll, history loading, and manual scroll |
| 86 | +- Fixed issue where streamed content bottom couldn't reach viewport |
| 87 | + |
| 88 | +#### Theme Improvements |
| 89 | +- Fixed light theme code block backgrounds to use white |
| 90 | +- Fixed light theme bash block backgrounds to use white |
| 91 | + |
| 92 | +### Code Quality & Developer Experience |
| 93 | + |
| 94 | +#### ESLint 9 Migration |
| 95 | +- Migrated to ESLint 9 with flat config format |
| 96 | +- TypeScript and React plugin integration |
| 97 | +- Reduced strict rules for practical development workflow |
| 98 | + |
| 99 | +#### Project Rename |
| 100 | +- Completed rename from "Claudia" to "Opcode" throughout codebase |
| 101 | +- Updated binary names, console messages, and documentation |
| 102 | +- Updated web server binary from `claudia-web` to `opcode-web` |
| 103 | + |
| 104 | +#### Dependency Fixes |
| 105 | +- Pinned `image` crate to 0.25.1 to avoid edition2024 requirement |
| 106 | +- Resolved TypeScript compilation errors for web/Tauri compatibility |
| 107 | +- Fixed missing `installation_type` field in ClaudeInstallation struct |
| 108 | + |
| 109 | +### Settings Page Redesign |
| 110 | +The Settings page now features 12 organized tabs: |
| 111 | +1. General |
| 112 | +2. Models |
| 113 | +3. Privacy |
| 114 | +4. Claude Installation |
| 115 | +5. Sessions |
| 116 | +6. Slash Commands |
| 117 | +7. Skills |
| 118 | +8. Agents |
| 119 | +9. Checkpoints |
| 120 | +10. Memories |
| 121 | +11. Plugins |
| 122 | +12. MCP |
| 123 | + |
| 124 | +### Technical Details |
| 125 | + |
| 126 | +#### New Rust Modules |
| 127 | +- `src-tauri/src/commands/plugins.rs` - Plugin management backend |
| 128 | +- `src-tauri/src/commands/skills.rs` - Skills management backend |
| 129 | + |
| 130 | +#### New React Components |
| 131 | +- `src/components/PluginManager.tsx` - Plugin management UI |
| 132 | +- `src/components/SkillsManager.tsx` - Skills management UI |
| 133 | +- `src/components/ClaudeMemoriesPanel.tsx` - Memories editor |
| 134 | + |
| 135 | +#### API Changes |
| 136 | +- Added plugin management endpoints: `plugins_list_marketplaces`, `plugins_fetch_marketplace`, `plugins_install`, `plugins_uninstall`, etc. |
| 137 | +- Added skills endpoints: `skills_list`, `skill_get`, `skill_save`, `skill_delete`, `skill_read_file`, `skill_save_file`, `skill_delete_file` |
| 138 | +- Added web server endpoints for Claude installations |
| 139 | + |
| 140 | +--- |
| 141 | + |
| 142 | +## [0.2.1] - Previous Release |
| 143 | + |
| 144 | +- Version bump and configuration sync |
| 145 | +- Initial agent editing capabilities |
| 146 | +- README updates and documentation improvements |
| 147 | + |
| 148 | +## [0.2.0] - Previous Release |
| 149 | + |
| 150 | +- Core Opcode functionality |
| 151 | +- Agent management system |
| 152 | +- Session checkpoints and timeline |
| 153 | +- MCP server integration |
| 154 | +- Usage analytics |
| 155 | + |
| 156 | +--- |
| 157 | + |
| 158 | +### Upgrade Notes |
| 159 | + |
| 160 | +This release is fully backward compatible. No migration steps required. |
| 161 | + |
| 162 | +### Known Issues |
| 163 | + |
| 164 | +- Web server mode is limited to single concurrent session per connection |
| 165 | +- Process cancellation in web mode requires additional implementation |
| 166 | +- stderr handling not yet fully implemented in web mode |
| 167 | + |
| 168 | +### Contributors |
| 169 | + |
| 170 | +Built with Claude Code by the Opcode team. |
0 commit comments