Skip to content

Commit 3ab4a3c

Browse files
authored
Prepare 2.3.0 release (#581)
1 parent cde091a commit 3ab4a3c

File tree

4 files changed

+89
-9
lines changed

4 files changed

+89
-9
lines changed

CHANGELOG.md

Lines changed: 73 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,80 @@
11
# Release History
22

3-
## 2.3.0-beta.1 (Unreleased)
3+
## 2.3.0 (2025-08-01)
44

5-
### Other changes
5+
### Features Added
6+
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
674

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.
8-
- 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.
9-
- The NuGet package now contains signed binaries.
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.
1078

1179
## 2.2.0 (2025-07-02)
1280

scripts/Invoke-CodeGen.ps1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ param(
77
[string]$GitHubRepository,
88

99
[Parameter(Mandatory = $false, ParameterSetName = 'GitHub')]
10-
[string]$CommitHash = "1be53165a901cfdd40d20363f311e5d5fee84f7a",
10+
[string]$CommitHash = "706a4fb91ea18b441723f8a57a7e2c67e3061bb6",
1111

1212
[Parameter(Mandatory = $false, ParameterSetName = 'GitHub')]
1313
[string]$GitHubToken,

scripts/Test-ApiCompatibility.ps1

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -162,8 +162,20 @@ $repoRootPath = Join-Path $PSScriptRoot .. -Resolve
162162
$projectPath = Join-Path $repoRootPath "src\OpenAI.csproj"
163163
$releasePath = Join-Path $repoRootPath "src\bin\Release"
164164

165+
$experimentalNamespaces = @(
166+
"OpenAI.Assistants",
167+
"OpenAI.Batch",
168+
"OpenAI.Containers",
169+
"OpenAI.Evals",
170+
"OpenAI.FineTuning",
171+
"OpenAI.Graders",
172+
"OpenAI.Realtime",
173+
"OpenAI.Responses",
174+
"OpenAI.VectorStores"
175+
)
176+
165177
Invoke-APICompat -ProjectPath $projectPath `
166178
-ReleasePath $releasePath `
167179
-PackageName "OpenAI" `
168-
-BaselineVersion "2.1.0" `
169-
-IgnoredNamespaces "OpenAI.Assistants", "OpenAI.Batch", "OpenAI.FineTuning", "OpenAI.Realtime", "OpenAI.VectorStores"
180+
-BaselineVersion "2.2.0" `
181+
-IgnoredNamespaces $experimentalNamespaces

src/OpenAI.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
<PackageLicenseExpression>MIT</PackageLicenseExpression>
99
<Copyright>Copyright (c) 2024 OpenAI (https://openai.com)</Copyright>
1010

11-
<VersionPrefix>2.2.0</VersionPrefix>
11+
<VersionPrefix>2.3.0</VersionPrefix>
1212
<VersionSuffix></VersionSuffix>
1313

1414
<TargetFrameworks>net8.0;netstandard2.0</TargetFrameworks>

0 commit comments

Comments
 (0)