Releases: Shopify/roast
Releases · Shopify/roast
v0.4.10
What's Changed
- fix 👮 rubocop complaints by @alexanderadam in #439
- Bump rack from 2.2.19 to 2.2.20 by @dependabot[bot] in #438
New Contributors
- @alexanderadam made their first contribution in #439
Full Changelog: v0.4.9...v0.4.10
v0.4.9
What's Changed
- Add test grading workflow example by @dersam in #404
- Roast Error internal error handling (#391) by @tungnt1203 in #408
- Fix README examples for input steps by @ric2b in #414
- Fix: add more detailed response for 500 errors by @mathiusj in #389
New Contributors
Full Changelog: v0.4.8...v0.4.9
v0.4.8
What's Changed
- Delete broken example workflows by @dersam in #393
- Add sample workflow to analyze files by @dersam in #394
- Update workflow examples available_tools_demo by @tungnt1203 in #402
- Fix roast init to create workflows in roast/ directory by @ersync in #397
- refactor(base_step): use workflow/steploader default model by @tungnt1203 in #403
- Output VCR result when recording by @dersam in #400
New Contributors
- @tungnt1203 made their first contribution in #402
- @ersync made their first contribution in #397
Full Changelog: v0.4.7...v0.4.8
v0.4.7
What's Changed
- Add functional test suite rake task by @dersam in #377
- Cleanup child processes on sigint by @nfgrep in #339
- Add tests for
roast list
by @dersam in #380 - Give up on searching for initializers if you hit root by @dersam in #382
- Add basic functional test for
roast execute
by @dersam in #385 - Use the command runner everywhere by @nfgrep in #383
- Copy example workflows in test sandboxes by @dersam in #386
- Example LLM workflow tests by @dersam in #387
- Run CI tasks separately by @dersam in #392
Full Changelog: v0.4.6...v0.4.7
v0.4.6
v0.4.5
What's Changed
- Add test to validate numeric ordering of initializers by @dersam in #345
- Proper CODEOWNERS by @nfgrep in #354
- Consolidate ConfigurationParser into WorkflowRunner by @dersam in #355
- Shorten error output unless in verbose mode by @dersam in #358
- Fix #333: Add workflow name to step event payloads by @dersam in #351
- Fix named shell step display in output and notifications by @dersam in #348
- Remove binstubs from gitignore by @dersam in #361
Full Changelog: v0.4.4...v0.4.5
v0.4.4
What's Changed
- Add retries configuration option to coding agent by @juniper-shopify in #310
- Add script shell step by @juniper-shopify in #312
- Fix ShellScriptStep not having output. by @nfgrep in #329
- Remove StepOrchestrator to simplify step execution architecture by @juniper-shopify in #319
- Add metadata store for tracking internal execution details by @juniper-shopify in #320
- Print 🔥🔥🔥 before and after final output when printing output to terminal by @juniper-shopify in #327
- Add option for coding agent steps to resume specific session by @juniper-shopify in #322
- Increase bash tool execution timeout to 1 hour by @parruda in #317
- Add ripgrep check to grep tool by @TravisTheTechie in #338
- Test warning clean up by @TravisTheTechie in #341
- Revert to standard Raix gem now that OpenAI 8 is supported by @dersam in #346
New Contributors
- @TravisTheTechie made their first contribution in #338
Full Changelog: v0.4.3...v0.4.4
v0.4.3
What's Changed
- Make faraday-retry an optional dependency by @ericproulx in #295
- Improve workflow system with bug fixes and optimizations by @ericproulx in #294
- Fix config loading for AgentStep by @juniper-shopify in #299
- Fix JSON parsing for CodingAgent steps by @juniper-shopify in #304
- Parse JSON output from CodingAgent even when it includes spurious text by @juniper-shopify in #306
- Add support for CodingAgent tool configuration options by @dersam in #307
Full Changelog: v0.4.2...v0.4.3
v0.4.2
🚀 What's New in v0.4.2
This release brings important security enhancements, developer experience improvements, and bug fixes.
🔒 Security & Stability
- Comprehensive shell security - All shell metacharacters are now properly escaped in interpolations, preventing injection vulnerabilities
- Multiline bash command support - Write complex bash scripts directly in your workflows
- Better error handling - Early detection for missing Raix configuration with helpful setup instructions
🎯 Developer Experience
- Cleaner input cancellation - Ctrl-C during input steps now exits cleanly without stack traces
- Smoother automation - CodingAgent now runs with
--dangerously-skip-permissions
by default
🐛 Bug Fixes
- Fixed test isolation issues causing CI failures
- Resolved flaky tests in StepExecutorRegistry
- Fixed shell command interpolation vulnerabilities
- Corrected missing dependency declarations
📦 Installation
gem install roast-ai
📋 Full Changelog
See all changes: v0.4.1...v0.4.2
v0.4.1
What's Changed
Added
- SQLite session storage as the default storage backend (#252)
- Provides better performance and advanced querying capabilities
- Sessions are stored in
~/.roast/sessions.db
by default (configurable viaROAST_SESSIONS_DB
) - New
roast sessions
command to list and filter stored sessions - New
roast session <id>
command to view detailed session information - Session cleanup with
roast sessions --cleanup --older-than <duration>
- Filter sessions by status, workflow name, or age
- Maintains full backward compatibility with filesystem storage
--file-storage
CLI option to use legacy filesystem storage instead of SQLite- Use
-f
or--file-storage
flag to opt into filesystem storage - Environment variable
ROAST_STATE_STORAGE=file
still supported for compatibility
- Use
- Foundation for wait_for_event feature (#251)
- New
roast resume
command infrastructure for resuming paused workflows - Event storage and tracking in SQLite sessions table
- New
- Configurable agent step options for CodingAgent (#266)
- New
continue
option for agent steps to maintain session context across multiple agent invocations - New
include_context_summary
option to provide AI-generated workflow context summaries to agents - Context summaries are intelligently tailored to the agent's specific task using LLM analysis
- Helps reduce token usage by including only relevant context information
- New
- Token consumption reporting for step execution (#264)
- Displays token usage (prompt and completion) after each step execution
- Helps users monitor and optimize their LLM token consumption
- Automatically enabled for all workflow runs
- Timeout functionality for bash and cmd steps (#261)
- New
timeout
option for bash and cmd steps to prevent hanging commands - Configurable timeout duration in seconds
- Commands are automatically terminated if they exceed the specified timeout
- Prevents workflows from getting stuck on unresponsive commands
- New
- Claude Swarm tool integration (#254)
- New
Roast::Tools::Swarm
for integrating with Claude Swarm framework - Enables using Swarm's multi-agent orchestration capabilities within Roast workflows
- Provides seamless handoffs between specialized AI agents
- New
- Workflow visualization with diagram command (#256)
- New
roast diagram
command to generate visual representations of workflows - Creates GraphViz-based diagrams showing workflow structure and flow
- Supports both DOT format output and PNG/SVG image generation
- Helps understand complex workflow logic at a glance
- New
- Comprehensive workflow validation (#244)
- New
roast validate
command to check workflow syntax and structure - Validates YAML syntax, step references, and configuration options
- Provides detailed error messages for invalid workflows
- Helps catch errors before running workflows
- New
- apply_diff tool (#246)
- New built-in tool for applying unified diff patches to files
- Supports standard diff format for making precise file modifications
- Enables AI models to suggest changes in diff format
- More reliable than search-and-replace for complex edits
- Model fallback mechanism (#257)
- Workflows without explicit model configuration now use a sensible default
- Prevents errors when model is not specified at workflow or step level
- Improves user experience for simple workflows
- Context management foundation for auto-compaction (#264)
- Infrastructure for future automatic context size management
- Enables intelligent token usage optimization in long-running workflows
Changed
- Session storage now defaults to SQLite instead of filesystem
- Existing filesystem sessions remain accessible when using
--file-storage
flag - No migration required - both storage backends can coexist
- Existing filesystem sessions remain accessible when using
Installation
gem install roast-ai
Full Changelog: v0.4.0...v0.4.1