|
1 | 1 | # Release History |
2 | 2 |
|
| 3 | +## 2.2.0 (2025-07-02) |
| 4 | + |
| 5 | +### Features Added |
| 6 | + |
| 7 | +- OpenAI.Audio: |
| 8 | + - Enabled support for streaming audio transcriptions: |
| 9 | + - Added new methods to `AudioClient`: |
| 10 | + - `TranscribeAudioStreaming` and `TranscribeAudioStreamingAsync` |
| 11 | + - Added new types of `StreamingAudioTranscriptionUpdate` to work with streaming transcriptions: |
| 12 | + - `StreamingAudioTranscriptionTextDeltaUpdate` |
| 13 | + - `StreamingAudioTranscriptionTextDoneUpdate` |
| 14 | + - Added the `TranscriptionTokenLogProbabilities` property to `AudioTranscription` to represent token-level log probability information. |
| 15 | + - Added the `AudioTranscriptionIncludes` enum and `Includes` property to `AudioTranscriptionOptions` to request additional information in the transcription response. |
| 16 | + - Added new voices to `GeneratedSpeechVoice`. |
| 17 | + - Added the `Instructions` property to `SpeechGenerationOptions` to control the voice of the generated audio with additional instructions. |
| 18 | +- OpenAI.Batch: |
| 19 | + - Added new `Rehydrate` method overloads that receive a batch ID instead of rehydration token. |
| 20 | +- OpenAI.Chat: |
| 21 | + - Added new methods to `ChatClient`: |
| 22 | + - `DeleteChatCompletion` and `DeleteChatCompletionAsync` |
| 23 | + - `GetChatCompletion` and `GetChatCompletionAsync` |
| 24 | + - Added `Aac` format to `ChatOutputAudioFormat`. |
| 25 | + - Added new voices to `ChatOutputAudioVoice`. |
| 26 | +- OpenAI.Evals: |
| 27 | + - Introduced the new `EvaluationClient` to support the Evaluations API with protocol methods for the following operations: |
| 28 | + - `CreateEvaluation` and `CreateEvaluationAsync` |
| 29 | + - `GetEvaluation` and `GetEvaluationAsync` |
| 30 | + - `GetEvaluations` and `GetEvaluationsAsync` |
| 31 | + - `UpdateEvaluation` and `UpdateEvaluationAsync` |
| 32 | + - `DeleteEvaluation` and `DeleteEvaluationAsync` |
| 33 | + - `CreateEvaluatinRun` and `CreateEvaluationRunAsync` |
| 34 | + - `GetEvaluationRun` and `GetEvaluationRunAsync` |
| 35 | + - `GetEvaluationRuns` and `GetEvaluationRunsAsync` |
| 36 | + - `CancelEvaluationRun` and `CancelEvaluationRunAsync` |
| 37 | + - `DeleteEvaluationRun` and `DeleteEvaluationRunAsync` |
| 38 | + - `GetEvaluationRunOutputItem` and `GetEvaluationRunOutputItemAsync` |
| 39 | + - `GetEvaluationRunOutputItems` and `GetEvaluationRunOutputItemsAsync` |
| 40 | +- OpenAI.FineTuning: |
| 41 | + - Added new methods to `FineTuningClient`: |
| 42 | + - `GetFineTuningCheckpointPermissions` and `GetFineTuningCheckpointPermissionsAsync` |
| 43 | + - `CreateFineTuningCheckpointPermission` and `CreateFineTuningCheckpointPermissionAsync` |
| 44 | + - `DeleteFineTuningCheckpointPermission` and `DeleteFineTuningCheckpointPermission` |
| 45 | + - `PauseFineTuningJob` and `PauseFineTuningJobAsync` |
| 46 | + - `ResumeFineTuningJob` and `ResumeFineTuningJobAsync` |
| 47 | + - Added new experimental types to support fine-tuning workflows. |
| 48 | +- OpenAI.Images: |
| 49 | + - Added the `Usage` property to `GeneratedImageCollection` to represent image token usage information. |
| 50 | + - Added the `Background` property to `ImageGenerationOptions` to set transparency for the background of the generated image(s). |
| 51 | + - Added the `ModerationLevel` property to `ImageGenerationOptions` to control the content-moderation level for generated image(s). |
| 52 | + - Added the `OutputCompressionFactor` property to `ImageGenerationOptions` to set the compression level (0-100%) for the generated images. |
| 53 | + - Added the `OutputFileFormat` property to `ImageGenerationOptions` to set the file format in which the generated images are returned. |
| 54 | + - Added support for new values to the `GeneratedImageSize` enum. |
| 55 | +- OpenAI.Responses: |
| 56 | + - Added new methods to the `OpenAIResponseClient`: |
| 57 | + - `CancelResponse` and `CancelResponseAsync` |
| 58 | + - `GetResponseStreaming` and `GetResponseStreamingAsync`. |
| 59 | + - Added `Linux` property to `ComputerToolEnvironment`. |
| 60 | + - Added `Background` property to `ResponseCreationOptions` to support background mode. |
| 61 | + - Added `SequenceNumber` property to `StreamingResponseUpdate` to support background mode while streaming. |
| 62 | + - Added `InputTokenDetails` property to `ResponseTokenUsage` to represent token usage information. |
| 63 | + - Added `EncryptedContent` property to `ReasoningResponseItem` to represent the encrypted content of the reasoning item. |
| 64 | +- OpenAI.VectorStores: |
| 65 | + - Added new methods to `VectorStoreClient`: |
| 66 | + - `RetrieveVectorStoreFileContent` and `RetrieveVectorStoreFileContentAsync` |
| 67 | + - `SearchVectorStore` and `SearchVectorStoreAsync` |
| 68 | + - `UpdateVectorStoreFileAttributes` and `UpdateVectorStoreFileAttributes` |
| 69 | + |
| 70 | +### Bugs Fixed |
| 71 | + |
| 72 | +- OpenAI.Files: |
| 73 | + - Added a `SizeInBytesLong` property to `OpenAIFile` to correctly represent the size of a file. |
| 74 | +- OpenAI.Responses: |
| 75 | + - Fixed an issue where setting the `ReasoningSummaryVerbosity` property of `ResponseReasoningOptions` was sending the wrong property to the service. |
| 76 | + - Fixed an issue with the `CreateInputFilePart` method of `ResponseContentPart` not being able to send files as `BinaryData`. |
| 77 | + |
| 78 | +### Breaking Changes in Preview APIs |
| 79 | + |
| 80 | +- Removed the implicit operator from all models that converts a model to `BinaryContent`. |
| 81 | +- Removed the explicit operator from all models that converts a `ClientResult` to a model. |
| 82 | +- OpenAI: |
| 83 | + - Renamed the `GetRealtimeConversationClient` method from `OpenAIClient` to `GetRealtimeClient`. |
| 84 | +- OpenAI.FineTuning: |
| 85 | + - Renamed the `FineTuningJobOperation` class to `FineTuningJob`. |
| 86 | + - Removed protocol methods for `CreateFineTuningJob`, `GetJob`, and `GetJobs` and added convenience methods for them. |
| 87 | +- OpenAI.Realtime: |
| 88 | + - Updated namespace from `OpenAI.Conversations` to `OpenAI.Realtime`. All APIs and types related to real-time conversations have been moved to the new `OpenAI.Realtime` namespace. |
| 89 | +- OpenAI.Responses: |
| 90 | + - Removed the `SummaryTextParts` property of `ReasoningResponseItem` in favor a new property called `SummaryParts`. |
| 91 | + - Removed the following public constructors: |
| 92 | + - `FileSearchCallResponseItem(IEnumerable<string> queries, IEnumerable<FileSearchCallResult> results)` |
| 93 | + - `FunctionCallOutputResponseItem(string callId, string functionOutput)` |
| 94 | + - `FunctionCallResponseItem(string callId, string functionName, BinaryData functionArguments)` |
| 95 | + - Made several properties read-only that were previously settable: |
| 96 | + - `CallId` and `Output` in `ComputerCallOutputResponseItem` |
| 97 | + - `Action`, `CallId`, and `Status` in `ComputerCallResponseItem` |
| 98 | + - `Results` and `Status` in `FileSearchCallResponseItem` |
| 99 | + - `CallId` in `FunctionCallOutputResponseItem` |
| 100 | + - `CallId` in `FunctionCallResponseItem` |
| 101 | + - Changed the following property types: |
| 102 | + - `Attributes` in `FileSearchCallResult` is now `IReadOnlyDictionary<string, BinaryData>` instead of `IDictionary<string, BinaryData>`. |
| 103 | + - `Status` properties are now nullable in multiple response item types. |
| 104 | + - `Code` in `ResponseError` is now `ResponseErrorCode` instead of `string`. |
| 105 | + - Renamed the `WebSearchToolContextSize` extensible enum to `WebSearchContextSize`. |
| 106 | + - Renamed the `WebSearchToolLocation` class to `WebSearchUserLocation`. |
| 107 | +- OpenAI.VectorStores: |
| 108 | + - Renamed method parameters from `vectorStore` to `options` in `CreateVectorStore` and `ModifyVectorStore` methods in `VectorStoreClient`. |
| 109 | + |
3 | 110 | ## 2.2.0-beta.4 (2025-03-18) |
4 | 111 |
|
| 112 | +### Features Added |
| 113 | + |
5 | 114 | - OpenAI.Chat: |
6 | 115 | - Enabled support for file inputs. When using models with vision capabilities, you can now also provide PDF files as inputs, either as a file ID or as base64-encoded data. ([aaa924e](https://github.com/openai/openai-dotnet/commit/aaa924ecde1b2281257f26824fea038a3b1efe35)) |
7 | 116 | - Added the `CreateFilePart(string fileId)` and `CreateFilePart(BinaryData fileBytes, string fileBytesMediaType, string filename)` factory methods to `ChatMessageContentPart`. |
8 | 117 | - OpenAI.Responses: |
9 | 118 | - Added the `ResponseToolChoice` class to help specify which tool the model should select when generating a response. ([aaa924e](https://github.com/openai/openai-dotnet/commit/aaa924ecde1b2281257f26824fea038a3b1efe35)) |
10 | 119 |
|
11 | | -### Breaking changes in Preview APIs |
| 120 | +### Breaking Changes in Preview APIs |
12 | 121 |
|
13 | 122 | - OpenAI.Assistants: |
14 | 123 | - Removed the default constructor and the use of the `required` keyword from the `FileSearchRankingOptions` and `FunctionToolDefinition` classes to align with the rest of the library. ([86407c8](https://github.com/openai/openai-dotnet/commit/86407c80b35271713b2d92c87943a0c7e025d28f)) |
|
40 | 149 |
|
41 | 150 | ## 2.2.0-beta.2 (2025-02-18) |
42 | 151 |
|
43 | | -### Bugs fixed |
| 152 | +### Bugs Fixed |
44 | 153 |
|
45 | 154 | - OpenAI.Chat: |
46 | 155 | - Fixed an issue that caused calls to the `CompleteChatStreaming` and `CompleteChatStreamingAsync` methods to fail with audio-enabled models unless provided a `ChatCompletionOptions` instance that had previously been used in a non-streaming `CompleteChat` or `CompleteChatAsync` method call. ([d6615ab](https://github.com/openai/openai-dotnet/commit/d6615abe2d04d8d09fbe150941cd8d3c118117d2)) |
|
49 | 158 |
|
50 | 159 | ## 2.2.0-beta.1 (2025-02-07) |
51 | 160 |
|
52 | | -### Features added |
| 161 | +### Features Added |
53 | 162 |
|
54 | 163 | - OpenAI.Audio: |
55 | 164 | - Added explicit support for new values of `GeneratedSpeechVoice`. ([0e0c460](https://github.com/openai/openai-dotnet/commit/0e0c460c88424fc2241956ed5ead6dd5ed7638ec)) |
|
80 | 189 | - OpenAI.RealtimeConversation: |
81 | 190 | - Added explicit support for new values of `ConversationVoice`. ([0e0c460](https://github.com/openai/openai-dotnet/commit/0e0c460c88424fc2241956ed5ead6dd5ed7638ec)) |
82 | 191 |
|
83 | | -### Breaking changes in Preview APIs |
| 192 | +### Breaking Changes in Preview APIs |
84 | 193 |
|
85 | 194 | - OpenAI.Assistants: |
86 | 195 | - Removed the setters of the `IDictionary<string, string> Metadata` properties of the "options" classes (e.g., `AssistantCreationOptions`) to be able to guarantee that the collections are always initialized. ([0e0c460](https://github.com/openai/openai-dotnet/commit/0e0c460c88424fc2241956ed5ead6dd5ed7638ec)) |
|
101 | 210 |
|
102 | 211 | ## 2.1.0 (2024-12-04) |
103 | 212 |
|
104 | | -### Features added |
| 213 | +### Features Added |
105 | 214 |
|
106 | 215 | - OpenAI.Assistants: |
107 | 216 | - Added a `Content` property to `RunStepFileSearchResult` ([`step_details.tool_calls.file_search.results.content` in the REST API](https://platform.openai.com/docs/api-reference/run-steps/step-object)). ([bf3f0ed](https://github.com/openai/openai-dotnet/commit/bf3f0eddeda1957a998491e36d7fb551e99be916)) |
|
120 | 229 | - Renamed the `ToolKind` property of `RunStepToolCall` to `Kind`. ([bf3f0ed](https://github.com/openai/openai-dotnet/commit/bf3f0eddeda1957a998491e36d7fb551e99be916)) |
121 | 230 | - Replaced the `FileSearchRanker` and `FileSearchScoreThreshold` properties of `RunStepToolCall` with a new `FileSearchRankingOptions` property that contains both values to make it clearer how they are related. ([bf3f0ed](https://github.com/openai/openai-dotnet/commit/bf3f0eddeda1957a998491e36d7fb551e99be916)) |
122 | 231 |
|
123 | | -### Bugs fixed |
| 232 | +### Bugs Fixed |
124 | 233 |
|
125 | 234 | - OpenAI.RealtimeConversation: |
126 | 235 | - Fixed serialization issues with `ConversationItem` creation of system and assistant messages. ([bf3f0ed](https://github.com/openai/openai-dotnet/commit/bf3f0eddeda1957a998491e36d7fb551e99be916)) |
127 | 236 | - Fixed an issue causing a deadlock when calling the `RealtimeConversationSession`'s `SendInputAudio` method overload that takes a `BinaryData` parameter. ([f491c2d](https://github.com/openai/openai-dotnet/commit/f491c2d5a3894953e0bc112431ea3844a64496da)) |
128 | 237 |
|
129 | 238 | ## 2.1.0-beta.2 (2024-11-04) |
130 | 239 |
|
131 | | -### Features added |
| 240 | +### Features Added |
132 | 241 |
|
133 | 242 | - OpenAI.Chat: |
134 | 243 | - Added a `StoredOutputEnabled` property to `ChatCompletionOptions` ([`store` in the REST API](https://platform.openai.com/docs/api-reference/chat/create#chat-create-store)). ([b0f9e5c](https://github.com/openai/openai-dotnet/commit/b0f9e5c3b9708a802afa6ce7489636d2084e7d61)) |
|
0 commit comments