Releases: benjaminjackson/exa-ruby
Releases · benjaminjackson/exa-ruby
v0.11.1
Fixed
- Structured summary parsing - When
summary: { schema: ... }is provided, the gem now automatically parses the JSON-encoded summary string returned by the API into a Ruby Hash. Plain text summaries (no schema) are unchanged.
Changed
- Parameter consolidation - Flat content sub-parameters (e.g.,
text_max_characters,highlights_query) are now automatically nested under their parent hashes before conversion, simplifying CLI integration
v0.11.0
What's Changed
Added
- Text verbosity - Added
--text-verbosityCLI flag withcompact,standard, andfulloptions for controlling text extraction detail level - System prompt - Added
--system-promptCLI flag andsystem_promptparameter (converts tosystemPrompt) for AI-powered search customization - Content moderation - Added
--moderationCLI flag to enable content moderation on search results
Changed
- Livecrawl flag -
--livecrawlis now a boolean flag (was a mode string). Enables livecrawl with smart defaults:maxAgeHours=0andlivecrawlTimeout=5000. Use--livecrawl-timeoutand--max-age-hoursto override defaults
Fixed
- Category list - Removed deprecated
pdfcategory from valid categories
v0.10.0
[0.10.0] - 2026-03-07
Added
- Livecrawl support - Added
livecrawlandmax_age_hoursparameters to search, with CLI--livecrawland--max-age-hoursflags - Deep-reasoning search type - Added
deep-reasoningandinstantsearch types alongside existing types - Output field - Search results now include an
outputfield for deep-reasoning responses - Additional search parameters - Added
additional_queries,output_schema, anduser_locationparameter conversions - Integration tests - Comprehensive integration tests for post-v0.9.0 search features including deep-reasoning
Fixed
- Parameter conversion -
num_results,include_domains,exclude_domains, and highlights now correctly convert to camelCase in request body - CLI search parser - Updated to support current API search types (
auto,fast,deep,neural,instant,deep-reasoning) - Livecrawl validation - Added proper validation for livecrawl parameter values in CLI
- User location - Use ISO country code format per API spec
- VCR cassettes - Re-recorded search cassettes against live API for accuracy
v0.9.0
What's Changed
Added
- Webset title support - Websets can now be created and updated with an optional
titlefield via both the Ruby client and CLI (--titleflag onwebset-createandwebset-update)
Fixed
- Integration test stability - Added pre/post-suite sweep of stale websets to prevent hitting concurrent webset API limits during test runs
v0.8.0
Added
- Automatic .env file loading - CLI and library now automatically load environment variables from .env files, eliminating the need to manually set EXA_API_KEY environment variable
Changed
- dotenv dependency - Moved dotenv from development to runtime dependency to support automatic .env file loading
v0.7.2
Changed
- Removed native extension dependency - Removed unused
ld-eventsourcedependency, eliminating FFI and native compilation requirements
Fixed
- CLI improvements - Corrected cursor field name in webset-list help text, improved dispatcher executable handling
- Search defaults - Changed default search type to
autofor better results
v0.7.1
Added
- Answer command --skip-citations flag - Added
--skip-citationsand--no-citationsflags to the answer command to omit citations from output, saving tokens when citations aren't needed
Changed
- Documentation improvements - Added Ruby requirements and macOS setup instructions, simplified table of contents
- Test improvements - Enhanced CLI integration test error messages, made setup commands fail fast instead of skip, improved handling of missing API keys
v0.6.1
Changed
- Enhanced pretty format output - Replaced JSON.pretty_generate with human-readable text format across all CLI formatters for better readability
Fixed
- CLI enrichment flags - Removed unused enrichment flags that were causing confusion
- Webset import/search scope validation - Added proper validation to prevent conflicts between import and search scope parameters
- CLI formatter test - Fixed enrichment CLI integration test to properly handle pretty format output (text instead of JSON)
- Test cleanup - Improved webset cleanup in tests to cancel all searches before deletion, preventing concurrent request limit issues
v0.6.0
Added
Webset Imports
- Import API operations - Full support for creating and managing webset imports from CSV files
- File upload service - Service for uploading CSV files to create websets from external data
- Import resource objects - Resource objects for handling import responses and status
- Import CLI commands - Complete CLI interface for import operations (create, list, get)
- Create websets from imports - Direct webset creation from import results
Webset Monitors
- Monitor API operations - Comprehensive support for creating, retrieving, listing, updating, and deleting webset monitors
- Monitor resource objects - Resources for handling monitor configurations and schedules
- Monitor CLI commands - Full CLI suite for monitor operations (create, get, list, update, delete)
- Automated webset updates - Schedule periodic searches to keep websets up-to-date
CLI Enhancements
- TOON output format - New output format option for CLI commands supporting TOON serialization
Changed
- Entity type validation - Refactored and consolidated entity type validation logic across webset operations
v0.5.0
Added
- Updated search types to use
fastanddeepinstead of deprecated types
Changed
- Prioritized detailed error messages from API responses for better debugging
- CLI error messages now use $stderr instead of $stdout
- CLI output now flushes stdout to ensure piped output reaches destination immediately
Fixed
- Corrected CLI help messages to reference
exa-aiinstead ofexa-api - Improved webset-create CLI test error handling