mirror of
https://github.com/microsoft/semantic-kernel.git
synced 2026-10-12 02:19:06 +00:00
20c91a38d1922eb24051579eda538fba35ca9f8b
4948
Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
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 |
||
|
|
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&to=2025-10-27&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&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&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&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&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&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&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&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&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&to=2025-10-27&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&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&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&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&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&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&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&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&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> |
||
|
|
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]> |
||
|
|
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> |
||
|
|
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>=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&version=45256">https://jira.mongodb.org/secure/ReleaseNote.jspa?projectId=10004&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 <=7.10.5,>=5 to >=5,<=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]> |
||
|
|
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&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::<Where>()</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 "[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/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 & 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 & 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 "[ENH]: Error if source_key set but no ef" (<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::\<Where>()</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]> |
||
|
|
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> |
||
|
|
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]> |
||
|
|
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]> |
||
|
|
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]> |
||
|
|
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 |
||
|
|
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]> |
||
|
|
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]> |
||
|
|
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]> |
||
|
|
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]> |
||
|
|
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]> |
||
|
|
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]>
|
||
|
|
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 |
||
|
|
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]> |
||
|
|
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 |
||
|
|
8b32b3ba6f |
DF PR Review workflow (#13687)
### Motivation and Context DF Automated PR review workflow. <!-- 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 😄 |
||
|
|
30aec16700 |
Update OpenAI to 2.9.1, Azure.AI.OpenAI to 2.9.0-beta.1, Azure.AI.Projects to 2.0.0-beta.2, Microsoft.Extensions.AI* to 10.4.0 (#13668)
### Motivation and Context Bumps core AI SDK dependencies to their latest versions to pick up new features and fixes. ### Description Updates the following packages in `Directory.Packages.props`: - **OpenAI** 2.8.0 → 2.9.1 - **Azure.AI.OpenAI** 2.8.0-beta.1 → 2.9.0-beta.1 - **Azure.AI.Projects** 1.1.0 → 2.0.0-beta.2 - **Azure.Identity** 1.17.1 → 1.19.0 (cascading dependency from Azure.AI.Projects 2.0.0-beta.2) - **Microsoft.Extensions.AI\*** 10.3.0 → 10.4.0 - **System.Text.Json, System.Numerics.Tensors, Microsoft.Extensions.Logging.Abstractions, Microsoft.Bcl.AsyncInterfaces, System.Threading.Channels** → 10.0.4 Addresses the following breaking changes introduced by OpenAI 2.9.1: - `CreateInputImagePart` BinaryData overload removed (replaced with data URI approach) - Realtime API type renames (`ConversationTool` → `RealtimeTool`, `ConversationSessionOptions` → `RealtimeConversationSessionOptions`, etc.) - `ResponsesClient` constructor no longer accepts a model parameter; model is now specified on `CreateResponseOptions.Model` - `ResponseResult.Instructions` is now read-only Code changes to adapt: - Added `ModelId` property to `OpenAIResponseAgent` and propagated it through `ResponseCreationOptionsFactory` - Updated unit tests (`BaseOpenAIResponseClientTest`, `OpenAIResponseAgentExtensionsTests`, `OpenAIResponseExtensionsTests`) - Updated integration tests (`OpenAIResponseAgentTests`, `OpenAIResponseAgentFixture`) - Updated `BaseResponsesAgentTest` and `GettingStartedWithAgents` samples - Updated `AgentFrameworkMigration` samples (`GetResponsesClient`, `AsIChatClient`, `CreateAIAgent`, modelId propagation) - Rewrote `OpenAIRealtime` demo for the restructured Realtime API event model ### 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 - [ ] I didn't break anyone 😄 <!-- START COPILOT CODING AGENT TIPS --> --- 📍 Connect Copilot coding agent with [Jira](https://gh.io/cca-jira-docs), [Azure Boards](https://gh.io/cca-azure-boards-docs) or [Linear](https://gh.io/cca-linear-docs) to delegate work to Copilot in one click without leaving your project management tool. --------- Co-authored-by: copilot-swe-agent[bot] <[email protected]> Co-authored-by: stephentoub <[email protected]> Co-authored-by: Copilot <[email protected]> Co-authored-by: Roger Barreto <[email protected]> |
||
|
|
3c1b688dcf |
Python: Fix ChatHistoryTruncationReducer deleting system prompt (#13610)
## Summary `ChatHistoryTruncationReducer.reduce()` silently deletes system/developer messages when truncating chat history. This is because it calls `extract_range()`, which unconditionally filters out system/developer messages — a function designed for the summarization use case, not truncation. Fixes #12612. ## Approach Port the .NET SDK fix (PR #10344) to Python: 1. Detect the first system/developer message before truncation 2. Pass `has_system_message=True` to `locate_safe_reduction_index` so `target_count` accounts for the preserved message (matches .NET's `targetCount -= hasSystemMessage ? 1 : 0`) 3. Use a simple `history[truncation_index:]` slice instead of `extract_range` (which strips system messages) 4. Prepend the system message if it was truncated away Also adds a guard for `target_count <= 0` after the system message adjustment to prevent `IndexError` when `target_count=1`. ## Changes | File | Change | |------|--------| | `chat_history_reducer_utils.py` | Add `has_system_message` parameter, adjust `target_count`, guard against `<= 0` | | `chat_history_truncation_reducer.py` | Detect system message, bypass `extract_range`, prepend if truncated | | `test_chat_history_truncation_reducer.py` | Update 2 existing tests + 4 new tests (system, developer, no-system, target_count=1) | ## Note The summarization reducer (`ChatHistorySummarizationReducer`) has the same bug — it also uses `extract_range` and loses system messages during summarization. The .NET summarization reducer preserves system messages via `AssemblySummarizedHistory`. This should be addressed in a follow-up PR to keep this change focused. ## Test plan - [x] 11/11 truncation reducer tests pass (was 7, now 11) - [x] 9/9 utils tests pass (no regressions from new parameter) - [x] 11/11 summarization reducer tests pass (unaffected) - [x] Reproduces and fixes the exact scenario from #12612 - [x] Edge case: `target_count=1` with system message does not crash --------- Co-authored-by: Claude Opus 4.6 <[email protected]> Co-authored-by: Evan Mattson <[email protected]> |
||
|
|
bb421f67a7 |
Reduce macos runner coverage due to capacity (#13686)
### Motivation and Context Reduce macos runner coverage due to capacity <!-- 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 Reduce macos runner coverage due to capacity <!-- 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 😄 |
||
|
|
620e412c70 |
Python: Bump werkzeug from 3.1.1 to 3.1.6 in /python (#13605)
Bumps [werkzeug](https://github.com/pallets/werkzeug) from 3.1.1 to 3.1.6. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/pallets/werkzeug/releases">werkzeug's releases</a>.</em></p> <blockquote> <h2>3.1.6</h2> <p>This is the Werkzeug 3.1.6 security fix release, which fixes a security issue but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.</p> <p>PyPI: <a href="https://pypi.org/project/Werkzeug/3.1.6/">https://pypi.org/project/Werkzeug/3.1.6/</a> Changes: <a href="https://werkzeug.palletsprojects.com/page/changes/#version-3-1-6">https://werkzeug.palletsprojects.com/page/changes/#version-3-1-6</a></p> <ul> <li><code>safe_join</code> on Windows does not allow special devices names in multi-segment paths. <a href="https://github.com/pallets/werkzeug/security/advisories/GHSA-29vq-49wr-vm6x">GHSA-29vq-49wr-vm6x</a></li> </ul> <h2>3.1.5</h2> <p>This is the Werkzeug 3.1.5 security fix release, which fixes security issues and bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.</p> <p>PyPI: <a href="https://pypi.org/project/Werkzeug/3.1.5/">https://pypi.org/project/Werkzeug/3.1.5/</a> Changes: <a href="https://werkzeug.palletsprojects.com/page/changes/#version-3-1-5">https://werkzeug.palletsprojects.com/page/changes/#version-3-1-5</a> Milestone: <a href="https://github.com/pallets/werkzeug/milestone/43?closed=1">https://github.com/pallets/werkzeug/milestone/43?closed=1</a></p> <ul> <li><code>safe_join</code> on Windows does not allow more special device names, regardless of extension or surrounding spaces. <a href="https://github.com/pallets/werkzeug/security/advisories/GHSA-87hc-h4r5-73f7">GHSA-87hc-h4r5-73f7</a></li> <li>The multipart form parser handles a <code>\r\n</code> sequence at a chunk boundary. This fixes the previous attempt, which caused incorrect content lengths. <a href="https://redirect.github.com/pallets/werkzeug/issues/3065">#3065</a> <a href="https://redirect.github.com/pallets/werkzeug/issues/3077">#3077</a></li> <li>Fix <code>AttributeError</code> when initializing <code>DebuggedApplication</code> with <code>pin_security=False</code>. <a href="https://redirect.github.com/pallets/werkzeug/issues/3075">#3075</a></li> </ul> <h2>3.1.4</h2> <p>This is the Werkzeug 3.1.4 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.</p> <p>PyPI: <a href="https://pypi.org/project/Werkzeug/3.1.4/">https://pypi.org/project/Werkzeug/3.1.4/</a> Changes: <a href="https://werkzeug.palletsprojects.com/page/changes/#version-3-1-4">https://werkzeug.palletsprojects.com/page/changes/#version-3-1-4</a> Milestone: <a href="https://github.com/pallets/werkzeug/milestone/42?closed=1">https://github.com/pallets/werkzeug/milestone/42?closed=1</a></p> <ul> <li><code>safe_join</code> on Windows does not allow special device names. This prevents reading from these when using <code>send_from_directory</code>. <code>secure_filename</code> already prevented writing to these. <a href="https://github.com/pallets/werkzeug/security/advisories/GHSA-hgf8-39gv-g3f2">ghsa-hgf8-39gv-g3f2</a></li> <li>The debugger pin fails after 10 attempts instead of 11. <a href="https://redirect.github.com/pallets/werkzeug/issues/3020">#3020</a></li> <li>The multipart form parser handles a <code>\r\n</code> sequence at a chunk boundary. <a href="https://redirect.github.com/pallets/werkzeug/issues/3065">#3065</a></li> <li>Improve CPU usage during Watchdog reloader. <a href="https://redirect.github.com/pallets/werkzeug/issues/3054">#3054</a></li> <li><code>Request.json</code> annotation is more accurate. <a href="https://redirect.github.com/pallets/werkzeug/issues/3067">#3067</a></li> <li>Traceback rendering handles when the line number is beyond the available source lines. <a href="https://redirect.github.com/pallets/werkzeug/issues/3044">#3044</a></li> <li><code>HTTPException.get_response</code> annotation and doc better conveys the distinction between WSGI and sans-IO responses. <a href="https://redirect.github.com/pallets/werkzeug/issues/3056">#3056</a></li> </ul> <h2>3.1.3</h2> <p>This is the Werkzeug 3.1.3 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes vs 3.1.0.</p> <p>PyPI: <a href="https://pypi.org/project/Werkzeug/3.1.3/">https://pypi.org/project/Werkzeug/3.1.3/</a> Changes: <a href="https://werkzeug.palletsprojects.com/en/stable/changes/#version-3-1-3">https://werkzeug.palletsprojects.com/en/stable/changes/#version-3-1-3</a> Milestone: <a href="https://github.com/pallets/werkzeug/milestone/41?closed=1">https://github.com/pallets/werkzeug/milestone/41?closed=1</a></p> <ul> <li>Initial data passed to <code>MultiDict</code> and similar interfaces only accepts <code>list</code>, <code>tuple</code>, or <code>set</code> when passing multiple values. It had been changed to accept any <code>Collection</code>, but this matched types that should be treated as single values, such as <code>bytes</code>. <a href="https://redirect.github.com/pallets/werkzeug/issues/2994">#2994</a></li> <li>When the <code>Host</code> header is not set and <code>Request.host</code> falls back to the WSGI <code>SERVER_NAME</code> value, if that value is an IPv6 address it is wrapped in <code>[]</code> to match the <code>Host</code> header. <a href="https://redirect.github.com/pallets/werkzeug/issues/2993">#2993</a></li> </ul> <h2>3.1.2</h2> <p>This is the Werkzeug 3.1.2 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes vs 3.1.0.</p> <p>PyPI: <a href="https://pypi.org/project/Werkzeug/3.1.2/">https://pypi.org/project/Werkzeug/3.1.2/</a> Changes: <a href="https://werkzeug.palletsprojects.com/en/stable/changes/#version-3-1-2">https://werkzeug.palletsprojects.com/en/stable/changes/#version-3-1-2</a></p> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/pallets/werkzeug/blob/main/CHANGES.rst">werkzeug's changelog</a>.</em></p> <blockquote> <h2>Version 3.1.6</h2> <p>Released 2026-02-19</p> <ul> <li><code>safe_join</code> on Windows does not allow special devices names in multi-segment paths. :ghsa:<code>29vq-49wr-vm6x</code></li> </ul> <h2>Version 3.1.5</h2> <p>Released 2026-01-08</p> <ul> <li><code>safe_join</code> on Windows does not allow more special device names, regardless of extension or surrounding spaces. :ghsa:<code>87hc-h4r5-73f7</code></li> <li>The multipart form parser handles a <code>\r\n</code> sequence at a chunk boundary. This fixes the previous attempt, which caused incorrect content lengths. :issue:<code>3065</code> :issue:<code>3077</code></li> <li>Fix <code>AttributeError</code> when initializing <code>DebuggedApplication</code> with <code>pin_security=False</code>. :issue:<code>3075</code></li> </ul> <h2>Version 3.1.4</h2> <p>Released 2025-11-28</p> <ul> <li><code>safe_join</code> on Windows does not allow special device names. This prevents reading from these when using <code>send_from_directory</code>. <code>secure_filename</code> already prevented writing to these. :ghsa:<code>hgf8-39gv-g3f2</code></li> <li>The debugger pin fails after 10 attempts instead of 11. :pr:<code>3020</code></li> <li>The multipart form parser handles a <code>\r\n</code> sequence at a chunk boundary. :issue:<code>3065</code></li> <li>Improve CPU usage during Watchdog reloader. :issue:<code>3054</code></li> <li><code>Request.json</code> annotation is more accurate. :issue:<code>3067</code></li> <li>Traceback rendering handles when the line number is beyond the available source lines. :issue:<code>3044</code></li> <li><code>HTTPException.get_response</code> annotation and doc better conveys the distinction between WSGI and sans-IO responses. :issue:<code>3056</code></li> </ul> <h2>Version 3.1.3</h2> <p>Released 2024-11-08</p> <ul> <li>Initial data passed to <code>MultiDict</code> and similar interfaces only accepts <code>list</code>, <code>tuple</code>, or <code>set</code> when passing multiple values. It had been changed to accept any <code>Collection</code>, but this matched types that should be</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/pallets/werkzeug/commit/04da1b5221b7a7b57e82246e4b5741d37a6b2e56"><code>04da1b5</code></a> release version 3.1.6</li> <li><a href="https://github.com/pallets/werkzeug/commit/f407712fdc60a09c2b3f4fe7db557703e5d9338d"><code>f407712</code></a> Merge commit from fork</li> <li><a href="https://github.com/pallets/werkzeug/commit/f54fe98026253e70fbbcd35a6b52fb67cfff1c03"><code>f54fe98</code></a> safe_join prevents Windows special device names in multi-segment paths</li> <li><a href="https://github.com/pallets/werkzeug/commit/d005985ef69ffe3275eda8fb6fb25e074dbe871b"><code>d005985</code></a> start version 3.1.6</li> <li><a href="https://github.com/pallets/werkzeug/commit/8565c2cbd6681ae8463e77d4fc0795324a7fdae7"><code>8565c2c</code></a> document rule priority (<a href="https://redirect.github.com/pallets/werkzeug/issues/3102">#3102</a>)</li> <li><a href="https://github.com/pallets/werkzeug/commit/3febc7e90072bffe04c27e6b7478dfc4f88930df"><code>3febc7e</code></a> document rule priority</li> <li><a href="https://github.com/pallets/werkzeug/commit/2525b827646c10ab7adb334664e6a4af1b769181"><code>2525b82</code></a> remove state machine docs</li> <li><a href="https://github.com/pallets/werkzeug/commit/4abfbd553cdeb6d4e6fa693340d52b13c884079f"><code>4abfbd5</code></a> rewrite build docstring (<a href="https://redirect.github.com/pallets/werkzeug/issues/3097">#3097</a>)</li> <li><a href="https://github.com/pallets/werkzeug/commit/161c18b2a8800ae6ef377fb3cbdb933a878fea67"><code>161c18b</code></a> rewrite build docstring</li> <li><a href="https://github.com/pallets/werkzeug/commit/86e11c29e44726dae524cd9db11549b3b1ad681d"><code>86e11c2</code></a> release version 3.1.5 (<a href="https://redirect.github.com/pallets/werkzeug/issues/3085">#3085</a>)</li> <li>Additional commits viewable in <a href="https://github.com/pallets/werkzeug/compare/3.1.1...3.1.6">compare view</a></li> </ul> </details> <br /> [](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> |
||
|
|
c9efdf50f5 |
Fix link for Chroma documentation in README (#13682)
### Motivation and Context Link to the Chroma is incorrect. ### Description This PR fixes link for Chroma documentation in README. ### 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 - [x] I didn't break anyone 😄 Co-authored-by: westey <[email protected]> |
||
|
|
2c880ea4b2 |
.Net: [Breaking] Harden plugin security defaults for WebFileDownloadPlugin (#13644)
### Motivation and Context Improve control and security settings for WebFileDownloadPlugin - Change AllowedDomains and AllowedFolders defaults from null (allow-all) to empty (deny-all) - Change DisableFileOverwrite default to true - Set MaximumDownloadSize default to 10 MB - Add path canonicalization via Path.GetFullPath() to prevent directory traversal - Switch folder matching from exact to prefix-based with separator handling - Fix fileMode variable not being used in FileStream constructor - Add XML doc security remarks to all three plugins - Update tests for new defaults Co-authored-by: Copilot <[email protected]> |
||
|
|
12a7d55d3a |
.Net: [Breaking] Harden DocumentPlugin security defaults with deny-by-default AllowedDirectories (#13683)
### Motivation and Context
Improve control and security settings for DocumentPlugin, addressing the
same class of vulnerability (arbitrary file read/write via AI agent
indirect prompt injection) that was patched in SessionsPythonPlugin.
DocumentPlugin previously had **zero security controls** at the plugin
level. Both `ReadTextAsync` and `AppendTextAsync` accepted arbitrary
file paths, delegating directly to `LocalFileSystemConnector` which
calls `File.Open(Environment.ExpandEnvironmentVariables(filePath))` with
no validation.
### Description
- Add `AllowedDirectories` property with deny-by-default (empty HashSet,
no directories allowed)
- Add `IsFilePathAllowed` private method with:
- `Path.GetFullPath()` canonicalization to prevent `../` directory
traversal
- UNC path rejection
- Fully qualified path enforcement
- Prefix matching with directory separator for subdirectory support
- Gate both `ReadTextAsync` and `AppendTextAsync` with path validation
- Add security XML doc remarks documenting secure-by-default behavior
### Tests
- Updated 4 existing tests to configure `AllowedDirectories`
- Added 6 new security tests:
- Deny-by-default (empty AllowedDirectories blocks all paths)
- Path traversal prevention (`../../` canonicalized and rejected)
- UNC path rejection
- Disallowed folder rejection
- Subdirectory prefix matching (subdirectories of allowed folders
succeed)
- Relative path rejection
All 10 DocumentPlugin tests pass.
### Breaking Change
**Yes** — `DocumentPlugin` now denies all file operations by default.
Users must explicitly configure `AllowedDirectories` before any
read/write operations will succeed:
```csharp
var plugin = new DocumentPlugin(documentConnector, fileSystemConnector)
{
AllowedDirectories = ["/path/to/allowed/folder"]
};
```
Co-authored-by: Copilot <[email protected]>
|
||
|
|
41cc2487d2 |
.Net: Fixes Qdrant 1.17 issue with returning empty vectors (#13638)
### Motivation and Context With Qdrant server 1.17 Embeddings stopped being returned. Fixes #13587 ### Description The `VectorOutput.Data` property became deprecated in `Qdrant.Client` 1.17. The alternative is to use `VectorOutput.Dense.Data` instead or `VectorOutput.GetDenseVector()` (from `Qdrant.Client` 1.16.0 or later). Since the `.Dense` already exyists in `Qdrant.Client` 1.15.1 that is used by the current connector, I used these. The `.GetDenseVector()` also returns nullable `DenseVector`, so I was unsure how to handle in context of Semantic Kernel, as as far as I see it Semantic Kernel only supports Dense Vectors (the other two are `.Sparse` for sparse vectors and `.MultiDense`). So this may need special handling in future to throw an exception, when the server returns one of the other two vector types and not dense vectors. ### 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 - [ ] All unit tests pass, and I have added new tests where possible - [ ] I didn't break anyone 😄 I'm currently unable (or rather I don't know how) to run the local integration/unit tests against the qdrant database. But I validated the change in my personal project mentioned in #13587 by directly referencing the connector in my project and it correctly returned the vectors on the sample code where it failed previously ```csharp VectorStoreCollection<ulong, VectorModels.Project> projects = await GetProjectsCollection(); VectorModels.Project? project = await projects.GetAsync((ulong)projectId, new() { IncludeVectors = true }); // project at this poind hat 0 sized Embedding property if (project is null) { return; } await projects.UpsertAsync(project); ``` --------- Co-authored-by: westey <[email protected]> |
||
|
|
301d7dc923 |
.Net: Migrate from deprecated DALL-E models to gpt-image-1 (#13650)
### Motivation and Context - Update default image model from dall-e-2 to gpt-image-1 in ClientCore and OpenAITextToImageService - Handle base64 responses in GenerateImageAsync (gpt-image-1 returns base64 only, no URLs) - Add Medium, Low, and Auto quality options to GetGeneratedImageQuality - Update AzureOpenAI integration tests to use api-version 2025-04-01-preview - Remove URL-specific assertions since gpt-image-1 returns base64 only - Update OpenAI integration tests to reference gpt-image-1 - Update testsettings.json defaults from Dalle3/dall-e-2 to gpt-image-1 - Update OpenAITextToImageExecutionSettings XML docs for gpt-image-1 Co-authored-by: Copilot <[email protected]> |
||
|
|
c2945847ea |
.NET: Update system package dependencies for CVE-2026-26127 (#13656)
## Summary Update NuGet package dependencies to address [CVE-2026-26127](https://github.com/advisories/GHSA-73j8-2gch-69rq), a high severity denial of service vulnerability caused by an out of bounds read during malformed Base64Url decoding. This mirrors the fix applied in Agent Framework [PR #4647](https://github.com/microsoft/agent-framework/pull/4647). ### Package Updates (Directory.Packages.props) | Package | Old Version | New Version | |---------|-------------|-------------| | Microsoft.Bcl.Memory | 10.0.2 | 10.0.4 | | Microsoft.Bcl.AsyncInterfaces | 10.0.3 | 10.0.4 | | System.Linq.AsyncEnumerable | 10.0.2 | 10.0.4 | ### Transitive Vulnerability Fix Added direct `PackageReference` to `Microsoft.Bcl.Memory` in 3 projects that transitively pulled in the vulnerable 9.0.4 version via `Microsoft.ML.Tokenizers.Data.Cl100kBase`. The direct reference forces NuGet to resolve the centrally managed 10.0.4 version instead. Affected projects: - `SemanticKernel.UnitTests` - `IntegrationTests` - `Concepts` (sample) ### Validation - `dotnet restore` completes with zero vulnerability warnings - `dotnet build` succeeds with zero errors |
||
|
|
e500f727ed |
Python: fix prompt template engine blocking HTML tags in content (#13633)
### Motivation and Context Fixes #13632 When a prompt contains HTML tags such as `<p>`, `<div>`, `<b>`, etc., the `ChatHistory.from_rendered_prompt()` method wraps the rendered prompt in a `<root>` element and parses it as XML. Any child elements whose tag names do not match the known SK template tags (`message`, `chat_history`) were silently skipped, causing their text content to be lost. This meant a prompt like: ``` Translate: "<p>What is your name?</p>" ``` would arrive at the LLM as an empty message, because `<p>What is your name?</p>` was discarded during XML traversal. ### Description In `ChatHistory.from_rendered_prompt`, when an XML child element has an unrecognized tag (i.e. it is not `message` or `chat_history`), the element is now serialized back to its original text representation and appended to the preceding message content. The element's tail text is likewise kept in the same message, preserving the full original prompt text. **Changed files:** - `python/semantic_kernel/contents/chat_history.py` -- handle unknown XML tags as literal text in `from_rendered_prompt()` - `python/tests/unit/contents/test_chat_history.py` -- added four regression tests covering HTML `<p>`, multiple HTML tags, HTML surrounded by text, and SK tags mixed with HTML ### 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 new tests have been added - [x] I didn't break any existing functionality --------- Co-authored-by: Evan Mattson <[email protected]> |
||
|
|
3f6d72725f |
Python: Fix image integration tests that are now blocked due to bot policies (#13680)
### Motivation and Context Fix image integration tests that are now blocked due to bot policies <!-- 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 Fix image integration tests that are now blocked due to bot policies <!-- 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 😄 |
||
|
|
cc83889787 |
Python: fix(python/google): preserve thought_signature in Gemini function call parts (#13609)
### Motivation and Context Fixes #13480 When using Gemini models (2.5 Pro / 3 Pro) with thinking enabled, the API returns a `thought_signature` on function call `Part` objects. Per [Google's Thought Signatures documentation](https://ai.google.dev/gemini-api/docs/thought-signatures), this signature **must** be included in subsequent requests. Without it, follow-up turns with tool results fail with: ``` HTTP 400: Function call is missing a thought_signature in functionCall parts ``` The .NET connector was already fixed in #13418. This PR applies the equivalent fix to the Python connector. ### Description **Response parsing** (capture `thought_signature`): - `google_ai_chat_completion.py`: When creating `FunctionCallContent` from response parts, capture `part.thought_signature` into `FunctionCallContent.metadata` (both non-streaming and streaming paths) - `vertex_ai_chat_completion.py`: Same capture via `part_dict.get("thought_signature")` for Vertex AI **Request building** (restore `thought_signature`): - `google_ai/services/utils.py`: In `format_assistant_message()`, when a `FunctionCallContent` has `thought_signature` in its metadata, construct the `Part` directly with the `thought_signature` parameter instead of using `Part.from_function_call()` - `vertex_ai/services/utils.py`: In `format_assistant_message()`, include `thought_signature` in the `Part.from_dict()` dictionary when present **Backward compatible**: When `thought_signature` is not present (thinking disabled or older models), behavior is identical to before. ### Test Coverage Added 4 new tests: - `test_format_assistant_message_with_thought_signature` (Google AI) — verifies round-trip preservation - `test_format_assistant_message_without_thought_signature` (Google AI) — verifies backward compatibility - `test_format_assistant_message_with_thought_signature` (Vertex AI) — verifies round-trip preservation - `test_format_assistant_message_without_thought_signature` (Vertex AI) — verifies backward compatibility All 110 existing Google connector tests continue to pass. ### 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] All unit tests pass, and I have added new tests - [x] I didn't break anyone 😄 --------- Co-authored-by: giulio-leone <[email protected]> Co-authored-by: Copilot <[email protected]> |
||
|
|
b3cf64adf8 |
Python: Bump Python version to 1.41.0 for a release (#13655)
### Motivation and Context Bump Python version to 1.41.0 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 Python version to 1.41.0 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 - [ ] I didn't break anyone 😄python-1.41.0 |
||
|
|
5c891d1769 |
Python: Add support to new openai text to image model (#13651)
### 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. --> Dall-e-3 and Dall-e-2 have been deprecated. The newer gpt-1-image model returns base64 strings. ### Description <!-- Describe your changes, the overall approach, the underlying design. These notes will help understanding how your code works. Thanks! --> Return url if set, otherwise return the base64 string. ### 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: Evan Mattson <[email protected]> |
||
|
|
c250b379f6 |
Python: Refinement of in memory vector collection filter (#13637)
### 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. --> Fixes another way of escaping allowed commands. ### 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: --> - [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 😄 |
||
|
|
d5c2b9d889 |
Python: Improves the robustness of filename handling (#13643)
### 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. --> Improves the robustness of filename handling in the Bedrock agent integration. Ensures that filenames sourced from external responses are properly sanitized before use in file operations, and adds safer defaults for file write behavior. ### Description <!-- Describe your changes, the overall approach, the underlying design. These notes will help understanding how your code works. Thanks! --> 1. Sanitize filenames received from Bedrock agent responses. 2. Add overwrite parameter to BinaryContent.write_to_file (defaults to False). 3. Add tests. 4. Update samples. ### 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 😄 |
||
|
|
02da6c47d7 |
Updating recommended extensions list. (#13645)
### Description Updating recommended extensions. ### 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: alliscode <[email protected]> |
||
|
|
4d67592957 |
.Net: Add server URL validation options for OpenAPI plugins (#13631)
### Motivation and Context
When loading OpenAPI specifications, the SDK uses the `servers[].url`
field to construct HTTP request targets. This PR adds an opt-in
mechanism for consumers to validate and restrict which URLs the OpenAPI
plugin is allowed to call at runtime.
### Description
Introduces `RestApiOperationServerUrlValidationOptions`, a new options
class that can be configured via
`OpenApiFunctionExecutionParameters.ServerUrlValidationOptions` to
control outbound request targets:
- **AllowedSchemes** (`IReadOnlyList\<string\>?`) — restricts which URI
schemes are permitted. When null/empty, defaults to `https` only.
- **AllowedBaseUrls** (`IReadOnlyList\<Uri\>?`) — restricts requests to
URLs matching one of the specified base URL prefixes. When null, no base
URL restriction is applied.
Validation is performed in `RestApiOperationRunner` before any HTTP
request is sent. When `ServerUrlValidationOptions` is not set (default),
behavior is unchanged — no validation is performed.
### Changes
- New class: `RestApiOperationServerUrlValidationOptions`
- `OpenApiFunctionExecutionParameters`: added
`ServerUrlValidationOptions` property (`[Experimental("SKEXP0040")]`)
- `RestApiOperationRunner`: added `ValidateUrl()` with scheme and base
URL checks
- `OpenApiKernelPluginFactory`: wires validation options through to the
runner
- 7 new unit tests covering scheme blocking, base URL allowlisting, and
mixed configurations
### Usage Example
```csharp
var plugin = await kernel.ImportPluginFromOpenApiAsync(
pluginName: "myApi",
filePath: specPath,
executionParameters: new OpenApiFunctionExecutionParameters
{
ServerUrlValidationOptions = new RestApiOperationServerUrlValidationOptions
{
AllowedBaseUrls = [new Uri("https://api.example.com")],
AllowedSchemes = ["https"]
}
});
```
### 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
- [x] New unit tests added
---------
Co-authored-by: Copilot <[email protected]>
|
||
|
|
86d7a49843 |
.Net: Feature text search linq (#13384)
### 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: Alexander Zarei <[email protected]> Co-authored-by: Alexander Zarei <[email protected]> Co-authored-by: Chris <[email protected]> Co-authored-by: Copilot <[email protected]> |
||
|
|
e901020793 |
.Net: Bump SK and MEVD versions for release (#13630)
### 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.73.0 vectordata-dotnet-10.0.1 |
||
|
|
b36a327d76 | .Net: Fix input checking in Cosmos NoSQL, Redis and Weaviate providers (#13629) | ||
|
|
e9641a9106 |
.Net: Fix column nullability in SQL MEVD providers (#13622)
Closes #12560 |
||
|
|
b712ffc98e |
Python: Bump py version to 1.40.0 for a release (#13619)
### Motivation and Context Bump py version to 1.40.0 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.40.0 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 - [ ] I didn't break anyone 😄python-1.40.0 |
||
|
|
781881a34f |
.Net: Deduplicate embedding generation management (#13615)
Closes #12508 |
||
|
|
429dd1c4c0 |
Python: support (Azure) OpenAI realtime audio models (#13291)
### Motivation and Context As of 2/27/2026, revived the PR, and the latest code is working for both Azure OpenAI realtime models and OpenAI realtime models. SK has support for realtime-preview models; however, since they've gone to GA we have not added support for the latest library abstractions. This PR brings in the changes to support running models like `gpt-realtime-1.5`, `gpt-realtime`, `gpt-realtime-mini` or `gpt-audio`. <!-- 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 - Closes #13267 - Code now relies on `openai` >= 2.0 - Considered a breaking change due some new config added to the execution settings. <!-- 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 😄 |
||
|
|
74d4310fd4 | .Net: Handle installation of pgvector on PostgreSQL (#13600) | ||
|
|
f077655fd6 |
.Net: [MEVD] Add validation for mismatched collection key (#13594)
Closes #11355 |
||
|
|
f59e395230 |
.Net: [MEVD] Make PG schema nullable (#13593)
Closes #10853 |