Skip to content

Commit 708ac47

Browse files
committed
merge
2 parents bb2beb4 + 35e2728 commit 708ac47

File tree

1,120 files changed

+82863
-48225
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,120 files changed

+82863
-48225
lines changed

.github/workflows/codegen-validation.yml

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,11 @@ on:
66
pull_request:
77
paths:
88
- 'codegen/**'
9+
- 'specification/**'
10+
- 'src/**'
11+
- 'package.json'
12+
- 'global.json'
13+
- 'package-lock.json'
914
- '.github/workflows/codegen-validation.yml'
1015
- 'scripts/Invoke-CodeGen.ps1'
1116
types: [opened, reopened, synchronize]
@@ -35,7 +40,7 @@ jobs:
3540
shell: pwsh
3641
run: |
3742
Write-Host "Running code generation validation..."
38-
./scripts/Invoke-CodeGen.ps1
43+
./scripts/Invoke-CodeGen.ps1 -Clean
3944
4045
if ($LASTEXITCODE -ne 0) {
4146
Write-Error "Code generation failed with exit code: $LASTEXITCODE"
@@ -64,4 +69,18 @@ jobs:
6469
exit 1
6570
fi
6671
67-
echo "No uncommitted changes detected - code generation is up to date!"
72+
echo "No uncommitted changes detected - code generation is up to date!"
73+
74+
- name: Run codegen visitor tests
75+
run: dotnet test codegen/generator/test/
76+
--configuration Release
77+
--logger "trx;LogFilePrefix=codegen"
78+
--results-directory ${{github.workspace}}/artifacts/test-results
79+
${{ env.version_suffix_args}}
80+
81+
- name: Upload artifacts
82+
uses: actions/upload-artifact@v4
83+
if: ${{ !cancelled() }}
84+
with:
85+
name: build-artifacts
86+
path: ${{github.workspace}}/artifacts

.github/workflows/live-test.yml

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,13 +29,16 @@ jobs:
2929
- name: Checkout code
3030
uses: actions/checkout@v2
3131

32-
- name: Run live tests
32+
- name: Restore tools
33+
run: dotnet tool restore --add-source https://pkgs.dev.azure.com/azure-sdk/public/_packaging/azure-sdk-for-net/nuget/v3/index.json
34+
35+
- name: Run recorded tests
3336
run: dotnet test ./tests/OpenAI.Tests.csproj
3437
--configuration Release
35-
--filter="TestCategory!=Smoke&TestCategory!=Assistants&TestCategory!=StoredChat&TestCategory!=Images&TestCategory!=Uploads&TestCategory!=Moderations&TestCategory!=FineTuning&TestCategory!=Containers&TestCategory!=Conversation&TestCategory!=MCP&TestCategory!=Manual"
38+
--filter="(TestCategory=Chat|TestCategory=Embeddings|TestCategory=Responses)&TestCategory!=MPFD"
3639
--logger "trx;LogFilePrefix=live"
37-
--results-directory ${{github.workspace}}/artifacts/test-results
38-
${{ env.version_suffix_args}}
40+
--results-directory ${{ github.workspace }}/artifacts/test-results
41+
${{ env.version_suffix_args }}
3942
env:
4043
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
4144

.github/workflows/main.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,4 +49,4 @@ jobs:
4949
if: ${{ !cancelled() }}
5050
with:
5151
name: build-artifacts
52-
path: ${{github.workspace}}/artifacts
52+
path: ${{github.workspace}}/artifacts

.github/workflows/release.yml

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -36,26 +36,29 @@ jobs:
3636
- name: Checkout code
3737
uses: actions/checkout@v2
3838

39+
- name: Restore tools
40+
run: dotnet tool restore --add-source https://pkgs.dev.azure.com/azure-sdk/public/_packaging/azure-sdk-for-net/nuget/v3/index.json
41+
3942
# Pack the client NuGet package and include URL back to the repository and release tag
40-
- name: Build and Pack
43+
- name: Build and pack
4144
run: dotnet pack
4245
--configuration Release
4346
--output "${{ github.workspace }}/artifacts/packages"
4447
/p:PackageProjectUrl="${{ github.server_url }}/${{ github.repository }}/tree/${{ github.event.release.tag_name }}"
4548
/p:PackageReleaseNotes="${{ github.server_url }}/${{ github.repository }}/blob/${{ github.event.release.tag_name }}/CHANGELOG.md"
4649
${{ env.version_suffix_args }}
4750

48-
- name: Unit Test
51+
- name: Run unit tests
4952
run: dotnet test
5053
--configuration Release
5154
--filter="TestCategory=Smoke&TestCategory!=Manual"
5255
--logger "trx;LogFileName=${{ github.workspace }}/artifacts/test-results/smoke.trx"
5356
${{ env.version_suffix_args }}
5457

55-
- name: Run Live Tests
58+
- name: Run recorded tests
5659
run: dotnet test ./tests/OpenAI.Tests.csproj
5760
--configuration Release
58-
--filter="TestCategory!=Smoke&TestCategory!=Assistants&TestCategory!=StoredChat&TestCategory!=Images&TestCategory!=Uploads&TestCategory!=Moderations&TestCategory!=FineTuning&TestCategory!=Containers&TestCategory!=Conversation&TestCategory!=MCP&TestCategory!=Manual"
61+
--filter="(TestCategory=Chat|TestCategory=Embeddings|TestCategory=Responses)&TestCategory!=MPFD"
5962
--logger "trx;LogFilePrefix=live"
6063
--results-directory ${{ github.workspace }}/artifacts/test-results
6164
${{ env.version_suffix_args }}
@@ -118,7 +121,7 @@ jobs:
118121
path: ${{ github.workspace }}/build-artifacts
119122

120123
deploy:
121-
name: Publish Package
124+
name: Publish package
122125
needs: sign
123126
runs-on: ubuntu-latest
124127
steps:

CHANGELOG.md

Lines changed: 66 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,83 @@
11
# Release History
22

3-
## 2.6.0-beta.1 (Unreleased)
3+
## 2.6.0 (2025-10-31)
4+
5+
### Acknowledgments
6+
7+
Thank you to our developer community members who helped to make the OpenAI client library better with their contributions to this release:
8+
9+
- Maksim Kurnakov _([GitHub](https://github.com/kurnakovv))_
410

511
### Features Added
612

713
- OpenAI.Chat:
8-
- Added the `Minimal` property to `ChatReasoningEffortLevel`
14+
- Added the `Minimal` property to `ChatReasoningEffortLevel`. _(A community contribution, courtesy of [kurnakovv](https://github.com/kurnakovv))_
15+
- Added support for System.Client.Model's `JsonPatch`, which enables users to get and set additional JSON properties in response and request payloads.
16+
- See the following examples for more information:
17+
- [AdditionalProperties](https://github.com/openai/openai-dotnet/blob/main/examples/Chat/Example10_AdditionalProperties.cs)
18+
- [AdditionalPropertiesAsync](https://github.com/openai/openai-dotnet/blob/main/examples/Chat/Example10_AdditionalPropertiesAsync.cs)
19+
- Go to the OpenAI.Responses section in this changelog for more examples that can be extrapolated to Chat.
20+
- OpenAI.Conversations:
21+
- Introduced the new `ConversationClient` to support the Conversations API with protocol methods for the following operations:
22+
- `CreateConversation` and `CreateConversationAsync`
23+
- `GetConversation` and `GetConversationAsync`
24+
- `UpdateConversation` and `UpdateConversationAsync`
25+
- `DeleteConversation` and `DeleteConversationAsync`
26+
- `CreateConversationItems` and `CreateConversationItemsAsync`
27+
- `GetConversationItems` and `GetConversationItemsAsync`
28+
- `DeleteConversationItem` and `DeleteConversationItemAsync`
29+
- OpenAI.Embeddings:
30+
- Added support for System.Client.Model's `JsonPatch`, which enables users to get and set additional JSON properties in response and request payloads.
31+
- Go to the OpenAI.Chat and OpenAI.Responses section in this changelog for examples that can be extrapolated to Embeddings.
32+
- OpenAI.Responses:
33+
- Added the `Minimal` property to `ResponseReasoningEffortLevel`. _(A community contribution, courtesy of [kurnakovv](https://github.com/kurnakovv))_
34+
- Added the `ContainerFileCitationMessageAnnotation` class which is derived from `ResponseMessageAnnotation` and is used to cite files in the container of the Code Interpreter tool.
35+
- Enabled support for the Image Generation tool, which can be used to generate images using models like `gpt-image-1`.
36+
- Users can add the new `ImageGenerationTool` to the `Tools` property of their `ResponseCreationOptions` and configure it using properties such as `Background`, `Quality`, `Size`, and more.
37+
- Added support for System.Client.Model's `JsonPatch`, which enables users to get and set additional JSON properties in response and request payloads.
38+
- See the following examples for more information:
39+
- [InputAdditionalProperties](https://github.com/openai/openai-dotnet/blob/main/examples/Responses/Example07_InputAdditionalProperties.cs)
40+
- [InputAdditionalPropertiesAsync](https://github.com/openai/openai-dotnet/blob/main/examples/Responses/Example07_InputAdditionalPropertiesAsync.cs)
41+
- [OutputAdditionalProperties](https://github.com/openai/openai-dotnet/blob/main/examples/Responses/Example08_OutputAdditionalProperties.cs)
42+
- [OutputAdditionalPropertiesAsync](https://github.com/openai/openai-dotnet/blob/main/examples/Responses/Example08_OutputAdditionalPropertiesAsync.cs)
43+
- [ModelOverridePerRequest](https://github.com/openai/openai-dotnet/blob/main/examples/Responses/Example09_ModelOverridePerRequest.cs)
44+
- [ModelOverridePerRequestAsync](https://github.com/openai/openai-dotnet/blob/main/examples/Responses/Example09_ModelOverridePerRequestAsync.cs)
45+
- Go to the OpenAI.Chat section for more examples that can be extrapolated to Responses.
46+
- OpenAI.Videos:
47+
- Introduced the new `VideoClient` to support the Videos API with protocol methods for the following operations:
48+
- `CreateVideo` and `CreateVideoAsync`
49+
- `GetVideo` and `GetVideoAsync`
50+
- `DeleteVideo` and `DeleteVideoAsync`
51+
- `DownloadVideo` and `DownloadVideoAsync`
52+
- `GetVideos` and `GetVideosAsync`
53+
- `CreateVideoRemix` and `GetVideoRemixAsync`
54+
55+
### Bugs Fixed
56+
57+
- OpenAI.Audio:
58+
- Added the explicit conversion operators from `ClientResult` that were missing in the `AudioTranscription` and `AudioTranslation` classes.
59+
- OpenAI.Chat:
60+
- Added the `ContentParts` property that was missing in the `ChatCompletionMessageListDatum` class.
61+
62+
### Breaking Changes in Preview APIs
963

64+
- OpenAI.Containers:
65+
- Renamed the `GetContainerFileContent` and `GetContainerFileContentAsync` methods of `ContainerClient` to `DownloadContainerFile` and `DownloadContainerFileAsync`.
1066
- OpenAI.Responses:
11-
- Added the `Minimal` property to `ResponseReasoningEffortLevel`
67+
- Removed the duplicated `GetInputItems` and `GetInputItemsAsync` methods of the `OpenAIResponseClient` in favor of the existing `GetResponseInputItems` and `GetResponseInputItemsAsync` methods.
1268

1369
## 2.5.0 (2025-09-23)
1470

71+
### Acknowledgments
72+
73+
Thank you to our developer community members who helped to make the OpenAI client library better with their contributions to this release:
74+
75+
- Benjamin Pinter _([GitHub](https://github.com/BenjaminDavidPinter))_
76+
1577
### Features Added
1678

1779
- OpenAI.Responses:
18-
- Added the `Model` property to `OpenAIResponseClient`.
80+
- Added the `Model` property to `OpenAIResponseClient`. _(A community contribution, courtesy of [BenjaminDavidPinter](https://github.com/BenjaminDavidPinter))_
1981
- Added the `ServiceDescription` property to `McpTool`.
2082
- Enabled support for connectors, which are OpenAI-maintained MCP wrappers for popular services like Microsoft Outlook or Dropbox.
2183
- Added the `ConnectorId` property to `McpTool`.

0 commit comments

Comments
 (0)