0.7.3: adoption-friction release (docs + examples consolidation)#28
Conversation
No gem-level code changes. Upgrading from 0.7.2 picks up the expanded docs set, consolidated runnable showcases, and one extra integration spec that closes the 09 STEP 5 known issue from 0.7.2. Full changelog entry in CHANGELOG.md covers: - New guides: docs/guide/why.md (4 production failure modes) and docs/guide/rails_integration.md (7 Rails-specific FAQs). - README adoption-friction pass: "Do I need this?" block, reading order, outcome-based docs index labels, TL;DR boxes per guide. - API coverage gaps closed (estimate_cost, on_unknown_pricing, run_eval concurrency, around_call testing). - Examples consolidated to 7 files on SummarizeArticle (was 12), renumbered 00-06 with Expected output inline on every file. - Schema pitfall fixed in 5 example files (array-without-object). - spec/integration/pipeline_eval_spec.rb added (3 cases) — closes the 09 STEP 5 known issue flagged in 0.7.2. - Private-project cleanup: Reddit examples and one duplicate schema example removed. 1287 specs pass. 6/6 test-adapter examples run clean. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
Prepares the 0.7.3 “adoption-friction” release by bumping the gem version, updating dependency lock metadata, and adding release notes describing the docs/examples/spec consolidation.
Changes:
- Bump gem version to
0.7.3. - Regenerate
Gemfile.lockto reflect the new gem version. - Add a
CHANGELOG.mdentry for 0.7.3 summarizing the release contents.
Reviewed changes
Copilot reviewed 2 out of 3 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
lib/ruby_llm/contract/version.rb |
Version constant bumped to 0.7.3 |
Gemfile.lock |
Lockfile updated for 0.7.3 path gem |
CHANGELOG.md |
New 0.7.3 release notes added |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
|
||
| ## 0.7.3 (2026-04-24) | ||
|
|
||
| Adoption-friction release. No gem-level code changes — every delta is in `docs/`, `examples/`, or `spec/integration/`. Upgrading from 0.7.2 picks up the expanded guide set, the new runnable showcases, and one extra integration spec. |
There was a problem hiding this comment.
The note "No gem-level code changes" is inaccurate in this release entry because the gem version was bumped (and Gemfile.lock updated). Consider rephrasing to something like "No runtime behavior changes" / "No library behavior changes" to avoid confusion for readers auditing diffs.
| Adoption-friction release. No gem-level code changes — every delta is in `docs/`, `examples/`, or `spec/integration/`. Upgrading from 0.7.2 picks up the expanded guide set, the new runnable showcases, and one extra integration spec. | |
| Adoption-friction release. No runtime behavior changes — every delta is in `docs/`, `examples/`, or `spec/integration/`. Upgrading from 0.7.2 picks up the expanded guide set, the new runnable showcases, and one extra integration spec. |
| ### Examples — bug fixes carried along | ||
|
|
||
| - **Schema pitfall fixed in 5 files** — `array :x do; string :y; ...; end` silently produces `items: string` and drops every declaration after the first, matching the documented pitfall in `spec/ruby_llm/contract/nested_schema_spec.rb:71`. Every affected array block is now wrapped in `object do...end`. | ||
| - **`examples/09_eval_dataset.rb` `result[:passed]` → `result.passed?`** — the previous code called `[]` on an `Eval::CaseResult` and raised `NoMethodError` at runtime. |
There was a problem hiding this comment.
This bullet references examples/09_eval_dataset.rb, but the examples are renumbered 00–06 in this release and that file doesn’t exist. Update the filename in the changelog (likely examples/05_eval_dataset.rb) so the note is actionable.
| - **`examples/09_eval_dataset.rb` `result[:passed]` → `result.passed?`** — the previous code called `[]` on an `Eval::CaseResult` and raised `NoMethodError` at runtime. | |
| - **`examples/05_eval_dataset.rb` `result[:passed]` → `result.passed?`** — the previous code called `[]` on an `Eval::CaseResult` and raised `NoMethodError` at runtime. |
- Line 5: "No gem-level code changes" was misleading — version.rb and Gemfile.lock are gem-level files too. Changed to "No runtime behavior changes" and explicitly acknowledged the version/lockfile bumps. - Line 37: the bullet referenced examples/09_eval_dataset.rb, but the renumber in this same release moved it to examples/05_eval_dataset.rb. Readers auditing the current tree wouldn't find the mentioned file. Updated to the current filename with a parenthetical for history. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Adoption-friction release. No gem-level code changes — every delta is in
docs/,examples/, orspec/integration/. Upgrading from 0.7.2 picks up the expanded guide set, the consolidated runnable showcases, and one extra integration spec.What landed in 0.7.3
Seven merged PRs (#21 through #27) collapsed into one release:
01_fallback_showcase.rb) + retry variants (06_retry_variants.rb)architecture.mdrefresh +docs/ideas/untracked + Part A expected outputrun_evalcoverage — closes the "09 STEP 5" known issue from 0.7.2Verification
02_real_llm_minimal.rbexpectedly requires an API key).bundle installresolvesruby_llm-contract 0.7.3.Release checklist
lib/ruby_llm/contract/version.rbbumped to0.7.3CHANGELOG.mdentry with full detailsGemfile.lockregeneratedAfter merge:
v0.7.3onmaingem build ruby_llm-contract.gemspecgem push ruby_llm-contract-0.7.3.gem