From c3b0f568dfceea6f56b930cdd5e710f206c4dd9c Mon Sep 17 00:00:00 2001 From: Raghu Betina Date: Wed, 22 Apr 2026 17:24:39 -0500 Subject: [PATCH 1/2] Release 0.6.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - `ai-chat.gemspec` version → 0.6.1. - `CHANGELOG.md` [Unreleased] → [0.6.1] - 2026-04-22; added an entry crediting the openai 0.43 → 0.59 dependency bump (was left out of the original [Unreleased] block since the two changes shipped as separate PRs) and flagged the stricter `image_generation=` validation as a technically-breaking change for transparency, even though pre-1.0 semver doesn't require it. Shipping as a patch bump because the gem is pre-1.0 and the new Hash surface is backward-compatible in practice — `chat.image_generation = true` continues to work, and the stricter validation only rejects values no one should have been passing. Verified end-to-end with a two-case live smoke test (tmp/smoke_test.rb, gitignored): - Hash `{size: "1024x1024", quality: "low"}` → PNG saved, 1.08 MB. - Hash `{size: "1024x1024", quality: "low", output_format: "jpeg"}` → JPEG saved with `.jpg` extension; magic bytes confirmed `ff d8 ff`. --- CHANGELOG.md | 6 ++++-- ai-chat.gemspec | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 51ea668..a3cdbc0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,7 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [Unreleased] +## [0.6.1] - 2026-04-22 ### Added @@ -13,7 +13,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed -- **`image_generation=` validates its argument**: Only `true`, `false`, `nil`, or a `Hash` are now accepted. `nil` is normalized to `false`. Any other value raises `ArgumentError`. +- **`image_generation=` validates its argument**: Only `true`, `false`, `nil`, or a `Hash` are now accepted. `nil` is normalized to `false`. Any other value raises `ArgumentError`. (Technically breaking: values like truthy strings or integers that silently worked before now raise.) + +- **Bumped `openai` runtime dependency from `~> 0.43` to `~> 0.59`**: Picks up the typed `action` field on the image_generation tool, `gpt-5.4` mini/nano model slugs, and assorted upstream SDK transport fixes. No gem code changes were required for the bump — every method we call kept the same signature. ### Fixed diff --git a/ai-chat.gemspec b/ai-chat.gemspec index 2abf042..af9416b 100644 --- a/ai-chat.gemspec +++ b/ai-chat.gemspec @@ -2,7 +2,7 @@ Gem::Specification.new do |spec| spec.name = "ai-chat" - spec.version = "0.6.0" + spec.version = "0.6.1" spec.authors = ["Raghu Betina", "Jelani Woods"] spec.email = ["raghu@firstdraft.com", "jelani@firstdraft.com"] spec.homepage = "https://github.com/firstdraft/ai-chat" From 15143cbf91a6518bb3d4d516074c7b55bc607b14 Mon Sep 17 00:00:00 2001 From: Raghu Betina Date: Wed, 22 Apr 2026 17:25:21 -0500 Subject: [PATCH 2/2] Update Gemfile.lock for 0.6.1 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index ad1e680..dd22c1a 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,7 +1,7 @@ PATH remote: . specs: - ai-chat (0.6.0) + ai-chat (0.6.1) amazing_print (~> 2.0) base64 (~> 0.1, > 0.1.1) json (~> 2.0)