Published 07 Feb 2026
- batch: make
OpenAIinterface extendBatchinterface (#433). - responses: add Responses API support (
create,retrieve,cancel,delete, andinput_itemslisting). - chat: add
web_search_optionsrequest support. - chat: expose
annotationsandreasoning_contentin chat message payloads. - chat: support
requiredtool choice mode (#429).
- chat: make
ChatCompletionRequestBuilder.reasoningEffort,store, andmaxCompletionTokensconfigurable. - chat: improve
ChatResponseFormatcompatibility by supporting both primitive and object variants. - chat: always encode
JsonSchema.strict, including its defaulttruevalue (#430). - chat: set explicit JSON class discriminator for polymorphic
ContentPartserialization. - images: stabilize image edit uploads for live API compatibility (#459).
- tests: remove flaky external image URL dependency from chat vision live tests.
- tests: stabilize vector store live tests with current API behavior (#459).
- tests: make
openai-clientlive API tests opt-in viaOPENAI_LIVE_TESTS=1. - ci: split billable live tests into a small JVM smoke job and a separate full-live workflow.
- docs: fix RetrievalTool usage in Getting Started guide (#427).
Published 02 Feb 2025
- chat: add reasoning effort, max completion tokens, store options for reasoning model support (#415) (thanks @Taewan-P)
Published 01 Feb 2025
- WasmJs target (#387)
- assistants: add structured response (#391) (thanks @ahmedmirza994)
- chat: Add support for structured outputs (#397)
- chat: make ChatCompletionRequest a data class (#399) (thanks @yunmanger1)
- assistant: add streaming (#400) (thanks @Daltomon)
- runs: support for file search tool calls (#405) (thanks @averyaube)
- Upgrade to Kotlin 2.0 (#387)
- Update Ktor to 3.0 (#387)
- Replace okio by kotlinx.io (#387)
- chat: add stream options (#363)
- chat: add
instanceIdfield toChatCompletionRequest(#359) (thanks @harishv-collab) - messages: add assistant tools to attachments (#370)
- assistants: add
attachments.fileIdfield toMessageRequest(#367) (thanks @0chil) - runs: feat(runs): add new fields into assistant run (#366) (thanks @ahmedmirza994)
- messages: update
quoteto optional field for openai compatibility assistant on FileCitation (#361) (thanks @AntoDev) - messages: serialization exception while retrieving thread messages (#369) (thanks @meroving)
Published 28 Jun 2024
- runs: set beta header to v2 (#357) (thanks @kdman98)
- chat: default
ChatChunk.finishReasonto null (#358) (thanks @Him188)
Published 27 Jun 2024
- assistant: added feature for assistant beta-v2, and option for version selection (thanks @kdman98)
- vector-stores: add vector stores APIs (#324)
- batch: add batch APIs (#334)
- models: make created and ownedBy nullable (#332) (thanks @thiswillbeyourgithub)
- chat: enhance flow cancel capability (#333)
- assistants: Assistant.name is nullable (#337) (thanks @Gama11)
- chat: add Azure OpenAI Content Filter Support (#340) (thanks @asharab)
- config: request options headers override previous values (#353)
- runs: get runs order param serialization (#355)
Published 28 Apr 2024
- embeddings: add embedding
dimensionsrequest field (#317) (thanks @EliasJorgensen) - chat: add
logprobandtopLogprobs(#328) (thanks @jkohls-indeed)
- chat:
image_urlcontent type (#321) - images: remove
Qualitytypealias (#318) (thanks @florentine-doemges)
Published 01 Apr 2024
- Audio: add
timestampGranularities(thanks @mxwell)
- Core: nullable
OpenAIErrorDetailsfields (#315) - Messages: content as image file (#313)
Published 11 Feb 2024
- add
RequestOptions(#296)
- chat: add
systemFingerprinttoChatCompletionChunk(#303) - chat: move
descriptiontoFunctionTool(#304) - chat: make
FunctionTool#Parametersnullable (#304) - finetuning: nullable
ErrorInfo#messageandErrorInfo#code(#304) - image: correct
Qualitypackage name (#302) (thanks @voqaldev) - assistants: files endpoint (#298) (thanks @rjeeb)
- runs:
RunRequestbuilder
Published 13 Jan 2024
- Images: add
qualityandstylefields (#292) - Runs: add
additionalInstructionsproperty toRunRequest(#293) (thanks @ahmedmirza994)
- Messages:
MessageFileoptional fields (#290) - proguard: Add
EnclosingMethodproguard rule (thanks @rafsanjani)
Published 15 Dec 2023
- Completion:
Choice.finishReasonas nullable (#285) - Chat:
ChatCompletion.createdfield change type fromInttoLong(#282) (thanks @VarenytsiaMykhailo) - Runs: incorrect property name
Run.cancelledAt(#279) (thanks @Gama11) - Proguard: add
EnclosingMethodrule (#283) (thanks @rafsanjani)
Published 26 Nov 2023
- Runs:
ToolCalls,ToolCallStepandRunStepsserialization (#266, #269, #271, #273) (thanks @voqaldev) - Messages:
MessageContentserialization (#275)
Published 24 Nov 2023
- Images: Support for model selection for
ImageCreation,ImageEditandImageVariations(#257) (thanks @FilipObornik) - Chat: add tool calls (#256)
- Chat: add vision feature (#258)
- Config: adding ktor engine config to support Kotlin Scripting (#261) (thanks @DevSrSouza)
- Audio: add speech-to-text (#263)
- Assistants: api implementation (#259)
- Threads: api implementation (#262)
- Messages: api implementation (#262)
- Runs: api implementation (#262)
Published 05 Nov 2023
- Models: permission field nullable (#251)
- Chat: add
mergeToChatMessageextension (#250)
Published 04 Oct 2023
- Fine-tuning: API implementation (#242)
- Fine-tunes is deprecated
Published 28 Sep 2023
- Config: Allow custom ktor http client configuration (#239) (Thanks @rasharab)
Published 31 Aug 2023
- Chat: fix(chat):
FunctionCallnullable name/arguments (#232)
Published 23 Aug 2023
- Introduced
Parameters.Emptyfor functions without parameters. - Added
File.statusDetailsfor retrieving file status details. HyperParamsnew fields:computeClassificationMetrics,classificationNClassesandclassificationPositiveClass.- Moderation: update categories and scores.
- Removed beta status from the chat and audio features.
completionsis deprecated.editsas legacy.
- Audio: Updated
TranscriptionRequest'sresponseFormattype toAudioResponseFormat. - Fine Tune: set
HyperParams.learningRateMultiplierto be non-nullable. - Edit:
Choice.finishReasontype toFinishReason. - Chat: Multiple changes have been implemented:
- Set
index,message, andfinishReasonfields inChatChoiceto be non-nullable. - Set
index,delta, andfinishReasonfields inChatChunkto be non-nullable. - Set
ChatCompletionFunction.parametersto be non-nullable. - In
FunctionCall, setname,arguments, andargumentsAsJson()to be non-nullable. - Modified
ChatChoice.finishReasonandChatChunk.finishReasontypes toFinishReason.
- Set
Published 21 Jul 2023
- Audio:
Segment#transientproperty nullable (thanks @charlee-dev)
- Kotlin to
1.9.0 - Kotlin coroutines to
1.7.2 - Kotlin serialization to
1.5.1 - ktor to
2.3.2 - okio to
3.4.0
Published 24 Jun 2023
- Chat: function mode serializer (#203) (thanks @emeasure-github-private)
Published 19 Jun 2023
- Chat: Function Call (#200 #202) (thanks @JochenGuckSnk)
Published 03 Jun 2023
- Add
OpenAIHostbuilder for Azure (#196) - Support of
OpenAIHostwith a base path (#196)
Published 21 May 2023
- Logging configuration using
LoggingConfig sanitizeflag to sanitize authorization header in the logs- Enhance
OpenAI()factory function parameters
- Updated
OpenAIConfigto replace logging fields withLoggingConfig - Authorization token is now hidden by default in the logs
Published 01 May 2023
OpenAIIOExceptionandGenericIOException(#178)
Published 29 Apr 2023
- Completion: add suffix request param (#174)
- Exceptions: Add more detailed api errors (#163)
- Replace
Autocloseableuntil stable (#173)
Published 9 Apr 2023
- Proguard / R8 rules for jvm (#149)
OpenAIimplementsAutoCloseable(#151)
- Kotlin to
1.8.20(#146) - Kotlin serialization to
1.5.0(#146) - Ktor to
2.2.4(#146)
Published 23 Mar 2023
- Audio: add other formats support (#127)
- Chat: add user param to chat request (#128)
- Simplify and add more exceptions (#123)
Published 17 Mar 2023
- Add error details to
OpenAIAPIException(#120) (thanks @rosuH)
- Audio: switch mixed-up translation and transcription paths (#119) (thanks @matusekma)
Published 10 Mar 2023
- Audio: api implementation (#105)
- Config: proxy config (#111)
- Config: retry strategy config (#112)
Published 02 Mar 2023
Important changes since 2.1.3
- Requests: DSL builder functions to create requests (#80)
- Completions and
Edit: addusageto the responses (#82) - Files: add
downloadanddeletefunctions (#86) - OpenAIConfig:
headersandorganization(#96) - Embeddings:
similarityanddistance(#88) (experimental) - Chat implementation (#99) (beta)
- OpenAIConfig: custom host config (#102)
- FileSource and okio for I/O operations (e.g. files, images) (#75)
- FineTunes: remove experimental (#90)
- Images: mark as experimental (#91)
- Embeddings: response changed to
EmbeddingResponseto includeusage. (#82)
- Non-blocking SSE
Flowevents (#95)
- Update Kotlin to
1.8.10
Published 19 Feb 2023
OpenAIConfig:headersandorganization(#96)
FineTunes: remove experimental (#90)Images: mark as experimental (#91)
- Non-blocking SSE
Flowevents (#95)
Published 06 Feb 2023
This release contains changes from 3.0.0-alpha01, plus the following:
- Embeddings: similarity and distance (#88) (Experimental)
- Update Kotlin to
1.8.10
Published 29 Jan 2023
- Add darwin simulators and x86 targets (#85)
Published 20 Jan 2023
- DSL builder functions to create requests
CompletionsandEdit: addusageto the responsesFiles: adddownloadanddeletefunctions
FileSourceand okio for I/O operations (e.g. files, images).Embeddings: response changed toEmbeddingResponseto includeusage.
Published 11 Jan 2023
- FineTunes: events streaming using
GET(#76) (thanks @PatrickLaflamme)
Published 02 Jan 2023
- Targets
ios,watchosandtvos(x64/arm64)
- Update Kotlin to
1.8.0
Published 14 Dec 2022
- Images implementation (#68)
- Http timeout configuration (#71)
- Update Kotlin to
1.7.20 - Update Kotlin serialization to
1.4.1 - Update Ktor
2.1.3
Published 20 Aug 2022
- Models implementation
- Moderations implementation
- Fine-Tunes implementation
- Update Kotlin to
1.7.10 - Update Kotlin serialization to
1.4.0 - Update
Completions,EditsandEmbeddingsto useModels
Engines,Answers,SearchandClassification
Published 11 Jun 2022
openai-client-bomartifact for jvm projects
- Update Kotlin to
1.7.0(#31) - Update Coroutines to
1.6.2(#26)
- Answers, Classification and Search Endpoints (#29)
Published 08 May 2022
- Field
usertoCompletionRequest(#9) (thanks @Stuie) - Native targets:
linuxX64,macosX64,macosArm64andmingwX64(w/ new memory manager)
- Kotlin
1.6.21 - Kotlin coroutines
1.6.1 - The client throws
OpenAIExceptionon errors
Published 19 Jun 2021
- Kotlin 1.5.10
- Value classes:
EngineID,FileStatus,FileIdandPurpose
Published 03 Apr 2021
- Kotlin
1.4.32
Published 20 Mar 2021
- Deprecate
streamparameter inCompletionRequest.
Published 13 Mar 2021
- Remove Ktor's logging classes from public API
Published 11 Mar 2021
OpenAI.completions: text completions as stream of events
OpenAI.completionwhenstreamis set
OpenAI.createCompletionrenamed toOpenAI.completion
Published 10 Mar 2021
- Ktor as an implementation dependency of
openai-client
Published 09 Mar 2021