|
1 | 1 | # Release History |
2 | 2 |
|
3 | | -## 2.3.0-beta.1 (Unreleased) |
| 3 | +## 2.3.0 (2025-08-01) |
4 | 4 |
|
5 | | -### Other changes |
| 5 | +### Features Added |
6 | 6 |
|
7 | | -- Updated to `System.ClientModel` 1.5.1, which contains a fix for a concurrency bug which could cause some applications running on the legacy .NET Framework to experience an infinite loop while deserializing service responses. |
| 7 | +- OpenAI.Audio: |
| 8 | + - Added the `Model` property to `AudioClient`. |
| 9 | + - Added constructors that can take a custom `AuthenticationPolicy` to `AudioClient`. |
| 10 | +- OpenAI.Batch: |
| 11 | + - Added new methods to `BatchClient`: |
| 12 | + - `GetBatch` and `GetBatchAsync` |
| 13 | + - Added constructors that can take a custom `AuthenticationPolicy` to `BatchClient`. |
| 14 | +- OpenAI.Chat: |
| 15 | + - Added new methods to `ChatClient`: |
| 16 | + - `UpdateChatCompletion` and `UpdateChatCompletionAsync` |
| 17 | + - `GetChatCompletions` and `GetChatCompletionsAsync` |
| 18 | + - `GetChatCompletionMessages` and `GetChatCompletionMessagesAsync` |
| 19 | + - Added the `Model` property to `ChatClient`. |
| 20 | + - Added constructors that can take a custom `AuthenticationPolicy` to `ChatClient`. |
| 21 | +- OpenAI.Containers: |
| 22 | + - Introduced the new `ContainersClient` to support the Containers API with protocol methods for the following operations: |
| 23 | + - `CreateContainer` and `CreateContainerAsync` |
| 24 | + - `GetContainers` and `GetContainersAsync` |
| 25 | + - `GetContainer` and `GetContainerAsync` |
| 26 | + - `DeleteContainer` and `DeleteContainerAsync` |
| 27 | + - `CreateContainerFile` and `CreateContainerFileAsync` |
| 28 | + - `GetContainerFiles` and `GetContainerFilesAsync` |
| 29 | + - `GetContainerFile` and `GetContainerFileAsync` |
| 30 | + - `GetContainerFileContent` and `GetContainerFileContentAsync` |
| 31 | + - `DeleteContainerFile` and `DeleteContainerFileAsync` |
| 32 | +- OpenAI.Embeddings: |
| 33 | + - Added the `Model` property to `EmbeddingClient`. |
| 34 | + - Added constructors that can take a custom `AuthenticationPolicy` to `EmbeddingClient`. |
| 35 | +- OpenAI.Evals: |
| 36 | + - Added constructors that can take a custom `AuthenticationPolicy` to `EvaluationClient`. |
| 37 | +- OpenAI.Files: |
| 38 | + - Added constructors that can take a custom `AuthenticationPolicy` to `OpenAIFileClient`. |
| 39 | +- OpenAI.FineTuning: |
| 40 | + - Added constructors that can take a custom `AuthenticationPolicy` to `FineTuningClient`. |
| 41 | +- OpenAI.Graders: |
| 42 | + - Introduced the new `GraderClient` to support the Graders API with protocol methods for the following operations: |
| 43 | + - `RunGrader` and `RunGraderAsync` |
| 44 | + - `ValidateGrader` and `ValidateGraderAsync` |
| 45 | +- OpenAI.Images: |
| 46 | + - Added the `Model` property to `ImageClient`. |
| 47 | + - Added constructors that can take a custom `AuthenticationPolicy` to `ImageClient`. |
| 48 | +- OpenAI.Models: |
| 49 | + - Added constructors that can take a custom `AuthenticationPolicy` to `OpenAIModelClient`. |
| 50 | +- OpenAI.Moderations: |
| 51 | + - Added the `Model` property to `ModerationClient`. |
| 52 | + - Added constructors that can take a custom `AuthenticationPolicy` to `ModerationClient`. |
| 53 | +- OpenAI.Realtime: |
| 54 | + - Enabled support for semantic voice activity detection (VAD) via the new `CreateSemanticVoiceActivityTurnDetectionOptions` method of `TurnDetectionOptions`. |
| 55 | +- OpenAI.Responses: |
| 56 | + - Added a model factory. |
| 57 | + - Added constructors that can take a custom `AuthenticationPolicy` to `OpenAIResponseClient`. |
| 58 | +- OpenAI.VectorStores: |
| 59 | + - Added constructors that can take a custom `AuthenticationPolicy` to `VectorStoreClient`. |
| 60 | + |
| 61 | +### Bug Fixed |
| 62 | + |
| 63 | +- OpenAI.Assistants: |
| 64 | + - Fixed an issue causing the `ImageDetail` property of `MessageContent` to not be serialized correctly. |
| 65 | +- OpenAI.Audio: |
| 66 | + - Added a check to all overloads of `TranscribeAudioStreaming` and `TranscribeAudioStreamingAsync` in the `AudioClient` to prevent using the `whisper-1` model, which does not support streaming and simply ignores the `stream` parameter. |
| 67 | +- OpenAI.Realtime: |
| 68 | + - Improved the disposal logic in `AsyncWebsocketMessageResultEnumerator` to prevent multiple disposals. |
| 69 | +- OpenAI.Responses: |
| 70 | + - Fixed an issue in code generation that caused the `StreamingResponseTextAnnotationAddedUpdate` class to not be generated correctly as part of the set of possible handles when streaming. |
| 71 | + - Fixed an issue in code generation that caused the `Status` property of `ReasoningResponseItem` and the `ReasoningStatus` enum to not be generated correctly and lead to incorrect behavior. |
| 72 | + |
| 73 | +### Other Changes |
8 | 74 |
|
9 | | -- Removed explicit `net6.0` target framework, as this version reached end-of-life in November, 2024 and is no longer maintained nor supported by Microsoft. This does not prevent using the OpenAI library on .NET 6, as the runtime will fallback to the `netstandard2.0` target. |
| 75 | +- The `OpenAI` NuGet package now contains signed binaries. |
| 76 | +- Updated the `System.ClientModel` dependency to version 1.5.1, which contains a fix for a concurrency bug which could cause some applications running on the legacy .NET Framework to experience an infinite loop while deserializing service responses. |
| 77 | +- Removed the explicit `net6.0` target framework, as this version reached end-of-life in November 2024 and is no longer maintained nor supported by Microsoft. This does not prevent using the OpenAI library on .NET 6, as the runtime will fallback to the `netstandard2.0` target. |
10 | 78 |
|
11 | 79 | ## 2.2.0 (2025-07-02) |
12 | 80 |
|
|
283 | 351 | ### Features Added |
284 | 352 |
|
285 | 353 | - Added a new `RealtimeConversationClient` in a corresponding scenario namespace. ([ff75da4](https://github.com/openai/openai-dotnet/commit/ff75da4167bc83fa85eb69ac142cab88a963ed06)) |
286 | | - - This maps to the new `/realtime` beta endpoint and is thus marked with a new `[Experimental("OPENAI002")]` diagnostic tag. |
| 354 | + - This maps to the new `/realtime` beta endpoint and is thus marked with a new `[Experimental("OPENAI002")]` diagnostic tag. |
287 | 355 | - This is a very early version of the convenience surface and thus subject to significant change |
288 | 356 | - Documentation and samples will arrive soon; in the interim, see [the scenario test files](/tests/RealtimeConversation) for basic usage |
289 | 357 | - You can also find an external sample employing this client, together with Azure OpenAI support, at https://github.com/Azure-Samples/aoai-realtime-audio-sdk/tree/main/dotnet/samples/console |
|
441 | 509 | ### Breaking Changes |
442 | 510 |
|
443 | 511 | - Renamed `AudioClient`'s `GenerateSpeechFromText` methods to simply `GenerateSpeech`. ([d84bf54](https://github.com/openai/openai-dotnet/commit/d84bf54df14ddac4c49f6efd61467b600d34ecd7)) |
444 | | -- Changed the type of `OpenAIFileInfo`'s `SizeInBytes` property from `long?` to `int?`. ([d84bf54](https://github.com/openai/openai-dotnet/commit/d84bf54df14ddac4c49f6efd61467b600d34ecd7)) |
| 512 | +- Changed the type of `OpenAIFileInfo`'s `SizeInBytes` property from `long?` to `int?`. ([d84bf54](https://github.com/openai/openai-dotnet/commit/d84bf54df14ddac4c49f6efd61467b600d34ecd7)) |
445 | 513 |
|
446 | 514 | ### Bugs Fixed |
447 | 515 |
|
|
0 commit comments