Commit Graph
4978 Commits
Author SHA1 Message Date
SergeyMenshykhandCopilot 52d4e5ce85 .Net: Harden gRPC plugin address handling (#13961)
## Description

Add developer-controlled address configuration and validation for the
gRPC plugin.

### Motivation and Context

The gRPC plugin now supports `GrpcFunctionExecutionParameters` for
configuring address handling, including an optional address override,
allowed base addresses, and scheme restrictions.

### Changes

- Introduced `GrpcFunctionExecutionParameters` class for
developer-controlled gRPC channel configuration
- Added address validation with scheme and allowlist checks in
`GrpcOperationRunner`
- Plumbed execution parameters through all public methods in
`GrpcKernelExtensions`
- Updated and added unit tests

### Type of change

- [x] Bug fix (non-breaking change which fixes an issue)

---------

Co-authored-by: Copilot <[email protected]>
2026-05-07 18:00:17 +00:00
73d3c59902 Update Kiota packages to fix NU1903 vulnerability (#13966)
## Problem

NuGet audit reports NU1903 for `Microsoft.Kiota.Abstractions` < 1.22.0
([GHSA-7j59-v9qr-6fq9](https://github.com/advisories/GHSA-7j59-v9qr-6fq9))
— the Kiota `RedirectHandler` leaks `Cookie` and `Proxy-Authorization`
headers on cross-host redirects.

The vulnerability is pulled in transitively via `Microsoft.Graph` →
`Microsoft.Graph.Core` 3.2.5 → `Microsoft.Kiota.Abstractions` 1.17.1.

## Fix

- **`Microsoft.Graph`**: 5.94.0 → 5.105.0
- **`Microsoft.Graph.Core`**: added at 3.2.6 (requires
`Kiota.Abstractions` ≥ 1.22.1)
- **`Microsoft.Kiota.Abstractions`**: added at 1.22.2
- **`Microsoft.IdentityModel.JsonWebTokens`**: 8.15.0 → 8.16.0 (required
by Graph.Core 3.2.6)
- **`System.IdentityModel.Tokens.Jwt`**: 8.15.0 → 8.16.0 (required by
Graph.Core 3.2.6)
- Added direct `Microsoft.Graph.Core` `PackageReference` in
`Plugins.MsGraph.csproj` to pin the transitive version

## Verification

All three affected projects report no vulnerable packages after the
change:
- `Plugins.MsGraph`
- `Concepts`
- `Plugins.UnitTests`

---------

Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot Autofix powered by AI <[email protected]>
2026-05-07 17:32:44 +00:00
Copilotandrogerbarreto fb10d92d8c .Net: Bump Snappier to 1.3.1 to fix NU1903 high-severity vulnerability (GHSA-pggp-6c3x-2xmx) (#13960)
### Motivation and Context

`MongoDB.Driver 3.5.2` transitively introduces `Snappier 1.0.0`, which
carries a high-severity vulnerability (GHSA-pggp-6c3x-2xmx): infinite
loop during SnappyStream decompression of malformed framed input. All
Snappier versions ≤ 1.3.0 are affected; 1.3.1 is the first patched
release. This was blocking the merge queue via NU1903.

### Description

- **`dotnet/Directory.Packages.props`** — Add `PackageVersion` entry
pinning `Snappier` to `1.3.1`.
- **`dotnet/src/VectorData/MongoDB/MongoDB.csproj`** — Add explicit
`PackageReference` for `Snappier` (versionless, resolved via CPM) so
NuGet treats it as a direct dependency at 1.3.1, overriding the
transitive 1.0.0 from `MongoDB.Driver`.
- **`dotnet/src/VectorData/CosmosMongoDB/CosmosMongoDB.csproj`** — Same
override for the CosmosMongoDB connector.

In NuGet's resolution algorithm, a direct reference at depth 1 wins over
a transitive reference at depth 2, so this cleanly forces 1.3.1 without
changing the `MongoDB.Driver` pin itself.

### Contribution Checklist

- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [x] All unit tests pass, and I have added new tests where possible
- [x] I didn't break anyone 😄

<!-- START COPILOT ORIGINAL PROMPT -->



<details>

<summary>Original prompt</summary>

Please investigate a solution to snappier vulnerability fix (update
version) and propose a PR with the bump, ideally following the first
immediate a non breaking version bump

<analysis>
**Chronological Review:**
1. User asked to analyze PR #13431 (Gemini multimodal tool results in
microsoft/semantic-kernel) for gaps
2. Initial analysis identified ~11 gaps with broad scope including
OpenAI Assistants, AzureAI, Responses API, MistralAI
3. User invoked ouroboros skill, asked to reassess scoping to Google
package only
4. Reassessment: Google connector bypasses FunctionCallsProcessor; only
validated regression is OpenAI Responses API
5. User invoked ouroboros to seed the observation; created seed file
`pr-13431-followup.seed.yaml`
6. User asked to execute seed + identify pipeline error
7. Implemented 5 file changes; identified pipeline error CS8602 in
GeminiRequestTests.cs:809
8. All builds/tests passed; user asked about string→object impact in
plan mode
9. Investigation revealed `FunctionCallsProcessor` is `internal sealed`,
source-distributed, so blast radius small
10. User confirmed all implemented; ran CI-parity dotnet format via
WSL2+Docker (all pass)
11. User asked to commit and push - committed `de08bce99` and pushed to
Cozmopolit fork
12. User asked to check PR comments - found 2 Copilot bot review
comments
13. User said: add OpenAI test (item 1), reply out-of-scope (item 2)
14. Added OpenAI ChatCompletion test, committed `e9f27d21a`, pushed,
replied to both bot comments
15. User asked PR number (13431)
16. User invoked /auto pr_task - PR was green, no action needed
17. User said merge queue failed, asked to investigate
18. Investigation found: NU1903 Snappier 1.0.0 vulnerability blocking
merge queue; not caused by our PR
19. **Most recent: User asked "Do we have a fix in main for this
already?"**
20. **Investigation confirmed: NO fix in main** - origin/main HEAD
`1a5065e5c` unchanged, `MongoDB.Driver 3.5.2` still pinned, no Snappier
override, no PRs/issues for Snappier or NU1903 in the repo recently
21. **Offered to open a small fix PR pinning Snappier to a patched
version**

**Intent Mapping:**
- User wants PR #13431 fully landed
- User wants to understand whether merge queue failure is in scope
- User now considering whether to fix the Snappier vulnerability
separately

**Technical Inventory:**
- .NET 10.0, semantic-kernel repo
- WSL2 + Docker (mcr.microsoft.com/dotnet/sdk:10.0) for CI parity
- gh CLI for PR/CI operations
- Git remotes: origin=microsoft, roger=rogerbarreto fork,
cozmopolit=Cozmopolit fork (added)
- Branch: `fix/multimodal-tool-results`
- PR head fork: Cozmopolit, maintainerCanModify=true

**Code Archaeology:**
Files changed in commits `de08bce99` + `e9f27d21a`:
- `dotnet/src/Agents/OpenAI/Internal/ResponseThreadActions.cs` — added
GetFunctionResultAsString helper
-
`dotnet/src/Agents/UnitTests/OpenAI/Internal/ResponseThreadActionsTests.cs`
— new (3 tests)
-
`dotnet/src/Connectors/Connectors.Google/Core/Gemini/Models/GeminiRequest.cs`
— extracted s_imageFunctionResponseEnvelope
-
`dotnet/src/Connectors/Connectors.Google.UnitTests/Core/Gemini/GeminiRequestTests.cs`
— CS8602 fix
-
`dotnet/src/InternalUtilities/connectors/AI/FunctionCalling/FunctionCallsProcessor.cs`
— XML-doc tightening
-
`dotnet/src/Connectors/Connectors.OpenAI.UnitTests/Services/OpenAIChatCompletionServiceTests.cs`
— added
ItSendsImageContentNotSupportedErrorWhenToolResultIsImageContentAsync

Identified vulnerable package: `MongoDB.Driver 3.5.2` in
`dotnet/Directory.Packages.props:173` brings in transitive `Snappier
1.0.0`

**Progress Assessment:**
- ✅ All planned implementation completed
- ✅ Both bot review comments replied to
- ✅ All 7 todos done
- ⚠️ PR cannot merge due to environmental Snappier vulnerability (not
our PR's fault)
- 🔲 User considering whether to open a separate Snappier fix PR

**Context Validation:**
- PR state: OPEN, MERGEABLE, CLEAN, APPROVED (markwallace-microsoft)
- HEAD SHA: `e9f27d21a85a8b97ee5f29619b23b82a03e313ff`
- All required CI checks pass on PR head
- Merge queue attempt failed at 2026-05-07T10:01:31, removed by
github-merge-queue[bot] at 10:08:05
- Failed merge_group run: 25489152862

**Recent Commands Analysis:**
Most recent two tool batches:
1. `git fetch origin main; git log origin/main
--since="2026-05-06T15:00:00Z" --oneline` → only `1a5065e5c`
(yesterday's commit)
2. `git show origin/main:dotnet/Directory.Packages.props | grep
Snappier|MongoDB.Driver` → only `MongoDB.Driver 3.5.2`, no Snappier
override
3. `gh search prs/issues --state all "Snappier"` → command failed
(invalid `all` state)
4. `gh api search/issues?q=Snappier+repo:microsoft/semantic-kernel` →
empty results
5. `gh api search/issues?q=NU1903+repo:microsoft/semantic-kernel` → 3
historical results from 2024, all unrelated

Final response: confirmed NO fix in main, offered to open a small fix PR
pinning Snappier.
</analysis>

<summary>
1. Conversation Overview:
   - Primary Objectives:
     - Analyze SK PR #13431 (G...

</details>



<!-- START COPILOT CODING AGENT SUFFIX -->

Created from Copilot CLI via the copilot delegate command.

---------

Co-authored-by: copilot-swe-agent[bot] <[email protected]>
Co-authored-by: rogerbarreto <[email protected]>
2026-05-07 12:56:07 +00:00
SergeyMenshykhandCopilot 1a5065e5cf .Net: Fix DocumentPlugin path validation order (#13956)
### Motivation and Context

Fix path validation order in DocumentPlugin to canonicalize paths before
validating against AllowedDirectories. Also removes redundant path
transformation from LocalFileSystemConnector.

### Description

- Canonicalize file paths (expand environment variables and resolve to
absolute form) **before** validating against AllowedDirectories in both
`ReadTextAsync` and `AppendTextAsync`
- Remove environment variable expansion from `LocalFileSystemConnector`
the connector should operate on the path it receives, not transform it
- Add regression tests

### Contribution Checklist

- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
- [x] The existing tests pass
- [x] New tests added

---------

Co-authored-by: Copilot <[email protected]>
2026-05-06 15:10:48 +00:00
SergeyMenshykhandCopilot 2a719ca318 .Net: Add deny-by-default AllowedUploadDirectories to CloudDrivePlugin (#13953)
### Description

Add deny-by-default `AllowedUploadDirectories` to `CloudDrivePlugin`.

- Added `AllowedUploadDirectories` property (defaults to empty =
deny-all)
- `UploadFileAsync` now validates the local file path against the
allowlist before uploading
- Paths are canonicalized with environment variable expansion, UNC
rejection, and directory traversal protection
- Added unit tests for the new behavior

---------

Co-authored-by: Copilot <[email protected]>
2026-05-05 15:33:11 +00:00
006a5d9a9b .Net: fix: fall back to ToString() when logging function results with unregistered types (#13884)
Fixes #13681

## Problem

When a `KernelFunction` returns a value whose runtime type is not
registered in `AbstractionsJsonContext` (e.g.
`Microsoft.Extensions.AI.TextContent` returned by an MCP tool via
`.AsKernelFunction()`), the function result logging in
AOT/source-generation mode throws `NotSupportedException` during JSON
serialization. The exception is caught but produces an unhelpful log
entry:

```
Function SomePlugin-SomeTool result: Failed to log function result value
System.NotSupportedException: JsonTypeInfo metadata for type 'Microsoft.Extensions.AI.TextContent' was not provided by TypeInfoResolver of type 'Microsoft.SemanticKernel.AbstractionsJsonContext'.
```

## Solution

Add a `ToString()` fallback in the `NotSupportedException` catch block
of `LogFunctionResultValueInternal`. When JSON serialization fails
because the runtime type is absent from the source-generated context,
the logger now calls `resultValue?.Value?.ToString()` to produce useful
output instead of the generic error message.

## Testing

- Added `ItShouldFallBackToToStringWhenJsonSerializationIsNotSupported`
unit test that uses a restricted source-generated
`JsonSerializerContext` (containing only `object` and
`IDictionary<string, object?>`) to simulate the AOT scenario, verifying
that `ToString()` output appears in the log instead of the failure
message.
- All existing `ItShouldLogFunctionResultOfAnyType` test cases are
unchanged.

---------

Co-authored-by: octo-patch <[email protected]>
Co-authored-by: SergeyMenshykh <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: SergeyMenshykh <[email protected]>
Co-authored-by: Copilot <[email protected]>
2026-05-01 08:31:14 +00:00
6e1ab9dee5 .Net: Fix VertexAI global endpoint URI construction (#13620) (#13621)
The global VertexAI location uses `https://aiplatform.googleapis.com`
rather than the regional `https://{location}-aiplatform.googleapis.com`
pattern. This adds a `GetVertexAIBaseUri` helper to ClientBase that
selects the correct base URI and updates all VertexAI clients (chat
completion, token counter, embeddings) to use it.

Co-authored-by: Claude Opus 4.6 <[email protected]>
Co-authored-by: Roger Barreto <[email protected]>
2026-05-01 08:29:20 +00:00
SergeyMenshykhandCopilot a1a701d051 .Net: Fix whitespace formatting in PromptExecutionSettingsExtensions.cs (#13941)
### Motivation and Context

The `PromptExecutionSettingsExtensions.cs` file had whitespace
formatting errors (WHITESPACE and IDE0055 warnings) on lines 179-188
caused by `else` and `if` being split across separate lines instead of
combined as `else if`.

### Description

Combined split `else` / `if` statements into single `else if` lines in
`PromptExecutionSettingsExtensions.cs`, resolving 10 whitespace
formatting errors and IDE0055 warnings.

### Contribution Checklist

- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [x] All unit tests pass, and I have added new tests where possible
- [x] I didn't break anyone 😄

Co-authored-by: Copilot <[email protected]>
2026-04-30 14:58:55 +00:00
Roger Barreto 1369c2e0ce .Net: Add ExtraBody to OpenAIPromptExecutionSettings (#12307) (#13934)
### Motivation and Context

Closes #12307. Provides .NET parity with the Python fix in #11852 by
adding an escape-hatch `ExtraBody` property to
`OpenAIPromptExecutionSettings`. This allows callers to inject
vendor-specific or preview parameters into the request body without
waiting for SDK modeling. Use cases from the issue include:

- Qwen3 open-source models requiring `enable_thinking: false` for
non-streaming calls
- ChatGLM thinking-mode flags
- Any OpenAI-compatible endpoint exposing fields not modeled by the SDK

### Description

Adds `IDictionary<string, object?>? ExtraBody` to
`OpenAIPromptExecutionSettings` (inherited automatically by
`AzureOpenAIPromptExecutionSettings`), marked
`[Experimental("SKEXP0010")]`.

#### Hybrid key syntax (diverges intentionally from Python to leverage
the OpenAI .NET SDK's `JsonPatch`)

- A plain key is treated as a literal top-level field name. Keys with
dots, brackets, or other special characters are bracket-quoted
automatically and remain literal.
- `ExtraBody["enable_thinking"] = false` → `{ "enable_thinking": false
}`
  - `ExtraBody["weird.key"] = "x"` → `{ "weird.key": "x" }`
- A key starting with `$.` is interpreted as a JSONPath expression and
applied as a deep patch onto the request body.
- `ExtraBody["$.thinking.enabled"] = false` → `{ "thinking": {
"enabled": false } }`
- `ExtraBody["$.tools[0].function.name"] = "x"` → patches into array
elements
- Nested dictionaries are also supported via plain keys:
`ExtraBody["thinking"] = new Dictionary<string,object?> { ["enabled"] =
false }`.

#### Behavior

- **Last-write-wins on collisions** with strongly-typed properties (e.g.
`Temperature`). Documented.
- **`null` values emit JSON `null`**. Field removal is not supported.
- **No input validation, no telemetry emission** of `ExtraBody` contents
(Python parity).
- **Shallow `Clone()`**, `ReadOnlyDictionary` on `Freeze()`.

#### Wiring

- Classic path: `ClientCore.ChatCompletion.cs` and
`AzureClientCore.ChatCompletion.cs` apply patches at the end of
`CreateChatCompletionOptions`.
- `IChatClient` path: new `protected virtual
PrepareChatOptionsForRequest(ChatOptions)` hook on
`PromptExecutionSettings` (mirrors the existing
`PrepareChatHistoryForRequest` pattern). The OpenAI override sets
`ChatOptions.RawRepresentationFactory` and removes the redundant
`AdditionalProperties["extra_body"]` entry produced by `ToChatOptions`'s
round-trip.

#### Files changed

- `SemanticKernel.Abstractions/AI/PromptExecutionSettings.cs` — new hook
+ internal bridge
- `SemanticKernel.Abstractions/AI/PromptExecutionSettingsExtensions.cs`
— invokes the hook on the original derived instance
- `Connectors.OpenAI/Settings/OpenAIPromptExecutionSettings.cs` —
property, Freeze, Clone, `PrepareChatOptionsForRequest` override,
`ApplyExtraBody`/`ApplyExtraBodyEntry` helpers
- `Connectors.OpenAI/Core/ClientCore.ChatCompletion.cs` — apply in
classic path
- `Connectors.AzureOpenAI/Core/AzureClientCore.ChatCompletion.cs` —
apply in Azure classic path
- `samples/Concepts/ChatCompletion/OpenAI_ChatCompletionExtraBody.cs` —
concept sample (flat field + deep patch)

#### Tests (14 new, all passing)

`Connectors.OpenAI.UnitTests` (11): non-streaming flat key, streaming
flat key, collision (last-write-wins), nested dict, `$.` deep patch,
literal dotted key, `null` value, `FromExecutionSettings` round-trip,
Clone shallow, Freeze read-only, `ToChatOptions`
`RawRepresentationFactory` + `AdditionalProperties` cleanup.

`Connectors.AzureOpenAI.UnitTests` (3): flat key, collision, `$.` deep
patch.

#### Regression

- `Connectors.OpenAI.UnitTests`: 485 passed
- `Connectors.AzureOpenAI.UnitTests`: 493 passed
- `SemanticKernel.UnitTests`: 1606 passed (verifies the new hook in
Abstractions has no side effects)

### Contribution Checklist

- [x] The code builds clean without any errors or warnings
- [x] The PR follows the SK Contribution Guidelines and the
pre-submission formatting script raises no violations
- [x] All unit tests pass, and I have added new tests where possible
- [x] I didn't break anyone 😄
2026-04-30 14:36:51 +00:00
Barton Milnor Malloryandwestey a68600a73a .Net: Update Step04_AzureAIAgent_CodeInterpreter.cs (#13886)
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [ ] The code builds clean without any errors or warnings
- [ ] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [ ] All unit tests pass, and I have added new tests where possible
- [ ] I didn't break anyone 😄

Co-authored-by: westey <[email protected]>
2026-04-30 14:18:08 +00:00
dependabot[bot] 4e4b9456b8 Python: Update pydantic requirement from !=2.10.0,!=2.10.1,!=2.10.2,!=2.10.3,<2.13,>=2.0 to >=2.0,!=2.10.0,!=2.10.1,!=2.10.2,!=2.10.3,<2.14 in /python (#13864)
Updates the requirements on
[pydantic](https://github.com/pydantic/pydantic) to permit the latest
version.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pydantic/pydantic/releases">pydantic's
releases</a>.</em></p>
<blockquote>
<h2>v2.13.0 2026-04-13</h2>
<h2>v2.13.0 (2026-04-13)</h2>
<p>The highlights of the v2.13 release are available in the <a
href="https://pydantic.dev/articles/pydantic-v2-13-release">blog
post</a>.
Several minor changes (considered non-breaking changes according to our
<a
href="https://pydantic.dev/docs/validation/2.13/get-started/version-policy/#pydantic-v2">versioning
policy</a>) are also included in this release. Make sure to look into
them before upgrading.</p>
<p>This release contains the updated <code>pydantic.v1</code> namespace,
matching version 1.10.26 which includes support for Python 3.14.</p>
<h3>What's Changed</h3>
<p>See the beta releases for all changes sinces 2.12.</p>
<h4>Packaging</h4>
<ul>
<li>Add zizmor for GitHub Actions workflow linting by <a
href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/13039">#13039</a></li>
<li>Update jiter to v0.14.0 to fix a segmentation fault on musl Linux by
<a href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/13064">#13064</a></li>
</ul>
<h4>New Features</h4>
<ul>
<li>Allow default factories of private attributes to take validated
model data by <a
href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/13013">#13013</a></li>
</ul>
<h4>Changes</h4>
<ul>
<li>Warn when serializing fixed length tuples with too few items by <a
href="https://github.com/arvindsaripalli"><code>@​arvindsaripalli</code></a>
in <a
href="https://redirect.github.com/pydantic/pydantic/pull/13016">#13016</a></li>
</ul>
<h4>Fixes</h4>
<ul>
<li>Change type of <code>Any</code> when synthesizing
<code>_build_sources</code> for <code>BaseSettings.__init__()</code>
signature in the mypy plugin by <a
href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/13049">#13049</a></li>
<li>Fix model equality when using runtime <code>extra</code>
configuration by <a
href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/13062">#13062</a></li>
</ul>
<h3>New Contributors</h3>
<ul>
<li><a
href="https://github.com/arvindsaripalli"><code>@​arvindsaripalli</code></a>
made their first contribution in <a
href="https://redirect.github.com/pydantic/pydantic/pull/13016">#13016</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/pydantic/pydantic/compare/v2.12.0...v2.13.0">https://github.com/pydantic/pydantic/compare/v2.12.0...v2.13.0</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pydantic/pydantic/blob/main/HISTORY.md">pydantic's
changelog</a>.</em></p>
<blockquote>
<h2>v2.13.0 (2026-04-13)</h2>
<p><a
href="https://github.com/pydantic/pydantic/releases/tag/v2.13.0">GitHub
release</a></p>
<p>The highlights of the v2.13 release are available in the <a
href="https://pydantic.dev/articles/pydantic-v2-13-release">blog
post</a>.
Several minor changes (considered non-breaking changes according to our
<a
href="https://pydantic.dev/docs/validation/2.13/get-started/version-policy/#pydantic-v2">versioning
policy</a>)
are also included in this release. Make sure to look into them before
upgrading.</p>
<p>This release contains the updated <code>pydantic.v1</code> namespace,
matching version 1.10.26 which includes support for Python 3.14.</p>
<h3>What's Changed</h3>
<p>See the beta releases for all changes sinces 2.12.</p>
<h4>New Features</h4>
<ul>
<li>Allow default factories of private attributes to take validated
model data by <a
href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/13013">#13013</a></li>
</ul>
<h4>Changes</h4>
<ul>
<li>Warn when serializing fixed length tuples with too few items by <a
href="https://github.com/arvindsaripalli"><code>@​arvindsaripalli</code></a>
in <a
href="https://redirect.github.com/pydantic/pydantic/pull/13016">#13016</a></li>
</ul>
<h4>Fixes</h4>
<ul>
<li>Change type of <code>Any</code> when synthesizing
<code>_build_sources</code> for <code>BaseSettings.__init__()</code>
signature in the mypy plugin by <a
href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/13049">#13049</a></li>
<li>Fix model equality when using runtime <code>extra</code>
configuration by <a
href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/13062">#13062</a></li>
</ul>
<h4>Packaging</h4>
<ul>
<li>Add zizmor for GitHub Actions workflow linting by <a
href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/13039">#13039</a></li>
<li>Update jiter to v0.14.0 to fix a segmentation fault on musl Linux by
<a href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/13064">#13064</a></li>
</ul>
<h3>New Contributors</h3>
<ul>
<li><a
href="https://github.com/arvindsaripalli"><code>@​arvindsaripalli</code></a>
made their first contribution in <a
href="https://redirect.github.com/pydantic/pydantic/pull/13016">#13016</a></li>
</ul>
<h2>v2.13.0b3 (2026-03-31)</h2>
<p><a
href="https://github.com/pydantic/pydantic/releases/tag/v2.13.0b3">GitHub
release</a></p>
<h3>What's Changed</h3>
<h4>New Features</h4>
<ul>
<li>Add <code>ascii_only</code> option to <code>StringConstraints</code>
by <a
href="https://github.com/ai-man-codes"><code>@​ai-man-codes</code></a>
in <a
href="https://redirect.github.com/pydantic/pydantic/pull/12907">#12907</a></li>
<li>Support <code>exclude_if</code> in computed fields by <a
href="https://github.com/andresliszt"><code>@​andresliszt</code></a> in
<a
href="https://redirect.github.com/pydantic/pydantic/pull/12748">#12748</a></li>
<li>Push down constraints in unions involving <code>MISSING</code>
sentinel by <a
href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/12908">#12908</a></li>
</ul>
<h4>Changes</h4>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pydantic/pydantic/commit/46bf4fa648af3a1fbf4603a37f210e9d9c618357"><code>46bf4fa</code></a>
Fix Pydantic release workflow (<a
href="https://redirect.github.com/pydantic/pydantic/issues/13067">#13067</a>)</li>
<li><a
href="https://github.com/pydantic/pydantic/commit/1b359edab09c623464d23c6fd2503ae5ff276d43"><code>1b359ed</code></a>
Prepare release v2.13.0 (<a
href="https://redirect.github.com/pydantic/pydantic/issues/13065">#13065</a>)</li>
<li><a
href="https://github.com/pydantic/pydantic/commit/b1bf19445d8ac144a7a0e82674d2d87eebab6c18"><code>b1bf194</code></a>
Fix model equality when using runtime <code>extra</code> configuration
(<a
href="https://redirect.github.com/pydantic/pydantic/issues/13062">#13062</a>)</li>
<li><a
href="https://github.com/pydantic/pydantic/commit/17a35e371bdff348c0690651d324c91fc7c9ff9e"><code>17a35e3</code></a>
Update jiter to v0.14.0 (<a
href="https://redirect.github.com/pydantic/pydantic/issues/13064">#13064</a>)</li>
<li><a
href="https://github.com/pydantic/pydantic/commit/feea402b23fa23774669908c4e08a61ba1e4238e"><code>feea402</code></a>
Use <code>simulation</code> mode in Codspeed CI (<a
href="https://redirect.github.com/pydantic/pydantic/issues/13063">#13063</a>)</li>
<li><a
href="https://github.com/pydantic/pydantic/commit/671c9b0d4d3f9b2f1b95ca32ac85cb69e824e0bc"><code>671c9b0</code></a>
Add basic benchmarks for model equality (<a
href="https://redirect.github.com/pydantic/pydantic/issues/13061">#13061</a>)</li>
<li><a
href="https://github.com/pydantic/pydantic/commit/d17d71e00a35f190b27321aa6f8f2a03139c00b8"><code>d17d71e</code></a>
Bump cryptography from 46.0.6 to 46.0.7 (<a
href="https://redirect.github.com/pydantic/pydantic/issues/13056">#13056</a>)</li>
<li><a
href="https://github.com/pydantic/pydantic/commit/919d61ac419af5151b673a90b65c9a12631091cf"><code>919d61a</code></a>
👥 Update Pydantic People (<a
href="https://redirect.github.com/pydantic/pydantic/issues/13059">#13059</a>)</li>
<li><a
href="https://github.com/pydantic/pydantic/commit/e7cf5dcb939ea98511e669b647c0273667a1b08a"><code>e7cf5dc</code></a>
Fix people workflow (<a
href="https://redirect.github.com/pydantic/pydantic/issues/13047">#13047</a>)</li>
<li><a
href="https://github.com/pydantic/pydantic/commit/2a806ad09b984fcc43568191aba5d965350995a0"><code>2a806ad</code></a>
Add regression test for <code>MISSING</code> sentinel serialization with
subclasses (<a
href="https://redirect.github.com/pydantic/pydantic/issues/13">#13</a>...</li>
<li>Additional commits viewable in <a
href="https://github.com/pydantic/pydantic/compare/v2.0...v2.13.0">compare
view</a></li>
</ul>
</details>
<br />


Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-30 10:20:48 +00:00
dependabot[bot] 6cc918e87f Update google-genai requirement from ~=1.51.0 to >=1.51,<1.75 in /python (#13865)
Updates the requirements on
[google-genai](https://github.com/googleapis/python-genai) to permit the
latest version.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/googleapis/python-genai/releases">google-genai's
releases</a>.</em></p>
<blockquote>
<h2>v1.74.0</h2>
<h2><a
href="https://github.com/googleapis/python-genai/compare/v1.73.1...v1.74.0">1.74.0</a>
(2026-04-29)</h2>
<h3>Features</h3>
<ul>
<li>[Interactions] Add
FileCitation.{custom_metadata,media_id,page_number} (<a
href="https://github.com/googleapis/python-genai/commit/aed41ecf4940f63446fc3e22744663be4d1057a6">aed41ec</a>)</li>
<li>Add <code>output_info</code> to <code>BatchJob</code> (<a
href="https://github.com/googleapis/python-genai/commit/7b77ab850283a2c55cb711084e8de6b6da5e589c">7b77ab8</a>)</li>
<li>Add gemini-3.1-flash-tts-preview model to options (<a
href="https://github.com/googleapis/python-genai/commit/8bdc1c353d987a5a18282fd2265950257891d308">8bdc1c3</a>)</li>
<li>Add ImageResizeMode for GenerateVideos (<a
href="https://github.com/googleapis/python-genai/commit/317d2af040adc7639c4464971d2a5ffa5e381402">317d2af</a>)</li>
<li>Add new Gemini Deep Research agent models (<a
href="https://github.com/googleapis/python-genai/commit/16fffbd3504e9c83c605410dc75914bf3bcaeedb">16fffbd</a>)</li>
<li>Add one_of support to JSONSchema for Agent Platform (<a
href="https://github.com/googleapis/python-genai/commit/8c00c524488250f25f497e47b495dcedb362da86">8c00c52</a>)</li>
<li>Add Vertex Dataset input and output options for batch jobs (<a
href="https://github.com/googleapis/python-genai/commit/d880f92a0631868d6cf86e30aa219a18305ad1a0">d880f92</a>)</li>
<li><strong>interaction-api:</strong> Add grounding tool usage breakdown
to Interaction Usage. (<a
href="https://github.com/googleapis/python-genai/commit/b24fb5a1758499e3979cdcadfa734bfa7dd72c94">b24fb5a</a>)</li>
<li>Introduce <code>enterprise</code> to Client constructor and
<code>GOOGLE_GENAI_USE_ENTERPRISE</code> (<a
href="https://github.com/googleapis/python-genai/commit/693fd9af1054fde006f76ea820b0c9066577b243">693fd9a</a>)</li>
<li>Replace the more ambiguous rate field with sample_rate. (<a
href="https://github.com/googleapis/python-genai/commit/88d9b4ad772ce75f21d44174f4679e994fcfca48">88d9b4a</a>)</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li>Catch google-auth wrapped errors (<a
href="https://github.com/googleapis/python-genai/commit/48ac850fa06de2288e4d736f2f7349909c2a0727">48ac850</a>)</li>
<li>Removing Python 3.9 support due to EOL (<a
href="https://github.com/googleapis/python-genai/commit/8bc2b1028da7b94ed0baa31f89a1bf007aaa0bf8">8bc2b10</a>)</li>
<li><strong>retry:</strong> Retry on httpx.TimeoutException with
HttpRetryOptions (<a
href="https://redirect.github.com/googleapis/python-genai/issues/2345">#2345</a>)
(<a
href="https://github.com/googleapis/python-genai/commit/0598bab551f40d852dcd4b4575be8dacec42f83e">0598bab</a>)</li>
<li>Streaming method doesn't handle multi-line SSE (<a
href="https://github.com/googleapis/python-genai/commit/f8a2e7ea8c39800aa0a6c50585de49c2c0d5f247">f8a2e7e</a>)</li>
<li>Typing in <code>AsyncClient.__aexit__</code>, <code>__exit__</code>.
(<a
href="https://github.com/googleapis/python-genai/commit/a74dc6564e3409f9c45a1ec8456ed4386c3711c0">a74dc65</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>Add instruction for custom endpoint (<a
href="https://github.com/googleapis/python-genai/commit/dd79904ed3a51fb53c43d4b01082556baf579759">dd79904</a>)</li>
<li>Fix broken link for rate limits (<a
href="https://github.com/googleapis/python-genai/commit/d22ea99dd4318c3bd47bfd6cb571bf9db3316922">d22ea99</a>)</li>
<li>Regenerate docs for 1.73.1 (<a
href="https://github.com/googleapis/python-genai/commit/2fb714b3fefa3a8972da57ef0675116b67e4808e">2fb714b</a>)</li>
<li>Remove duplicate line in genai client docstring. (<a
href="https://github.com/googleapis/python-genai/commit/b1c6026033fc753d1fcd474d8f63f254a876741c">b1c6026</a>)</li>
<li>Replace Vertex AI with Gemini Enterprise Agent Platform (<a
href="https://github.com/googleapis/python-genai/commit/7c1ecd586032a0546268ede3f115b2d25032ce12">7c1ecd5</a>)</li>
<li>Update doc string to replace <code>Vertex AI</code> with
<code>Gemini Enterprise Agent Platform</code>, update method error
message to replace <code>Vertex AI</code> with <code>Gemini Enterprise
Agent Platform (previously known as Vertex AI)</code>, update converter
error message to replace <code>Vertex AI</code> with <code>Gemini
Enterprise Agent Platform</code> (<a
href="https://github.com/googleapis/python-genai/commit/413f0f9f1b5ff8bab9fd3675e9c450a4ddd29755">413f0f9</a>)</li>
<li>Update Gemini Enterprise Agent Platform home page url (<a
href="https://github.com/googleapis/python-genai/commit/b02cb95459375300c4e2acdef11a8ff0e8d5def6">b02cb95</a>)</li>
<li>Update README.md with correct Pydantic link (<a
href="https://github.com/googleapis/python-genai/commit/fa97cc6cf5bc955c1ff81da4e780fe0211648959">fa97cc6</a>)</li>
<li>Update README.md with correct Pydantic link (<a
href="https://github.com/googleapis/python-genai/commit/fa97cc6cf5bc955c1ff81da4e780fe0211648959">fa97cc6</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/googleapis/python-genai/blob/main/CHANGELOG.md">google-genai's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/googleapis/python-genai/compare/v1.73.1...v1.74.0">1.74.0</a>
(2026-04-29)</h2>
<h3>Features</h3>
<ul>
<li>[Interactions] Add
FileCitation.{custom_metadata,media_id,page_number} (<a
href="https://github.com/googleapis/python-genai/commit/aed41ecf4940f63446fc3e22744663be4d1057a6">aed41ec</a>)</li>
<li>Add <code>output_info</code> to <code>BatchJob</code> (<a
href="https://github.com/googleapis/python-genai/commit/7b77ab850283a2c55cb711084e8de6b6da5e589c">7b77ab8</a>)</li>
<li>Add gemini-3.1-flash-tts-preview model to options (<a
href="https://github.com/googleapis/python-genai/commit/8bdc1c353d987a5a18282fd2265950257891d308">8bdc1c3</a>)</li>
<li>Add ImageResizeMode for GenerateVideos (<a
href="https://github.com/googleapis/python-genai/commit/317d2af040adc7639c4464971d2a5ffa5e381402">317d2af</a>)</li>
<li>Add new Gemini Deep Research agent models (<a
href="https://github.com/googleapis/python-genai/commit/16fffbd3504e9c83c605410dc75914bf3bcaeedb">16fffbd</a>)</li>
<li>Add one_of support to JSONSchema for Agent Platform (<a
href="https://github.com/googleapis/python-genai/commit/8c00c524488250f25f497e47b495dcedb362da86">8c00c52</a>)</li>
<li>Add Vertex Dataset input and output options for batch jobs (<a
href="https://github.com/googleapis/python-genai/commit/d880f92a0631868d6cf86e30aa219a18305ad1a0">d880f92</a>)</li>
<li><strong>interaction-api:</strong> Add grounding tool usage breakdown
to Interaction Usage. (<a
href="https://github.com/googleapis/python-genai/commit/b24fb5a1758499e3979cdcadfa734bfa7dd72c94">b24fb5a</a>)</li>
<li>Introduce <code>enterprise</code> to Client constructor and
<code>GOOGLE_GENAI_USE_ENTERPRISE</code> (<a
href="https://github.com/googleapis/python-genai/commit/693fd9af1054fde006f76ea820b0c9066577b243">693fd9a</a>)</li>
<li>Replace the more ambiguous rate field with sample_rate. (<a
href="https://github.com/googleapis/python-genai/commit/88d9b4ad772ce75f21d44174f4679e994fcfca48">88d9b4a</a>)</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li>Catch google-auth wrapped errors (<a
href="https://github.com/googleapis/python-genai/commit/48ac850fa06de2288e4d736f2f7349909c2a0727">48ac850</a>)</li>
<li>Removing Python 3.9 support due to EOL (<a
href="https://github.com/googleapis/python-genai/commit/8bc2b1028da7b94ed0baa31f89a1bf007aaa0bf8">8bc2b10</a>)</li>
<li><strong>retry:</strong> Retry on httpx.TimeoutException with
HttpRetryOptions (<a
href="https://redirect.github.com/googleapis/python-genai/issues/2345">#2345</a>)
(<a
href="https://github.com/googleapis/python-genai/commit/0598bab551f40d852dcd4b4575be8dacec42f83e">0598bab</a>)</li>
<li>Streaming method doesn't handle multi-line SSE (<a
href="https://github.com/googleapis/python-genai/commit/f8a2e7ea8c39800aa0a6c50585de49c2c0d5f247">f8a2e7e</a>)</li>
<li>Typing in <code>AsyncClient.__aexit__</code>, <code>__exit__</code>.
(<a
href="https://github.com/googleapis/python-genai/commit/a74dc6564e3409f9c45a1ec8456ed4386c3711c0">a74dc65</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>Add instruction for custom endpoint (<a
href="https://github.com/googleapis/python-genai/commit/dd79904ed3a51fb53c43d4b01082556baf579759">dd79904</a>)</li>
<li>Fix broken link for rate limits (<a
href="https://github.com/googleapis/python-genai/commit/d22ea99dd4318c3bd47bfd6cb571bf9db3316922">d22ea99</a>)</li>
<li>Regenerate docs for 1.73.1 (<a
href="https://github.com/googleapis/python-genai/commit/2fb714b3fefa3a8972da57ef0675116b67e4808e">2fb714b</a>)</li>
<li>Remove duplicate line in genai client docstring. (<a
href="https://github.com/googleapis/python-genai/commit/b1c6026033fc753d1fcd474d8f63f254a876741c">b1c6026</a>)</li>
<li>Replace Vertex AI with Gemini Enterprise Agent Platform (<a
href="https://github.com/googleapis/python-genai/commit/7c1ecd586032a0546268ede3f115b2d25032ce12">7c1ecd5</a>)</li>
<li>Update doc string to replace <code>Vertex AI</code> with
<code>Gemini Enterprise Agent Platform</code>, update method error
message to replace <code>Vertex AI</code> with <code>Gemini Enterprise
Agent Platform (previously known as Vertex AI)</code>, update converter
error message to replace <code>Vertex AI</code> with <code>Gemini
Enterprise Agent Platform</code> (<a
href="https://github.com/googleapis/python-genai/commit/413f0f9f1b5ff8bab9fd3675e9c450a4ddd29755">413f0f9</a>)</li>
<li>Update Gemini Enterprise Agent Platform home page url (<a
href="https://github.com/googleapis/python-genai/commit/b02cb95459375300c4e2acdef11a8ff0e8d5def6">b02cb95</a>)</li>
<li>Update README.md with correct Pydantic link (<a
href="https://github.com/googleapis/python-genai/commit/fa97cc6cf5bc955c1ff81da4e780fe0211648959">fa97cc6</a>)</li>
<li>Update README.md with correct Pydantic link (<a
href="https://github.com/googleapis/python-genai/commit/fa97cc6cf5bc955c1ff81da4e780fe0211648959">fa97cc6</a>)</li>
</ul>
<h2><a
href="https://github.com/googleapis/python-genai/compare/v1.73.0...v1.73.1">1.73.1</a>
(2026-04-14)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>Refactor Webhook types in GenAI SDKs for easier useage (<a
href="https://github.com/googleapis/python-genai/commit/3f36ca11b30904c8f82dd3e7e3b59eff3bde6a3b">3f36ca1</a>)</li>
<li>Rename <code>webhooks.retrieve</code> to <code>webhooks.get</code>.
(<a
href="https://github.com/googleapis/python-genai/commit/649f4b06d7bd78a23dd77b06713c6ca5c65321f9">649f4b0</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>Update python docs for 1.73.0 (<a
href="https://github.com/googleapis/python-genai/commit/acd3767bff513524172ddd7726b147d01c245f1c">acd3767</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/googleapis/python-genai/commit/860c041810c6b37638ea23370d39c80364b5c99a"><code>860c041</code></a>
chore(main): release 1.74.0 (<a
href="https://redirect.github.com/googleapis/python-genai/issues/2285">#2285</a>)</li>
<li><a
href="https://github.com/googleapis/python-genai/commit/abcaa0d25da63a58c9ef96dac3b692c8396e5f42"><code>abcaa0d</code></a>
chore: Fix usage examples of LocalTokenizer.</li>
<li><a
href="https://github.com/googleapis/python-genai/commit/b7e877129ee75e1fe824e2dc97e951a5ba5690cb"><code>b7e8771</code></a>
chore: Add page number</li>
<li><a
href="https://github.com/googleapis/python-genai/commit/841301ee3901b34899a583939dfc28462d3db9d9"><code>841301e</code></a>
chore: Adjust Webhook update to better reflect modifiable fields</li>
<li><a
href="https://github.com/googleapis/python-genai/commit/b24fb5a1758499e3979cdcadfa734bfa7dd72c94"><code>b24fb5a</code></a>
feat(interaction-api): Add grounding tool usage breakdown to Interaction
Usage.</li>
<li><a
href="https://github.com/googleapis/python-genai/commit/b1c6026033fc753d1fcd474d8f63f254a876741c"><code>b1c6026</code></a>
docs: Remove duplicate line in genai client docstring.</li>
<li><a
href="https://github.com/googleapis/python-genai/commit/0598bab551f40d852dcd4b4575be8dacec42f83e"><code>0598bab</code></a>
fix(retry): retry on httpx.TimeoutException with HttpRetryOptions (<a
href="https://redirect.github.com/googleapis/python-genai/issues/2345">#2345</a>)</li>
<li><a
href="https://github.com/googleapis/python-genai/commit/f8a2e7ea8c39800aa0a6c50585de49c2c0d5f247"><code>f8a2e7e</code></a>
fix: Streaming method doesn't handle multi-line SSE</li>
<li><a
href="https://github.com/googleapis/python-genai/commit/8bc2b1028da7b94ed0baa31f89a1bf007aaa0bf8"><code>8bc2b10</code></a>
fix: Removing Python 3.9 support due to EOL</li>
<li><a
href="https://github.com/googleapis/python-genai/commit/ab5e3283bed8a3c1502c9486f68848a1d5e821a0"><code>ab5e328</code></a>
chore: internal change</li>
<li>Additional commits viewable in <a
href="https://github.com/googleapis/python-genai/compare/v1.51.0...v1.74.0">compare
view</a></li>
</ul>
</details>
<br />

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-30 09:27:57 +00:00
dependabot[bot] 479f9443ee Python: Bump google-cloud-aiplatform from 1.114.0 to 1.133.0 in /python (#13577)
Bumps
[google-cloud-aiplatform](https://github.com/googleapis/python-aiplatform)
from 1.114.0 to 1.133.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/googleapis/python-aiplatform/releases">google-cloud-aiplatform's
releases</a>.</em></p>
<blockquote>
<h2>v1.133.0</h2>
<h2><a
href="https://github.com/googleapis/python-aiplatform/compare/v1.132.0...v1.133.0">1.133.0</a>
(2026-01-08)</h2>
<h3>Features</h3>
<ul>
<li>Deprecate tuning public preview SDK in favor of tuning SDK (<a
href="https://github.com/googleapis/python-aiplatform/commit/35d362ce8f6c50498f781857e0d8cabd327284be">35d362c</a>)</li>
<li>GenAI SDK client - Enabling Few-shot Prompt Optimization by passing
either &quot;OPTIMIZATION_TARGET_FEW_SHOT_RUBRICS&quot; or
&quot;OPTIMIZATION_TARGET_FEW_SHOT_TARGET_RESPONSE&quot; to the
<code>optimize_prompt</code> method (<a
href="https://github.com/googleapis/python-aiplatform/commit/715cc5b71b996eecde2d97bad71a617274739dcc">715cc5b</a>)</li>
<li>GenAI SDK client(memory): Add enable_third_person_memories (<a
href="https://github.com/googleapis/python-aiplatform/commit/65717fa0c3d9b8c3105638cf9c75ee415f36b6e0">65717fa</a>)</li>
<li>Support Developer Connect in AE (<a
href="https://github.com/googleapis/python-aiplatform/commit/04f1771e16f54a0627ecac1266764ca77f833694">04f1771</a>)</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li>Add None check for agent_info in evals.py (<a
href="https://github.com/googleapis/python-aiplatform/commit/c8c0f0f7eb67696c2e91902af7e6dca20cea2040">c8c0f0f</a>)</li>
<li>GenAI client(evals) - Fix TypeError in
_build_generate_content_config (<a
href="https://github.com/googleapis/python-aiplatform/commit/be2eaaa30dbf13a86f6856771eeacd2a51a97806">be2eaaa</a>)</li>
<li>Make project_number to project_id mapping fail-open. (<a
href="https://github.com/googleapis/python-aiplatform/commit/f1c8458dd5e4641cb03ff175f0837b6d6017c131">f1c8458</a>)</li>
<li>Replace asyncio.run with create_task in ADK async thread mains. (<a
href="https://github.com/googleapis/python-aiplatform/commit/83f4076706d808dcc0e1784219856846540e10da">83f4076</a>)</li>
<li>Replace asyncio.run with create_task in ADK async thread mains. (<a
href="https://github.com/googleapis/python-aiplatform/commit/8c876ef069d0fe6942790ede41e203196cd4a390">8c876ef</a>)</li>
<li>Require uri or staging bucket configuration for saving model to
Vertex Experiment. (<a
href="https://github.com/googleapis/python-aiplatform/commit/5448f065fa30d77c2ee0868249ec0bea6a93a4c0">5448f06</a>)</li>
<li>Return embedding metadata if available (<a
href="https://github.com/googleapis/python-aiplatform/commit/d9c6eb199b6ccc1fae417463e1b374574f2ae2f8">d9c6eb1</a>)</li>
<li>Update <code>examples_dataframe</code> type to
<code>PandasDataFrame</code> in Prompt Optimizer. (<a
href="https://github.com/googleapis/python-aiplatform/commit/a2564cc3ea5c4860ee732f14cea9db2c10b52420">a2564cc</a>)</li>
</ul>
<h2>v1.132.0</h2>
<h2><a
href="https://github.com/googleapis/python-aiplatform/compare/v1.131.0...v1.132.0">1.132.0</a>
(2025-12-17)</h2>
<h3>Features</h3>
<ul>
<li>Add Lustre support to the Vertex Training Custom Job API (<a
href="https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0">71747e8</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>A comment for field <code>restart_job_on_worker_restart</code> in
message <code>.google.cloud.aiplatform.v1beta1.Scheduling</code> is
changed (<a
href="https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0">71747e8</a>)</li>
<li>A comment for field <code>timeout</code> in message
<code>.google.cloud.aiplatform.v1beta1.Scheduling</code> is changed (<a
href="https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0">71747e8</a>)</li>
</ul>
<h2>v1.131.0</h2>
<h2><a
href="https://github.com/googleapis/python-aiplatform/compare/v1.130.0...v1.131.0">1.131.0</a>
(2025-12-16)</h2>
<h3>Features</h3>
<ul>
<li>Allow list of events to be passed to AdkApp.async_stream_query (<a
href="https://github.com/googleapis/python-aiplatform/commit/dd8840a5012b2762f8b8971b6cea4302ac5c648d">dd8840a</a>)</li>
<li>GenAI Client(evals) - Support CustomCodeExecution metric in Vertex
Gen AI Eval Service (<a
href="https://github.com/googleapis/python-aiplatform/commit/4114728750b5b12f991a18df87c1f1a570d1b29d">4114728</a>)</li>
<li>Updates the ADK template to direct structured JSON logs to standard
output. (<a
href="https://github.com/googleapis/python-aiplatform/commit/a65ec297c5b8d99e4d2dfb49473c189197198f97">a65ec29</a>)</li>
</ul>
<h3>Bug Fixes</h3>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/googleapis/python-aiplatform/blob/main/CHANGELOG.md">google-cloud-aiplatform's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/googleapis/python-aiplatform/compare/v1.132.0...v1.133.0">1.133.0</a>
(2026-01-08)</h2>
<h3>Features</h3>
<ul>
<li>Deprecate tuning public preview SDK in favor of tuning SDK (<a
href="https://github.com/googleapis/python-aiplatform/commit/35d362ce8f6c50498f781857e0d8cabd327284be">35d362c</a>)</li>
<li>GenAI SDK client - Enabling Few-shot Prompt Optimization by passing
either &quot;OPTIMIZATION_TARGET_FEW_SHOT_RUBRICS&quot; or
&quot;OPTIMIZATION_TARGET_FEW_SHOT_TARGET_RESPONSE&quot; to the
<code>optimize_prompt</code> method (<a
href="https://github.com/googleapis/python-aiplatform/commit/715cc5b71b996eecde2d97bad71a617274739dcc">715cc5b</a>)</li>
<li>GenAI SDK client(memory): Add enable_third_person_memories (<a
href="https://github.com/googleapis/python-aiplatform/commit/65717fa0c3d9b8c3105638cf9c75ee415f36b6e0">65717fa</a>)</li>
<li>Support Developer Connect in AE (<a
href="https://github.com/googleapis/python-aiplatform/commit/04f1771e16f54a0627ecac1266764ca77f833694">04f1771</a>)</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li>Add None check for agent_info in evals.py (<a
href="https://github.com/googleapis/python-aiplatform/commit/c8c0f0f7eb67696c2e91902af7e6dca20cea2040">c8c0f0f</a>)</li>
<li>GenAI client(evals) - Fix TypeError in
_build_generate_content_config (<a
href="https://github.com/googleapis/python-aiplatform/commit/be2eaaa30dbf13a86f6856771eeacd2a51a97806">be2eaaa</a>)</li>
<li>Make project_number to project_id mapping fail-open. (<a
href="https://github.com/googleapis/python-aiplatform/commit/f1c8458dd5e4641cb03ff175f0837b6d6017c131">f1c8458</a>)</li>
<li>Replace asyncio.run with create_task in ADK async thread mains. (<a
href="https://github.com/googleapis/python-aiplatform/commit/83f4076706d808dcc0e1784219856846540e10da">83f4076</a>)</li>
<li>Replace asyncio.run with create_task in ADK async thread mains. (<a
href="https://github.com/googleapis/python-aiplatform/commit/8c876ef069d0fe6942790ede41e203196cd4a390">8c876ef</a>)</li>
<li>Require uri or staging bucket configuration for saving model to
Vertex Experiment. (<a
href="https://github.com/googleapis/python-aiplatform/commit/5448f065fa30d77c2ee0868249ec0bea6a93a4c0">5448f06</a>)</li>
<li>Return embedding metadata if available (<a
href="https://github.com/googleapis/python-aiplatform/commit/d9c6eb199b6ccc1fae417463e1b374574f2ae2f8">d9c6eb1</a>)</li>
<li>Update <code>examples_dataframe</code> type to
<code>PandasDataFrame</code> in Prompt Optimizer. (<a
href="https://github.com/googleapis/python-aiplatform/commit/a2564cc3ea5c4860ee732f14cea9db2c10b52420">a2564cc</a>)</li>
</ul>
<h2><a
href="https://github.com/googleapis/python-aiplatform/compare/v1.131.0...v1.132.0">1.132.0</a>
(2025-12-17)</h2>
<h3>Features</h3>
<ul>
<li>Add Lustre support to the Vertex Training Custom Job API (<a
href="https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0">71747e8</a>)</li>
<li>Add Lustre support to the Vertex Training Custom Job API (<a
href="https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0">71747e8</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>A comment for field <code>restart_job_on_worker_restart</code> in
message <code>.google.cloud.aiplatform.v1beta1.Scheduling</code> is
changed (<a
href="https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0">71747e8</a>)</li>
<li>A comment for field <code>timeout</code> in message
<code>.google.cloud.aiplatform.v1beta1.Scheduling</code> is changed (<a
href="https://github.com/googleapis/python-aiplatform/commit/71747e8cbb028f321fd9499bd77656b083909eb0">71747e8</a>)</li>
</ul>
<h2><a
href="https://github.com/googleapis/python-aiplatform/compare/v1.130.0...v1.131.0">1.131.0</a>
(2025-12-16)</h2>
<h3>Features</h3>
<ul>
<li>Allow list of events to be passed to AdkApp.async_stream_query (<a
href="https://github.com/googleapis/python-aiplatform/commit/dd8840a5012b2762f8b8971b6cea4302ac5c648d">dd8840a</a>)</li>
<li>GenAI Client(evals) - Support CustomCodeExecution metric in Vertex
Gen AI Eval Service (<a
href="https://github.com/googleapis/python-aiplatform/commit/4114728750b5b12f991a18df87c1f1a570d1b29d">4114728</a>)</li>
<li>Updates the ADK template to direct structured JSON logs to standard
output. (<a
href="https://github.com/googleapis/python-aiplatform/commit/a65ec297c5b8d99e4d2dfb49473c189197198f97">a65ec29</a>)</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li>Fix RagManagedVertexVectorSearch when using backend_config (<a
href="https://github.com/googleapis/python-aiplatform/commit/df0976ed3195dc8313f4728bc5ecb29dda55d467">df0976e</a>)</li>
<li>GenAI Client(evals) - patch for vulnerability in visualization (<a
href="https://github.com/googleapis/python-aiplatform/commit/8a00d43dbd24e95dbab6ea32c63ce0a5a1849480">8a00d43</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/googleapis/python-aiplatform/commit/78f2bdd08bae0696923e61ab73080b5846c67ae0"><code>78f2bdd</code></a>
chore(main): release 1.133.0 (<a
href="https://redirect.github.com/googleapis/python-aiplatform/issues/6211">#6211</a>)</li>
<li><a
href="https://github.com/googleapis/python-aiplatform/commit/c8c0f0f7eb67696c2e91902af7e6dca20cea2040"><code>c8c0f0f</code></a>
fix: Add None check for agent_info in evals.py</li>
<li><a
href="https://github.com/googleapis/python-aiplatform/commit/9952b970b73cfe38e68c48b3699ee4e1df0264df"><code>9952b97</code></a>
chore: rollback</li>
<li><a
href="https://github.com/googleapis/python-aiplatform/commit/83f4076706d808dcc0e1784219856846540e10da"><code>83f4076</code></a>
fix: Replace asyncio.run with create_task in ADK async thread
mains.</li>
<li><a
href="https://github.com/googleapis/python-aiplatform/commit/937d5af6b9bdbbe3b50181745c99550f124ad8b4"><code>937d5af</code></a>
Copybara import of the project:</li>
<li><a
href="https://github.com/googleapis/python-aiplatform/commit/aaaf902be02747cd2281196aad6278df0fd11f7e"><code>aaaf902</code></a>
chore: bump google-auth lower bound to 2.47.0 in GenAI and Vertex
SDKs</li>
<li><a
href="https://github.com/googleapis/python-aiplatform/commit/8c876ef069d0fe6942790ede41e203196cd4a390"><code>8c876ef</code></a>
fix: Replace asyncio.run with create_task in ADK async thread
mains.</li>
<li><a
href="https://github.com/googleapis/python-aiplatform/commit/5448f065fa30d77c2ee0868249ec0bea6a93a4c0"><code>5448f06</code></a>
fix: Require uri or staging bucket configuration for saving model to
Vertex E...</li>
<li><a
href="https://github.com/googleapis/python-aiplatform/commit/65717fa0c3d9b8c3105638cf9c75ee415f36b6e0"><code>65717fa</code></a>
feat: GenAI SDK client(memory): Add enable_third_person_memories</li>
<li><a
href="https://github.com/googleapis/python-aiplatform/commit/be2eaaa30dbf13a86f6856771eeacd2a51a97806"><code>be2eaaa</code></a>
fix: GenAI client(evals) - Fix TypeError in
_build_generate_content_config</li>
<li>Additional commits viewable in <a
href="https://github.com/googleapis/python-aiplatform/compare/v1.114.0...v1.133.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=google-cloud-aiplatform&package-manager=uv&previous-version=1.114.0&new-version=1.133.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/microsoft/semantic-kernel/network/alerts).

</details>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-30 08:58:38 +00:00
dependabot[bot] ff3a1c6c6e Python: Update boto3 requirement from <1.41.0,>=1.36.4 to >=1.36.4,<1.43.0 in /python (#13867)
Updates the requirements on [boto3](https://github.com/boto/boto3) to
permit the latest version.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/boto/boto3/commit/54a9dc1891d5e38110e5f77fc45fbc7e2e112bfe"><code>54a9dc1</code></a>
Merge branch 'release-1.42.89'</li>
<li><a
href="https://github.com/boto/boto3/commit/730d84cd5a2396ff9bfe8b59b7ee7339aa6bd8c5"><code>730d84c</code></a>
Bumping version to 1.42.89</li>
<li><a
href="https://github.com/boto/boto3/commit/6b657684e661904d387c867ccd8aea796f7092ff"><code>6b65768</code></a>
Add changelog entries from botocore</li>
<li><a
href="https://github.com/boto/boto3/commit/f92a06cca537b03c6cbc71b2ab004674298053dd"><code>f92a06c</code></a>
Merge branch 'release-1.42.88'</li>
<li><a
href="https://github.com/boto/boto3/commit/5da0f6a8b8ed0117747b2f8a4f2ffa2a8e3a5eb6"><code>5da0f6a</code></a>
Merge branch 'release-1.42.88' into develop</li>
<li><a
href="https://github.com/boto/boto3/commit/9bdec29dd7a50a0412772bae77580bb3be674295"><code>9bdec29</code></a>
Bumping version to 1.42.88</li>
<li><a
href="https://github.com/boto/boto3/commit/d880788fea57399dd5e9e2be08691a2b9ec26502"><code>d880788</code></a>
Add changelog entries from botocore</li>
<li><a
href="https://github.com/boto/boto3/commit/39a412231d29b10761a1812efbbf00aa8d17d6a6"><code>39a4122</code></a>
chore: add additional text to CONTRIBUTING.rst (<a
href="https://redirect.github.com/boto/boto3/issues/4749">#4749</a>)</li>
<li><a
href="https://github.com/boto/boto3/commit/8d65320e4df23b56f3dc5b09ad75d95bcc85382b"><code>8d65320</code></a>
Merge branch 'release-1.42.87'</li>
<li><a
href="https://github.com/boto/boto3/commit/fdcbb88dfbc65c8ef6fd3557f7d37c73ec6a09a2"><code>fdcbb88</code></a>
Merge branch 'release-1.42.87' into develop</li>
<li>Additional commits viewable in <a
href="https://github.com/boto/boto3/compare/1.36.4...1.42.89">compare
view</a></li>
</ul>
</details>
<br />


Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-30 08:58:05 +00:00
dependabot[bot] 293ec8f850 Python: Bump python-multipart from 0.0.22 to 0.0.26 in /python (#13878)
Bumps [python-multipart](https://github.com/Kludex/python-multipart)
from 0.0.22 to 0.0.26.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/Kludex/python-multipart/releases">python-multipart's
releases</a>.</em></p>
<blockquote>
<h2>Version 0.0.26</h2>
<h2>What's Changed</h2>
<ul>
<li>Skip preamble before first multipart boundary by <a
href="https://github.com/Kludex"><code>@​Kludex</code></a> in <a
href="https://redirect.github.com/Kludex/python-multipart/pull/262">Kludex/python-multipart#262</a></li>
<li>Silently discard epilogue data after the closing boundary by <a
href="https://github.com/Kludex"><code>@​Kludex</code></a> in <a
href="https://redirect.github.com/Kludex/python-multipart/pull/259">Kludex/python-multipart#259</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/Kludex/python-multipart/compare/0.0.25...0.0.26">https://github.com/Kludex/python-multipart/compare/0.0.25...0.0.26</a></p>
<h2>Version 0.0.25</h2>
<h2>What's Changed</h2>
<ul>
<li>Apply Apache-2.0 properly by <a
href="https://github.com/Kludex"><code>@​Kludex</code></a> in <a
href="https://redirect.github.com/Kludex/python-multipart/pull/247">Kludex/python-multipart#247</a></li>
<li>Handle multipart headers case-insensitively by <a
href="https://github.com/Kludex"><code>@​Kludex</code></a> in <a
href="https://redirect.github.com/Kludex/python-multipart/pull/252">Kludex/python-multipart#252</a></li>
<li>Emit <code>field_end</code> for trailing bare field names on
finalize by <a
href="https://github.com/bysiber"><code>@​bysiber</code></a> in <a
href="https://redirect.github.com/Kludex/python-multipart/pull/230">Kludex/python-multipart#230</a></li>
<li>Add <code>UPLOAD_DELETE_TMP</code> to <code>FormParser</code> config
by <a href="https://github.com/Kludex"><code>@​Kludex</code></a> in <a
href="https://redirect.github.com/Kludex/python-multipart/pull/254">Kludex/python-multipart#254</a></li>
<li>Remove custom FormParser classes by <a
href="https://github.com/Kludex"><code>@​Kludex</code></a> in <a
href="https://redirect.github.com/Kludex/python-multipart/pull/257">Kludex/python-multipart#257</a></li>
<li>Handle CTE values case-insensitively by <a
href="https://github.com/Kludex"><code>@​Kludex</code></a> in <a
href="https://redirect.github.com/Kludex/python-multipart/pull/258">Kludex/python-multipart#258</a></li>
<li>Add MIME content type info to File by <a
href="https://github.com/jhnstrk"><code>@​jhnstrk</code></a> in <a
href="https://redirect.github.com/Kludex/python-multipart/pull/143">Kludex/python-multipart#143</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/Kludex/python-multipart/compare/0.0.24...0.0.25">https://github.com/Kludex/python-multipart/compare/0.0.24...0.0.25</a></p>
<h2>Version 0.0.24</h2>
<h2>What's Changed</h2>
<ul>
<li>Validate <code>chunk_size</code> in <code>parse_form()</code> by <a
href="https://github.com/Kludex"><code>@​Kludex</code></a> in <a
href="https://redirect.github.com/Kludex/python-multipart/pull/244">Kludex/python-multipart#244</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/Kludex/python-multipart/compare/0.0.23...0.0.24">https://github.com/Kludex/python-multipart/compare/0.0.23...0.0.24</a></p>
<h2>Version 0.0.23</h2>
<h2>What's Changed</h2>
<ul>
<li>Remove unused <code>trust_x_headers</code> parameter and
<code>X-File-Name</code> fallback by <a
href="https://github.com/jhnstrk"><code>@​jhnstrk</code></a> in <a
href="https://redirect.github.com/Kludex/python-multipart/pull/196">Kludex/python-multipart#196</a></li>
<li>Return processed length from
<code>QuerystringParser._internal_write</code> by <a
href="https://github.com/bysiber"><code>@​bysiber</code></a> in <a
href="https://redirect.github.com/Kludex/python-multipart/pull/229">Kludex/python-multipart#229</a></li>
<li>Cleanup metadata dunders from <code>__init__.py</code> by <a
href="https://github.com/Chesars"><code>@​Chesars</code></a> in <a
href="https://redirect.github.com/Kludex/python-multipart/pull/227">Kludex/python-multipart#227</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/Chesars"><code>@​Chesars</code></a> made
their first contribution in <a
href="https://redirect.github.com/Kludex/python-multipart/pull/227">Kludex/python-multipart#227</a></li>
<li><a href="https://github.com/bysiber"><code>@​bysiber</code></a> made
their first contribution in <a
href="https://redirect.github.com/Kludex/python-multipart/pull/229">Kludex/python-multipart#229</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/Kludex/python-multipart/compare/0.0.22...0.0.23">https://github.com/Kludex/python-multipart/compare/0.0.22...0.0.23</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/Kludex/python-multipart/blob/master/CHANGELOG.md">python-multipart's
changelog</a>.</em></p>
<blockquote>
<h2>0.0.26 (2026-04-10)</h2>
<ul>
<li>Skip preamble before the first multipart boundary more efficiently
<a
href="https://redirect.github.com/Kludex/python-multipart/pull/262">#262</a>.</li>
<li>Silently discard epilogue data after the closing multipart boundary
<a
href="https://redirect.github.com/Kludex/python-multipart/pull/259">#259</a>.</li>
</ul>
<h2>0.0.25 (2026-04-10)</h2>
<ul>
<li>Add MIME content type info to <code>File</code> <a
href="https://redirect.github.com/Kludex/python-multipart/pull/143">#143</a>.</li>
<li>Handle CTE values case-insensitively <a
href="https://redirect.github.com/Kludex/python-multipart/pull/258">#258</a>.</li>
<li>Remove custom <code>FormParser</code> classes <a
href="https://redirect.github.com/Kludex/python-multipart/pull/257">#257</a>.</li>
<li>Add <code>UPLOAD_DELETE_TMP</code> to <code>FormParser</code> config
<a
href="https://redirect.github.com/Kludex/python-multipart/pull/254">#254</a>.</li>
<li>Emit <code>field_end</code> for trailing bare field names on
finalize <a
href="https://redirect.github.com/Kludex/python-multipart/pull/230">#230</a>.</li>
<li>Handle multipart headers case-insensitively <a
href="https://redirect.github.com/Kludex/python-multipart/pull/252">#252</a>.</li>
<li>Apply Apache-2.0 properly <a
href="https://redirect.github.com/Kludex/python-multipart/pull/247">#247</a>.</li>
</ul>
<h2>0.0.24 (2026-04-05)</h2>
<ul>
<li>Validate <code>chunk_size</code> in <code>parse_form()</code> <a
href="https://redirect.github.com/Kludex/python-multipart/pull/244">#244</a>.</li>
</ul>
<h2>0.0.23 (2026-04-05)</h2>
<ul>
<li>Remove unused <code>trust_x_headers</code> parameter and
<code>X-File-Name</code> fallback <a
href="https://redirect.github.com/Kludex/python-multipart/pull/196">#196</a>.</li>
<li>Return processed length from
<code>QuerystringParser._internal_write</code> <a
href="https://redirect.github.com/Kludex/python-multipart/pull/229">#229</a>.</li>
<li>Cleanup metadata dunders from <code>__init__.py</code> <a
href="https://redirect.github.com/Kludex/python-multipart/pull/227">#227</a>.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/Kludex/python-multipart/commit/28f47859b4a40c2e11e02dc514b2e9743ceedd2e"><code>28f4785</code></a>
Version 0.0.26 (<a
href="https://redirect.github.com/Kludex/python-multipart/issues/263">#263</a>)</li>
<li><a
href="https://github.com/Kludex/python-multipart/commit/d4452a78bbde94995dd3c0d1b4aff3610a5c472f"><code>d4452a7</code></a>
Silently discard epilogue data after the closing boundary (<a
href="https://redirect.github.com/Kludex/python-multipart/issues/259">#259</a>)</li>
<li><a
href="https://github.com/Kludex/python-multipart/commit/6a7b76dd2653d99d8e5981d7ff09a4a047750b37"><code>6a7b76d</code></a>
Skip preamble before first multipart boundary (<a
href="https://redirect.github.com/Kludex/python-multipart/issues/262">#262</a>)</li>
<li><a
href="https://github.com/Kludex/python-multipart/commit/4addb60350fc843f77a1502f14247db91930b3bf"><code>4addb60</code></a>
Version 0.0.25 (<a
href="https://redirect.github.com/Kludex/python-multipart/issues/261">#261</a>)</li>
<li><a
href="https://github.com/Kludex/python-multipart/commit/d3a4698e0dc16cbd85f98076b2ebf9b696cd3604"><code>d3a4698</code></a>
Add MIME content type info to File (<a
href="https://redirect.github.com/Kludex/python-multipart/issues/143">#143</a>)</li>
<li><a
href="https://github.com/Kludex/python-multipart/commit/9a1ecbd074801fcd3911266f3f4442181d10ab92"><code>9a1ecbd</code></a>
Handle CTE values case-insensitively (<a
href="https://redirect.github.com/Kludex/python-multipart/issues/258">#258</a>)</li>
<li><a
href="https://github.com/Kludex/python-multipart/commit/ef2a0b94f95676ea6a7b77d2252b09f5797cb8ed"><code>ef2a0b9</code></a>
Remove custom FormParser classes (<a
href="https://redirect.github.com/Kludex/python-multipart/issues/257">#257</a>)</li>
<li><a
href="https://github.com/Kludex/python-multipart/commit/3a757d7cf209e654eb17cf7b7af868eed469f680"><code>3a757d7</code></a>
Ignore local Claude state (<a
href="https://redirect.github.com/Kludex/python-multipart/issues/255">#255</a>)</li>
<li><a
href="https://github.com/Kludex/python-multipart/commit/55e739617db7c40e2cd04c5ad8c7acf2ed0a1d19"><code>55e7396</code></a>
fuzz: Add cifuzz (<a
href="https://redirect.github.com/Kludex/python-multipart/issues/186">#186</a>)</li>
<li><a
href="https://github.com/Kludex/python-multipart/commit/d6d1d111e7de9ce3d3f8623fe5f5e4201c0a5fd1"><code>d6d1d11</code></a>
Bump the github-actions group with 2 updates (<a
href="https://redirect.github.com/Kludex/python-multipart/issues/249">#249</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/Kludex/python-multipart/compare/0.0.22...0.0.26">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=python-multipart&package-manager=uv&previous-version=0.0.22&new-version=0.0.26)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/microsoft/semantic-kernel/network/alerts).

</details>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-30 08:57:59 +00:00
dependabot[bot] 4fb5abcc66 Python: Bump nbconvert from 7.17.0 to 7.17.1 in /python (#13906)
Bumps [nbconvert](https://github.com/jupyter/nbconvert) from 7.17.0 to
7.17.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/jupyter/nbconvert/releases">nbconvert's
releases</a>.</em></p>
<blockquote>
<h2>v7.17.1</h2>
<h2>7.17.1</h2>
<p>This is a security release, fixing two CVEs:</p>
<ul>
<li><a
href="https://github.com/jupyter/nbconvert/security/advisories/GHSA-4c99-qj7h-p3vg">CVE-2026-39377</a></li>
<li><a
href="https://github.com/jupyter/nbconvert/security/advisories/GHSA-7jqv-fw35-gmx9">CVE-2026-39378</a></li>
</ul>
<p>(full advisories will be published seven days after release, on
2026-04-14).</p>
<p>(<a
href="https://github.com/jupyter/nbconvert/compare/v7.17.0...b3b6ec01f872e9af8fd1769eb9cf1889c720ecf3">Full
Changelog</a>)</p>
<h3>Enhancements made</h3>
<ul>
<li>Allow configureable WebPDF JavaScript processing timeout <a
href="https://redirect.github.com/jupyter/nbconvert/pull/2250">#2250</a>
(<a href="https://github.com/timkpaine"><code>@​timkpaine</code></a>, <a
href="https://github.com/Carreau"><code>@​Carreau</code></a>)</li>
</ul>
<h3>Bugs fixed</h3>
<ul>
<li>Fix <code>PermissionError</code> when checking template paths on
shared filesystems <a
href="https://redirect.github.com/jupyter/nbconvert/pull/2252">#2252</a>
(<a href="https://github.com/ctcjab"><code>@​ctcjab</code></a>, <a
href="https://github.com/krassowski"><code>@​krassowski</code></a>)</li>
<li>Tweak webpdf template logic to fix duplicate extension problem <a
href="https://redirect.github.com/jupyter/nbconvert/pull/2249">#2249</a>
(<a href="https://github.com/timkpaine"><code>@​timkpaine</code></a>, <a
href="https://github.com/Carreau"><code>@​Carreau</code></a>)</li>
</ul>
<h3>Maintenance and upkeep improvements</h3>
<ul>
<li>specify python version for pre <a
href="https://redirect.github.com/jupyter/nbconvert/pull/2276">#2276</a>
(<a href="https://github.com/minrk"><code>@​minrk</code></a>, <a
href="https://github.com/krassowski"><code>@​krassowski</code></a>)</li>
</ul>
<h3>Contributors to this release</h3>
<p>The following people contributed discussions, new ideas, code and
documentation contributions, and review.
See <a
href="https://github-activity.readthedocs.io/en/latest/use/#how-does-this-tool-define-contributions-in-the-reports">our
definition of contributors</a>.</p>
<p>(<a
href="https://github.com/jupyter/nbconvert/graphs/contributors?from=2026-01-29&amp;to=2026-04-08&amp;type=c">GitHub
contributors page for this release</a>)</p>
<p><a href="https://github.com/akhmerov"><code>@​akhmerov</code></a> (<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Aakhmerov+updated%3A2026-01-29..2026-04-08&amp;type=Issues">activity</a>)
| <a href="https://github.com/bollwyvl"><code>@​bollwyvl</code></a> (<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Abollwyvl+updated%3A2026-01-29..2026-04-08&amp;type=Issues">activity</a>)
| <a href="https://github.com/Carreau"><code>@​Carreau</code></a> (<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3ACarreau+updated%3A2026-01-29..2026-04-08&amp;type=Issues">activity</a>)
| <a href="https://github.com/ctcjab"><code>@​ctcjab</code></a> (<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Actcjab+updated%3A2026-01-29..2026-04-08&amp;type=Issues">activity</a>)
| <a
href="https://github.com/davidbrochart"><code>@​davidbrochart</code></a>
(<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Adavidbrochart+updated%3A2026-01-29..2026-04-08&amp;type=Issues">activity</a>)
| <a href="https://github.com/Ken-B"><code>@​Ken-B</code></a> (<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AKen-B+updated%3A2026-01-29..2026-04-08&amp;type=Issues">activity</a>)
| <a href="https://github.com/krassowski"><code>@​krassowski</code></a>
(<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Akrassowski+updated%3A2026-01-29..2026-04-08&amp;type=Issues">activity</a>)
| <a href="https://github.com/mgeier"><code>@​mgeier</code></a> (<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Amgeier+updated%3A2026-01-29..2026-04-08&amp;type=Issues">activity</a>)
| <a href="https://github.com/minrk"><code>@​minrk</code></a> (<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Aminrk+updated%3A2026-01-29..2026-04-08&amp;type=Issues">activity</a>)
| <a href="https://github.com/mpacer"><code>@​mpacer</code></a> (<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ampacer+updated%3A2026-01-29..2026-04-08&amp;type=Issues">activity</a>)
| <a href="https://github.com/MSeal"><code>@​MSeal</code></a> (<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AMSeal+updated%3A2026-01-29..2026-04-08&amp;type=Issues">activity</a>)
| <a
href="https://github.com/SylvainCorlay"><code>@​SylvainCorlay</code></a>
(<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3ASylvainCorlay+updated%3A2026-01-29..2026-04-08&amp;type=Issues">activity</a>)
| <a href="https://github.com/takluyver"><code>@​takluyver</code></a>
(<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Atakluyver+updated%3A2026-01-29..2026-04-08&amp;type=Issues">activity</a>)
| <a href="https://github.com/timkpaine"><code>@​timkpaine</code></a>
(<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Atimkpaine+updated%3A2026-01-29..2026-04-08&amp;type=Issues">activity</a>)</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/jupyter/nbconvert/blob/main/CHANGELOG.md">nbconvert's
changelog</a>.</em></p>
<blockquote>
<h2>7.17.1</h2>
<p>This is a security release, fixing two CVEs:</p>
<ul>
<li><a
href="https://github.com/jupyter/nbconvert/security/advisories/GHSA-4c99-qj7h-p3vg">CVE-2026-39377</a></li>
<li><a
href="https://github.com/jupyter/nbconvert/security/advisories/GHSA-7jqv-fw35-gmx9">CVE-2026-39378</a></li>
</ul>
<p>(full advisories will be published seven days after release, on
2026-04-14).</p>
<p>(<a
href="https://github.com/jupyter/nbconvert/compare/v7.17.0...b3b6ec01f872e9af8fd1769eb9cf1889c720ecf3">Full
Changelog</a>)</p>
<h3>Enhancements made</h3>
<ul>
<li>Allow configureable WebPDF JavaScript processing timeout <a
href="https://redirect.github.com/jupyter/nbconvert/pull/2250">#2250</a>
(<a href="https://github.com/timkpaine"><code>@​timkpaine</code></a>, <a
href="https://github.com/Carreau"><code>@​Carreau</code></a>)</li>
</ul>
<h3>Bugs fixed</h3>
<ul>
<li>Fix <code>PermissionError</code> when checking template paths on
shared filesystems <a
href="https://redirect.github.com/jupyter/nbconvert/pull/2252">#2252</a>
(<a href="https://github.com/ctcjab"><code>@​ctcjab</code></a>, <a
href="https://github.com/krassowski"><code>@​krassowski</code></a>)</li>
<li>Tweak webpdf template logic to fix duplicate extension problem <a
href="https://redirect.github.com/jupyter/nbconvert/pull/2249">#2249</a>
(<a href="https://github.com/timkpaine"><code>@​timkpaine</code></a>, <a
href="https://github.com/Carreau"><code>@​Carreau</code></a>)</li>
</ul>
<h3>Maintenance and upkeep improvements</h3>
<ul>
<li>specify python version for pre <a
href="https://redirect.github.com/jupyter/nbconvert/pull/2276">#2276</a>
(<a href="https://github.com/minrk"><code>@​minrk</code></a>, <a
href="https://github.com/krassowski"><code>@​krassowski</code></a>)</li>
</ul>
<h3>Contributors to this release</h3>
<p>The following people contributed discussions, new ideas, code and
documentation contributions, and review.
See <a
href="https://github-activity.readthedocs.io/en/latest/use/#how-does-this-tool-define-contributions-in-the-reports">our
definition of contributors</a>.</p>
<p>(<a
href="https://github.com/jupyter/nbconvert/graphs/contributors?from=2026-01-29&amp;to=2026-04-08&amp;type=c">GitHub
contributors page for this release</a>)</p>
<p><a href="https://github.com/akhmerov"><code>@​akhmerov</code></a> (<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Aakhmerov+updated%3A2026-01-29..2026-04-08&amp;type=Issues">activity</a>)
| <a href="https://github.com/bollwyvl"><code>@​bollwyvl</code></a> (<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Abollwyvl+updated%3A2026-01-29..2026-04-08&amp;type=Issues">activity</a>)
| <a href="https://github.com/Carreau"><code>@​Carreau</code></a> (<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3ACarreau+updated%3A2026-01-29..2026-04-08&amp;type=Issues">activity</a>)
| <a href="https://github.com/ctcjab"><code>@​ctcjab</code></a> (<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Actcjab+updated%3A2026-01-29..2026-04-08&amp;type=Issues">activity</a>)
| <a
href="https://github.com/davidbrochart"><code>@​davidbrochart</code></a>
(<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Adavidbrochart+updated%3A2026-01-29..2026-04-08&amp;type=Issues">activity</a>)
| <a href="https://github.com/Ken-B"><code>@​Ken-B</code></a> (<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AKen-B+updated%3A2026-01-29..2026-04-08&amp;type=Issues">activity</a>)
| <a href="https://github.com/krassowski"><code>@​krassowski</code></a>
(<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Akrassowski+updated%3A2026-01-29..2026-04-08&amp;type=Issues">activity</a>)
| <a href="https://github.com/mgeier"><code>@​mgeier</code></a> (<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Amgeier+updated%3A2026-01-29..2026-04-08&amp;type=Issues">activity</a>)
| <a href="https://github.com/minrk"><code>@​minrk</code></a> (<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Aminrk+updated%3A2026-01-29..2026-04-08&amp;type=Issues">activity</a>)
| <a href="https://github.com/mpacer"><code>@​mpacer</code></a> (<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ampacer+updated%3A2026-01-29..2026-04-08&amp;type=Issues">activity</a>)
| <a href="https://github.com/MSeal"><code>@​MSeal</code></a> (<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3AMSeal+updated%3A2026-01-29..2026-04-08&amp;type=Issues">activity</a>)
| <a
href="https://github.com/SylvainCorlay"><code>@​SylvainCorlay</code></a>
(<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3ASylvainCorlay+updated%3A2026-01-29..2026-04-08&amp;type=Issues">activity</a>)
| <a href="https://github.com/takluyver"><code>@​takluyver</code></a>
(<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Atakluyver+updated%3A2026-01-29..2026-04-08&amp;type=Issues">activity</a>)
| <a href="https://github.com/timkpaine"><code>@​timkpaine</code></a>
(<a
href="https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Atimkpaine+updated%3A2026-01-29..2026-04-08&amp;type=Issues">activity</a>)</p>
<!-- raw HTML omitted -->
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/jupyter/nbconvert/commit/78ed30837a607deab7cf0a12dca072bf3f63417a"><code>78ed308</code></a>
Publish 7.17.1</li>
<li><a
href="https://github.com/jupyter/nbconvert/commit/f090a64606fde4c7f87cbf478f51b4aa46a425ec"><code>f090a64</code></a>
ruff format</li>
<li><a
href="https://github.com/jupyter/nbconvert/commit/b3b6ec01f872e9af8fd1769eb9cf1889c720ecf3"><code>b3b6ec0</code></a>
chore: update pre-commit hooks (<a
href="https://redirect.github.com/jupyter/nbconvert/issues/2277">#2277</a>)</li>
<li><a
href="https://github.com/jupyter/nbconvert/commit/be4841f7da51c499b1937e41e6e71926dbe0daa3"><code>be4841f</code></a>
ignore silly security lint in tests</li>
<li><a
href="https://github.com/jupyter/nbconvert/commit/26d57b295870f5572d9bd0535acee4a120339c10"><code>26d57b2</code></a>
fix type annotation on Lexer</li>
<li><a
href="https://github.com/jupyter/nbconvert/commit/0e6b8ccabf2aca6c18fac8c574f22b7155f441fb"><code>0e6b8cc</code></a>
Merge commit from fork</li>
<li><a
href="https://github.com/jupyter/nbconvert/commit/ba5e5cdd737704388251fa55fa9e58f5752fa39d"><code>ba5e5cd</code></a>
Merge commit from fork</li>
<li><a
href="https://github.com/jupyter/nbconvert/commit/1db0c88d865146ce02b6405a8d96753d3d0cd0c2"><code>1db0c88</code></a>
Specify python version for pre (<a
href="https://redirect.github.com/jupyter/nbconvert/issues/2276">#2276</a>)</li>
<li><a
href="https://github.com/jupyter/nbconvert/commit/7473fc3037a6317bff54380e3a7162d73bf089b3"><code>7473fc3</code></a>
chore: update pre-commit hooks (<a
href="https://redirect.github.com/jupyter/nbconvert/issues/2242">#2242</a>)</li>
<li><a
href="https://github.com/jupyter/nbconvert/commit/4322f7f290694929f414cefadc942111afad3762"><code>4322f7f</code></a>
Bump the actions group across 1 directory with 2 updates (<a
href="https://redirect.github.com/jupyter/nbconvert/issues/2273">#2273</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/jupyter/nbconvert/compare/v7.17.0...v7.17.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=nbconvert&package-manager=uv&previous-version=7.17.0&new-version=7.17.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/microsoft/semantic-kernel/network/alerts).

</details>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-30 08:18:31 +00:00
5dad51381a Python: Bump onnxruntime from 1.22.1 to 1.24.3 in /python (#13868)
Bumps [onnxruntime](https://github.com/microsoft/onnxruntime) from
1.22.1 to 1.24.3.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/microsoft/onnxruntime/releases">onnxruntime's
releases</a>.</em></p>
<blockquote>
<h2>ONNX Runtime v1.24.3</h2>
<p>This is a patch release for ONNX Runtime 1.24, containing bug fixes,
security improvements, performance enhancements, and execution provider
updates.</p>
<h2>Security Fixes</h2>
<ul>
<li><strong>Core</strong>: Fixed GatherCopyData integer truncation
leading to heap out-of-bounds read/write. (<a
href="https://redirect.github.com/microsoft/onnxruntime/pull/27444">#27444</a>)</li>
<li><strong>Core</strong>: Fixed RoiAlign heap out-of-bounds read via
unchecked batch_indices. (<a
href="https://redirect.github.com/microsoft/onnxruntime/pull/27543">#27543</a>)</li>
<li><strong>Core</strong>: Prevent heap OOB from maliciously crafted
Lora Adapters. (<a
href="https://redirect.github.com/microsoft/onnxruntime/pull/27518">#27518</a>)</li>
<li><strong>Core</strong>: Fixed out-of-bounds access for Resize
operation. (<a
href="https://redirect.github.com/microsoft/onnxruntime/pull/27419">#27419</a>)</li>
</ul>
<h2>Bug Fixes</h2>
<ul>
<li><strong>Core</strong>: Fixed GatherND division by zero when batch
dimensions mismatch. (<a
href="https://redirect.github.com/microsoft/onnxruntime/pull/27090">#27090</a>)</li>
<li><strong>Core</strong>: Fixed validation for external data paths for
models loaded from bytes. (<a
href="https://redirect.github.com/microsoft/onnxruntime/pull/27430">#27430</a>)</li>
<li><strong>Core</strong>: Fixed SkipLayerNorm fusion incorrectly
applied when gamma/beta are not 1D. (<a
href="https://redirect.github.com/microsoft/onnxruntime/pull/27459">#27459</a>)</li>
<li><strong>Core</strong>: Fixed double-free in TRT EP custom op domain
Release functions. (<a
href="https://redirect.github.com/microsoft/onnxruntime/pull/27471">#27471</a>)</li>
<li><strong>Core</strong>: Fixed QMoE CPU Operator. (<a
href="https://redirect.github.com/microsoft/onnxruntime/pull/27360">#27360</a>)</li>
<li><strong>Core</strong>: Fixed MatmulNBits prepacking scales. (<a
href="https://redirect.github.com/microsoft/onnxruntime/pull/27412">#27412</a>)</li>
<li><strong>Python</strong>: Fixed refcount bug in map input conversion
that caused shutdown segfault. (<a
href="https://redirect.github.com/microsoft/onnxruntime/pull/27413">#27413</a>)</li>
<li><strong>NuGet</strong>: Fixed DllImportResolver. (<a
href="https://redirect.github.com/microsoft/onnxruntime/pull/27397">#27397</a>)</li>
<li><strong>NuGet</strong>: Added
<code>OrtEnv.DisableDllImportResolver</code> to prevent fatal error on
resolver conflict. (<a
href="https://redirect.github.com/microsoft/onnxruntime/pull/27535">#27535</a>)</li>
</ul>
<h2>Performance Improvements</h2>
<ul>
<li><strong>Core</strong>: QMoE CPU performance update (up to 4x on
4-bit). (<a
href="https://redirect.github.com/microsoft/onnxruntime/pull/27364">#27364</a>)</li>
<li><strong>Core</strong>: Fixed O(n²) model load time for TreeEnsemble
with categorical feature chains. (<a
href="https://redirect.github.com/microsoft/onnxruntime/pull/27391">#27391</a>)</li>
</ul>
<h2>Execution Provider Updates</h2>
<ul>
<li><strong>NvTensorRtRtx EP</strong>:
<ul>
<li>Avoid repetitive creation of fp4/fp8 native-custom-op domains. (<a
href="https://redirect.github.com/microsoft/onnxruntime/pull/27192">#27192</a>)</li>
<li>Added missing override specifiers to suppress warnings. (<a
href="https://redirect.github.com/microsoft/onnxruntime/pull/27288">#27288</a>)</li>
<li>DQ→MatMulNBits fusion transformer. (<a
href="https://redirect.github.com/microsoft/onnxruntime/pull/27466">#27466</a>)</li>
</ul>
</li>
<li><strong>WebGPU</strong>:
<ul>
<li>Used embedded WASM module in Blob URL workers when
<code>wasmBinary</code> is provided. (<a
href="https://redirect.github.com/microsoft/onnxruntime/pull/27318">#27318</a>)</li>
<li>Fixed usage of <code>wasmBinary</code> together with a blob URL for
<code>.mjs</code>. (<a
href="https://redirect.github.com/microsoft/onnxruntime/pull/27411">#27411</a>)</li>
<li>Removed the unhelpful &quot;Unknown CPU vendor&quot; warning. (<a
href="https://redirect.github.com/microsoft/onnxruntime/pull/27399">#27399</a>)</li>
<li>Allows new memory info name for WebGPU. (<a
href="https://redirect.github.com/microsoft/onnxruntime/pull/27475">#27475</a>)</li>
</ul>
</li>
<li><strong>MLAS</strong>:
<ul>
<li>Added DynamicQGemm function pointers and ukernel interface. (<a
href="https://redirect.github.com/microsoft/onnxruntime/pull/27403">#27403</a>)</li>
<li>Fixed error where bytes is not assigned for dynamic qgemm pack b
size. (<a
href="https://redirect.github.com/microsoft/onnxruntime/pull/27421">#27421</a>)</li>
</ul>
</li>
<li><strong>VitisAI EP</strong>: Removed
<code>s_kernel_registry_vitisaiep.reset()</code> in
<code>deinitialize_vitisai_ep()</code>. (<a
href="https://redirect.github.com/microsoft/onnxruntime/pull/27295">#27295</a>)</li>
<li><strong>Plugin EPs</strong>: Added &quot;library_path&quot; metadata
entry to <code>OrtEpDevice</code> instances for plugin and provider
bridge EPs. (<a
href="https://redirect.github.com/microsoft/onnxruntime/pull/27522">#27522</a>)</li>
</ul>
<h2>Build and Infrastructure</h2>
<ul>
<li><strong>Pipelines</strong>:
<ul>
<li>Build Windows ARM64X binaries as part of packaging pipeline. (<a
href="https://redirect.github.com/microsoft/onnxruntime/pull/27316">#27316</a>)</li>
<li>Moved JAR testing pipelines to canonical pipeline template. (<a
href="https://redirect.github.com/microsoft/onnxruntime/pull/27480">#27480</a>)</li>
</ul>
</li>
<li><strong>Python</strong>: Enabled Python 3.14 CI and upgraded
dependencies. (<a
href="https://redirect.github.com/microsoft/onnxruntime/pull/27401">#27401</a>)</li>
<li><strong>Build</strong>: Suppressed spurious Array Out of Bounds
warnings produced by GCC 14.2 compiler on Linux builds. (<a
href="https://redirect.github.com/microsoft/onnxruntime/pull/27454">#27454</a>)</li>
<li><strong>Build</strong>: Fixed <code>-Warray-bounds</code> build
error in MLAS on clang 17+. (<a
href="https://redirect.github.com/microsoft/onnxruntime/pull/27499">#27499</a>)</li>
<li><strong>Telemetry</strong>: Added/Updated telemetry events. (<a
href="https://redirect.github.com/microsoft/onnxruntime/pull/27356">#27356</a>)</li>
<li><strong>Config</strong>: Increased <code>kMaxValueLength</code> to
8192. (<a
href="https://redirect.github.com/microsoft/onnxruntime/pull/27521">#27521</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/microsoft/onnxruntime/commit/3a728b75062256951b6e19ce718907cf1a1d4cf0"><code>3a728b7</code></a>
ORT 1.24.3 release cherry pick round 4 (<a
href="https://redirect.github.com/microsoft/onnxruntime/issues/27558">#27558</a>)</li>
<li><a
href="https://github.com/microsoft/onnxruntime/commit/dd6a8546ab88c47db73f139854eb25130ef27c9e"><code>dd6a854</code></a>
ORT 1.24.3 release cherry pick round 3 (<a
href="https://redirect.github.com/microsoft/onnxruntime/issues/27501">#27501</a>)</li>
<li><a
href="https://github.com/microsoft/onnxruntime/commit/15c006bd76d7af722fd71921611583d8834e9338"><code>15c006b</code></a>
ORT 1.24.3 release cherry pick round 2 (<a
href="https://redirect.github.com/microsoft/onnxruntime/issues/27492">#27492</a>)</li>
<li><a
href="https://github.com/microsoft/onnxruntime/commit/ee26608ab699fd98c71df4ddff58720fe7ec54db"><code>ee26608</code></a>
ORT 1.24.3 release cherry pick round 1 (<a
href="https://redirect.github.com/microsoft/onnxruntime/issues/27476">#27476</a>)</li>
<li><a
href="https://github.com/microsoft/onnxruntime/commit/058787ceead760166e3c50a0a4cba8a833a6f53f"><code>058787c</code></a>
ORT 1.24.2 Release cherry pick round 4 (<a
href="https://redirect.github.com/microsoft/onnxruntime/issues/27388">#27388</a>)</li>
<li><a
href="https://github.com/microsoft/onnxruntime/commit/6fc7ee38cdc5755a7e4ab6cdc26c5f73a2d94dd7"><code>6fc7ee3</code></a>
ORT 1.24.2 release cherry pick round 3 (<a
href="https://redirect.github.com/microsoft/onnxruntime/issues/27378">#27378</a>)</li>
<li><a
href="https://github.com/microsoft/onnxruntime/commit/98711820882dc178e995ec24f4587350dbf16360"><code>9871182</code></a>
ORT 1.24.2 release cherry-pick round 2 (<a
href="https://redirect.github.com/microsoft/onnxruntime/issues/27343">#27343</a>)</li>
<li><a
href="https://github.com/microsoft/onnxruntime/commit/f34d11d3e99abb3b1c2236f33e0e1aa30160b922"><code>f34d11d</code></a>
ORT 1.24.2 release cherry pick round 1 (<a
href="https://redirect.github.com/microsoft/onnxruntime/issues/27330">#27330</a>)</li>
<li><a
href="https://github.com/microsoft/onnxruntime/commit/8ba51c754c3c853e420a38051f76c5d97e78ff89"><code>8ba51c7</code></a>
update version to 1.24.2</li>
<li><a
href="https://github.com/microsoft/onnxruntime/commit/470ae16099a74fe05e31f2530489332c0525edb5"><code>470ae16</code></a>
Patch pools to use older agent version on ARM64 (<a
href="https://redirect.github.com/microsoft/onnxruntime/issues/27232">#27232</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/microsoft/onnxruntime/compare/v1.22.1...v1.24.3">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=onnxruntime&package-manager=pip&previous-version=1.22.1&new-version=1.24.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: copilot-swe-agent[bot] <[email protected]>
Co-authored-by: moonbox3 <[email protected]>
2026-04-30 08:18:23 +00:00
dependabot[bot] 790add7a33 Python: Bump authlib from 1.6.9 to 1.6.11 in /python (#13880)
Bumps [authlib](https://github.com/authlib/authlib) from 1.6.9 to
1.6.11.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/authlib/authlib/releases">authlib's
releases</a>.</em></p>
<blockquote>
<h2>v1.6.11</h2>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/authlib/authlib/compare/v1.6.10...v1.6.11">https://github.com/authlib/authlib/compare/v1.6.10...v1.6.11</a></p>
<ul>
<li>Fix CSRF issue with starlette client</li>
</ul>
<h2>v1.6.10</h2>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/authlib/authlib/compare/v1.6.9...v1.6.10">https://github.com/authlib/authlib/compare/v1.6.9...v1.6.10</a></p>
<ul>
<li>Fix redirecting to unvalidated <code>redirect_uri</code> on
<code>UnsupportedResponseTypeError</code>.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/authlib/authlib/blob/v1.6.11/docs/changelog.rst">authlib's
changelog</a>.</em></p>
<blockquote>
<h2>Version 1.6.11</h2>
<p><strong>Released on Apr 16, 2026</strong></p>
<ul>
<li>Fix CSRF vulnerability in the Starlette OAuth client when a
<code>cache</code> is
configured.</li>
</ul>
<h2>Version 1.6.10</h2>
<p><strong>Released on Apr 13, 2026</strong></p>
<ul>
<li>Fix redirecting to unvalidated <code>redirect_uri</code> on
<code>UnsupportedResponseTypeError</code>.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/authlib/authlib/commit/0dc0e5b4dc84f155319518a3732113af6fa47525"><code>0dc0e5b</code></a>
chore: bump to 1.6.11</li>
<li><a
href="https://github.com/authlib/authlib/commit/aa7b8e46e00d0622658666476782042ac00153a5"><code>aa7b8e4</code></a>
Merge commit from fork</li>
<li><a
href="https://github.com/authlib/authlib/commit/401a7709c3fe43bce1b2105d16a475b688faa788"><code>401a770</code></a>
fix: CSRF issue with starlette client</li>
<li><a
href="https://github.com/authlib/authlib/commit/ef09aebbba4439dedb22bd15777d1b3458b6f0ab"><code>ef09aeb</code></a>
chore: release 1.6.10</li>
<li><a
href="https://github.com/authlib/authlib/commit/3be08468201a7766a93012ce149ea12822cab096"><code>3be0846</code></a>
fix: redirecting to unvalidated redirect_uri on
UnsupportedResponseTypeError</li>
<li>See full diff in <a
href="https://github.com/authlib/authlib/compare/v1.6.9...v1.6.11">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=authlib&package-manager=uv&previous-version=1.6.9&new-version=1.6.11)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/microsoft/semantic-kernel/network/alerts).

</details>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-30 08:16:18 +00:00
Evan Mattson ea9981ffaf Python: Docs: Add Microsoft Agent Framework successor callout to READMEs (#13932)
## Motivation and Context

Now that **Microsoft Agent Framework (MAF)** is the successor SDK to
Semantic Kernel, the top-level and per-language READMEs should direct
community members — especially newcomers landing here from search,
GitHub, PyPI, or NuGet — to MAF for new work, and clearly state SK's
ongoing maintenance posture.

## Description

Adds a prominent GitHub `> [!IMPORTANT]` callout, placed directly under
the existing title/badges block, to:

- `README.md` (top-level)
- `python/README.md`
- `dotnet/README.md`

Each callout:

- Names MAF as Semantic Kernel's successor SDK and links to
https://github.com/microsoft/agent-framework.
- Describes MAF as "an open, multi-language framework for building
production-grade AI agents and multi-agent workflows in .NET and
Python".
- Asks readers to use MAF for the latest abstractions to build agents,
workflows, and multi-agent orchestrations.
- States that Semantic Kernel will continue to receive minimal security
and bug fixes only.

No other README content is modified; SK identity, badges, install steps,
and quickstart samples are preserved.

## Contribution Checklist

- [x] The code builds clean without any errors or warnings — docs-only
change.
- [x] I didn't break anyone — additive callout only.
- [x] All relevant CONTRIBUTING.md sections were followed.
2026-04-30 15:18:01 +09:00
westey 27971e118b .Net: Sk release version 2026 04 27 (#13929)
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [ ] The code builds clean without any errors or warnings
- [ ] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [ ] All unit tests pass, and I have added new tests where possible
- [ ] I didn't break anyone 😄
dotnet-1.75.0
2026-04-29 11:14:15 +00:00
westey c8e3cd0d74 .Net: Upgrade dependencies (#13927)
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [ ] The code builds clean without any errors or warnings
- [ ] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [ ] All unit tests pass, and I have added new tests where possible
- [ ] I didn't break anyone 😄
2026-04-28 15:38:22 +00:00
Evan Mattson 9c62d9d19a Python: Bump package version to 1.41.3 for a release (#13926)
### Motivation and Context

Bump package version to 1.41.3 for a release

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

### Description

Bump package version to 1.41.3 for a release

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [ ] The code builds clean without any errors or warnings
- [ ] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [ ] All unit tests pass, and I have added new tests where possible
- [ ] I didn't break anyone 😄
python-1.41.3
2026-04-28 12:18:17 +09:00
SergeyMenshykhandCopilot 95b1bf85d8 .Net: Harden AllowedBaseUrls validation in RestApiOperationRunner (#13910)
### Motivation and Context

Improved the URL validation logic in
`RestApiOperationRunner.ValidateUrl()` to ensure stricter matching when
checking request URLs against configured `AllowedBaseUrls`. The previous
implementation could match unintended URLs in certain edge cases
involving path-prefixed base URLs.

### Description

Strengthened the base URL comparison to enforce proper path-boundary
matching, preventing URLs outside the intended allowed scope from
passing validation.

### Changes

- **`RestApiOperationRunner.cs`**: Tightened the base URL matching logic
in `ValidateUrl` to enforce path-boundary alignment.
- **`RestApiOperationRunnerTests.cs`**: Added two new tests to verify
the stricter validation behavior and confirm legitimate sub-paths remain
allowed.

### Risk

Low — the fix tightens existing validation without changing the public
API surface. All URL validation tests pass.

Co-authored-by: Copilot <[email protected]>
2026-04-23 08:20:41 +00:00
Evan Mattson 79ef93b9cf Python: Extend InMemoryCollection filter attribute blocklist (#13897)
## Summary
- Minor defense-in-depth hardening for `InMemoryCollection` filter
parsing.
- Extends the internal dunder attribute blocklist and adds a regression
test covering the blocked set.

## Test plan
- [x] `uv run pytest tests/unit/connectors/memory/test_in_memory.py`
2026-04-22 23:42:01 +00:00
westey 57d9adce81 Python: Add field and table name escaping for python SqlServer connector (#13893)
### Motivation and Context

### Description

- Add field and table name escaping for python SqlServer connector

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [ ] The code builds clean without any errors or warnings
- [ ] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [ ] All unit tests pass, and I have added new tests where possible
- [ ] I didn't break anyone 😄
2026-04-22 21:20:10 +00:00
westey 84ab8221c7 .Net: Validate step types (#13901)
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [ ] The code builds clean without any errors or warnings
- [ ] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [ ] All unit tests pass, and I have added new tests where possible
- [ ] I didn't break anyone 😄
2026-04-21 14:59:00 +00:00
westey ba37e8e49b .Net: Add backslash escaping to redis text search values (#13902)
### Motivation and Context

### Description

- Add backslash escaping to redis text search values

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [ ] The code builds clean without any errors or warnings
- [ ] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [ ] All unit tests pass, and I have added new tests where possible
- [ ] I didn't break anyone 😄
2026-04-21 14:17:31 +00:00
Shay RojanskyandCopilot bf1b19c84c .Net: Fix single-quote escaping in OBJECT_ID and dynamic SQL string literals (#13900)
In the SQL Server MEVD provider, table/schema/column names embedded
inside SQL string literals (`N'...'`) were not escaping single quotes.
This could produce broken SQL when names contain single quotes.

For example, a table named `it's` would generate:
```sql
IF OBJECT_ID(N'[dbo].[it's]', N'U') IS NULL
```
which is invalid SQL. The fix produces:
```sql
IF OBJECT_ID(N'[dbo].[it''s]', N'U') IS NULL
```

### Changes

Added `AppendTableNameInsideLiteral` and `AppendIdentifierInsideLiteral`
helper methods that escape single quotes by doubling them, and updated
the 5 call sites where identifiers appear inside string literals:

- `OBJECT_ID` in `CreateTable` (ifNotExists check)
- `OBJECT_ID` in full-text index PK lookup
- Dynamic SQL table name, column names, and catalog name for full-text
indexes

### Tests

Added unit tests for `AppendTableNameInsideLiteral`,
`AppendIdentifierInsideLiteral`, and a
`CreateTable_WithSingleQuoteInName` integration test. All 283 tests pass
(unit + conformance).

Co-authored-by: Copilot <[email protected]>
2026-04-21 12:28:39 +00:00
Shay Rojansky 1b2f318a61 .Net: Remove MEVD components from SK-release.slnf (#13892)
With the ongoing move of MEVD components out of the SK repo, this
disables publishing them.
2026-04-20 11:59:42 +00:00
Shay RojanskyandCopilot 7e216a0f5c .Net: Update SQL Server vector search to latest VECTOR_SEARCH() syntax (#13863)
Updates the SQL Server vector store connector to support the latest
Azure SQL VECTOR_SEARCH() features, matching what was done in EF Core
(dotnet/efcore#38075).

## Changes

### VECTOR_SEARCH syntax update
- Replace deprecated `TOP_N` parameter with `SELECT TOP(N) WITH
APPROXIMATE`
- Enable iterative WHERE predicates are now applied during the vector
search process, not after retrievalfiltering
- Support `skip` via subquery wrapping (`TOP` and `OFFSET/FETCH` cannot
coexist in the same SELECT)

### Hybrid search
- Same VECTOR_SEARCH syntax changes in the semantic search CTE
- Filter support added in the vector search CTE (iterative filtering)

### Azure SQL runtime detection
- DiskAnn vector indexes and VECTOR_SEARCH require Azure SQL Database or
SQL database in Microsoft Fabric
- Added runtime check via `SERVERPROPERTY('EngineEdition')` at table
creation and query time
- Throws informative `NotSupportedException` when used against on-prem
SQL Server
- Result is cached per collection instance

### Test infrastructure
- Deleted `SqlServerDiskAnnVectorSearchTests.cs` (read-only table
workaround no longer tables with latest vector indexes now support full
DML)needed
- Created `SqlServerConnectionStringRequiredAttribute` to gate DiskAnn
tests on Azure SQL connection string availability
- Rewrote DiskAnn conformance test to handle 100-row minimum requirement
for vector index creation
- Updated all command builder unit tests for new SQL syntax

### Kept
- `PREVIEW_FEATURES` command in `CreateTable` (needed for future on-prem
SQL Server support)

---------

Co-authored-by: Copilot <[email protected]>
2026-04-16 07:15:46 +00:00
Evan Mattson 20c91a38d1 Python: bump py version to 1.41.2 for a release (#13850)
### Motivation and Context

bump py version to 1.41.2 for a release

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

### Description

bump py version to 1.41.2 for a release

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [X] The code builds clean without any errors or warnings
- [X] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [X] All unit tests pass, and I have added new tests where possible
- [X] I didn't break anyone 😄
python-1.41.2
2026-04-08 14:57:36 +09:00
dependabot[bot] 12f14bd911 Python: Update ipykernel requirement from ~=6.29 to >=6.29,<8.0 in /python (#13330)
Updates the requirements on
[ipykernel](https://github.com/ipython/ipykernel) to permit the latest
version.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/ipython/ipykernel/releases">ipykernel's
releases</a>.</em></p>
<blockquote>
<h2>v7.1.0</h2>
<h2>7.1.0</h2>
<p>IPykernel 7.1.0 fixes an issue where display outputs such as
Matplotlib plots were not included when using <code>%notebook</code>
magic to save sessions as <code>.ipynb</code> files (<a
href="https://redirect.github.com/ipython/ipykernel/issues/1435">#1435</a>).
This is enabled using the traitlet
<code>ZMQDisplayPublisher.store_display_history</code> which defaults to
the previous behaviour of False. This is a minor release rather than a
patch release due to the addition of the new traitlet.</p>
<p>Output from threads is restored to the pre-6.29 behavior by default
(route to latest cell, unless <code>get_ipython().set_parent()</code> is
called explicitly from the thread. If it is called, output from that
thread will continue to be routed to the same cell). This behavior is
now opt-in, instead of unconditional (<a
href="https://redirect.github.com/ipython/ipykernel/issues/1451">#1451</a>).</p>
<p>This release also fixes bugs that were introduced into the 7.x branch
relating to Matplotlib plots in separate windows not being displayed
correctly (<a
href="https://redirect.github.com/ipython/ipykernel/issues/1458">#1458</a>),
kernels launched in new threads failing asserts (<a
href="https://redirect.github.com/ipython/ipykernel/issues/1455">#1455</a>),
and <code>ContextVar</code>s persisting between cells (<a
href="https://redirect.github.com/ipython/ipykernel/issues/1462">#1462</a>).
There is also a fix for keyboard interrupts on Windows (<a
href="https://redirect.github.com/ipython/ipykernel/issues/1434">#1434</a>).</p>
<p>(<a
href="https://github.com/ipython/ipykernel/compare/v7.0.1...6f61a6835c217e42c406ee01b359e2fa235baf43">Full
Changelog</a>)</p>
<h3>Enhancements made</h3>
<ul>
<li>Store display outputs in history for <code>%notebook</code> magic <a
href="https://redirect.github.com/ipython/ipykernel/pull/1435">#1435</a>
(<a
href="https://github.com/Darshan808"><code>@​Darshan808</code></a>)</li>
</ul>
<h3>Bugs fixed</h3>
<ul>
<li>fix ContextVar persistence across cells <a
href="https://redirect.github.com/ipython/ipykernel/pull/1462">#1462</a>
(<a href="https://github.com/minrk"><code>@​minrk</code></a>)</li>
<li>Fix matplotlib eventloops <a
href="https://redirect.github.com/ipython/ipykernel/pull/1458">#1458</a>
(<a
href="https://github.com/ianthomas23"><code>@​ianthomas23</code></a>)</li>
<li>Refer to kernel launching thread instead of assuming the main thread
<a
href="https://redirect.github.com/ipython/ipykernel/pull/1455">#1455</a>
(<a href="https://github.com/dfalbel"><code>@​dfalbel</code></a>)</li>
<li>Fix routing of background thread output when no parent is set
explicitly <a
href="https://redirect.github.com/ipython/ipykernel/pull/1451">#1451</a>
(<a href="https://github.com/minrk"><code>@​minrk</code></a>)</li>
<li>Fix KeyboardInterrupt on Windows by manually resetting interrupt
event <a
href="https://redirect.github.com/ipython/ipykernel/pull/1434">#1434</a>
(<a href="https://github.com/ptosco"><code>@​ptosco</code></a>)</li>
</ul>
<h3>Maintenance and upkeep improvements</h3>
<ul>
<li>update pre-commit and related <a
href="https://redirect.github.com/ipython/ipykernel/pull/1465">#1465</a>
(<a href="https://github.com/Carreau"><code>@​Carreau</code></a>)</li>
<li>test that matplotlib event loop integration is responsive <a
href="https://redirect.github.com/ipython/ipykernel/pull/1463">#1463</a>
(<a href="https://github.com/minrk"><code>@​minrk</code></a>)</li>
<li>update tests for 3.14 <a
href="https://redirect.github.com/ipython/ipykernel/pull/1453">#1453</a>
(<a href="https://github.com/minrk"><code>@​minrk</code></a>)</li>
</ul>
<h3>Contributors to this release</h3>
<p>(<a
href="https://github.com/ipython/ipykernel/graphs/contributors?from=2025-10-14&amp;to=2025-10-27&amp;type=c">GitHub
contributors page for this release</a>)</p>
<p><a
href="https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3ACarreau+updated%3A2025-10-14..2025-10-27&amp;type=Issues"><code>@​Carreau</code></a>
| <a
href="https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3ADarshan808+updated%3A2025-10-14..2025-10-27&amp;type=Issues"><code>@​Darshan808</code></a>
| <a
href="https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Adfalbel+updated%3A2025-10-14..2025-10-27&amp;type=Issues"><code>@​dfalbel</code></a>
| <a
href="https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Aianthomas23+updated%3A2025-10-14..2025-10-27&amp;type=Issues"><code>@​ianthomas23</code></a>
| <a
href="https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Akrassowski+updated%3A2025-10-14..2025-10-27&amp;type=Issues"><code>@​krassowski</code></a>
| <a
href="https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Alumberbot-app+updated%3A2025-10-14..2025-10-27&amp;type=Issues"><code>@​lumberbot-app</code></a>
| <a
href="https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Aminrk+updated%3A2025-10-14..2025-10-27&amp;type=Issues"><code>@​minrk</code></a>
| <a
href="https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Aptosco+updated%3A2025-10-14..2025-10-27&amp;type=Issues"><code>@​ptosco</code></a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/ipython/ipykernel/blob/main/CHANGELOG.md">ipykernel's
changelog</a>.</em></p>
<blockquote>
<h2>7.1.0</h2>
<p>IPykernel 7.1.0 fixes an issue where display outputs such as
Matplotlib plots were not included when using <code>%notebook</code>
magic to save sessions as <code>.ipynb</code> files (<a
href="https://redirect.github.com/ipython/ipykernel/issues/1435">#1435</a>).
This is enabled using the traitlet
<code>ZMQDisplayPublisher.store_display_history</code> which defaults to
the previous behaviour of False. This is a minor release rather than a
patch release due to the addition of the new traitlet.</p>
<p>Output from threads is restored to the pre-6.29 behavior by default
(route to latest cell, unless <code>get_ipython().set_parent()</code> is
called explicitly from the thread. If it is called, output from that
thread will continue to be routed to the same cell). This behavior is
now opt-in, instead of unconditional (<a
href="https://redirect.github.com/ipython/ipykernel/issues/1451">#1451</a>).</p>
<p>This release also fixes bugs that were introduced into the 7.x branch
relating to Matplotlib plots in separate windows not being displayed
correctly (<a
href="https://redirect.github.com/ipython/ipykernel/issues/1458">#1458</a>),
kernels launched in new threads failing asserts (<a
href="https://redirect.github.com/ipython/ipykernel/issues/1455">#1455</a>),
and <code>ContextVar</code>s persisting between cells (<a
href="https://redirect.github.com/ipython/ipykernel/issues/1462">#1462</a>).
There is also a fix for keyboard interrupts on Windows (<a
href="https://redirect.github.com/ipython/ipykernel/issues/1434">#1434</a>).</p>
<p>(<a
href="https://github.com/ipython/ipykernel/compare/v7.0.1...6f61a6835c217e42c406ee01b359e2fa235baf43">Full
Changelog</a>)</p>
<h3>Enhancements made</h3>
<ul>
<li>Store display outputs in history for <code>%notebook</code> magic <a
href="https://redirect.github.com/ipython/ipykernel/pull/1435">#1435</a>
(<a
href="https://github.com/Darshan808"><code>@​Darshan808</code></a>)</li>
</ul>
<h3>Bugs fixed</h3>
<ul>
<li>fix ContextVar persistence across cells <a
href="https://redirect.github.com/ipython/ipykernel/pull/1462">#1462</a>
(<a href="https://github.com/minrk"><code>@​minrk</code></a>)</li>
<li>Fix matplotlib eventloops <a
href="https://redirect.github.com/ipython/ipykernel/pull/1458">#1458</a>
(<a
href="https://github.com/ianthomas23"><code>@​ianthomas23</code></a>)</li>
<li>Refer to kernel launching thread instead of assuming the main thread
<a
href="https://redirect.github.com/ipython/ipykernel/pull/1455">#1455</a>
(<a href="https://github.com/dfalbel"><code>@​dfalbel</code></a>)</li>
<li>Fix routing of background thread output when no parent is set
explicitly <a
href="https://redirect.github.com/ipython/ipykernel/pull/1451">#1451</a>
(<a href="https://github.com/minrk"><code>@​minrk</code></a>)</li>
<li>Fix KeyboardInterrupt on Windows by manually resetting interrupt
event <a
href="https://redirect.github.com/ipython/ipykernel/pull/1434">#1434</a>
(<a href="https://github.com/ptosco"><code>@​ptosco</code></a>)</li>
</ul>
<h3>Maintenance and upkeep improvements</h3>
<ul>
<li>update pre-commit and related <a
href="https://redirect.github.com/ipython/ipykernel/pull/1465">#1465</a>
(<a href="https://github.com/Carreau"><code>@​Carreau</code></a>)</li>
<li>test that matplotlib event loop integration is responsive <a
href="https://redirect.github.com/ipython/ipykernel/pull/1463">#1463</a>
(<a href="https://github.com/minrk"><code>@​minrk</code></a>)</li>
<li>update tests for 3.14 <a
href="https://redirect.github.com/ipython/ipykernel/pull/1453">#1453</a>
(<a href="https://github.com/minrk"><code>@​minrk</code></a>)</li>
</ul>
<h3>Contributors to this release</h3>
<p>(<a
href="https://github.com/ipython/ipykernel/graphs/contributors?from=2025-10-14&amp;to=2025-10-27&amp;type=c">GitHub
contributors page for this release</a>)</p>
<p><a
href="https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3ACarreau+updated%3A2025-10-14..2025-10-27&amp;type=Issues"><code>@​Carreau</code></a>
| <a
href="https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3ADarshan808+updated%3A2025-10-14..2025-10-27&amp;type=Issues"><code>@​Darshan808</code></a>
| <a
href="https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Adfalbel+updated%3A2025-10-14..2025-10-27&amp;type=Issues"><code>@​dfalbel</code></a>
| <a
href="https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Aianthomas23+updated%3A2025-10-14..2025-10-27&amp;type=Issues"><code>@​ianthomas23</code></a>
| <a
href="https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Akrassowski+updated%3A2025-10-14..2025-10-27&amp;type=Issues"><code>@​krassowski</code></a>
| <a
href="https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Alumberbot-app+updated%3A2025-10-14..2025-10-27&amp;type=Issues"><code>@​lumberbot-app</code></a>
| <a
href="https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Aminrk+updated%3A2025-10-14..2025-10-27&amp;type=Issues"><code>@​minrk</code></a>
| <a
href="https://github.com/search?q=repo%3Aipython%2Fipykernel+involves%3Aptosco+updated%3A2025-10-14..2025-10-27&amp;type=Issues"><code>@​ptosco</code></a></p>
<!-- raw HTML omitted -->
<h2>7.0.1</h2>
<p>IPykernel 7.0.1 is a bug fix release to support CPython 3.14.</p>
<p>(<a
href="https://github.com/ipython/ipykernel/compare/v7.0.0...6d9a14a21a8e328e384ebac48e4ccbaad85b1d45">Full
Changelog</a>)</p>
<h3>Bugs fixed</h3>
<ul>
<li>Avoid overriding Thread._context in Python 3.14 <a
href="https://redirect.github.com/ipython/ipykernel/pull/1447">#1447</a>
(<a
href="https://github.com/ianthomas23"><code>@​ianthomas23</code></a>)</li>
</ul>
<h3>Maintenance and upkeep improvements</h3>
<ul>
<li>Fix 7.x license warnings <a
href="https://redirect.github.com/ipython/ipykernel/pull/1448">#1448</a>
(<a href="https://github.com/bollwyvl"><code>@​bollwyvl</code></a>)</li>
<li>ci: Test on PyPy 3.11 instead of 3.10 <a
href="https://redirect.github.com/ipython/ipykernel/pull/1444">#1444</a>
(<a href="https://github.com/cclauss"><code>@​cclauss</code></a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/ipython/ipykernel/commit/39eaf96ab6db0d0ff9ad269831384c53a11e11d8"><code>39eaf96</code></a>
Publish 7.1.0</li>
<li><a
href="https://github.com/ipython/ipykernel/commit/6f61a6835c217e42c406ee01b359e2fa235baf43"><code>6f61a68</code></a>
test that matplotlib event loop integration is responsive (<a
href="https://redirect.github.com/ipython/ipykernel/issues/1463">#1463</a>)</li>
<li><a
href="https://github.com/ipython/ipykernel/commit/8446e02948c390793e129affeceedfa30ed5080f"><code>8446e02</code></a>
Fix KeyboardInterrupt on Windows by manually resetting interrupt event
(<a
href="https://redirect.github.com/ipython/ipykernel/issues/1434">#1434</a>)</li>
<li><a
href="https://github.com/ipython/ipykernel/commit/dd1e09484854c8dedcd98436bc01b6b8e1cc9034"><code>dd1e094</code></a>
update pre-commit and related (<a
href="https://redirect.github.com/ipython/ipykernel/issues/1465">#1465</a>)</li>
<li><a
href="https://github.com/ipython/ipykernel/commit/95f245138589db4f723b8af06107cdfeadc53314"><code>95f2451</code></a>
fix ContextVar persistence across cells (<a
href="https://redirect.github.com/ipython/ipykernel/issues/1462">#1462</a>)</li>
<li><a
href="https://github.com/ipython/ipykernel/commit/c56a7aab3cad1fb91f7e7185dc7403d561ecd667"><code>c56a7aa</code></a>
Fix matplotlib eventloops (<a
href="https://redirect.github.com/ipython/ipykernel/issues/1458">#1458</a>)</li>
<li><a
href="https://github.com/ipython/ipykernel/commit/c7af34cd19ebcd43f5aafe1919909feb6e898387"><code>c7af34c</code></a>
Refer to kernel laucnhing thread instead of assuming the main thread (<a
href="https://redirect.github.com/ipython/ipykernel/issues/1455">#1455</a>)</li>
<li><a
href="https://github.com/ipython/ipykernel/commit/7193d14de447a18470a18d60b81eda5f0048b6aa"><code>7193d14</code></a>
Fix routing of background thread output when no parent is set explicitly
(<a
href="https://redirect.github.com/ipython/ipykernel/issues/1451">#1451</a>)</li>
<li><a
href="https://github.com/ipython/ipykernel/commit/b8f5dfc3a35a658c66b85213e60f634bd8a44488"><code>b8f5dfc</code></a>
Store display outputs in history for <code>%notebook</code> magic (<a
href="https://redirect.github.com/ipython/ipykernel/issues/1435">#1435</a>)</li>
<li><a
href="https://github.com/ipython/ipykernel/commit/93f11dbb02692a7922cb6fdb4ebadffdb8b691c0"><code>93f11db</code></a>
update tests for 3.14 (<a
href="https://redirect.github.com/ipython/ipykernel/issues/1453">#1453</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/ipython/ipykernel/compare/v6.29.0...v7.1.0">compare
view</a></li>
</ul>
</details>
<br />


You can trigger a rebase of this PR by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

> **Note**
> Automatic rebases have been disabled on this pull request as it has
been open for over 30 days.

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-08 01:25:57 +00:00
ふぁーandEvan Mattson eeeccb4596 Python: Respect FunctionChoiceBehavior filters in OpenAI responses agent tools (#13235)
issue: https://github.com/microsoft/semantic-kernel/issues/13234

## Summary
- honor FunctionChoiceBehavior filters when retrieving kernel function
metadata
 
### Contribution Checklist

- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [x] All unit tests pass, and I have added new tests where possible
- [x] I didn't break anyone 😄

---------

Co-authored-by: Evan Mattson <[email protected]>
2026-04-08 01:24:47 +00:00
dependabot[bot] 2435461ea9 Python: Update pydantic requirement from !=2.10.0,!=2.10.1,!=2.10.2,!=2.10.3,<2.12,>=2.0 to >=2.0,!=2.10.0,!=2.10.1,!=2.10.2,!=2.10.3,<2.13 in /python (#13246)
Updates the requirements on
[pydantic](https://github.com/pydantic/pydantic) to permit the latest
version.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pydantic/pydantic/releases">pydantic's
releases</a>.</em></p>
<blockquote>
<h2>v2.12.1 2025-10-13</h2>
<h2>v2.12.1 (2025-10-13)</h2>
<p><a
href="https://github.com/pydantic/pydantic/releases/tag/v2.12.1">GitHub
release</a></p>
<h3>What's Changed</h3>
<p>This is the first 2.12 patch release, addressing most (but not all
yet) regressions from the initial 2.12.0 release.</p>
<h4>Fixes</h4>
<ul>
<li>Do not evaluate annotations when inspecting validators and
serializers by <a
href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/12355">#12355</a></li>
<li>Make sure <code>None</code> is converted as <code>NoneType</code> in
Python 3.14 by <a
href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/12370">#12370</a></li>
<li>Backport V1 runtime warning when using Python 3.14 by <a
href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/12367">#12367</a></li>
<li>Fix error message for invalid validator signatures by <a
href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/12366">#12366</a></li>
<li>Populate field name in <code>ValidationInfo</code> for validation of
default value by <a
href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic-core/pull/1826">pydantic-core#1826</a></li>
<li>Encode credentials in <code>MultiHostUrl</code> builder by <a
href="https://github.com/willswire"><code>@​willswire</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic-core/pull/1829">pydantic-core#1829</a></li>
<li>Respect field serializers when using <code>serialize_as_any</code>
serialization flag by <a
href="https://github.com/davidhewitt"><code>@​davidhewitt</code></a> in
<a
href="https://redirect.github.com/pydantic/pydantic-core/pull/1829">pydantic-core#1829</a></li>
<li>Fix various <code>RootModel</code> serialization issues by <a
href="https://github.com/davidhewitt"><code>@​davidhewitt</code></a> in
<a
href="https://redirect.github.com/pydantic/pydantic-core/pull/1836">pydantic-core#1836</a></li>
</ul>
<h3>New Contributors</h3>
<ul>
<li><a href="https://github.com/willswire"><code>@​willswire</code></a>
made their first contribution in <a
href="https://redirect.github.com/pydantic/pydantic-core/pull/1829">pydantic-core#1829</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/pydantic/pydantic/compare/v2.12.0...v2.12.1">https://github.com/pydantic/pydantic/compare/v2.12.0...v2.12.1</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pydantic/pydantic/blob/v2.12.1/HISTORY.md">pydantic's
changelog</a>.</em></p>
<blockquote>
<h2>v2.12.1 (2025-10-13)</h2>
<p><a
href="https://github.com/pydantic/pydantic/releases/tag/v2.12.1">GitHub
release</a></p>
<h3>What's Changed</h3>
<p>This is the first 2.12 patch release, addressing most (but not all
yet) regressions from the initial 2.12.0 release.</p>
<h4>Fixes</h4>
<ul>
<li>Do not evaluate annotations when inspecting validators and
serializers by <a
href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/12355">#12355</a></li>
<li>Make sure <code>None</code> is converted as <code>NoneType</code> in
Python 3.14 by <a
href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/12370">#12370</a></li>
<li>Backport V1 runtime warning when using Python 3.14 by <a
href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/12367">#12367</a></li>
<li>Fix error message for invalid validator signatures by <a
href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/12366">#12366</a></li>
<li>Populate field name in <code>ValidationInfo</code> for validation of
default value by <a
href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic-core/pull/1826">pydantic-core#1826</a></li>
<li>Encode credentials in <code>MultiHostUrl</code> builder by <a
href="https://github.com/willswire"><code>@​willswire</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic-core/pull/1829">pydantic-core#1829</a></li>
<li>Respect field serializers when using <code>serialize_as_any</code>
serialization flag by <a
href="https://github.com/davidhewitt"><code>@​davidhewitt</code></a> in
<a
href="https://redirect.github.com/pydantic/pydantic-core/pull/1829">pydantic-core#1829</a></li>
<li>Fix various <code>RootModel</code> serialization issues by <a
href="https://github.com/davidhewitt"><code>@​davidhewitt</code></a> in
<a
href="https://redirect.github.com/pydantic/pydantic-core/pull/1836">pydantic-core#1836</a></li>
</ul>
<h3>New Contributors</h3>
<ul>
<li><a href="https://github.com/willswire"><code>@​willswire</code></a>
made their first contribution in <a
href="https://redirect.github.com/pydantic/pydantic-core/pull/1829">pydantic-core#1829</a></li>
</ul>
<h2>v2.12.0 (2025-10-07)</h2>
<p><a
href="https://github.com/pydantic/pydantic/releases/tag/v2.12.0">GitHub
release</a></p>
<h3>What's Changed</h3>
<p>This is the final 2.12 release. It features the work of 20 external
contributors and provides useful new features, along with initial Python
3.14 support.
Several minor changes (considered non-breaking changes according to our
<a
href="https://docs.pydantic.dev/2.12/version-policy/#pydantic-v2">versioning
policy</a>)
are also included in this release. Make sure to look into them before
upgrading.</p>
<p><strong>Note that Pydantic V1 is not compatible with Python 3.14 and
greater</strong>.</p>
<p>Changes (see the alpha and beta releases for additional changes since
2.11):</p>
<h4>Packaging</h4>
<ul>
<li>Update V1 copy to v1.10.24 by <a
href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/12338">#12338</a></li>
</ul>
<h4>New Features</h4>
<ul>
<li>Add <code>extra</code> parameter to the validate functions by <a
href="https://github.com/anvilpete"><code>@​anvilpete</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/12233">#12233</a></li>
<li>Add <code>exclude_computed_fields</code> serialization option by <a
href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/12334">#12334</a></li>
<li>Add <code>preverse_empty_path</code> URL options by <a
href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/12336">#12336</a></li>
<li>Add <code>union_format</code> parameter to JSON Schema generation by
<a href="https://github.com/Viicos"><code>@​Viicos</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/12147">#12147</a></li>
<li>Add <code>__qualname__</code> parameter for
<code>create_model</code> by <a
href="https://github.com/Atry"><code>@​Atry</code></a> in <a
href="https://redirect.github.com/pydantic/pydantic/pull/12001">#12001</a></li>
</ul>
<h4>Fixes</h4>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pydantic/pydantic/commit/b4076c66773b514d4891f036a4cc562b8ff0ff21"><code>b4076c6</code></a>
Prepare release 2.12.1</li>
<li><a
href="https://github.com/pydantic/pydantic/commit/b67f07291167b4005a6eeee05fcad67b43a53f41"><code>b67f072</code></a>
Bump <code>pydantic-core</code> to v2.41.3</li>
<li><a
href="https://github.com/pydantic/pydantic/commit/529f7ddc4a2eac8eb41b39d8b4d6c07997de46f8"><code>529f7dd</code></a>
Fix error message for invalid validator signatures</li>
<li><a
href="https://github.com/pydantic/pydantic/commit/445fa79f2eda31e2a1922f9736f7613bbd9680b5"><code>445fa79</code></a>
Backport V1 runtime warning</li>
<li><a
href="https://github.com/pydantic/pydantic/commit/b3dba9be0705293019c368d8acc5b8b60dcf5148"><code>b3dba9b</code></a>
Make sure <code>None</code> is converted as <code>NoneType</code> in
Python 3.14</li>
<li><a
href="https://github.com/pydantic/pydantic/commit/1e8c41ee1327c153c713f47feb98a5fa7bb8ce89"><code>1e8c41e</code></a>
Do not evaluate annotations when inspecting validators and
serializers</li>
<li><a
href="https://github.com/pydantic/pydantic/commit/e2a199fe4fc5f8cbc32c93840c9783b332b4f112"><code>e2a199f</code></a>
Upgrade dependencies for 3.14</li>
<li><a
href="https://github.com/pydantic/pydantic/commit/79353e6a6b9fc7a34304d5981b670832044caa99"><code>79353e6</code></a>
Fix spelling in <code>model_dump()</code> docstring</li>
<li><a
href="https://github.com/pydantic/pydantic/commit/aa6b6cd206253c24a46a5fb830e2ff029d21fb95"><code>aa6b6cd</code></a>
Fix typo in experimental.md documentation</li>
<li><a
href="https://github.com/pydantic/pydantic/commit/a7928e692e5a7841c4379d1af1fd37966941dade"><code>a7928e6</code></a>
Update Python version in documentation publishing CI job (<a
href="https://redirect.github.com/pydantic/pydantic/issues/12344">#12344</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/pydantic/pydantic/compare/v2.0...v2.12.1">compare
view</a></li>
</ul>
</details>
<br />


You can trigger a rebase of this PR by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

> **Note**
> Automatic rebases have been disabled on this pull request as it has
been open for over 30 days.

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-08 01:04:47 +00:00
dependabot[bot]andMark Wallace e052093b64 Python: Update pymongo requirement from <4.15,>=4.8.0 to >=4.8.0,<4.16 in /python (#13124)
[//]: # (dependabot-start)
⚠️  **Dependabot is rebasing this PR** ⚠️ 

Rebasing might not happen immediately, so don't worry if this takes some
time.

Note: if you make any changes to this PR yourself, they will take
precedence over the rebase.

---

[//]: # (dependabot-end)

Updates the requirements on
[pymongo](https://github.com/mongodb/mongo-python-driver) to permit the
latest version.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/mongodb/mongo-python-driver/releases">pymongo's
releases</a>.</em></p>
<blockquote>
<h2>PyMongo 4.15.0</h2>
<p>Community notes: <a
href="https://www.mongodb.com/community/forums/t/pymongo-4-15-released/328574">https://www.mongodb.com/community/forums/t/pymongo-4-15-released/328574</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/mongodb/mongo-python-driver/blob/master/doc/changelog.rst">pymongo's
changelog</a>.</em></p>
<blockquote>
<h2>Changes in Version 4.15.0 (2025/09/10)</h2>
<p>PyMongo 4.15 brings a number of changes including:</p>
<ul>
<li>Added :class:<code>~pymongo.encryption_options.TextOpts</code>,
:attr:<code>~pymongo.encryption.Algorithm.TEXTPREVIEW</code>,
:attr:<code>~pymongo.encryption.QueryType.PREFIXPREVIEW</code>,
:attr:<code>~pymongo.encryption.QueryType.SUFFIXPREVIEW</code>,
:attr:<code>~pymongo.encryption.QueryType.SUBSTRINGPREVIEW</code>,
as part of the experimental Queryable Encryption text queries beta.
<code>pymongocrypt&gt;=1.16</code> is required for text query
support.</li>
<li>Added :class:<code>bson.decimal128.DecimalEncoder</code> and
:class:<code>bson.decimal128.DecimalDecoder</code>
to support encoding and decoding of BSON Decimal128 values to
decimal.Decimal values using the TypeRegistry API.</li>
<li>Added support for Windows <code>arm64</code> wheels.</li>
</ul>
<h2>Changes in Version 4.14.1 (2025/08/19)</h2>
<p>Version 4.14.1 is a bug fix release.</p>
<ul>
<li>Fixed a bug in <code>MongoClient.append_metadata()</code> and
<code>AsyncMongoClient.append_metadata()</code>
that allowed duplicate <code>DriverInfo.name</code> to be appended to
the metadata.</li>
</ul>
<p>Issues Resolved
...............</p>
<p>See the <code>PyMongo 4.14.1 release notes in JIRA</code>_ for the
list of resolved issues
in this release.</p>
<p>.. _PyMongo 4.14.1 release notes in JIRA: <a
href="https://jira.mongodb.org/secure/ReleaseNote.jspa?projectId=10004&amp;version=45256">https://jira.mongodb.org/secure/ReleaseNote.jspa?projectId=10004&amp;version=45256</a></p>
<h2>Changes in Version 4.14.0 (2025/08/06)</h2>
<p>.. warning:: PyMongo 4.14 drops support for MongoDB 4.0. PyMongo now
supports
MongoDB 4.2+.</p>
<p>PyMongo 4.14 brings a number of changes including:</p>
<ul>
<li>
<p>Dropped support for MongoDB 4.0.</p>
</li>
<li>
<p>Added preliminary support for Python 3.14 and 3.14 with
free-threading. We do
not yet support the following with Python 3.14:</p>
<ul>
<li>Subinterpreters (<code>concurrent.interpreters</code>)</li>
<li>Free-threading with Encryption</li>
<li>mod_wsgi</li>
</ul>
</li>
<li>
<p>Removed experimental support for free-threading support in Python
3.13.</p>
</li>
<li>
<p>Added :attr:<code>bson.codec_options.TypeRegistry.codecs</code>
and</p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/mongodb/mongo-python-driver/commit/1514e9b784ed395e7dad806c7b722fef531ecb15"><code>1514e9b</code></a>
Prepare 4.15 release (<a
href="https://redirect.github.com/mongodb/mongo-python-driver/issues/2523">#2523</a>)</li>
<li><a
href="https://github.com/mongodb/mongo-python-driver/commit/98e9f5ecc1396abf2fafe070de36e1bed5691930"><code>98e9f5e</code></a>
PYTHON-5538 Clean up uv lock file handling (<a
href="https://redirect.github.com/mongodb/mongo-python-driver/issues/2522">#2522</a>)</li>
<li><a
href="https://github.com/mongodb/mongo-python-driver/commit/d7316afb632fb16e23214ec2a404b308a1054896"><code>d7316af</code></a>
PYTHON-5328 CRUD Support in Driver for Prefix/Suffix/Substring Indexes
(<a
href="https://redirect.github.com/mongodb/mongo-python-driver/issues/2521">#2521</a>)</li>
<li><a
href="https://github.com/mongodb/mongo-python-driver/commit/7580309e993fdda26dc4ea38ccfd0178e78c99e7"><code>7580309</code></a>
PYTHON-4928 Convert CSFLE spec tests to unified test format (<a
href="https://redirect.github.com/mongodb/mongo-python-driver/issues/2520">#2520</a>)</li>
<li><a
href="https://github.com/mongodb/mongo-python-driver/commit/47c5460d2ec7eced587add33cb6ab0d717218f49"><code>47c5460</code></a>
Bump pyright from 1.1.404 to 1.1.405 (<a
href="https://redirect.github.com/mongodb/mongo-python-driver/issues/2518">#2518</a>)</li>
<li><a
href="https://github.com/mongodb/mongo-python-driver/commit/b84e1a7ce4f53faf3b4898fdf8b5b89251f8c047"><code>b84e1a7</code></a>
PYTHON-5527 - Unified test typo in 'Expected error' (<a
href="https://redirect.github.com/mongodb/mongo-python-driver/issues/2517">#2517</a>)</li>
<li><a
href="https://github.com/mongodb/mongo-python-driver/commit/c0e0554a3b69b7c3140a792934682c19b43fc269"><code>c0e0554</code></a>
PYTHON-5521 - Update TestBsonSizeBatches.test_06_insert_fails_over_16MiB
erro...</li>
<li><a
href="https://github.com/mongodb/mongo-python-driver/commit/d63edf7aea260be286a3bc98e28f961db43a71b0"><code>d63edf7</code></a>
PYTHON-5524 - Fix CSFLE spec test min version checks (<a
href="https://redirect.github.com/mongodb/mongo-python-driver/issues/2516">#2516</a>)</li>
<li><a
href="https://github.com/mongodb/mongo-python-driver/commit/b756bbd2a392ee9a810dd9b5df97fc4e16cfae37"><code>b756bbd</code></a>
Bump the actions group with 2 updates (<a
href="https://redirect.github.com/mongodb/mongo-python-driver/issues/2513">#2513</a>)</li>
<li><a
href="https://github.com/mongodb/mongo-python-driver/commit/b2bba67b61f033be5360bebc1ea260164ae75bb2"><code>b2bba67</code></a>
Update coverage requirement from &lt;=7.10.5,&gt;=5 to
&gt;=5,&lt;=7.10.6 (<a
href="https://redirect.github.com/mongodb/mongo-python-driver/issues/2512">#2512</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/mongodb/mongo-python-driver/compare/4.8.0...4.15.0">compare
view</a></li>
</ul>
</details>
<br />


Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Mark Wallace <[email protected]>
2026-04-08 01:04:28 +00:00
dependabot[bot]andMark Wallace f1b168dc2c Python: Update chromadb requirement from <1.1,>=0.5 to >=0.5,<1.4 in /python (#13331)
[//]: # (dependabot-start)
⚠️  **Dependabot is rebasing this PR** ⚠️ 

Rebasing might not happen immediately, so don't worry if this takes some
time.

Note: if you make any changes to this PR yourself, they will take
precedence over the rebase.

---

[//]: # (dependabot-end)

Updates the requirements on
[chromadb](https://github.com/chroma-core/chroma) to permit the latest
version.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/chroma-core/chroma/releases">chromadb's
releases</a>.</em></p>
<blockquote>
<h2>1.3.0</h2>
<p>Version: <code>1.3.0</code>
Git ref: <code>refs/tags/1.3.0</code>
Build Date: <code>2025-10-29T03:08</code>
PIP Package: <code>chroma-1.3.0.tar.gz</code>
Github Container Registry Image: <code>:1.3.0</code>
DockerHub Image: <code>:1.3.0</code></p>
<h2>What's Changed</h2>
<ul>
<li>[ENH] - Adds rust client to list of clients by <a
href="https://github.com/tjkrusinskichroma"><code>@​tjkrusinskichroma</code></a>
in <a
href="https://redirect.github.com/chroma-core/chroma/pull/5740">chroma-core/chroma#5740</a></li>
<li>[ENH]: Integrate task operators into compaction by <a
href="https://github.com/tanujnay112"><code>@​tanujnay112</code></a> in
<a
href="https://redirect.github.com/chroma-core/chroma/pull/5687">chroma-core/chroma#5687</a></li>
<li>[ENH]: Add heaptender client to compaction and make finishtask use
this by <a
href="https://github.com/tanujnay112"><code>@​tanujnay112</code></a> in
<a
href="https://redirect.github.com/chroma-core/chroma/pull/5715">chroma-core/chroma#5715</a></li>
<li>[ENH] Add local support for schema by <a
href="https://github.com/jairad26"><code>@​jairad26</code></a> in <a
href="https://redirect.github.com/chroma-core/chroma/pull/5714">chroma-core/chroma#5714</a></li>
<li>[ENH]: Implement create_task with 2PC and backfill + make it
idemptotent by <a
href="https://github.com/tanujnay112"><code>@​tanujnay112</code></a> in
<a
href="https://redirect.github.com/chroma-core/chroma/pull/5729">chroma-core/chroma#5729</a></li>
<li>[CHORE] reconcile schema in compaction orchetrator and use in
spann&amp;hnsw by <a
href="https://github.com/jairad26"><code>@​jairad26</code></a> in <a
href="https://redirect.github.com/chroma-core/chroma/pull/5742">chroma-core/chroma#5742</a></li>
<li>[ENH] Export schema and search types from chromadb.api by <a
href="https://github.com/jairad26"><code>@​jairad26</code></a> in <a
href="https://redirect.github.com/chroma-core/chroma/pull/5736">chroma-core/chroma#5736</a></li>
<li>Add Sync to roadmap by <a
href="https://github.com/kylediaz"><code>@​kylediaz</code></a> in <a
href="https://redirect.github.com/chroma-core/chroma/pull/5745">chroma-core/chroma#5745</a></li>
<li>[ENH]: limit concurrency on operators spawned by GC by <a
href="https://github.com/codetheweb"><code>@​codetheweb</code></a> in <a
href="https://redirect.github.com/chroma-core/chroma/pull/5720">chroma-core/chroma#5720</a></li>
<li>[BLD] Bump hnswlib dep by <a
href="https://github.com/Sicheng-Pan"><code>@​Sicheng-Pan</code></a> in
<a
href="https://redirect.github.com/chroma-core/chroma/pull/5743">chroma-core/chroma#5743</a></li>
<li>[ENH] recognize and flush new metadata keys to schema on local
compaction by <a
href="https://github.com/jairad26"><code>@​jairad26</code></a> in <a
href="https://redirect.github.com/chroma-core/chroma/pull/5728">chroma-core/chroma#5728</a></li>
<li>[ENH]: Error if source_key set but no ef by <a
href="https://github.com/sanketkedia"><code>@​sanketkedia</code></a> in
<a
href="https://redirect.github.com/chroma-core/chroma/pull/5751">chroma-core/chroma#5751</a></li>
<li>[ENH]: (Rust client): add <code>true.into::&lt;Where&gt;()</code>
helper by <a
href="https://github.com/codetheweb"><code>@​codetheweb</code></a> in <a
href="https://redirect.github.com/chroma-core/chroma/pull/5750">chroma-core/chroma#5750</a></li>
<li>Revert &quot;[ENH]: Error if source_key set but no ef&quot; by <a
href="https://github.com/sanketkedia"><code>@​sanketkedia</code></a> in
<a
href="https://redirect.github.com/chroma-core/chroma/pull/5757">chroma-core/chroma#5757</a></li>
<li>[ENH]: Disallow setting only source_key without an ef by <a
href="https://github.com/sanketkedia"><code>@​sanketkedia</code></a> in
<a
href="https://redirect.github.com/chroma-core/chroma/pull/5758">chroma-core/chroma#5758</a></li>
<li>[BUG] use keys instead of key_overrides in query embedding strings
by <a href="https://github.com/jairad26"><code>@​jairad26</code></a> in
<a
href="https://redirect.github.com/chroma-core/chroma/pull/5754">chroma-core/chroma#5754</a></li>
<li>[ENH] Add BM25 embedding function to JS by <a
href="https://github.com/jairad26"><code>@​jairad26</code></a> in <a
href="https://redirect.github.com/chroma-core/chroma/pull/5756">chroma-core/chroma#5756</a></li>
<li>[CHORE] Bump js ai-embeddings versions by <a
href="https://github.com/jairad26"><code>@​jairad26</code></a> in <a
href="https://redirect.github.com/chroma-core/chroma/pull/5759">chroma-core/chroma#5759</a></li>
<li>[TST] add space checks &amp; local modify test for schema by <a
href="https://github.com/jairad26"><code>@​jairad26</code></a> in <a
href="https://redirect.github.com/chroma-core/chroma/pull/5761">chroma-core/chroma#5761</a></li>
<li>[RELEASE] Python 1.3.0 by <a
href="https://github.com/jairad26"><code>@​jairad26</code></a> in <a
href="https://redirect.github.com/chroma-core/chroma/pull/5760">chroma-core/chroma#5760</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/chroma-core/chroma/compare/1.2.2...1.3.0">https://github.com/chroma-core/chroma/compare/1.2.2...1.3.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/chroma-core/chroma/commit/6b30ba6104cb8feeac8c58e39ff1b1f327b343fa"><code>6b30ba6</code></a>
[RELEASE] Python 1.3.0 (<a
href="https://redirect.github.com/chroma-core/chroma/issues/5760">#5760</a>)</li>
<li><a
href="https://github.com/chroma-core/chroma/commit/589bfbc967b8d17c8d6ffad6d12d6de31b4b86fb"><code>589bfbc</code></a>
[TST] add space checks &amp; local modify test for schema (<a
href="https://redirect.github.com/chroma-core/chroma/issues/5761">#5761</a>)</li>
<li><a
href="https://github.com/chroma-core/chroma/commit/810eecc153c915a061cc5b463f00b0a741191ead"><code>810eecc</code></a>
[CHORE] Bump js ai-embeddings versions (<a
href="https://redirect.github.com/chroma-core/chroma/issues/5759">#5759</a>)</li>
<li><a
href="https://github.com/chroma-core/chroma/commit/83252aa0f8d4524908107de70b809b1dad1f7daa"><code>83252aa</code></a>
[ENH] Add BM25 embedding function to JS (<a
href="https://redirect.github.com/chroma-core/chroma/issues/5756">#5756</a>)</li>
<li><a
href="https://github.com/chroma-core/chroma/commit/ff1285d2572bf9ca0018d38c69bd1eae3846f82b"><code>ff1285d</code></a>
[BUG] use keys instead of key_overrides in query embedding strings (<a
href="https://redirect.github.com/chroma-core/chroma/issues/5754">#5754</a>)</li>
<li><a
href="https://github.com/chroma-core/chroma/commit/8e8fb95c2cde9e24b01069947b3b5e613e633ccd"><code>8e8fb95</code></a>
[ENH]: Disallow setting only source_key without an ef (<a
href="https://redirect.github.com/chroma-core/chroma/issues/5758">#5758</a>)</li>
<li><a
href="https://github.com/chroma-core/chroma/commit/0734fdffa5f73ff6886eec9a10d07810d63e99ed"><code>0734fdf</code></a>
Revert &quot;[ENH]: Error if source_key set but no ef&quot; (<a
href="https://redirect.github.com/chroma-core/chroma/issues/5757">#5757</a>)</li>
<li><a
href="https://github.com/chroma-core/chroma/commit/34ebde8d4f8debd5a26d5fd740c85cfbb66379e7"><code>34ebde8</code></a>
[ENH]: (Rust client): add <code>true.into::\&lt;Where&gt;()</code>
helper (<a
href="https://redirect.github.com/chroma-core/chroma/issues/5750">#5750</a>)</li>
<li><a
href="https://github.com/chroma-core/chroma/commit/0d3bd2afdcba32f1de74007d3e77bbae89d67849"><code>0d3bd2a</code></a>
[ENH]: Error if source_key set but no ef (<a
href="https://redirect.github.com/chroma-core/chroma/issues/5751">#5751</a>)</li>
<li><a
href="https://github.com/chroma-core/chroma/commit/a1ea81a69275bdf25d7526df520d4aab3d82a76d"><code>a1ea81a</code></a>
[ENH] recognize and flush new metadata keys to schema on local
compaction (<a
href="https://redirect.github.com/chroma-core/chroma/issues/5">#5</a>...</li>
<li>Additional commits viewable in <a
href="https://github.com/chroma-core/chroma/compare/0.5.0...1.3.0">compare
view</a></li>
</ul>
</details>
<br />


Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Mark Wallace <[email protected]>
2026-04-08 00:43:12 +00:00
dependabot[bot] fdc2067b62 Python: Update redis[hiredis] requirement from ~=6.0 to >=6,<8 in /python (#13329)
Updates the requirements on
[redis[hiredis]](https://github.com/redis/redis-py) to permit the latest
version.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/redis/redis-py/releases">redis[hiredis]'s
releases</a>.</em></p>
<blockquote>
<h2>7.0.1</h2>
<h1>Changes</h1>
<p>This release adds small fixes related to documentation.</p>
<h2>🧰 Maintenance</h2>
<ul>
<li>Add 'multi_database' section to documentation index (313d93f)</li>
<li>Revised multi-database client documentation(78df745)</li>
<li>Adding info about Multi-database client in README.md (3f7a55e)</li>
</ul>
<p>We'd like to thank all the contributors who worked on this release!
<a href="https://github.com/dmaier"><code>@​dmaier</code></a> <a
href="https://github.com/petyaslavova"><code>@​petyaslavova</code></a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/redis/redis-py/commit/613a06f5bee94ee8aad3d841dd8c595ae6cc62d2"><code>613a06f</code></a>
Updating redis-py package version to 7.0.1</li>
<li><a
href="https://github.com/redis/redis-py/commit/3f7a55e5914f82787fde15c56c18b105f001745e"><code>3f7a55e</code></a>
Adding info about Multi-database client in README.md</li>
<li><a
href="https://github.com/redis/redis-py/commit/313d93f0b90c69ea5e6c7af8ff9b31ee005f4994"><code>313d93f</code></a>
Add 'multi_database' section to documentation index</li>
<li><a
href="https://github.com/redis/redis-py/commit/78df74522f76341be965e5c719427be6dcd5bedf"><code>78df745</code></a>
Revised multi-database client documentation</li>
<li><a
href="https://github.com/redis/redis-py/commit/7a4e8bc42a1cbda6b1e8e2e1dfbe8a94766e07f9"><code>7a4e8bc</code></a>
Updating package version to 7.0.0 and supported redis versions in
readme.md</li>
<li><a
href="https://github.com/redis/redis-py/commit/64a2721d6b0303e7a723066530b467145ee10841"><code>64a2721</code></a>
Refactor healthcheck to use PING instead of ECHO (<a
href="https://redirect.github.com/redis/redis-py/issues/3811">#3811</a>)</li>
<li><a
href="https://github.com/redis/redis-py/commit/24a7a1027bd6390e161c1c88be35c8acb242833d"><code>24a7a10</code></a>
Fixing SORTABLE, INDEXEMPTY and INDEXMISSING order when using RediSearch
fiel...</li>
<li><a
href="https://github.com/redis/redis-py/commit/32ba6d89d2061a44c0c3f36d249fb9929836fca6"><code>32ba6d8</code></a>
DOC-5821 update index/query example for runnable notebook (<a
href="https://redirect.github.com/redis/redis-py/issues/3807">#3807</a>)</li>
<li><a
href="https://github.com/redis/redis-py/commit/c1e566f9fbd99912d7073b871eeda76d70f61b63"><code>c1e566f</code></a>
Add handling of empty spaces during CLIENT LIST response parsing (<a
href="https://redirect.github.com/redis/redis-py/issues/3797">#3797</a>)</li>
<li><a
href="https://github.com/redis/redis-py/commit/295bec67ddbf99c205376483f08a3ddebb72f2b2"><code>295bec6</code></a>
Adding new ExternalAuthProviderError that will be raised when we receive
'pro...</li>
<li>Additional commits viewable in <a
href="https://github.com/redis/redis-py/compare/v6.0.0...v7.0.1">compare
view</a></li>
</ul>
</details>
<br />


You can trigger a rebase of this PR by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

> **Note**
> Automatic rebases have been disabled on this pull request as it has
been open for over 30 days.

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-08 00:42:34 +00:00
0f322bcc48 Python: Improve prompt-template msg serialize and sample usage (#13738)
### Motivation and Context

This PR updates the Jinja2 and Handlebars prompt-template helpers to
serialize chat messages through the existing XML/message serializer
instead of assembling message XML manually. It also aligns the
prompt-template samples with the serializer-backed helper and adds
regression coverage for common message content.

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

### Description

Prompt template message serialize improvements.

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [X] The code builds clean without any errors or warnings
- [X] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [X] All unit tests pass, and I have added new tests where possible
- [ ] I didn't break anyone 😄

---------

Co-authored-by: MAF Dashboard Bot <[email protected]>
Co-authored-by: Copilot <[email protected]>
2026-04-08 00:29:36 +00:00
Shay RojanskyandCopilot 134e52e754 Use newest Npgsql when targeting net8.0 and above (#13724)
We are currently using Npgsql 8.0 because that's the last version that's
still compatible with .NET Standard 2.0/netfx; but it seems wrong to
force an older version of Npgsql on modern .NET users just because netfx
users require it

So for the versions of the PgVector MEVD provider targeting
net8.0/net10.0, use the latest Npgsql 10.0; netstandard2.0/net462 still
use Npgsql 8.0. It's not ideal to use different versions of Npgsql
across different TFM targets of the same library, but it seems like the
lesser of the possible evils here.

This incidentally also takes care of the ReloadTypesAsync problem in
#13706.

---------

Co-authored-by: Copilot <[email protected]>
2026-03-31 16:45:10 +00:00
Shay RojanskyandCopilot 5f282a9128 Refactor CollectionModel/builder and introduce read-only property interfaces (#13699)
## Changes

* **Extract `ConfigureVectorPropertyEmbedding()`**: Deduplicated
embedding resolution logic that was repeated across
`ProcessTypeProperties` and `ProcessRecordDefinition`.
* **Replace `IRecordCreator` with `Func<object>`**: Removed
`IRecordCreator` interface and two implementing classes
(`ActivatorBasedRecordCreator`, `DynamicRecordCreator`), replacing them
with simple lambdas.
* **Rename `TemporaryStorageName` → `SerializedKeyName`**: Moved from
`PropertyModel` base to `KeyPropertyModel` where it belongs (only used
by CosmosNoSql for key property JSON serializer name remapping).
* **Delegate-based property accessors**: Replaced virtual
`GetValueAsObject`/`SetValueAsObject` overrides with delegate fields
(`_getter`/`_setter`), configured via
`ConfigurePocoAccessors()`/`ConfigureDynamicAccessors()`. Converted
null-coalescing throws to `Debug.Assert`.
* **Improved xmldoc** on `VectorPropertyModel.EmbeddingType` explaining
the `[AllowNull]` invariant.
* **Introduce read-only interfaces** (`IPropertyModel`,
`IKeyPropertyModel`, `IDataPropertyModel`, `IVectorPropertyModel`):
`CollectionModel` now exposes `IReadOnlyList<IVectorPropertyModel>`
etc., giving providers an immutable view post-build. All provider code
updated to consume interface types.

Note that the last is a non-trivial breaking change for providers (not
users), which I think is fine (note that the provider-facing APIs are
flagged as [Experimental]).

---------

Co-authored-by: Copilot <[email protected]>
2026-03-26 14:09:43 +00:00
Evan Mattson 9d120bcc4a Python: Bump Python version to 1.41.1 for a release (#13705)
### Motivation and Context

Bump Pythong version to 1.41.1 for a release

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

### Description

Bump Pythong version to 1.41.1 for a release

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [X] The code builds clean without any errors or warnings
- [X] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [X] All unit tests pass, and I have added new tests where possible
- [X] I didn't break anyone 😄
python-1.41.1
2026-03-25 15:34:30 +09:00
41f7b59595 Python: fix Google AI/Vertex AI crash on anyOf schema (#12442) (#13624)
### Motivation and Context

Closes #12442

When `ChatCompletionAgent` instances are used as plugins with
`GoogleAIChatCompletion`, the application crashes with:
```
ValueError: Unknown field for Schema: anyOf
```

**Root cause**: The Semantic Kernel JSON schema builder generates
`anyOf` for Union types (e.g. `str | list[str]` on the agent's
`messages` parameter) and type-as-array for Optional types (e.g.
`["string", "null"]`). Google AI's protobuf `Schema` does not support
these constructs.

### Description

Add `sanitize_schema_for_google_ai()` to `shared_utils.py` that
recursively rewrites unsupported schema constructs:

- `anyOf` / `oneOf` with a null variant → single type + `nullable: true`
- `anyOf` / `oneOf` without null → picks the first variant
- `type` as array (e.g. `["string", "null"]`) → single type + `nullable:
true`

Applied in both
`kernel_function_metadata_to_google_ai_function_call_format()` and
`kernel_function_metadata_to_vertex_ai_function_call_format()`.

### Contribution Checklist

- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
- [x] The existing tests pass, and I have added 12 new regression tests
- [x] I didn't break any existing functionality

> [!NOTE]
> AI-assisted contribution: Claude helped with code review, test
generation, and formatting.

---------

Co-authored-by: Claude Opus 4.6 <[email protected]>
Co-authored-by: Evan Mattson <[email protected]>
2026-03-25 05:35:40 +00:00
83ff0a5aaa Python: fix(google-ai): skip api_key check when use_vertexai is True (#13607)
## Summary

Fixes #13483

### Motivation and Context

When `use_vertexai=True`, users authenticate via Application Default
Credentials (ADC) and don't need an API key. However, the initialization
check for `api_key` runs unconditionally, blocking Vertex AI users with:

```
ServiceInitializationError: The API key is required when use_vertexai is False.
```

### Description

Guard the `api_key` validation with `not
google_ai_settings.use_vertexai` in all three Google AI service classes:

- `GoogleAIChatCompletion`
- `GoogleAITextCompletion`
- `GoogleAITextEmbedding`

The error message already reads *"when use_vertexai is False"*, so the
condition now matches the intent.

### Before / After

```python
# Before — fails even with use_vertexai=True
GoogleAIChatCompletion(
    use_vertexai=True,
    cloud_project_id="my-project",
    cloud_region="us-central1"
)
# → ServiceInitializationError: The API key is required when use_vertexai is False.

# After — works correctly
GoogleAIChatCompletion(
    use_vertexai=True,
    cloud_project_id="my-project",
    cloud_region="us-central1"
)
# → Initializes successfully, uses ADC for authentication
```

### Contribution Checklist

- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
- [x] The code follows the [SK coding
standards](https://github.com/microsoft/semantic-kernel/blob/main/python/README.md)

---------

Co-authored-by: giulio-leone <[email protected]>
Co-authored-by: giulio-leone <[email protected]>
Co-authored-by: Copilot <[email protected]>
2026-03-24 10:01:54 +00:00
e0bd528cd9 Python: Default Dapr module allowlist to semantic_kernel prefix (#13596)
### Motivation and Context

Follow-up to #13499. The previous PR added the `allowed_module_prefixes`
parameter but defaulted it to `None`, which meant the module restriction
was only active if developers discovered and configured it.
Secure-by-default is the right posture here — restrict first, let
developers widen as needed.

- Change `allowed_module_prefixes` default from `None` to
`("semantic_kernel.",)` across Dapr runtime step loading
- Non-SK step classes now require developers to explicitly add their
module prefix (e.g. `("semantic_kernel.", "myapp.steps.")`)
- Developers can pass `None` to opt out entirely, but the secure default
is now enforced
- The Dapr runtime code is experimental, so this is a non-breaking
change per our stability guarantees

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [X] The code builds clean without any errors or warnings
- [X] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [X] All unit tests pass, and I have added new tests where possible
- [ ] I didn't break anyone 😄

---------

Co-authored-by: MAF Dashboard Bot <[email protected]>
Co-authored-by: Copilot <[email protected]>
2026-03-24 11:34:25 +09:00
5069b4186b Simplify PR parsing for automated review workflow (#13689)
### Motivation and Context

Improve PR parsing by just operating on the PR number - no need for a
full URL.

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [ ] The code builds clean without any errors or warnings
- [ ] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [ ] All unit tests pass, and I have added new tests where possible
- [ ] I didn't break anyone 😄

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: MAF Dashboard Bot <[email protected]>
Co-authored-by: Copilot <[email protected]>
2026-03-24 11:17:14 +09:00
f034ed1d4c Python: fix: ChatHistoryTruncationReducer orphans TOOL role messages (#13608)
## Summary

Fixes #12708

`ChatHistoryTruncationReducer.reduce()` can orphan `TOOL` role messages
by truncating the preceding `assistant` message that contains the
`tool_calls`, causing OpenAI to reject the history with:

```
messages with role 'tool' must be a response to a preceding message with 'tool_calls'
```

## Root Cause

`locate_safe_reduction_index()` uses
`contains_function_call_or_result()` to detect tool-related messages
during its backward scan. This function only checks `msg.items` for
`FunctionCallContent`/`FunctionResultContent` instances.

However, `TOOL` role messages can contain only text content (no
`FunctionResultContent` in `items`), which causes the backward scan to
treat them as regular messages. The truncation point then lands between
the `tool_calls` assistant message and its `TOOL` responses, orphaning
the tool results.

## Fix

Added `AuthorRole.TOOL` check to `contains_function_call_or_result()`:

```python
if msg.role == AuthorRole.TOOL:
    return True
```

This ensures **any** `TOOL` role message is recognized as part of a tool
call/result pair, regardless of whether it has `FunctionResultContent`
in its `items`.

## Test

Added
`test_locate_safe_reduction_index_tool_role_without_function_result_content`
that verifies TOOL role messages with only text content are not
separated from their tool call.

---------

Co-authored-by: giulio-leone <[email protected]>
Co-authored-by: Evan Mattson <[email protected]>
Co-authored-by: Copilot <[email protected]>
2026-03-24 02:00:04 +00:00
Copilotandadamsitnik 6ed2bb26d5 [MEVD] Fix VectorStoreKeyAttribute.IsAutoGenerated to be usable as a compile-time attribute argument (#13698)
### Motivation and Context

`VectorStoreKeyAttribute.IsAutoGenerated` was typed as `bool?`, which C#
does not permit as a compile-time attribute argument. This made the
following valid-looking code fail to compile:

```csharp
[VectorStoreKey(StorageName = "name", IsAutoGenerated = true)]
public Guid Key { get; set; }
```

### Description

- **`VectorStoreKeyAttribute.IsAutoGenerated`**: Changed from `public
bool?` to a `public bool` property. Its setter stores the value into a
new `internal bool? IsAutoGeneratedNullable` backing property. The
getter returns `IsAutoGeneratedNullable.GetValueOrDefault()` rather than
throwing; an inline comment explains this is a workaround for the C#
compiler restriction that prevents `Nullable<bool>` from being used as a
compile-time attribute argument. The `bool?` backing preserves the "not
explicitly set" vs. "explicitly set" distinction the framework relies
on.

- **`CollectionModelBuilder`**: Updated to read
`keyAttribute.IsAutoGeneratedNullable` (the `bool?` backing) instead of
the former `bool?` public property, keeping the existing `??
SupportsKeyAutoGeneration(...)` fallback behaviour intact.

- **`KernelFunctionFromMethod`**: Fixed a pre-existing operator
precedence bug in a pattern match expression (`value is not JsonElement
or JsonDocument or JsonNode`) that caused CS9336 redundant-pattern
errors on the .NET 10 compiler. Added parentheses to correctly express
the intended negation of all three types: `value is not (JsonElement or
JsonDocument or JsonNode)`.

- **`CollectionModelBuilderTests`**: Added four new unit tests covering
all `IsAutoGenerated` attribute scenarios: explicitly set to `true`,
explicitly set to `false`, omitted on a `Guid` key (fallback to
`SupportsKeyAutoGeneration` returns `true`), and omitted on an `int` key
(fallback returns `false`).

```csharp
// Now compiles and works correctly
[VectorStoreKey(IsAutoGenerated = true)]
public Guid Key { get; set; }

[VectorStoreKey(IsAutoGenerated = false)]
public Guid Key { get; set; }

[VectorStoreKey]  // IsAutoGeneratedNullable remains null, fallback to SupportsKeyAutoGeneration()
public Guid Key { get; set; }
```

### Contribution Checklist

- [x] The code builds clean without any errors or warnings
- [ ] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [x] All unit tests pass, and I have added new tests where possible
- [ ] I didn't break anyone 😄

<!-- START COPILOT ORIGINAL PROMPT -->



<details>

<summary>Original prompt</summary>

> 
> ----
> 
> *This section details on the original issue you should resolve*
> 
> <issue_title>[MEVD] Can't set IsAutoGenerated property of
VectorStoreKeyAttribute at compile time</issue_title>
> <issue_description>The following code fails to compile:
> 
> ```csharp
> [VectorStoreKey(StorageName = "name", IsAutoGenerated = true)]
> public Guid Key { get; set; }
> ```
> 
> Because the `IsAutoGenerated` is `bool?`:
> 
>
https://github.com/microsoft/semantic-kernel/blob/082e28e52ec2b45ad8cf287176d844150617e8b5/dotnet/src/VectorData/VectorData.Abstractions/RecordAttributes/VectorStoreKeyAttribute.cs#L30
> 
> Which in C# maps to `System.Nullable<bool>` (a struct) and can't be
set at compile time.
> 
> Could we make it just a `bool` like what it's mapped to at the end?
> 
>
https://github.com/microsoft/semantic-kernel/blob/082e28e52ec2b45ad8cf287176d844150617e8b5/dotnet/src/VectorData/VectorData.Abstractions/ProviderServices/KeyPropertyModel.cs#L18
> 
> Context:
https://github.com/dotnet/extensions/pull/7423/changes#r2974567816
> 
> cc @roji </issue_description>
> 
> <agent_instructions>1. Make
[this](https://github.com/microsoft/semantic-kernel/blob/082e28e52ec2b45ad8cf287176d844150617e8b5/dotnet/src/VectorData/VectorData.Abstractions/RecordAttributes/VectorStoreKeyAttribute.cs#L30)
property be a `bool` rather than `bool?` property.
> 2. Implement the getter and setter for it.
> 3. The setter should set an internal `bool?` property that should be
used instead of the public property everywhere in the repo.
[Example]https://github.com/microsoft/semantic-kernel/blob/082e28e52ec2b45ad8cf287176d844150617e8b5/dotnet/src/VectorData/VectorData.Abstractions/ProviderServices/CollectionModelBuilder.cs#L162)
> 3. Proof of concept code that I've used to verify it's going to get us
what we need:
> 
> ```csharp
> using System.Reflection;
> 
> namespace ConsoleApp15
> {
>     public class Program
>     {
>         static void Main()
>         {
> TestAttribute setToTrue =
typeof(Program).GetMethod(nameof(SetToTrue))!.GetCustomAttribute<TestAttribute>()!;
> Console.WriteLine($"IsAutoGenerated_Core for [Test(IsAutoGenerated =
true)]: {setToTrue.IsAutoGenerated_Core}");
> 
> TestAttribute setToFalse =
typeof(Program).GetMethod(nameof(SetToFalse))!.GetCustomAttribute<TestAttribute>()!;
> Console.WriteLine($"IsAutoGenerated_Core for [Test(IsAutoGenerated =
false)]: {setToFalse.IsAutoGenerated_Core}");
> 
> TestAttribute notSet =
typeof(Program).GetMethod(nameof(NotSet))!.GetCustomAttribute<TestAttribute>()!;
> Console.WriteLine($"IsAutoGenerated_Core for [Test]:
{notSet.IsAutoGenerated_Core}");
>         }
> 
>         [Test(IsAutoGenerated = true)]
>         public static void SetToTrue() { }
> 
>         [Test(IsAutoGenerated = false)]
>         public static void SetToFalse() { }
> 
>         [Test]
>         public static void NotSet() { }
>     }
> 
>     [AttributeUsage(AttributeTargets.All)]
>     public class TestAttribute : Attribute
>     {
>         public bool IsAutoGenerated
>         {
> get => throw new InvalidOperationException(); // provided to satisfy
compiler requirements
>             set => IsAutoGenerated_Core = value;
>         }
> 
>         internal bool? IsAutoGenerated_Core { get; set; }
>     }
> }
> ```</agent_instructions>
> 
> ## Comments on the Issue (you are @copilot in this section)
> 
> <comments>
> </comments>
> 


</details>



<!-- START COPILOT CODING AGENT SUFFIX -->

- Fixes microsoft/semantic-kernel#13697

<!-- START COPILOT CODING AGENT TIPS -->
---

💬 Send tasks to Copilot coding agent from
[Slack](https://gh.io/cca-slack-docs) and
[Teams](https://gh.io/cca-teams-docs) to turn conversations into code.
Copilot posts an update in your thread when it's finished.

---------

Co-authored-by: copilot-swe-agent[bot] <[email protected]>
Co-authored-by: adamsitnik <[email protected]>
2026-03-23 19:35:05 +00:00
Shay Rojansky 082e28e52e .Net: Remove legacy filtering from MEVD providers (#13636)
Removes all legacy filtering logic from MEVD, leaving only (obsoleted)
FilterClause and subclasses, which are still needed by ITextSearch (see
conversation in
https://github.com/microsoft/semantic-kernel/pull/13384#discussion_r2867207653).

As suggested by @westey-m let's do an SK release before merging this
(see above).

Closes #10456

/cc @alzarei
2026-03-21 07:51:42 +00:00
0e2e6bd777 .Net: feat: Add support for dimensions in Vertex AI embedding services (#13612)
### Motivation and Context

**Why is this change required?**
PR #10489 added support for configuring embedding [dimensions]
(outputDimensionality) for the Google AI connector, but the equivalent
Vertex AI connector was not updated. This means specifying [Dimensions]
in [EmbeddingGenerationOptions] or via the constructor has no effect
when using Vertex AI — the API always returns the model's default
dimensionality.

**What problem does it solve?**
When using [VertexAIEmbeddingGenerator] or
[VertexAITextEmbeddingGenerationService]with a [dimensions] value (e.g.
128), the output embedding length is the model default (e.g. 3072)
instead of the requested size.

**What scenario does it contribute to?**
Users who need to control embedding dimensionality for storage
optimization, performance, or compatibility with downstream systems when
using the Vertex AI endpoint.

Fixes: #12988

### Description

This PR adds outputDimensionality support to the Vertex AI embedding
connector, mirroring the existing Google AI implementation from PR
#10489.

The Google connector has two parallel embedding paths — Google AI (uses
API key, calls generativelanguage.googleapis.com) and Vertex AI (uses
bearer token, calls [{location}-aiplatform.googleapis.com]). PR #10489
only wired up dimensions for the Google AI path. This PR applies the
same pattern to every layer of the Vertex AI path.

The key structural difference between the two APIs is where
outputDimensionality goes in the request JSON:

Google AI puts it per-content-item: `{ "requests": [{ "content": {...},
"outputDimensionality": 128 }] }`
Vertex AI puts it in the shared parameters block: `{ "instances": [...],
"parameters": { "autoTruncate": false, "outputDimensionality": 128 } }`
The implementation follows this difference. In
[VertexAIEmbeddingRequest], outputDimensionality is added to the
existing [RequestParameters] class (alongside autoTruncate), rather than
on each instance item.

Dimensions flow through the same chain as Google AI:

1. Extension methods accept int? dimensions = null and pass it to the
generator/service constructor
2. [VertexAIEmbeddingGenerator] passes it to
[VertexAITextEmbeddingGenerationService]
3. The service passes it to [VertexAIEmbeddingClient], which stores it
as a default
4. At request time, the client resolves the final value as
[options?.Dimensions ?? this._dimensions] — runtime
[EmbeddingGenerationOptions] take priority over the constructor default
5. [VertexAIEmbeddingRequest.FromData()] sets it on the parameters
block, and [JsonIgnore(WhenWritingNull)] ensures it's omitted when not
specified

All new parameters default to null, preserving full backward
compatibility.

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [x] All unit tests pass, and I have added new tests where possible
- [x] I didn't break anyone 😄

---------

Co-authored-by: Copilot Autofix powered by AI <[email protected]>
Co-authored-by: copilot-swe-agent[bot] <[email protected]>
Co-authored-by: abbottdev <[email protected]>
Co-authored-by: westey <[email protected]>
2026-03-20 19:43:03 +00:00
westey 14ea2fcabb SK .NET Release version bump (#13685)
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [ ] The code builds clean without any errors or warnings
- [ ] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [ ] All unit tests pass, and I have added new tests where possible
- [ ] I didn't break anyone 😄
dotnet-1.74.0 vectordata-dotnet-10.1.0
2026-03-20 12:25:16 +00:00