Skip to content

Prepare for RubyLLM 2.0 compatibility #29

@justi

Description

@justi

Context

RubyLLM is moving toward 2.0 and emits deprecation warnings for the legacy acts_as_* Rails integration API (acts_as_chat, acts_as_message, etc.). ruby_llm-contract itself does not use acts_as_* — grep across lib/ returns zero hits — but we depend on ruby_llm and share its breaking-change surface.

Current state

  • ruby_llm-contract.gemspec: spec.add_dependency "ruby_llm", "~> 1.0"
  • Gemfile.lock: currently resolving ruby_llm 1.14.0
  • Pessimistic constraint blocks auto-upgrade to 2.0 → existing users are protected until we deliberately bump.

Work to do (when RubyLLM 2.0 ships)

  • Read the RubyLLM 2.0 release notes / migration guide
  • Audit our direct usage of RubyLLM APIs in lib/ (RubyLLM.chat, with_instructions, tool interface, streaming, error types, etc.) — note any signature or behavior changes beyond acts_as_*
  • Run full test suite against a ruby_llm 2.0.x Gemfile to catch breakage
  • Update spec.add_dependency constraint (likely ">= 1.14", "< 3" or drop 1.x support entirely — decide based on audit)
  • Bump ruby_llm-contract to a new minor (0.8) or major (1.0) — whichever fits the semver of the changes we're forced to make
  • Write CHANGELOG migration note
  • Update docs/guide/rails.md with a one-liner: "RubyLLM 2.0 removes acts_as_*; ruby_llm-contract does not use that API, but if your Rails models do, follow RubyLLM's migration guide."

Not blocking

No code changes needed right now. Tracking so we don't miss the 2.0 release window.

Related

  • RubyLLM upstream deprecation warning: RubyLLM's legacy acts_as API is deprecated and will be removed in RubyLLM 2.0.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions