Skip to content

Releases: chriswritescode-dev/opencode-manager

v0.12.0

01 Jun 00:13

Choose a tag to compare

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 ocm CLI 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 ocm CLI 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

25 May 16:40

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.10.1...v0.11.0

v0.10.1 — Assistant Mode, Model Favorites & UX Polish

08 May 13:52
c5c2069

Choose a tag to compare

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

  • Settings and skills navigation correctly redirects via assistant mode (#220)
  • Context usage display updated to match OpenCode TUI format (#225)

v0.10.0

03 May 04:39
c729151

Choose a tag to compare

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 RepoSkillsDialog for 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 ModelQuickSelect and ModelSelectDialog
  • 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 CreateWorktreeDialog with base branch selection for worktree creation
  • Repo URL & Worktree Props: SourceControlPanel now receives repoUrl and isRepoWorktree for 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)
    • archiveBrokenConfig method on SettingsService for backup before rollback
  • parseModelString helper: Extracted in useOpenCode hook 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
  • getProviders Async Wrapping: Wrapped in async lambda for React Query queryFn correctness
  • JSX Structural Issues: Fixed in RepoDetail component

Reverts

  • Reverted feat: seed Assistant workspace with update-configuration skill and improved docs pending follow-up

Chore

  • Bump version to 0.10.0

Full Changelog: v0.9.21...v0.10.0

v0.9.21

24 Apr 13:45

Choose a tag to compare

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

19 Apr 16:49

Choose a tag to compare

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 useSwipeToClose into focused useSwipeBack and useSwipeDismiss hooks
  • SwipeNavigationContext: Centralized swipe gesture coordination, replacing the navigation store

OpenCode Authentication

  • Server-side Auth: Added OPENCODE_SERVER_USERNAME and OPENCODE_SERVER_PASSWORD env 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 useMobileTabBar and useDialogParam hooks for URL-driven dialog state
  • Added useMemoryPluginStatus hook
  • 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

15 Apr 21:54

Choose a tag to compare

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 invalidateConfigCaches implementation
  • JSON Pointer Path Decoding: Fixed decoding of JSON Pointer paths in validation errors for proper error display

Refactoring

  • UI Component Consolidation: Merged RepoSelectionBar into RepoListControls to reduce component fragmentation
  • Tabs Component: Replaced native radio buttons with Radix UI Tabs in AddRepoDialog for 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-motion support
  • 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

14 Apr 01:48

Choose a tag to compare

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

12 Apr 17:05

Choose a tag to compare

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 node user
  • Add cache and OpenCode directories to Docker setup

Full Changelog: v0.9.12...v0.9.13

v0.9.12

06 Apr 16:39

Choose a tag to compare

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 stallTimeoutMs to 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