Releases: chriswritescode-dev/opencode-manager
v0.8.27 - SSH Authentication
🚨 New Features
SSH Authentication
- SSH key authentication for git repositories
- Host key verification with fingerprint display
- Support for passphrase-protected SSH keys
- Custom SSH port support for non-standard ports
- Known hosts management with change detection
🔧 Improvements
Git Service Refactoring
- Consolidated git services into single
GitServiceclass for better maintainability - Enhanced settings dialog UI and UX
UI/UX Enhancements
- Fixed dialog positioning issues across desktop and mobile (#117, #116, #115)
- Improved z-index layering for proper dialog stacking
- Enhanced GitCredentialDialog responsiveness
- Cache load state improvements (#118)
📚 Documentation
- Updated documentation with SSH Authentication feature
Stats: 10 commits, 4 files changed in documentation, version 0.8.27
v0.8.26
Summary
Consolidated git services into a single unified class, improved settings dialog state management, and updated UI assets.
Changes
- Backend: Consolidated 7 separate Git service classes (GitCommitService, GitPushService, GitLogService, GitStatusService, GitFetchPullService, GitBranchService, GitDiffService) into a single
GitServiceclass - Backend: Updated 15+ route handlers in
backend/src/routes/repo-git.tsto use the new consolidated service - Frontend: Refactored settings dialog to use URL-based state management with tab synchronization
- UI: Replaced X icon with SquareFill for stop button
- Assets: Updated social preview image
Benefits
- Reduced code duplication and improved maintainability
- Simplified Git operations through a single service interface
- Better state management for the settings dialog
Breaking Changes
None (internal refactoring only)
v0.8.25 - Push Notifications Support
v0.8.25 - Push Notifications Support
Major Features
Push Notifications with VAPID
- Added background push notification support for agent events when PWA is closed
- Implemented VAPID (Voluntary Application Server Identification) for browser push notifications
- Client visibility tracking to prevent duplicate notifications when app is open
- Support for 4 event types:
- permissionAsked - Agent requests permission for an action
- questionAsked - Agent asks a clarifying question
- sessionError - Session encounters an error
- sessionIdle - Session completes successfully
- Full subscription management: subscribe, unsubscribe, list devices, test notifications
- Per-user notification preferences with granular event control
PWA Enhancements
- Added PWA icons (192x192, 512x512) for better mobile home screen experience
- Added maskable icon variants for adaptive icon support on Android
- Apple touch icon for iOS PWA installation
- Enhanced manifest.json with proper icon metadata
- Service worker configuration for push notification handling
Notification Service Architecture
- New NotificationService backend service with VAPID configuration
- Database schema for push subscription management
- Automatic expired subscription cleanup
- Integration with SSE aggregator for event-driven notifications
- Settings service integration for user preferences
Documentation
- Comprehensive push notifications setup guide in docs/features/notifications.md
- Environment variable documentation for VAPID configuration
- Browser compatibility notes including iOS/Safari specific requirements
- VAPID_SUBJECT validation warnings for Apple Push Notification Service
- README updates with push notification feature description
Frontend Improvements
Notification Settings UI
- New NotificationSettings component for managing push subscriptions
- Real-time permission status display and enable/disable controls
- Device list showing endpoint, device name, and last used timestamp
- Test notification button for verification
- Granular event preference toggles
Icon Improvements
- Replace SquareFill with proper Lucide icons for recording controls
- MicOff icon for stop recording buttons
- X icon for stop generation buttons
- Better visual consistency with Lucide icon set
Installation
Docker users:
```bash
docker pull ghcr.io/chriswritescode-dev/opencode-manager:latest
```
Or specific version:
```bash
docker pull ghcr.io/chriswritescode-dev/opencode-manager:v0.8.25
```
Stats
- Files changed: 48
- Lines added: +7,279
- Lines removed: -2,840
- Net change: +4,439 lines
Full changelog: v0.8.24...v0.8.25
v0.8.24 - Virtualized Text Viewer Refactor & MCP OAuth Support
v0.8.24 - Virtualized Text Viewer Refactor & MCP OAuth Support
Major Features
Virtualized Text Viewer Refactor (PR #108)
- Replaced custom range loading with React Query infinite scroll for better performance
- Simplified buffering logic by removing complex pre-rendering and buffer management
- Backend optimization: merged line counting and reading into single function
- Consolidated state management and removed redundant ref-based tracking
- Significantly reduced code complexity while improving memory efficiency for large file viewing
OAuth Authentication for MCP Servers
- Added OAuth 2.0 support for remote MCP servers
- New McpOAuthDialog component for authentication flow with auto-discovery
- Per-directory auth management for repo-level MCP servers
- Enhanced MCP server cards with auth status indicators
- Support for custom OAuth client credentials or server discovery
SSE Connection Reliability
- Added
ensureSSEConnected()function that ensures SSE is connected before critical actions - Automatic SSE reconnection on Cloudflare 524 timeout errors
- Reduced user frustration with temporary network issues
- Improved message invalidation logic
Frontend Improvements
Responsive Design
- QuestionPrompt component now adapts better to mobile screens
- Responsive padding, spacing, and text sizing throughout the app
- Mobile-optimized stop button in PromptInput
- Better mobile experience across all dialog components
OpenCode Version Cache Management
- Fixed cache updates for OpenCode version on install/upgrade operations
- Version display now properly reflects installed version immediately
- Proper recovery scenarios after version changes
Infrastructure Updates
Fetch API Migration
- Removed axios dependency, standardized on fetch API
- Added fetchWrapper.ts for consistent error handling and retry logic
- Updated all API modules: oauth, opencode, providers, settings, stt, tts
- Removed 190 lines from pnpm-lock.yaml
STT Improvements
- Refactored audio recorder with better recording state management
- Optional API-less STT support using Web Speech API
- Improved Web Speech recognizer integration
- Enhanced error handling and cleanup
Bug Fixes
- OpenCode install method detection for proper process termination
- Fixed getProviders return type handling in frontend
- Removed unused test variables and configured ESLint for test files
- Structured logging in archive service
- Removed unused variables from routes and migrations
Installation
Docker users:
docker pull ghcr.io/chriswritescode-dev/opencode-manager:latestOr specific version:
docker pull ghcr.io/chriswritescode-dev/opencode-manager:v0.8.24Stats
- Files changed: 56
- Lines added: +1,848
- Lines removed: -1,114
- Net change: +734 lines
Full changelog: v0.8.22...v0.8.24
v0.8.22 - SSE Refactoring & Git Workflow Improvements
v0.8.22 - SSE Refactoring & Git Workflow Improvements
Features & Improvements
Auto-Create Remote Branches on Push
- Automatic upstream branch creation when pushing branches without tracking
- Matches VS Code's error-driven pattern for better UX
- 50% latency reduction for new branch operations
- Container-friendly implementation with graceful fallbacks
Enhanced Download Options
- Option to include git-ignored files when downloading
- Selective inclusion with checkboxes for ignored paths
- Improved error messages for clone failures
- 5-minute timeout for git operations
SSE Refactoring
- Simplified SSE directory management with reference counting
- Improved message invalidation logic
- Enhanced question prompt UI with 70vh max height
Security Updates
- Updated hono from ^4.10.1 to ^4.11.7 (CVE fixes)
- Updated react-router-dom from ^7.9.4 to ^7.13.0 (CVE fixes)
Performance & Infrastructure
- Optimized STT response with audio recorder improvements
- Docker upgrade script with --no-cache for reliable rebuilds
- Added structured logging in archive service
- ESLint configuration for test files
Code Quality
- Removed 358 lines of obsolete documentation
- Added comprehensive tests for git operations
- Type fixes and cleanup across codebase
Installation
Docker users:
docker pull ghcr.io/chriswritescode-dev/opencode-manager:latestOr specific version:
docker pull ghcr.io/chriswritescode-dev/opencode-manager:v0.8.22Stats
- Files changed: 37
- Lines added: +905
- Lines removed: -645
- Net change: +260 lines
Full changelog: v0.8.21...v0.8.22
v0.8.21 - OpenCode Upgrade Reliability
v0.8.21 - OpenCode Upgrade Reliability
Features & Improvements
OpenCode Upgrade/Install Reliability
- 90-second timeout for opencode upgrade/install commands to prevent indefinite hangs
- Automatic server recovery when upgrades fail - gracefully restarts OpenCode server
- Enhanced error handling with recovery status and better user feedback
- Version selection dialog now shows recovery indicators
Code Quality & Testing
- 460+ new tests for settings routes covering timeout handling, recovery logic, and edge cases
- Comprehensive code review documentation (356 lines)
Frontend Enhancements
- Centralized query cache invalidation utility (lib/queryInvalidation.ts)
- Improved server health monitoring with better error states
- Enhanced settings API with TypeScript recovery types
Bug Fixes
- Fixed file routes path handling with validation and sanitization
- Improved error utilities message formatting
- Fixed context usage tracking and MCP server management
Technical Improvements
- Extracted DEFAULT_AGENTS_MD constant from index.ts to constants.ts
- Reduced index.ts by 59 lines through better organization
- Updated Dockerfile with latest LTS Node.js
- Added CI/CD workflow and PR templates
Documentation
- Updated docs to recommend Node.js 22 LTS or later
- Improved demo GIF with smoother animations
stats
- Files changed: 14
- Lines added: +1,100
- Lines removed: -126
- Net change: +974 lines
Installation
Docker users:
docker pull ghcr.io/chriswritescode-dev/opencode-manager:latestOr use specific version:
docker pull ghcr.io/chriswritescode-dev/opencode-manager:v0.8.21Full changelog: v0.8.2...v0.8.21
v0.8.2 - SSE Reliability & Message Sync
v0.8.2 - SSE Reliability & Message Sync
Bug Fixes
- Cloudflare 524 Timeout Fix: Added SSE heartbeat (60s interval) to prevent proxy timeouts on idle connections
- Message Desync Fix: Switched to synchronous
/messageendpoint for reliable message delivery during sub-agent tasks - Optimistic Update Race Conditions: Properly cancel pending queries before applying optimistic updates
- Network Error Handling: No longer clears optimistic messages on network failures
Technical Improvements
- SSE heartbeat listener in frontend to acknowledge keep-alive signals
- Invalidate message queries on cache miss instead of setting empty data
Upgrading
If you're using Docker, pull the latest image:
docker pull ghcr.io/chriswritescode-dev/opencode-manager:latestFull changelog: v0.8.1...v0.8.2
v0.8.1 - Documentation & Download Features
v0.8.1 - Documentation & Download Features
New Features
- Repository Download: Export repos as ZIP file that respects .gitignore rules
- Comprehensive Documentation: Full markdown documentation site deployed via MkDocs
- Automated GitHub Actions workflow for deployment
- Documentation site: https://chriswritescode-dev.github.io/opencode-manager
Documentation Updates
- Added Speech-to-Text feature documentation to README
- Improved feature documentation clarity
Upgrading
If you're using Docker, pull the latest image:
docker pull ghcr.io/chriswritescode-dev/opencode-manager:latestFull changelog: v0.8.0...v0.8.1
v0.8.0 - Speech-to-Text & SSE Improvements
v0.8.0 - Speech-to-Text & SSE Improvements
New Features
- Speech-to-Text (STT): Full voice input implementation with recording overlay UI
- Support for browser-native Web Speech API
- Support for OpenAI Whisper backend
- New settings panel for configuring STT provider, language, and Whisper-specific options
- Recording aborts automatically on input clear
Bug Fixes
- Git log dates: Fixed invalid date display in commits tab by using Unix timestamps
- Session timestamps: Fixed last active timestamp showing incorrect values
- Session display: Fixed NaN showing on mobile session cards
- SSE stability:
- Fixed client cleanup on disconnect
- Fixed duplicate Transfer-Encoding headers
- Added proxy-compatible headers for better tunnel support
- Removed debug test endpoint
Improvements
- Textarea auto-height: Use CSS
field-sizingproperty for cleaner auto-resize behavior
Housekeeping
- Removed CHANGELOG.md - all release notes are now maintained exclusively in GitHub Releases
Upgrading
If you're using Docker, pull the latest image:
docker pull ghcr.io/chriswritescode-dev/opencode-manager:latestFull changelog: v0.7.8...v0.8.0
v0.7.8 - Worktree Support & UI Consolidation
v0.7.8 - Worktree Support & Branch Management UI Consolidation
New Features
- Git Worktree Support: Added detection and display of Git worktrees
- Workspace Creation: Create branches as separate workspaces for simultaneous development on multiple branches
- Worktree Badging: Visual indicators for worktree branches currently checked out elsewhere
Improvements
- UI Consolidation: Merged branch management into a single, cleaner interface
- Removed 3 duplicate components (358 lines deleted)
- All branch operations now unified in BranchesTab and SourceControlPanel
- Better Branch Management: Simplified branch switching and creation workflow
UI Changes
- Worktree branches show "worktree" badge
- Disabled state for branches checked out in other worktrees
- Added "Create as separate workspace" checkbox for worktree creation
Bug Fixes
- Removed duplicate SECURE_COOKIES property from auth config
Code Quality
- -299 lines net (significant code cleanup)
- Consolidated redundant branch management logic
Upgrading
If you're using Docker, pull the latest image:
docker pull opencode-manager:latestFull changelog: v0.7.7...v0.7.8