Skip to content

Releases: openai/openai-ruby

v0.1.0-beta.2

22 May 20:42
2dea19a
Compare
Choose a tag to compare
v0.1.0-beta.2 Pre-release
Pre-release

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

  • grammar improvements (15511fc)
  • grammar improvements in README.md (d43db56)

v0.1.0-beta.1

17 May 01:40
968db1d
Compare
Choose a tag to compare
v0.1.0-beta.1 Pre-release
Pre-release

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

  • fix out of place README snippet (39d155f)
  • illustrate environmental defaults for auth variables (7d8ee4f)
  • readme: fix typo (a6c7609)
  • rewrite much of README.md for readability (f3c721e)

v0.1.0-alpha.5

19 Apr 02:20
Compare
Choose a tag to compare
v0.1.0-alpha.5 Pre-release
Pre-release

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

16 Apr 23:27
Compare
Choose a tag to compare
v0.1.0-alpha.4 Pre-release
Pre-release

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...
Read more

v0.1.0-alpha.3

16 Apr 17:44
Compare
Choose a tag to compare
v0.1.0-alpha.3 Pre-release
Pre-release

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 on Streams (#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 on Streams (#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 are BaseModel typed should also accept Hash (#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 for BaseModels in arrays and hashes (#58) (92f1cba)
  • reduce verbosity in type declarations (#61) (9517e27)
  • relocate internal modules (#70) ([350fe34](350fe34...
Read more

v0.1.0-alpha.2

18 Mar 20:02
Compare
Choose a tag to compare
v0.1.0-alpha.2 Pre-release
Pre-release

0.1.0-alpha.2 (2025-03-18)

Full Changelog: v0.1.0-alpha.1...v0.1.0-alpha.2

Features

Bug Fixes

  • enums should not unnecessarily convert non-members to symbol type (#23) (05294a7)

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

18 Mar 02:19
Compare
Choose a tag to compare
v0.1.0-alpha.1 Pre-release
Pre-release

0.1.0-alpha.1 (2025-03-13)

Full Changelog: v0.0.1-alpha.0...v0.1.0-alpha.1

Features

Bug Fixes

  • enums should only coerce matching symbols into strings (#3) (0f4c842)

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)