Releases: chriswritescode-dev/opencode-manager
Releases · chriswritescode-dev/opencode-manager
v0.12.0
Highlights
Assistant Mode improvements
- Warms the assistant workspace on startup so launching Assistant Mode is faster.
- Adds a self-configuring assistant workspace that can reload after configuration changes.
- Preserves user-customized agents during OpenCode config repair.
Worktree and workspace management
- Adds worktree tabs in repo detail views.
- Adds a collapsible workspace manager.
- Supports custom directory names when adding remote repos.
- Improves collision handling when cloning forks or repos with duplicate names.
- Adds server environment variable settings.
Session list performance
- Replaces per-directory session fetching with paginated session loading.
- Adds infinite scroll and server-side search for sessions.
- Reduces unnecessary session refetches from noisy SSE updates.
ocm CLI and repo transfer improvements
- Adds progress tracking for mirror uploads.
- Fixes chunked mirror uploads.
- Excludes macOS metadata from mirrored uploads.
- Improves the
ocmCLI setup documentation.
Notifications
- Adds richer notification content using shared formatting helpers.
- Deduplicates permission display formatting across frontend/backend code paths.
UI fixes
- Constrains the model quick-select bottom sheet width on desktop.
- Updates README/docs screenshots with current desktop and mobile views.
Fixes and reliability
- Fixes repo directory name collisions and improves path safety validation.
- Guards reset-permissions behavior so it only disposes the intended repo-scoped OpenCode instance.
- Adds additional backend/frontend/CLI test coverage for repos, sessions, assistant mode, transfers, notifications, and OpenCode hooks.
Documentation
- Adds a dedicated
ocmCLI guide and links it from README/MkDocs. - Adds a quickstart section explaining how to install, log in, and attach to repos with
ocm. - Updates docs for providers, MCP servers, skills, environment variables, Git credentials, TTS, and notifications.
- Replaces old README demo media with static WebP screenshots.
v0.11.0
What's Changed
- fix: hide files icon on mobile and improve settings layout by @chriswritescode-dev in #226
- fix(frontend): add repo action tooltips by @mturac in #229
- fix(frontend): close sheet when opening new repo dialog by @chriswritescode-dev in #230
- feat(ocm-cli): workspace repo sync and manager token targeting by @chriswritescode-dev in #233
- feat(frontend): add route loading skeleton and error boundary by @chriswritescode-dev in #234
- feat(frontend): improve model selection experience by @chriswritescode-dev in #237
New Contributors
Full Changelog: v0.10.1...v0.11.0
v0.10.1 — Assistant Mode, Model Favorites & UX Polish
Assistant Mode
- Full Assistant workspace with SSE streaming and OpenCode server integration (#214)
- Assistant session list with dedicated sidebar navigation (#198)
- Configurable default agent with smart resolution
Model Selection
- Favorites system — star models for quick access in the model picker (#201)
- Model state persistence — selection syncs across sessions and reloads (#209)
- Active model highlighted with separator and accent color in quick-select (#223)
Mobile Improvements
- Mobile session actions (share, rename, delete) from the session list (#206)
- Speech-to-text reworked to tap-first interaction with improved visual feedback (#207)
- Swipe-back gesture fixed on drawer overlays (#216)
Worktrees & Repos
- Base branch support when creating new worktrees (#197)
- Improved repo list path handling and quick-switch from sidebar
Permissions
- Permission synchronization via React Query polling
- Permissions cleared immediately after user responds (#205)
Fixes in 0.10.1
v0.10.0
Highlights
This release introduces a major Assistant Mode with deep OpenCode server integration, a new OpenCodeSupervisor for resilient server lifecycle management, and a host of mobile and model-selection improvements.
Features
Assistant Mode & OpenCode Integration (#214)
- Assistant Workspace: New assistant mode with internal token authentication, dedicated routes, and session management
- SSE Streaming: Real-time event streaming from the OpenCode server, aggregated through a new SSE pipeline
- OpenCode Server Auth: Settings UI and backend resolver for OpenCode server credentials, including SSE password resolution
- Server Health Monitoring: Continuous health checks integrated with the new supervisor
- Internal API: New internal routes for notifications and settings, plus internal token authentication
- Skills Dialog: New
RepoSkillsDialogfor managing repo-scoped skills
Assistant Workspace UX
- Session List (#198): Dedicated assistant session list view
- New Session CTA: Quick-start button in assistant workspace sidebar
- Welcome Message: Auto-seeded welcome message on new assistant session creation
- Configurable Default Agent: Set a default agent with smart resolution logic
- Session Activity Separation (#202): Decoupled session activity state from streaming state for cleaner UI
Model Selection
- Favorites System (#201): Star and quick-access favorite models in
ModelQuickSelectandModelSelectDialog - Model State Persistence (#209): Selected model now persists across sessions with improved sync
- Provider Disambiguation: Provider name prefix shown when model display names are ambiguous
Repo & Worktree Management
- Base Branch Support (#197): New
CreateWorktreeDialogwith base branch selection for worktree creation - Repo URL & Worktree Props:
SourceControlPanelnow receivesrepoUrlandisRepoWorktreefor richer source control UX - Repo Quick Switch in Sidebar: Restructured sidebar navigation with integrated repo quick switching
- Improved Repo List: Better path handling, controls, and component structure (#196)
Mobile Improvements
- Mobile Session Actions (#206): Touch-optimized session management actions
- Tap-First Speech-to-Text (#207): Reworked STT to a tap-first interaction model, replacing hold-to-record
- Mobile STT Feedback (#203): Improved speech-to-text feedback on mobile
- Permission Polling: React Query–based permission synchronization for live updates
Navigation & Layout
- Desktop Sidebar Navigation (#199): New desktop sidebar with consolidated header actions
- Settings Back Navigation (#210): Extracted navigation helpers and improved settings back behavior
Refactoring
- OpenCodeSupervisor (#200): New lifecycle state machine (idle → starting → healthy/unhealthy → recovering → failed) with:
- Operation locking to prevent concurrent start/stop/restart/reload races
- 4-step recovery pipeline: restart → debug capture → rollback last known good → seed default config
- Health polling with configurable interval, threshold, and toggle (
HEALTH_POLL_MS,HEALTH_FAILURE_THRESHOLD,HEALTH_WATCH_ENABLED) archiveBrokenConfigmethod onSettingsServicefor backup before rollback
parseModelStringhelper: Extracted inuseOpenCodehook for reuse and clarity- Navigation helpers (#210): Extracted from inline component logic
Fixes
- Swipe-Back Suspension (#215, #216): Suspend swipe-back gesture on the More drawer; remove unused variables
- Permission Removal (#205): Remove permissions immediately after responding instead of waiting for a poll
- Pending Question Reconciliation (#204): Reconcile pending questions by directory; improve TTS fallback
getProvidersAsync Wrapping: Wrapped in async lambda for React QueryqueryFncorrectness- JSX Structural Issues: Fixed in
RepoDetailcomponent
Reverts
- Reverted
feat: seed Assistant workspace with update-configuration skill and improved docspending follow-up
Chore
- Bump version to 0.10.0
Full Changelog: v0.9.21...v0.10.0
v0.9.21
What's Changed
Features
- feat(frontend): add simple chat mode (#190)
- feat: add sub-agent task rendering and improve task tool display
- feat: improve voice recording with hold activation timer
Refactoring
- refactor: improve file browser path resolution and navigation (#193)
- refactor: centralize file API URL construction and path resolution (#194)
- refactor: improve OpenCode server restart logic with plugin awareness
- refactor: refactor-session-activity (#191, #192)
Fixes
- fix: suppress aborted error display and fix TTS button condition
Tests
- test: add STT tests for PromptInput component
Chore
- chore: bump version to 0.9.21
Full Changelog: v0.9.20...v0.9.21
Release v0.9.20
Features
Mobile Navigation Overhaul
- Bottom Tab Bar: New route-aware mobile tab navigation with repo context awareness
- MoreDrawer: Rebuilt as a route-aware menu with URL-based dialog state
- RepoQuickSwitchSheet: Fast repo switching with integrated search in header
- NotificationsSheet: Dedicated mobile sheet for notifications
- MobileSheetHost: Centralized mobile sheet orchestration
- Path-aware Swipe Back: Improved swipe-back navigation with path-based target resolution
- Split Swipe Hooks: Refactored
useSwipeToCloseinto focuseduseSwipeBackanduseSwipeDismisshooks - SwipeNavigationContext: Centralized swipe gesture coordination, replacing the navigation store
OpenCode Authentication
- Server-side Auth: Added
OPENCODE_SERVER_USERNAMEandOPENCODE_SERVER_PASSWORDenv vars for securing the OpenCode server - Basic Auth Proxying: Backend proxy automatically injects auth headers for authenticated OpenCode servers
Voice & TTS Improvements
- Lazy Mic Initialization: STT audio worklet loads on demand to reduce startup cost
- Session Cleanup: Better cleanup of audio resources across session transitions
- TTS Accessibility: Cleaner button titles with separate ARIA labels
- Improved Voice Controls: Better mobile voice controls with clearer state indication
Fixes
- Model ID Slashes: Correctly handle model IDs containing slashes (#186)
- Session Title Generation: Removed custom title generation in favor of OpenCode's native handling (#187)
- Markdown Image Sanitization: Safer rendering of markdown image content
- Mobile Button Sizing: Consistent touch targets across mobile UI
- Tab Bar Visibility: Hide tab bar on session pages to maximize content space
- Safe Area Padding: Proper safe area insets for notched devices
UI & UX Refinements
- Bottom Sheet: New reusable bottom sheet component with safe area handling
- Side Drawer: New side drawer component
- Error Boundary: New error boundary component for graceful error handling
- Schedule Scrolling: Mask gradients on schedule and run history lists
- Repos Page: Adjusted bottom padding to avoid overlap with mobile tab bar
Technical Improvements
- Added
useMobileTabBaranduseDialogParamhooks for URL-driven dialog state - Added
useMemoryPluginStatushook - Removed dead code:
PageTransition,useNavigationDirection,navigationStore,list-toolbar - Docker: Added cache and opencode directories to setup, fixed SQLite volume permissions
- Extensive test coverage added for new mobile navigation components
Full Changelog: v0.9.16...v0.9.20
Release v0.9.16
Features
OAuth Improvements
- Dynamic OAuth Prompt System: Added support for conditional prompt fields with different input types (text, select) that adapt based on previous inputs
- Copy Buttons with Toast Notifications: Added convenient copy buttons for device codes, URLs, and authorization codes with toast feedback
- Auto-start Authorization: Automatically starts authorization flow for single-method OAuth providers
- Improved OAuth Dialog UX: Enhanced responsive layout, better truncation for long labels, and proper session state management
Mobile Experience
- Swipe-back Navigation: Implemented native swipe-to-close gestures for mobile modals and dialogs with smooth push/pop animations
- Page Transition Component: Added reusable navigation component with directional animations
- Mobile File Browser Sheet: New sheet component optimized for mobile file browsing
Fixes
- Stale Model Cleanup: Added validation to remove non-existent models from recentModels and validate current selection against available providers
- Config Cache Management: Replaced non-existent function with proper
invalidateConfigCachesimplementation - JSON Pointer Path Decoding: Fixed decoding of JSON Pointer paths in validation errors for proper error display
Refactoring
- UI Component Consolidation: Merged
RepoSelectionBarintoRepoListControlsto reduce component fragmentation - Tabs Component: Replaced native radio buttons with Radix UI Tabs in
AddRepoDialogfor better consistency - Simplified Dialog Help Text: Streamlined descriptions and help text across repository dialogs
Technical Improvements
- Added comprehensive tests for model fallback logic and swipe gesture behavior
- Improved accessibility with
prefers-reduced-motionsupport - Enhanced touch targets with consistent min-height on inputs
- Better error handling in OAuth callback flow
Full Changelog: v0.9.15...v0.9.16
v0.9.15
Changes
Features
- Add OpenCode models editor with mobile repos UI refactoring
Fixes
- Read config from file for reload and improve provider validation
- Clean up mobile repo controls and prevent event bubbling
Chore
- Bump version to 0.9.15
v0.9.13
What's Changed
Improvements
- Add an OpenCode models editor for managing provider model definitions directly in settings
- Add explicit OpenCode host import and repo relink support
- Improve OpenCode config handling and shared schema/types for provider model configuration
Bug Fixes
- Fix config cache invalidation by using the correct cache reset path after updates
- Reload OpenCode config and invalidate provider caches after credential changes
- Protect existing workspace OpenCode state during host import instead of replacing it by default
- Make host state import fail safely by staging imported data before replacing workspace state
- Improve frontend import error handling so blocked imports show clearer guidance
- Keep invalid OpenCode configs visible in Settings with field-level validation issues
- Improve OpenCode startup errors by summarizing config validation paths instead of raw stack-heavy stderr
- Fix OpenCode import handling for same-path and missing-database cases
UI and UX
- Improve mobile prompt input and floating TTS button behavior
- Fix mic button border styling to prevent input height shifts
- Clarify host import messaging when workspace state is protected
- Highlight invalid configs in Settings and surface the affected config fields
Docker and Runtime
- Improve container handling for SQLite volume permissions by fixing ownership at startup before dropping to the
nodeuser - Add cache and OpenCode directories to Docker setup
Full Changelog: v0.9.12...v0.9.13
v0.9.12
What's Changed
Bug Fixes
- Fix SSH credential host matching and Bitbucket test detection (#178)
- Fix session creation error handling and health endpoint status codes (#179)
- Fix Basic Auth handling in v2 client and CLI status command
- Fix normalizeConfig bug in memory plugin
Changes
- Migrate memory plugin to standalone repository and remove Kasm files (#182)
- Add
stallTimeoutMsto default config.jsonc - Rename "Ralph" terminology to "Loop" across entire codebase
Documentation
- Update CHANGELOG with v0.0.18–v0.0.27 changes
- Update architect agent prompt to clarify memory curation and approval process
- Various documentation updates for Loop naming and loop implementation details
Full Changelog: v0.9.11...v0.9.12