Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "0.18.1"
".": "0.19.0"
}
2 changes: 1 addition & 1 deletion .rubocop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,7 @@ Naming/ClassAndModuleCamelCase:
Naming/MethodParameterName:
Enabled: false

Naming/PredicateName:
Naming/PredicatePrefix:
Exclude:
- "**/*.rbi"

Expand Down
8 changes: 4 additions & 4 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 109
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/openai%2Fopenai-7ef7a457c3bf05364e66e48c9ca34f31bfef1f6c9b7c15b1812346105e0abb16.yml
openapi_spec_hash: a2b1f5d8fbb62175c93b0ebea9f10063
config_hash: 76afa3236f36854a8705f1281b1990b8
configured_endpoints: 117
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/openai%2Fopenai-ddbdf9343316047e8a773c54fb24e4a8d225955e202a1888fde6f9c8898ebf98.yml
openapi_spec_hash: 9802f6dd381558466c897f6e387e06ca
config_hash: fe0ea26680ac2075a6cd66416aefe7db
20 changes: 20 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,25 @@
# Changelog

## 0.19.0 (2025-08-21)

Full Changelog: [v0.18.1...v0.19.0](https://github.com/openai/openai-ruby/compare/v0.18.1...v0.19.0)

### Features

* **api:** Add connectors support for MCP tool ([469dbe2](https://github.com/openai/openai-ruby/commit/469dbe2f5fab91bac9f4a656250567c9f6bc9867))
* **api:** adding support for /v1/conversations to the API ([54d4fe7](https://github.com/openai/openai-ruby/commit/54d4fe72f8157c44d3bca692e232be2e7ef7bbeb))


### Bug Fixes

* bump sorbet version and fix new type errors from the breaking change ([147f0a4](https://github.com/openai/openai-ruby/commit/147f0a48e2c10ede5d8a30c58ae8f5601d3c4a26))
* do note check stainless api key during release creation ([#813](https://github.com/openai/openai-ruby/issues/813)) ([afab147](https://github.com/openai/openai-ruby/commit/afab1477b36c90edd5a163f42d8b7f8f82001622))


### Chores

* **internal/ci:** setup breaking change detection ([f6a214c](https://github.com/openai/openai-ruby/commit/f6a214cd9373afdde57bee358b4e008f256b2a1e))

## 0.18.1 (2025-08-19)

Full Changelog: [v0.18.0...v0.18.1](https://github.com/openai/openai-ruby/compare/v0.18.0...v0.18.1)
Expand Down
91 changes: 51 additions & 40 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,13 @@ GIT
PATH
remote: .
specs:
openai (0.18.1)
openai (0.19.0)
connection_pool

GEM
remote: https://rubygems.org/
specs:
activesupport (8.0.2)
activesupport (8.0.2.1)
base64
benchmark (>= 0.3)
bigdecimal
Expand All @@ -33,46 +33,50 @@ GEM
addressable (2.8.7)
public_suffix (>= 2.0.2, < 7.0)
ast (2.4.3)
async (2.24.0)
async (2.27.3)
console (~> 1.29)
fiber-annotation
io-event (~> 1.9)
io-event (~> 1.11)
metrics (~> 0.12)
traces (~> 0.15)
base64 (0.2.0)
benchmark (0.4.0)
bigdecimal (3.1.9)
base64 (0.3.0)
benchmark (0.4.1)
bigdecimal (3.2.2)
concurrent-ruby (1.3.5)
connection_pool (2.5.3)
console (1.30.2)
console (1.33.0)
fiber-annotation
fiber-local (~> 1.1)
json
crack (1.0.0)
bigdecimal
rexml
csv (3.3.4)
drb (2.2.1)
csv (3.3.5)
drb (2.2.3)
erubi (1.13.1)
ffi (1.17.2-aarch64-linux-gnu)
ffi (1.17.2-aarch64-linux-musl)
ffi (1.17.2-arm64-darwin)
ffi (1.17.2-x86_64-darwin)
ffi (1.17.2-x86_64-linux-gnu)
ffi (1.17.2-x86_64-linux-musl)
fiber-annotation (0.2.0)
fiber-local (1.1.0)
fiber-storage
fiber-storage (1.0.1)
fileutils (1.7.3)
hashdiff (1.1.2)
hashdiff (1.2.0)
i18n (1.14.7)
concurrent-ruby (~> 1.0)
io-event (1.10.0)
json (2.11.3)
language_server-protocol (3.17.0.4)
io-event (1.11.2)
json (2.13.2)
language_server-protocol (3.17.0.5)
lint_roller (1.1.0)
listen (3.9.0)
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
logger (1.7.0)
metrics (0.12.2)
metrics (0.13.0)
minitest (5.25.5)
minitest-focus (1.4.0)
minitest (>= 4, < 6)
Expand All @@ -85,55 +89,56 @@ GEM
mutex_m (0.3.0)
netrc (0.11.0)
parallel (1.27.0)
parser (3.3.8.0)
parser (3.3.9.0)
ast (~> 2.4.1)
racc
prettier_print (1.2.1)
prism (1.4.0)
public_suffix (6.0.2)
racc (1.8.1)
rainbow (3.1.1)
rake (13.2.1)
rake (13.3.0)
rb-fsevent (0.11.2)
rb-inotify (0.11.1)
ffi (~> 1.0)
rbi (0.3.2)
rbi (0.3.6)
prism (~> 1.0)
rbs (>= 3.4.4)
sorbet-runtime (>= 0.5.9204)
rbs (3.9.2)
rbs (3.9.4)
logger
redcarpet (3.6.1)
regexp_parser (2.10.0)
regexp_parser (2.11.2)
rexml (3.4.1)
rubocop (1.75.5)
rubocop (1.79.2)
json (~> 2.3)
language_server-protocol (~> 3.17.0.2)
lint_roller (~> 1.1.0)
parallel (~> 1.10)
parser (>= 3.3.0.2)
rainbow (>= 2.2.2, < 4.0)
regexp_parser (>= 2.9.3, < 3.0)
rubocop-ast (>= 1.44.0, < 2.0)
rubocop-ast (>= 1.46.0, < 2.0)
ruby-progressbar (~> 1.7)
unicode-display_width (>= 2.4.0, < 4.0)
rubocop-ast (1.44.1)
rubocop-ast (1.46.0)
parser (>= 3.3.7.2)
prism (~> 1.4)
ruby-progressbar (1.13.0)
securerandom (0.4.1)
sorbet (0.5.12067)
sorbet-static (= 0.5.12067)
sorbet-runtime (0.5.12067)
sorbet-static (0.5.12067-universal-darwin)
sorbet-static (0.5.12067-x86_64-linux)
sorbet-static-and-runtime (0.5.12067)
sorbet (= 0.5.12067)
sorbet-runtime (= 0.5.12067)
spoom (1.6.1)
sorbet (0.5.12424)
sorbet-static (= 0.5.12424)
sorbet-runtime (0.5.12424)
sorbet-static (0.5.12424-aarch64-linux)
sorbet-static (0.5.12424-universal-darwin)
sorbet-static (0.5.12424-x86_64-linux)
sorbet-static-and-runtime (0.5.12424)
sorbet (= 0.5.12424)
sorbet-runtime (= 0.5.12424)
spoom (1.6.3)
erubi (>= 1.10.0)
prism (>= 0.28.0)
rbi (>= 0.2.3)
rbi (>= 0.3.3)
rexml (>= 3.2.6)
sorbet-static-and-runtime (>= 0.5.10187)
thor (>= 0.19.2)
steep (1.10.0)
Expand All @@ -154,7 +159,7 @@ GEM
terminal-table (>= 2, < 5)
uri (>= 0.12.0)
strscan (3.1.5)
syntax_tree (6.2.0)
syntax_tree (6.3.0)
prettier_print (>= 1.2.0)
tapioca (0.16.11)
benchmark
Expand All @@ -168,11 +173,11 @@ GEM
yard-sorbet
terminal-table (4.0.0)
unicode-display_width (>= 1.1.1, < 4)
thor (1.3.2)
traces (0.15.2)
thor (1.4.0)
traces (0.17.0)
tzinfo (2.0.6)
concurrent-ruby (~> 1.0)
unicode-display_width (3.1.4)
unicode-display_width (3.1.5)
unicode-emoji (~> 4.0, >= 4.0.4)
unicode-emoji (4.0.4)
uri (1.0.3)
Expand All @@ -187,8 +192,14 @@ GEM
yard

PLATFORMS
arm64-darwin-24
x86_64-linux
aarch64-linux
aarch64-linux-gnu
aarch64-linux-musl
arm64-darwin
universal-darwin
x86_64-darwin
x86_64-linux-gnu
x86_64-linux-musl

DEPENDENCIES
async
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ To use this gem, install via Bundler by adding the following to your application
<!-- x-release-please-start-version -->

```ruby
gem "openai", "~> 0.18.1"
gem "openai", "~> 0.19.0"
```

<!-- x-release-please-end -->
Expand Down
4 changes: 0 additions & 4 deletions bin/check-release-environment
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,6 @@

errors=()

if [ -z "${STAINLESS_API_KEY}" ]; then
errors+=("The STAINLESS_API_KEY secret has not been set. Please contact Stainless for an API key & set it in your organization secrets on GitHub.")
fi

if [ -z "${GEM_HOST_API_KEY}" ]; then
errors+=("The GEM_HOST_API_KEY secret has not been set. Please set it in either this repository's secrets or your organization secrets")
fi
Expand Down
31 changes: 31 additions & 0 deletions lib/openai.rb
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@
require_relative "openai/internal/transport/pooled_net_requester"
require_relative "openai/client"
require_relative "openai/internal/stream"
require_relative "openai/internal/conversation_cursor_page"
require_relative "openai/internal/cursor_page"
require_relative "openai/internal/page"
require_relative "openai/helpers/structured_output/json_schema_converter"
Expand Down Expand Up @@ -246,6 +247,33 @@
require_relative "openai/models/containers/file_retrieve_params"
require_relative "openai/models/containers/file_retrieve_response"
require_relative "openai/models/containers/files/content_retrieve_params"
require_relative "openai/models/conversations/computer_screenshot_content"
require_relative "openai/models/conversations/container_file_citation_body"
require_relative "openai/models/conversations/conversation"
require_relative "openai/models/conversations/conversation_create_params"
require_relative "openai/models/conversations/conversation_deleted"
require_relative "openai/models/conversations/conversation_deleted_resource"
require_relative "openai/models/conversations/conversation_delete_params"
require_relative "openai/models/conversations/conversation_item"
require_relative "openai/models/conversations/conversation_item_list"
require_relative "openai/models/conversations/conversation_retrieve_params"
require_relative "openai/models/conversations/conversation_update_params"
require_relative "openai/models/conversations/file_citation_body"
require_relative "openai/models/conversations/input_file_content"
require_relative "openai/models/conversations/input_image_content"
require_relative "openai/models/conversations/input_text_content"
require_relative "openai/models/conversations/item_create_params"
require_relative "openai/models/conversations/item_delete_params"
require_relative "openai/models/conversations/item_list_params"
require_relative "openai/models/conversations/item_retrieve_params"
require_relative "openai/models/conversations/lob_prob"
require_relative "openai/models/conversations/message"
require_relative "openai/models/conversations/output_text_content"
require_relative "openai/models/conversations/refusal_content"
require_relative "openai/models/conversations/summary_text_content"
require_relative "openai/models/conversations/text_content"
require_relative "openai/models/conversations/top_log_prob"
require_relative "openai/models/conversations/url_citation_body"
require_relative "openai/models/create_embedding_response"
require_relative "openai/models/custom_tool_input_format"
require_relative "openai/models/embedding"
Expand Down Expand Up @@ -383,6 +411,7 @@
require_relative "openai/models/responses/response_content"
require_relative "openai/models/responses/response_content_part_added_event"
require_relative "openai/models/responses/response_content_part_done_event"
require_relative "openai/models/responses/response_conversation_param"
require_relative "openai/models/responses/response_created_event"
require_relative "openai/models/responses/response_create_params"
require_relative "openai/models/responses/response_custom_tool_call"
Expand Down Expand Up @@ -535,6 +564,8 @@
require_relative "openai/resources/containers"
require_relative "openai/resources/containers/files"
require_relative "openai/resources/containers/files/content"
require_relative "openai/resources/conversations"
require_relative "openai/resources/conversations/items"
require_relative "openai/resources/embeddings"
require_relative "openai/resources/evals"
require_relative "openai/resources/evals/runs"
Expand Down
4 changes: 4 additions & 0 deletions lib/openai/client.rb
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,9 @@ class Client < OpenAI::Internal::Transport::BaseClient
# @return [OpenAI::Resources::Responses]
attr_reader :responses

# @return [OpenAI::Resources::Conversations]
attr_reader :conversations

# @return [OpenAI::Resources::Evals]
attr_reader :evals

Expand Down Expand Up @@ -160,6 +163,7 @@ def initialize(
@batches = OpenAI::Resources::Batches.new(client: self)
@uploads = OpenAI::Resources::Uploads.new(client: self)
@responses = OpenAI::Resources::Responses.new(client: self)
@conversations = OpenAI::Resources::Conversations.new(client: self)
@evals = OpenAI::Resources::Evals.new(client: self)
@containers = OpenAI::Resources::Containers.new(client: self)
end
Expand Down
1 change: 1 addition & 0 deletions lib/openai/helpers/structured_output/boolean.rb
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ module StructuredOutput
# Ruby does not have a "boolean" Class, this is something for models to refer to.
class Boolean < OpenAI::Internal::Type::Boolean
extend OpenAI::Helpers::StructuredOutput::JsonSchemaConverter

# rubocop:disable Lint/UnusedMethodArgument

# @api private
Expand Down
Loading