Releases: openai/openai-ruby
Releases · openai/openai-ruby
v0.1.0-beta.2
0.1.0-beta.2 (2025-05-22)
Full Changelog: v0.1.0-beta.1...v0.1.0-beta.2
Features
- api: add container endpoint (8be52a2)
- api: further updates for evals API (ae7a8b8)
- api: new API tools (9105b8b)
- api: new streaming helpers for background responses (91a278e)
- api: Updating Assistants and Evals API schemas (690b6a7)
- RBI type defs for structured output (#684) (00b25bd)
Bug Fixes
- correctly instantiate sorbet type aliases for enums and unions (15a2b2b)
- structured output union decorations (05b69d1)
Chores
- disable sorbet typecheck for WIP sorbet annotations in examples (#678) (a340356)
- docs: grammar improvements (c4ef024)
- force utf-8 locale via
RUBYOPT
when formatting (746abf4) - internal: version bump (b35ea63)
- refine Yard and Sorbet types and ensure linting is turned on for examples (a16dd00)
- use fully qualified names for yard annotations and rbs aliases (26db76d)
- use sorbet union aliases where available (600f499)
Documentation
v0.1.0-beta.1
0.1.0-beta.1 (2025-05-16)
Full Changelog: v0.1.0-alpha.5...v0.1.0-beta.1
Features
- api: add image sizes, reasoning encryption (c4565ed)
- api: Add reinforcement fine-tuning api support (65834c6)
- api: adding new image model support (641f4eb)
- api: manual updates (c4989d6)
- bump default connection pool size limit to minimum of 99 (3fc0971)
- expose base client options as read only attributes (1d53fee)
- expose recursive
#to_h
conversion (734833c) - initial structured outputs support (#565) (a613a39)
- support sorbet aliases at the runtime (0ef168a)
- support specifying content-type with FilePart class (ece942c)
- support webmock for testing (9e1a0f1)
Bug Fixes
- ensure gem release is unaffected by renaming (513acd8)
- fix workflow syntax (b5d45ce)
- internal: ensure formatting always uses c.utf-8 locale (3d51f78)
- internal: fix formatting script for macos (6784709)
- JSON.fast_generate is deprecated (591fdf0)
- make a typo for
FilePart.content
(c78ea0f)
Chores
- add generator safe directory (5c9767e)
- always check if current page is empty in
next_page?
(8e8464e) - broadly detect json family of content-type headers (77f7239)
- bump minimum supported Ruby version to 3.2 (41ce053)
- ci: add timeout thresholds for CI jobs (6fba7b2)
- ci: only use depot for staging repos (57a10b0)
- ci: run on more branches and use depot runners (0ae14a8)
- consistently use string in examples, even for enums (cec4b05)
- ensure examples have busybox compat shebangs (7720dca)
- explicitly mark apis public under
Internal
module (ca0d841) - fix misc linting / minor issues (918ac6b)
- internal: annotate request options with type aliases in sorbet (4918836)
- internal: codegen related update (139a140)
- internal: codegen related update (ebf0cae)
- internal: codegen related update (71cf48f)
- internal: codegen related update (f3fc915)
- internal: improve response envelope unwrap functionality (a05d2c5)
- internal: minor type annotation improvements (67b0e35)
- internal: remove unnecessary
rbi/lib
folder (df9e099) - internal: touch up formatting (d3c5587)
- internal: version bump (ef2a5d4)
- loosen rubocop rules that don't always make sense (4244f89)
- migrate away from deprecated
JSON#fast_generate
(3be700f) - more accurate type annotations and aliases (04b111d)
- re-export top level models under library namespace (8c5e78a)
- remove Gemfile.lock (2306cb4)
- remove Gemfile.lock during bootstrap (c248f15)
- reorganize type aliases (1815c45)
- revert ignoring Gemfile.lock (9a2827b)
- show truncated parameter docs in yard (bf84473)
- validate request option coercion correctness (c5b4f52)
Documentation
v0.1.0-alpha.5
0.1.0-alpha.5 (2025-04-18)
Full Changelog: v0.1.0-alpha.4...v0.1.0-alpha.5
Features
- implement
#hash
for data containers (924fcb4)
Bug Fixes
- always send idempotency header when specified as a request option (548bfaf)
- client: send correct HTTP path (896142a)
Chores
- documentation improvements (ff43d73)
- internal: configure releases (7eb9185)
- internal: contribute.md and contributor QoL improvements (d060adf)
- make sorbet enums easier to read (7c03213)
- refine
#inspect
and#to_s
for model classes (84308a6) - simplify yard annotations by removing most
@!parse
directives (16ec2e3) - update README with recommended editor plugins (c745aef)
- update readme with temporary install instructions (8a79cc0)
- use
@!method
instead of@!parse
for virtual method type definitions (b5fba2e)
v0.1.0-alpha.4
0.1.0-alpha.4 (2025-04-16)
Full Changelog: v0.1.0-alpha.3...v0.1.0-alpha.4
⚠ BREAKING CHANGES
- bump min supported ruby version to 3.1 (oldest non-EOL) (#93)
- remove top level type aliases to relocated classes (#91)
- use descriptive prefixes for enum names that start with otherwise illegal identifiers (#89)
Features
- add reference links in yard (#79) (98262c8)
- add stubs documenting coming soon streaming helpers (d455e9b)
- allow all valid
JSON
types to be encoded (#102) (5f5ee8b) - api: Add evalapi to sdk (#113) (230bbfd)
- api: add o3 and o4-mini model IDs (4d3d4b7)
- api: adding gpt-4.1 family of model IDs (b4183d5)
- api: manual updates (#116) (aef32b1)
- api: manual updates (#83) (33c9252)
- api: manual updates (#84) (4755fff)
- api: manual updates (#88) (2db2fb6)
- api: manual updates (#92) (5b6d96e)
- bump min supported ruby version to 3.1 (oldest non-EOL) (#93) (5c4feaa)
- client: enable setting base URL from environment variable (b9da54b)
- example code snippets (67c590b)
- implement
to_json
for base model (#86) (f333c1c) - link response models to their methods in yard doc (#81) (0f4332a)
- remove top level type aliases to relocated classes (#91) (4588640)
- support query, header, and body params that have identical names (#101) (f70c567)
- support solargraph generics (#96) (80829ad)
- use Pathname alongside raw IO handles for file uploads (#119) (8728785)
Bug Fixes
- converter should transform stringio into string where applicable (#104) (c2f3c12)
- inaccuracies in the README.md (7d42afa)
- internal: update release-please to use ruby strategy for README.md (#123) (27f89a9)
- pre-release version string should match ruby, not semver conventions (#95) (18c01b1)
- raise connection error for errors that result from HTTP transports (#120) (d7d7a54)
- use descriptive prefixes for enum names that start with otherwise illegal identifiers (#89) (647efa0)
Chores
- add README docs for using solargraph when installing gem from git (#118) (368c337)
- always fold up method bodies in sorbet type definitions (#108) (1967acc)
- attempt to clean up underlying transport when streams are GC'd (#117) (4a43313)
- demonstrate how to make undocumented requests in README (#94) (fbd8130)
- do not use literals for version in type definitions (#97) (57bc1e7)
- docs/README tweaks (#570) (ccbf6a2)
- document LSP support in read me (#100) (1a0a335)
- easier to read examples in README.md (#111) (2435ef5)
- ensure readme.md is bumped when release please updates versions (#122) (0431cff)
- extract error classes into own module (#87) (a8595ff)
- fix readme typo (#125) (f329b13)
- improve yard docs readability (#80) (76cf765)
- internal: always run post-processing when formatting when syntax_tree (15fff97)
- internal: expand CI branch coverage (#124) (5e73790)
- internal: fix examples (#114) (8abe02b)
- internal: loosen internal type restrictions (35babf9)
- internal: minor touch ups on sdk internals (1d828d1)
- internal: misc small improvements (#105) (fa32836)
- internal: more concise handling of parameter naming conflicts (#110) (a6c4233)
- internal: mostly README touch ups (eaf6038)
- internal: protect SSE parsing pipeline from broken UTF-8 characters (334b99e)
- internal: reduce CI branch coverage (0737020)
- internal: rubocop rules (#107) (036211d)
- internal: run rubocop linter in parallel ([#106](https://github.com/openai/ope...
v0.1.0-alpha.3
0.1.0-alpha.3 (2025-04-01)
Full Changelog: v0.1.0-alpha.2...v0.1.0-alpha.3
⚠ BREAKING CHANGES
- use tagged enums in sorbet type definitions (#49)
- support
for item in stream
style iteration onStream
s (#44) - model: base model should recursively store coerced base models (#29)
Features
- api: add
get /chat/completions
endpoint (4570a0f) - api: add
get /responses/{response_id}/input_items
endpoint (7eaee28) - api: new models for TTS, STT, + new audio features for Realtime (#46) (56c2a3f)
- api: o1-pro now available through the API (#43) (e158e7e)
- collapse anonymous enum into unions (#54) (9fc4185)
- consistently accept
AnyHash
types in parameter positions in sorbet (#57) (adf7232) - internal: converter interface should recurse without schema (#68) (2c67222)
- prevent tapioca from introspecting the gem internals (#56) (09df54b)
- support
for item in stream
style iteration onStream
s (#44) (517cf73) - use tagged enums in sorbet type definitions (#49) (c0a0340)
Bug Fixes
- api: correct some Responses types (#30) (51b4d37)
- client: remove duplicate types (#47) (d26429c)
- label optional keyword arguments in *.rbs type definitions (#41) (fe7be91)
- missing union constants in rbs and rbi type definitions (#28) (8a1a86e)
- model: base model should recursively store coerced base models (#29) (ab2daf1)
- pages should be able to accept non-converter models (#60) (ca44472)
- path interpolation template strings (#77) (f1eec93)
- resolve tapioca derived sorbet errors (#45) (f155158)
- sorbet class aliases are not type aliases (#40) (871fcd5)
- switch to github compatible markdown engine (#73) (5ea2f1a)
- type names (acb2ad3)
- types: improve responses type names (#34) (a82dc6f)
- yard example tag formatting (#53) (f9282fc)
Chores
BaseModel
fields that areBaseModel
typed should also acceptHash
(#52) (aab09b2)- add
[@yieldparam](https://github.com/yieldparam)
to yard doc (#36) (aa0519b) - add example directory (#39) (c62326d)
- add hash of OpenAPI spec/config inputs to .stats.yml (6bd0b48)
- add type annotations for enum and union member listing methods (#55) (a2be966)
- api: updates to supported Voice IDs (#64) (6c42664)
- disable dangerous rubocop auto correct rule (#62) (f34ac80)
- disable overloads in
*.rbs
definitions for readable LSP errors (#42) (2364f78) - disable unnecessary linter rules for sorbet manifests (#35) (cf2f693)
- document Client's concurrency capability (#33) (9b08fb0)
- fix misc rubocop errors (#74) (40315e6)
- ignore some spurious linter warnings and formatting changes (#31) (e376e31)
- internal: add sorbet config for SDK local development (#38) (f8cb16b)
- internal: bugfix (#51) (0967a13)
- internal: codegen related update (#27) (83ac858)
- internal: minor refactoring of utils (#67) (47f9f49)
- internal: version bump (#26) (b9dde82)
- more accurate type annotations for SDK internals (#71) (2071dd2)
- more aggressive tapioca detection logic for skipping compiler introspection (#65) (1da15be)
- more readable output when tests fail (#63) (c3cfea9)
- re-order assignment lines to make unions easier to read (#66) (50f6e5e)
- recursively accept
AnyHash
forBaseModel
s in arrays and hashes (#58) (92f1cba) - reduce verbosity in type declarations (#61) (9517e27)
- relocate internal modules (#70) ([350fe34](350fe34...
v0.1.0-alpha.2
0.1.0-alpha.2 (2025-03-18)
Full Changelog: v0.1.0-alpha.1...v0.1.0-alpha.2
Features
Bug Fixes
Chores
- add most doc strings to rbi type definitions (#12) (f711649)
- do not label modules as abstract (#22) (bad4ec9)
- document union variants in yard doc (#16) (3ffacfe)
- ensure doc strings for rbi method arguments (#13) (2c59996)
- error fields are now mutable in keeping with rest of SDK (#15) (0e30eb7)
- internal: remove CI condition (#18) (db07e59)
- mark non-inheritable SDK internal classes as final (#19) (ed33b6b)
- sdk client internal refactoring (#21) (927e252)
- sdk internal updates (#9) (7673bb0)
- slightly more consistent type definition layout (#17) (1e4b557)
- touch up sdk usage examples (#14) (7219d46)
- use generics instead of overloading for sorbet type definitions (#20) (a279382)
v0.1.0-alpha.1
0.1.0-alpha.1 (2025-03-13)
Full Changelog: v0.0.1-alpha.0...v0.1.0-alpha.1
Features
Bug Fixes
Chores
- improve documentation (d9ce7ce)
- improve rbi typedef for page classes (#6) (3450adf)
- internal: remove extra empty newlines (#7) (8ce4f87)
- more accurate generic params for stream classes (#8) (c83ab37)
- refactor BasePage to have initializer (#5) (43e80fa)
- remove stale thread local checks (#4) (69e8be8)