1.9.1
RubyLLM 1.9.1: Rails Namespaces, Vertex AI Auth & Anthropic Uploads 🛤️🔐
A focused patch release that keeps ActiveRecord integrations humming in namespaced apps, restores Anthropic uploads, and hardens Vertex AI auth while smoothing out MySQL migrations and attachment handling.
🧭 Namespaced ActiveRecord Chats Keep Their Foreign Keys
acts_as_* helpers now accept explicit foreign key overrides, matching Rails’ association API, so namespaced chats and tool calls work even when their FK column doesn’t follow the default pattern.
class Support::Message < ActiveRecord::Base
acts_as_message chat_class: "Support::Conversation",
chat_foreign_key: "conversation_id",
tool_call_class: "Support::ToolCall",
tool_calls_foreign_key: "support_tool_call_id"
end
- Fixes the regression introduced in 1.8.x for engines and modularized apps.
- Generators include the right foreign keys out of the box when you opt into namespaces.
🚆 Zeitwerk Eager Loading Behaves Outside Rails
The Railtie is now safely ignored during eager loading when Rails::Railtie isn’t defined, preventing NameError crashes in gems and background workers that depend on RubyLLM but don’t run inside Rails.