Skip to content

Commit d08a482

Browse files
Python: Prepare 1.47.0 release and consolidate dependency updates (#14720)
### 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. --> Prepare the Semantic Kernel Python package for the `1.47.0` release and consolidate all six open Python package Dependabot updates into one validated change. The prerequisite #14708 has merged and is included in this branch. Python 3.10 support is removed; the package now requires Python 3.11+ and advertises support through Python 3.14. This compatibility change is the reason for the minor release. Other Python changes already merged since `python-1.46.0` include fixes for MCP initialization and prompt arguments, Redis vector search, Google AI embeddings and token usage, Mistral settings and finish reasons, SQL Server handling, OpenAPI URL matching, schema generation, chat history and tool results, Handlebars helpers, and empty in-memory searches. ### Description <!-- Describe your changes, the overall approach, the underlying design. These notes will help understanding how your code works. Thanks! --> - Update `semantic_kernel.__version__` from `1.46.0` to `1.47.0`. - Allow `flit-core >=3.9,<5.0`; verified the build with Flit Core 4.2.0. Supersedes #14596. - Expand the boto3 upper bound to `<1.44.0` and lock boto3/botocore 1.43.123 with s3transfer 0.19.3. Supersedes #14597. - Expand the google-genai upper bound to `<2.30`. The combined Google extra still resolves google-genai 1.75.0 because google-cloud-aiplatform requires `<2.0.0`. Supersedes #14598. - Expand the Redis upper bound to `<9`; lock Redis 8.1.0 and compatible redisvl 0.30.0. Supersedes #14599. - Pin ONNX Runtime GenAI to 0.18.0 and lock its required ONNX Runtime 1.31.1. No Python 3.10 compatibility pins remain. Supersedes #14600. - Update the MCP OAuth sample lockfile from MCP 1.28.1 to 1.30.0. Supersedes #14627. - Regenerate both affected lockfiles. Preserve exact original lock entries, including registry URLs and artifact metadata, for every unchanged SDK dependency. New package versions use PyPI because the existing proxy returned a metadata 404 for the new ONNX GenAI wheel. Validation: - `uv build --project python --no-sources` — passed; built the `1.47.0` wheel and source distribution. The build selected Flit Core 4.2.0. uv reports the existing prerelease-mode deprecation warning. - `cd python && uv run --no-sync pytest tests/unit/connectors/ai/bedrock tests/unit/connectors/ai/google/google_ai tests/unit/connectors/ai/onnx tests/unit/connectors/memory/test_redis_store.py tests/unit/connectors/mcp --disable-warnings -q` — passed on Python 3.14.0rc3 with boto3 1.43.123, Redis 8.1.0, redisvl 0.30.0, ONNX Runtime GenAI 0.18.0, and ONNX Runtime 1.31.1 installed. - `python/.venv/bin/pre-commit run --files python/pyproject.toml python/semantic_kernel/__init__.py python/uv.lock python/samples/demos/mcp_with_oauth/uv.lock --config python/.pre-commit-config.yaml` — passed for all applicable hooks. - `uvx --from uv==0.5.30 uv lock --project python --check` — passed, using the SDK's pre-commit resolver version. - `uv lock --project python/samples/demos/mcp_with_oauth --check` — passed. - `git diff --check` — passed. - Parsed wheel `METADATA` and source `PKG-INFO` — passed: version `1.47.0`, `Requires-Python: >=3.11`, and all requested runtime dependency bounds are present. - Asserted that all unchanged SDK dependencies retain their exact original lock entries and that both affected lockfiles contain the requested updates — passed. The full unit-test suite and live-service integration tests were not run locally. This PR remains a draft pending release review and CI; it does not publish a release. ### Contribution Checklist <!-- Before submitting this PR, please make sure: --> - [ ] 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 😄
1 parent 28c0d60 commit d08a482

4 files changed

Lines changed: 81 additions & 81 deletions

File tree

‎python/pyproject.toml‎

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ autogen = [
6969
"autogen-agentchat >= 0.2, <0.4; python_version < '3.14' and (sys_platform != 'win32' or python_version < '3.13')"
7070
]
7171
aws = [
72-
"boto3>=1.36.4,<1.43.0",
72+
"boto3>=1.36.4,<1.44.0",
7373
]
7474
azure = [
7575
"azure-ai-inference >= 1.0.0b6",
@@ -89,7 +89,7 @@ faiss = [
8989
]
9090
google = [
9191
"google-cloud-aiplatform>=1.114,<1.134",
92-
"google-genai >= 1.51,< 2.23"
92+
"google-genai >= 1.51,< 2.30"
9393
]
9494
hugging_face = [
9595
"transformers[torch] >= 5.5.0,< 6.0",
@@ -118,7 +118,7 @@ ollama = [
118118
]
119119
onnx = [
120120
"onnxruntime>=1.26.0",
121-
"onnxruntime-genai==0.15.2"
121+
"onnxruntime-genai==0.18.0"
122122
]
123123
oracledb = [
124124
"oracledb >= 3.4.1"
@@ -137,7 +137,7 @@ qdrant = [
137137
"qdrant-client ~= 1.10"
138138
]
139139
redis = [
140-
"redis[hiredis] >= 6,< 8",
140+
"redis[hiredis] >= 6,< 9",
141141
"types-redis ~= 4.6.0.20240425",
142142
"redisvl ~= 0.4"
143143
]
@@ -253,5 +253,5 @@ exclude_dirs = ["tests", "samples/demos/mcp_with_oauth"]
253253
name = "semantic_kernel"
254254

255255
[build-system]
256-
requires = ["flit-core >= 3.9,<4.0"]
256+
requires = ["flit-core >= 3.9,< 5.0"]
257257
build-backend = "flit_core.buildapi"

‎python/samples/demos/mcp_with_oauth/uv.lock‎

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎python/semantic_kernel/__init__.py‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
from semantic_kernel.kernel import Kernel
44

5-
__version__ = "1.46.0"
5+
__version__ = "1.47.0"
66

77
DEFAULT_RC_VERSION = f"{__version__}-rc9"
88

0 commit comments

Comments
 (0)