Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.31.0 (2026-06-03)
Features
0.30.0 (2026-06-03)
β BREAKING CHANGES
-
unlimited max_steps is now represented as
nilat the agent level (set viamax_steps nil), not Float::INFINITY βRiffer::Agent::Config#max_stepsmay be nil and is no longer normalized.Riffer::Paramsparameter types are typed Module (widened from Class) to honestly includeRiffer::Params::Boolean, which is a Module.
Features
-
Riffer::Agent::Serializerfor transferable agent definitions (#293) (99134b0)
0.29.1 (2026-06-01)
Bug Fixes
0.29.0 (2026-05-29)
β BREAKING CHANGES
-
Public API reshape on
Riffer::Agent. Downstream consumers must migrate the following surfaces:
Features
Code Refactoring
-
extract
Riffer::Agent::Run, eagerly resolve per-agent state (#268) (1d9e141) -
move leaf types out of root
Riffernamespace (#282) (3637a53)
0.28.0 (2026-05-08)
β BREAKING CHANGES
-
Custom subclasses of Riffer::ToolRuntime that override around_tool_call or dispatch_tool_call must accept the new assistant_message: kwarg (or **kwargs). Existing overrides that omit it will raise ArgumentError: unknown keyword: :assistant_message.
Features
-
add history mutation API to
Riffer::Agent(#249) (d980daa) -
forward assistant_message to ToolRuntime hooks (#247) (3d5f935)
0.27.2 (2026-05-04)
Bug Fixes
0.27.1 (2026-05-04)
Bug Fixes
0.27.0 (2026-05-01)
Features
-
integrate MCP server tools into agent tool resolution (6c7a09a)
Bug Fixes
0.26.0 (2026-04-29)
Features
0.25.0 (2026-04-29)
β BREAKING CHANGES
-
Removed Riffer::Skills::Adapter#activate_tool. Set the activation tool via
Riffer.config.skills.default_activate_tool, or per-agent withskills do; activate_tool MyTool; end. -
Riffer::Skills::Adapter.newnow requires skill_activate_tool:. The agent wires this up; only matters if you construct an adapter yourself. Custom adapters that override initialize must call super.
Features
0.24.2 (2026-04-23)
Bug Fixes
0.24.1 (2026-04-23)
Bug Fixes
0.24.0 (2026-04-20)
Features
0.23.0 (2026-04-15)
Features
0.22.0 (2026-04-09)
β BREAKING CHANGES
-
Tool.namereturnsnamespace/tool_nameinstead ofnamespace__tool_name.
Features
Bug Fixes
0.21.0 (2026-04-09)
Features
-
amazon_bedrock: support S3 URI file sources (#190) (243e5b1)
-
normalize consecutive same-role messages before provider serialization (#201) (1ac986d)
0.20.0 (2026-03-26)
Features
Bug Fixes
0.19.0 (2026-03-25)
Features
0.18.0 (2026-03-13)
Features
0.17.0 (2026-03-06)
β BREAKING CHANGES
-
rename
tool_contexttocontext(#159)
Features
-
add experimental ToolRuntime abstraction for tool execution (#156) (0ca7563)
-
add interrupt! public method for clean loop interrupts (#155) (a4cc877)
-
auto-derive step offset on resume for max_steps enforcement (#154) (fb97dbe)
Bug Fixes
Code Refactoring
0.16.1 (2026-03-03)
Bug Fixes
0.16.0 (2026-02-27)
Features
-
add Riffer::Boolean sentinel type for boolean params (#147) (5337cf3)
-
nested params DSL and strict schema for all providers (#144) (2984855)
0.15.1 (2026-02-25)
Bug Fixes
0.15.0 (2026-02-25)
Features
0.14.0 (2026-02-24)
Features
-
add file attachment support for user messages (#129) (0d08eb1)
-
add web_search option for OpenAI and Anthropic providers (#126) (7e7e793)
-
replace eval prompt API with semantic fields (#132) (5d99d5a)
-
replace Profile/Metric eval system with EvaluatorRunner (#138) (ebf2696)
Bug Fixes
-
add βcomment flag to claude code review prompt (#122) (534bd59)
-
add RBS annotations to web search constants and fix test provider docs (#130) (7cebe05)
-
correct Amazon Bedrock model options to use Converse API structure (#133) (3af4562)
-
widen run_eval input type to accept String or messages array (#124) (f96214c)
0.13.0 (2026-02-12)
Features
0.12.0 (2026-02-11)
β BREAKING CHANGES
-
Agent#generate now returns
Riffer::Agent::Responseinstead of String. Use response.content or response.to_s for the text.
Features
-
add evals primitive for LLM-as-judge evaluations (#101) (8fd7b36)
-
add guardrails primitive for input/output processing (#100) (48d8bad)
-
add inline RBS type annotations with Steep type checking (#103) (02ae559)
Bug Fixes
Miscellaneous Chores
0.11.0 (2026-02-04)
Features
-
add class methods for generate and stream to
Riffer::Agent(#97) (597636a) -
Add token usage tracking in
Riffer::Agent(#102) (6044914)
0.10.0 (2026-01-30)
Features
Bug Fixes
0.9.0 (2026-01-28)
Features
-
implement
Riffer::Tools::Responsefor consistent tool result handling (#91) (df44f1f)
0.8.0 (2026-01-26)
Features
0.7.0 (2026-01-21)
Features
0.6.1 (2026-01-16)
Bug Fixes
0.6.0 (2026-01-14)
Features
0.5.1 (2026-01-10)
Bug Fixes
-
update gem details to reflect janeapp ownership (#66) (06a008d)
-
update GitHub Pages deployment action in release workflow (#68) (e2f7961)
0.5.0 (2026-01-06)
Features
0.4.2 (2025-12-29)
Bug Fixes
0.4.1 (2025-12-29)
Bug Fixes
-
add conditional check for docs job execution based on release creation (#58) (97bc6f7)
-
suppress output during documentation generation (#53) (6b7f2d9)
-
update rdoc command to target the lib directory (#56) (c319efe)
0.4.0 (2025-12-29)
Features
0.3.2 (2025-12-29)
Bug Fixes
0.3.1 (2025-12-29)
Bug Fixes
0.3.0 (2025-12-29)
Features
Bug Fixes
-
remove manifest file from release configuration (#41) (2f898d8)
-
remove release-type configuration from release workflow (#42) (e270a6c)
-
restructure release configuration and update manifest format (#45) (d07694c)
-
simplify release configuration by removing unnecessary package structure (#40) (8472967)
0.2.0 (2025-12-28)
Features
[0.1.0] - 2024-12-20
Added
-
Core Framework: Foundation for building AI-powered applications and agents
-
Configuration System: Global and instance-level configuration management
-
Agents: Base agent class for building conversational agents
-
Messages: Complete message system with support for User, Assistant, System, and Tool messages
-
Providers: Pluggable provider architecture
-
OpenAI Provider: Full integration with OpenAI API for text generation and streaming
-
Test Provider: Built-in test provider for development and testing
-
Stream Events: Streaming response support with TextDelta and TextDone events
-
Zeitwerk Autoloading: Modern Ruby autoloading for clean code organization
-
Comprehensive Test Suite: Full RSpec test coverage with VCR cassettes for API mocking
-
StandardRB Code Style: Enforced code formatting and linting