Releases: nitodeco/ralph
0.16.0
Minor Changes
- 2cfcb6e: Add agent model selection with /model
Patch Changes
- 1d2ad6f: Fixed model resolution and
/modelselection behavior so all supported agents show a resolved model in the UI and can set models consistently when discovery data is fallback-only. - b32f68a: Reduce
RunAppstore subscription churn - 65e49f4: Improve agent execution stability
- 0be7826: Fix shutdown and signal handling races
- 9bc3916: Fix subprocess lifecycle handling in so abort state survives process teardown and force-kill escalation runs reliably when child processes do not exit after
SIGTERM. - 7aa14df: Fix resource cleanup for spawned processes by clearing pending abort kill timers in
runAgentWithPromptand closing daemon log file descriptors after process spawn to prevent descriptor leaks. - 4d6ec1a: Harden CLI argument parsing to reject malformed numeric values and prevent option flags from being misread as task mutation input values.
0.15.1
0.15.0
Minor Changes
- 4bcff45: Add memory monitor to stop sessions when process memory exceeds threshold. Configure with
memory.memoryThresholdMb(default 1024 MB). - 7b4518b: Remove rules feature and merge into guardrails. Use guardrails for all prompt instructions.
Patch Changes
- 024e633: Add Codex agent option to /init command
- f0a5596: Fix macOS notification click behavior to focus terminal when clicked
- 1073efd: Fix technical debt review visibility: added TechnicalDebtSummary component to display report summary in UI when session completes, and added
ralph analyze debtCLI command to view technical debt report on-demand with JSON output support - b6d6e01: Refactor orchestrator into service composition architecture
0.14.5
0.14.4
0.14.3
0.14.2
0.14.1
0.14.0
Minor Changes
-
99d7585: Added inline task editing in TasksView
-
85326b3: Add config and GitHub integration management via slash commands
Added new slash commands and CLI functionality:
- /config - View current configuration settings in the Terminal UI
- /github - Interactive GitHub integration setup (token, PR settings)
- ralph github - CLI command to view/manage GitHub settings
- ralph github set-token - Set GitHub personal access token
- ralph github clear-token - Remove GitHub token
The ConfigView displays all effective configuration including agent settings,
retry/timeout settings, notifications, memory management, and git provider config.The GitHubSetupView provides a menu-driven interface for:
- Setting/updating GitHub personal access token (masked display)
- Toggling auto-create PR on task completion
- Toggling PR draft mode
- Clearing stored token
-
4e2a400: Consolidate session-related commands under /session namespace
- Session control commands now use
/session <subcommand>format:/session start [n|full]- Start agent loop/session stop- Stop the running agent/session resume- Resume interrupted session/session pause- Pause the current session (new)/session clear- Clear session data/session refresh- Reload PRD from disk/session archive- Archive completed tasks
- Removed top-level
/start,/stop,/resume,/clear,/refresh,/archivecommands - Added new
/session pausecommand to pause without stopping - Updated help text across CLI and TUI to reflect new command structure
- Session control commands now use
-
ff5344b: Added first-run safety consent warning
-
7a2ee42: Added branch mode workflow for isolated task branches
-
6b41edb: Added git provider interface for PR operations
-
7414213: feat: add OAuth device flow authentication for GitHub
-
Added new
ralph authcommand with subcommands:ralph auth login- Initiate GitHub OAuth device flow authenticationralph auth logout- Revoke tokens and clear credentialsralph auth status- Show current authentication status
-
Updated GitHub integration to use OAuth tokens when available, falling back to PAT
-
Added
/authslash command in terminal UI for OAuth authentication -
Updated
/githubview with OAuth login option alongside PAT setup -
Enhanced
ralph githubcommand to show authentication method (OAuth vs PAT) -
Added migration prompts for existing PAT users to switch to OAuth
-
OAuth tokens are stored securely in global config alongside existing settings
-
-
155e9fd: Added GitHub provider for automatic PR creation
-
5ec56dd: Added global rules support with
--globalflag -
b33739d: Integrated automatic PR creation into branch mode
Patch Changes
-
1b011ec: Added Escape key support to exit the /add command input, allowing users to cancel task creation during the description step
-
cec5b59: Fix slash command hint navigation with arrow keys. When typing a partial slash command, the suggestion list now properly follows the selected item using viewport windowing. Previously, navigating past the 5th suggestion would leave the selection indicator invisible because the selected item was outside the displayed window. Now, the window scrolls to keep the selected item visible, showing indicators for items above and below the viewport.
-
ce2a4a6: Fix memory leaks in long-running sessions by using rolling buffers and releasing stream locks
-
52dc55d: Fixed text input race conditions when typing quickly
-
00b9da7: Hide iteration progress bar when in idle state
- The iteration progress bar is now only shown when a session is running, complete, or stopped at max iterations/runtime
- In idle state (before starting a session), the progress bar is hidden for a cleaner UI
-
3e938d2: Render /help output inline in the main view instead of navigating to a separate full-screen view. The help content can be dismissed by pressing Escape or by typing /help again to toggle it off.
-
b6d85af: Add shorthand slash commands /q and /e as aliases for /quit and /exit
-
36d7384: Unified Rules and Tasks views with shared list-detail components
- Added SelectableList component for generic list navigation with selection indicator
- Added DetailPanel component for bordered detail display panels
- Added useListNavigation hook for shared keyboard navigation logic
- Refactored TasksView to use shared components (SelectableList, DetailPanel, useListNavigation)
- Refactored RulesView to use shared components with consistent UX patterns
- Extracted smaller subcomponents for better code organization and reusability
0.13.0
Minor Changes
-
e259393: feat: add auto-guardrail generation from codebase analysis
Added a new
ralph guardrails generatecommand that analyzes the current project's codebase and automatically generates relevant guardrails based on detected patterns.Features
- Detects package manager (npm, yarn, pnpm, bun)
- Detects TypeScript usage
- Detects test frameworks (jest, vitest, mocha, bun test)
- Detects linters (eslint, biome)
- Detects formatters (prettier, biome)
- Detects frameworks (React, Next.js, Vue, Svelte, Angular)
- Detects build tools (Vite, Webpack, esbuild, Parcel)
- Detects git hooks (husky, lint-staged, lefthook)
- Detects CI configuration (GitHub Actions, GitLab CI, CircleCI, etc.)
- Detects monorepo configurations (workspaces, pnpm-workspace, turbo, nx, lerna)
- Detects npm scripts (build, test, lint, format, typecheck)
Usage
# View suggested guardrails without applying ralph guardrails generate # View as JSON ralph guardrails generate --json # Generate and immediately add guardrails ralph guardrails generate --apply
-
8ae9bb2: feat: add /usage command to terminal UI
Added new /usage slash command that opens an interactive view displaying:
- Summary tab with lifetime statistics (sessions, iterations, tasks, success rate, streaks)
- Sessions tab showing recent session history with status indicators
- Daily tab showing aggregated daily usage metrics
The view uses tab navigation with arrow keys and matches the existing UI patterns.
-
86ee029: Add better progress indicators with informative spinners and progress bars
- Enhanced Spinner component with 9 context-aware variants (default, processing, waiting, success, warning, error, thinking, network, progress) using different cli-spinners animations
- Enhanced ProgressBar component with 4 style options (default, minimal, detailed, compact), auto-color mode, and configurable display options (count, bytes, suffix)
- Added PhaseIndicator component with 4 visualization styles (dots, timeline, compact, minimal) showing agent execution phase progress
- Updated IterationProgress with ETA calculation, elapsed time display, average iteration time, and enhanced visual feedback
- Updated AgentStatus with phase-specific spinner variants, visual phase timeline, and color-coded file change indicators
- Updated PlanGeneratingPhase to use thinking spinner variant
-
4ecd4c6: Add CLI-based task operations for /plan command
- Add
ralph task addcommand to add new tasks via--stdinJSON or flags - Add
ralph task edit <n>command to edit existing tasks (partial updates, preserves done status) - Add
ralph task remove <n>command to remove tasks by index - Add
ralph task show <n>command to display full task details (description, steps) - Update
/planprompt to show full task content and instruct AI to use CLI commands - Add command parser to extract task operations from AI output instead of parsing JSON
- Prevents task content degradation by only touching tasks relevant to the specification
- Add
-
f32d673: Add command history with arrow key navigation. Commands entered in the Terminal UI are now persisted and can be navigated using up/down arrow keys. History is stored per-project and shows a visual indicator when browsing previous commands.
-
e13fce8: Add confirmation dialogs for destructive actions
- Created reusable
ConfirmationDialogcomponent insrc/components/common/ - Added confirmation dialog to
MemoryViewwhen pressing 'c' to clear all session memory - Added confirmation dialog to
GuardrailsViewwhen pressing 'd' to delete a guardrail - Added
ConfirmClearViewfor the/clearslash command with session summary - Added
--force(or-f) flag toralph clearCLI command to skip confirmation - Added
--forceflag toralph memory clearCLI command to skip confirmation - CLI commands now show interactive readline prompts for confirmation when not using
--force
- Created reusable
-
ac23359: feat: add CLI commands for dependency management
Added new
ralph dependencycommand with subcommands:dependency/dependency graph- Show dependency graph for all tasksdependency validate- Validate task dependencies (detect cycles, missing refs)dependency ready- List tasks ready for execution (dependencies satisfied)dependency blocked- List tasks blocked by incomplete dependenciesdependency order- Show parallel execution groups in orderdependency show <task>- Show dependency details for a specific taskdependency set <task> <dep1> [dep2...]- Set dependencies for a taskdependency add <task> <dep>- Add a dependency to a taskdependency remove <task> <dep>- Remove a dependency from a task
All commands support
--jsonflag for programmatic output. -
3231ee7: feat: enhanced agent status display with phase detection
Replaces the generic "Agent working..." spinner with detailed phase-based status indicators:
- Shows current agent phase: starting, exploring, reading, implementing, running commands, verifying, committing
- Displays phase duration after 5 seconds (e.g., "Agent is implementing changes... (12s)")
- Shows file change statistics: created, modified, deleted counts from git status
- Polls git status every 5 seconds while agent is running
New files:
src/lib/agent-phase.ts- Phase detection from agent output using regex patternssrc/lib/git-stats.ts- Git status parsing for file change statisticssrc/stores/agentStatusStore.ts- Zustand store for phase and file change statesrc/components/AgentStatus.tsx- Enhanced status display component
Also fixes IterationProgress edge cases when total is 0 or current exceeds total.
-
6cf1098: Add parallel task execution tracking to session management
- Added new types for parallel execution:
TaskExecutionStatus,ActiveTaskExecution,ParallelExecutionGroup, andParallelSessionState - Extended
Sessioninterface with optionalparallelStatefield - Extended
IterationLogwithisParallelExecutionandparallelGroupfields for tracking parallel task executions - Added new types
ParallelTaskExecutionandIterationLogParallelGroupfor logging parallel task execution details - Added 14 new methods to
SessionServicefor parallel execution management:enableParallelMode/disableParallelMode/isParallelModefor mode controlstartParallelGroup/completeParallelGroup/getCurrentParallelGroupfor group managementstartTaskExecution/completeTaskExecution/failTaskExecution/retryTaskExecutionfor task lifecyclegetActiveExecutions/getTaskExecution/isTaskExecuting/getActiveExecutionCountfor querying state
- Added comprehensive validation for parallel session state
- Added 39 unit tests for parallel session tracking functionality
- Added new types for parallel execution:
-
04d9f33: Add idempotent operations to prevent duplicate work
- Create idempotency module with content hashing, atomic file writes, operation tracking, debounced writers, and batched updaters
- Update SessionService, PrdService, iteration-logs, ConfigService, GuardrailsService, SessionMemoryService, FailurePatterns, and ProjectRegistry to use idempotent file writes
- Atomic file operations (write-to-temp, rename) ensure data integrity
- Content hash-based change detection skips unnecessary writes
- Operation tracker prevents duplicate work with TTL-based cleanup
- Add 43 unit tests for the idempotency module
-
e7e172a: Add multi-process support to AgentProcessManager for parallel task execution
- Changed from single-process to Map-based multi-process tracking
- Added process identifier support for managing multiple concurrent agent processes
- New methods: registerProcess, unregisterProcess, getProcessById, getAllProcessIds, getAllProcessInfo, getActiveProcessCount, isAnyRunning, killAll, resetAll, clearAllForceKillTimeouts
- Maintained backward compatibility with existing single-process API by using a default process identifier
- Added per-process state tracking: aborted, retryCount, forceKillTimeout, createdAt
- Added global abort state that affects all processes
- Exported ProcessEntry and ProcessInfo types for external use
-
dbd9095: feat: add parallel task scheduling to SessionOrchestrator
Added parallel execution capabilities to the orchestrator:
- New
ParallelExecutionConfiginterface for configuring parallel mode initializeParallelExecution()method to validate dependencies and compute parallel groupsstartNextParallelGroup()to begin executing a group of independent tasksrecordParallelTaskStart()andrecordParallelTaskComplete()for tracking individual task progressgetParallelExecutionSummary()for monitoring parallel execution status- Integration with SessionService parallel tracking methods
- New events:
parallel:group_start,parallel:group_complete,parallel:task_start,parallel:task_complete - Comprehensive test coverage with 14 tests
This enables ralph to execute multiple independent tasks in parallel when configured, improving throughput for PRDs with independent tasks or tasks organized with dependency metadata.
- New
-
50a84a0: Align all terminal UI with ResponsiveLayout fixed layout system
-
757b34f: Add responsive terminal layout support for narrow terminals
- Added
useTerminalDimensionshook for detecting terminal width/height and breakpoints - Created
ResponsiveLayoutcomponent that provides responsive context to child components - Updated
Headercomponent with three variants:full(default),compact, andminimal - Updated
StatusBarwith responsive variants that adapt to terminal width - Updated
PhaseIndicatorwith auto-style selection based on terminal width - Updated
IterationProgresswith responsive progress bar width and condensed dis...
- Added