-
-
Notifications
You must be signed in to change notification settings - Fork 479
Permalink
Choose a base ref
{{ refName }}
default
Choose a head ref
{{ refName }}
default
Comparing changes
Choose two branches to see what’s changed or to start a new pull request.
If you need to, you can also or
learn more about diff comparisons.
Open a pull request
Create a new pull request by comparing changes across two branches. If you need to, you can also .
Learn more about diff comparisons here.
base repository: crmne/ruby_llm
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 1.13.1
Could not load branches
Nothing to show
Loading
Could not load tags
Nothing to show
{{ refName }}
default
Loading
...
head repository: crmne/ruby_llm
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 1.13.2
Could not load branches
Nothing to show
Loading
Could not load tags
Nothing to show
{{ refName }}
default
Loading
- 7 commits
- 487 files changed
- 4 contributors
Commits on Mar 4, 2026
-
Fix missing models.dev date handling for created_at metadata (#652)
## What this does Fixes an edge case in `Models.models_dev_model_to_info` where `created_at` was built from a blank date when both `release_date` and `last_updated` were missing. Before this fix, it could build `" 00:00:00 UTC"`, which later parsed to the current date, causing incorrect and non-deterministic `created_at` values in model metadata. This PR: - Sets `created_at` only when a non-blank date is present. - Keeps `created_at` as `nil` when both source dates are missing. - Adds a regression test covering this nil-date case. ## Type of change - [x] Bug fix - [ ] New feature - [ ] Breaking change - [ ] Documentation - [ ] Performance improvement ## Scope check - [x] I read the [Contributing Guide](https://github.com/crmne/ruby_llm/blob/main/CONTRIBUTING.md) - [x] This aligns with RubyLLM's focus on **LLM communication** - [x] This isn't application-specific logic that belongs in user code - [x] This benefits most users, not just my specific use case ## Required for new features <!-- Skip this section for bug fixes and documentation --> - [ ] I opened an issue **before** writing code and received maintainer approval - [ ] Linked issue: #___ **PRs for new features or enhancements without a prior approved issue will be closed.** ## Quality check - [x] I ran `overcommit --install` and all hooks pass - [x] I tested my changes thoroughly - [ ] For provider changes: Re-recorded VCR cassettes with `bundle exec rake vcr:record[provider_name]` - [ ] All tests pass: `bundle exec rspec` - [ ] I updated documentation if needed - [x] I didn't modify auto-generated files manually (`models.json`, `aliases.json`) ## AI-generated code - [x] I used AI tools to help write this code - [x] I have reviewed and understand all generated code (required if above is checked) ## API changes - [ ] Breaking change - [ ] New public methods/classes - [ ] Changed method signatures - [x] No API changes
Configuration menu - View commit details
-
Copy full SHA for d940984 - Browse repository at this point
Copy the full SHA d940984View commit details -
Configuration menu - View commit details
-
Copy full SHA for 48bf6f6 - Browse repository at this point
Copy the full SHA 48bf6f6View commit details -
Configuration menu - View commit details
-
Copy full SHA for fe8994d - Browse repository at this point
Copy the full SHA fe8994dView commit details
Commits on Mar 5, 2026
-
[BUG] Fix schema name sanitization for OpenAI API compatibility (#655)
## What this does Sanitizes schema names in `build_schema_payload` by replacing characters that don't match `[a-zA-Z0-9_-]` with `_`. Since v1.13.0, `normalize_schema_payload` preserves the `:name` key from `to_json_schema`. When using `ruby_llm-schema`, the schema name defaults to the full Ruby class name (e.g. `MyApp::Nested::Schema`) which contains `::`. OpenAI requires `response_format.json_schema.name` to match `^[a-zA-Z0-9_-]+$`, so the request is rejected with a `BadRequestError`. ## Type of change - [x] Bug fix - [ ] New feature - [ ] Breaking change - [ ] Documentation - [ ] Performance improvement ## Scope check - [x] I read the [Contributing Guide](https://github.com/crmne/ruby_llm/blob/main/CONTRIBUTING.md) - [x] This aligns with RubyLLM's focus on **LLM communication** - [x] This isn't application-specific logic that belongs in user code - [x] This benefits most users, not just my specific use case ## Quality check - [x] I ran `overcommit --install` and all hooks pass - [x] I tested my changes thoroughly - [ ] For provider changes: Re-recorded VCR cassettes with `bundle exec rake vcr:record[provider_name]` - [x] All tests pass: `bundle exec rspec` - [ ] I updated documentation if needed - [x] I didn't modify auto-generated files manually (`models.json`, `aliases.json`) ## AI-generated code - [x] I used AI tools to help write this code - [x] I have reviewed and understand all generated code (required if above is checked) ## API changes - [ ] Breaking change - [ ] New public methods/classes - [ ] Changed method signatures - [x] No API changes Fixes #654 --------- Co-authored-by: Alexey Ivanov <[email protected]> Co-authored-by: Carmine Paolino <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for afe7d04 - Browse repository at this point
Copy the full SHA afe7d04View commit details -
Fix Anthropic streaming crash on non-hash SSE payloads (#657)
## What this does Prevents streaming parsers from passing non-Hash SSE payloads into provider `build_chunk` methods. `handle_data` can parse valid JSON scalars (like `true`) from `data:` frames. Those values are truthy and previously passed `if data`, which crashes provider chunk builders that assume a Hash and call `dig`. This change narrows the guard in `handle_stream` to `data.is_a?(Hash)`. ## Why this is minimal - One-line runtime behavior change in shared streaming handler - No provider-specific branching - Keeps existing behavior for all normal Hash event payloads ## Tests - Added `spec/ruby_llm/streaming_spec.rb` - Verifies non-Hash SSE payloads are ignored without raising - Verifies Hash SSE payloads still flow to `build_chunk` Fixes #656
Configuration menu - View commit details
-
Copy full SHA for 67c4148 - Browse repository at this point
Copy the full SHA 67c4148View commit details -
Configuration menu - View commit details
-
Copy full SHA for b6e62a6 - Browse repository at this point
Copy the full SHA b6e62a6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0950693 - Browse repository at this point
Copy the full SHA 0950693View commit details
Loading
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff 1.13.1...1.13.2