fix(py): resolve CI license check failures and lint diagnostics#4524
fix(py): resolve CI license check failures and lint diagnostics#4524
Conversation
Summary of ChangesHello @yesudeep, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request focuses on enhancing the developer experience and robustness of several Python samples. It provides clearer guidance and automated steps for setting up the Highlights
🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console. Changelog
Activity
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Code Review
This pull request introduces several small but valuable fixes and improvements across various Python samples. The changes enhance documentation clarity, improve script robustness, and align sample code with best practices by using default parameter values and structured inputs for flows. I've provided a couple of minor suggestions to further improve documentation consistency and clarity. Overall, these are positive changes that enhance the developer experience.
2853f4f to
ed5a299
Compare
|
/gemini review |
There was a problem hiding this comment.
Code Review
This pull request introduces a variety of fixes and improvements across the Python samples and plugins. Key changes include adding new models like Claude 4.6 Opus and DeepSeek V4, enhancing sample usability with default arguments and improved setup scripts, and adding a new consistency check for CHANGELOG.md files. The refactoring of shared logic and updates to documentation are also welcome improvements. My only suggestion is to reorder the model definitions in the Amazon Bedrock plugin for better readability and maintainability. Overall, these are solid enhancements to the codebase.
py/plugins/amazon-bedrock/src/genkit/plugins/amazon_bedrock/plugin.py
Outdated
Show resolved
Hide resolved
3797b88 to
8847b68
Compare
504cd39 to
f64252a
Compare
|
/gemini review |
There was a problem hiding this comment.
Code Review
This is an excellent pull request that delivers a wide range of fixes and improvements across the Python ecosystem. The changes significantly enhance developer experience, code quality, and documentation.
Key highlights include:
- Improved Logging: The migration to structured logging using
structlogis a great step towards better observability. - Robust Samples: The
run.shscripts are now much more user-friendly, with interactive prompts and dependency checks (like for Ollama). Adding default values to flows is also a great touch for Dev UI usability. - Enhanced Structured Output: The work to support
json_schemaand resolve$refs in plugins like Cloudflare and Hugging Face is a crucial improvement for reliable structured data generation. - Better Media Handling: The fixes for media URL processing in the
google-genaiandamazon-bedrockplugins, especially handling provider-specific requirements like YouTube URLs, are critical for multimodal use cases. - Documentation: The updates to
GEMINI.mdand various READMEs, particularly the new troubleshooting sections, are very valuable for contributors and users. - Testing: The addition of comprehensive tests for new features and bug fixes (e.g., schema resolution, streaming tool parsing) is commendable.
Overall, this is a high-quality contribution that addresses many small but important details across the codebase. The attention to developer experience is particularly noteworthy. I have no major concerns and approve of these changes.
8a413f7 to
9a96cb1
Compare
|
/gemini review |
There was a problem hiding this comment.
Code Review
This pull request delivers a substantial set of fixes and improvements across the Python samples and plugins. The changes enhance developer experience by adding default parameter values to flows, improving READMEs with better instructions, and fixing bugs. Key improvements in the plugins include migrating to structured logging, refactoring to a shared HTTP client for better performance, adding support for new models, and fixing issues with streaming tool use and structured output. The infrastructure is also improved with a new consistency check for changelogs. Overall, these are high-quality changes that significantly improve the codebase.
py/plugins/google-genai/src/genkit/plugins/google_genai/models/gemini.py
Outdated
Show resolved
Hide resolved
57b1863 to
b02c1ba
Compare
31fb291 to
5a4fcce
Compare
…kit_to_googleai_cfg Extract config conversion into three focused helpers: - _normalize_config_to_dict: converges all input types into a dict - _extract_tools_from_config: pops tool-related keys into tools list - _clean_unsupported_keys: removes Genkit-specific and SDK-gated keys This eliminates the duplicated "version" key removal (was in both the GenerationCommonConfig branch and the GeminiConfigSchema branch) and makes the pipeline linear: normalize → extract tools → clean → build. All 92 google-genai tests pass with no regressions. Addresses Gemini Code Assist review on #4524.
…kit_to_googleai_cfg Extract config conversion into three focused helpers: - _normalize_config_to_dict: converges all input types into a dict - _extract_tools_from_config: pops tool-related keys into tools list - _clean_unsupported_keys: removes Genkit-specific and SDK-gated keys This eliminates the duplicated "version" key removal (was in both the GenerationCommonConfig branch and the GeminiConfigSchema branch) and makes the pipeline linear: normalize → extract tools → clean → build. All 92 google-genai tests pass with no regressions. Addresses Gemini Code Assist review on #4524.
9965278 to
e4b6d90
Compare
|
/gemini review |
fix: huggingface fix(py/plugins): address Gemini review — structured logging for checks and deepseek Gemini Code Assist review identified f-string usage in logger.warning() calls that should use structured key-value pairs for better log parsing and analysis. Changes: - checks/guardrails.py: convert 2 f-string warnings to structured logging (error=, quota_project=, configured_project_id=) - deepseek/models.py: convert f-string warning to structured logging (model_name=, parameter=) - deepseek tests: update assertions to check structured log keys instead of searching the event string docs(py): add import-to-dependency completeness guideline to GEMINI.md Document the common error where source code imports a genkit plugin but the pyproject.toml doesn't declare it as a dependency. This causes ModuleNotFoundError at runtime when installed standalone. Includes a real-world example from provider-vertex-ai-model-garden and a manual verification script. fix(py): add setuptools dep for liccheck Python 3.12+ compatibility liccheck depends on pkg_resources which was part of setuptools. In Python 3.12+, setuptools is no longer bundled in the stdlib, causing ModuleNotFoundError in CI environments. Add setuptools>=75.0.0 as an explicit dependency alongside liccheck. fix(bin): use --active in check_license for uv run liccheck Without --active, uv run creates an isolated environment that may not have setuptools installed. liccheck depends on pkg_resources (from setuptools) which was removed from the Python 3.12+ stdlib. Using --active ensures the already-synced venv with setuptools is used. fix(py): resolve lint failures (setuptools pin, ty warnings, liccheck) - Pin setuptools<82 because v82 removed pkg_resources entirely, breaking liccheck which imports it at module level. - Remove 4 unused blanket "# type: ignore" comments in sample-test that ty flagged as errors. - Add sys.version_info guard for tomllib (3.11+) import. - Add model_performance_test to pyrefly ignore-missing-imports since sample-test is excluded from the uv workspace. refactor(py/plugins/google-genai): simplify config conversion in _genkit_to_googleai_cfg Extract config conversion into three focused helpers: - _normalize_config_to_dict: converges all input types into a dict - _extract_tools_from_config: pops tool-related keys into tools list - _clean_unsupported_keys: removes Genkit-specific and SDK-gated keys This eliminates the duplicated "version" key removal (was in both the GenerationCommonConfig branch and the GeminiConfigSchema branch) and makes the pipeline linear: normalize → extract tools → clean → build. All 92 google-genai tests pass with no regressions. Addresses Gemini Code Assist review on #4524. fix(py): resolve ty diagnostics and improve pyright namespace resolution - Fix ty invalid-assignment: cast tools list to ToolListUnion - Fix ty unused-type-ignore-comment: remove unneeded suppression - Fix dict[str, object] -> dict[str, Any] for model_dump() return type - Add extraPaths to pyright config for PEP 420 namespace resolution (reduces plugin pyright errors from 66 to 24 for local dev) All checks pass: ty, pyrefly, pyright, ruff, 92 google-genai tests.
9211a60 to
5f58919
Compare
There was a problem hiding this comment.
Code Review
This is an excellent pull request that brings a wide range of improvements across the Python samples and plugins. The focus on developer experience is particularly noteworthy, with clearer documentation, more robust run.sh scripts, and better error handling. The move to structured logging and the enhancements to structured output support are great for code quality and maintainability. The fixes for media handling and dependency management are also crucial. I have one minor comment regarding a missing dependency.
fix: huggingface fix(py/plugins): address Gemini review — structured logging for checks and deepseek Gemini Code Assist review identified f-string usage in logger.warning() calls that should use structured key-value pairs for better log parsing and analysis. Changes: - checks/guardrails.py: convert 2 f-string warnings to structured logging (error=, quota_project=, configured_project_id=) - deepseek/models.py: convert f-string warning to structured logging (model_name=, parameter=) - deepseek tests: update assertions to check structured log keys instead of searching the event string docs(py): add import-to-dependency completeness guideline to GEMINI.md Document the common error where source code imports a genkit plugin but the pyproject.toml doesn't declare it as a dependency. This causes ModuleNotFoundError at runtime when installed standalone. Includes a real-world example from provider-vertex-ai-model-garden and a manual verification script. fix(py): add setuptools dep for liccheck Python 3.12+ compatibility liccheck depends on pkg_resources which was part of setuptools. In Python 3.12+, setuptools is no longer bundled in the stdlib, causing ModuleNotFoundError in CI environments. Add setuptools>=75.0.0 as an explicit dependency alongside liccheck. fix(bin): use --active in check_license for uv run liccheck Without --active, uv run creates an isolated environment that may not have setuptools installed. liccheck depends on pkg_resources (from setuptools) which was removed from the Python 3.12+ stdlib. Using --active ensures the already-synced venv with setuptools is used. fix(py): resolve lint failures (setuptools pin, ty warnings, liccheck) - Pin setuptools<82 because v82 removed pkg_resources entirely, breaking liccheck which imports it at module level. - Remove 4 unused blanket "# type: ignore" comments in sample-test that ty flagged as errors. - Add sys.version_info guard for tomllib (3.11+) import. - Add model_performance_test to pyrefly ignore-missing-imports since sample-test is excluded from the uv workspace. refactor(py/plugins/google-genai): simplify config conversion in _genkit_to_googleai_cfg Extract config conversion into three focused helpers: - _normalize_config_to_dict: converges all input types into a dict - _extract_tools_from_config: pops tool-related keys into tools list - _clean_unsupported_keys: removes Genkit-specific and SDK-gated keys This eliminates the duplicated "version" key removal (was in both the GenerationCommonConfig branch and the GeminiConfigSchema branch) and makes the pipeline linear: normalize → extract tools → clean → build. All 92 google-genai tests pass with no regressions. Addresses Gemini Code Assist review on #4524. fix(py): resolve ty diagnostics and improve pyright namespace resolution - Fix ty invalid-assignment: cast tools list to ToolListUnion - Fix ty unused-type-ignore-comment: remove unneeded suppression - Fix dict[str, object] -> dict[str, Any] for model_dump() return type - Add extraPaths to pyright config for PEP 420 namespace resolution (reduces plugin pyright errors from 66 to 24 for local dev) All checks pass: ty, pyrefly, pyright, ruff, 92 google-genai tests. fix(py): remove tomli fallback, exclude sample-test from ty The tomli fallback was unnecessary — the try/except block already handles ImportError on Python 3.10 gracefully. Exclude sample-test from ty since it is already excluded from the uv workspace and has unresolvable deps (model_performance_test, tomllib on 3.10). fix(py/samples): add tomli as conditional dep for Python <3.11 - Add tomli>=2.0.0 with python_version < 3.11 marker to sample-test - Restore sys.version_info guard with tomli fallback in server.py - Revert ty exclusion of sample-test (no longer needed)
ee4fdb0 to
24ca6b1
Compare
# Release v0.6.0
This release includes **67** package(s).
| Package | Version heading |
|---------|----------------|
| `conform` | 0.2.0 (2026-02-17) |
| `dev-local-vectorstore-hello` | 0.2.0 (2026-02-17) |
| `framework-context-demo` | 0.2.0 (2026-02-17) |
| `framework-custom-evaluators` | 0.1.0 (2026-02-17) |
| `framework-dynamic-tools-demo` | 0.2.0 (2026-02-17) |
| `framework-evaluator-demo` | 0.1.0 (2026-02-17) |
| `framework-format-demo` | 0.2.0 (2026-02-17) |
| `framework-middleware-demo` | 0.2.0 (2026-02-17) |
| `framework-prompt-demo` | 0.1.0 (2026-02-17) |
| `framework-realtime-tracing-demo` | 0.2.0 (2026-02-17) |
| `framework-restaurant-demo` | 0.2.0 (2026-02-17) |
| `framework-tool-interrupts` | 0.2.0 (2026-02-17) |
| `genkit` | 0.6.0 (2026-02-17) |
| `genkit-plugin-amazon-bedrock` | 0.6.0 (2026-02-17) |
| `genkit-plugin-anthropic` | 0.6.0 (2026-02-17) |
| `genkit-plugin-checks` | 0.6.0 (2026-02-17) |
| `genkit-plugin-cloudflare-workers-ai` | 0.6.0 (2026-02-17) |
| `genkit-plugin-cohere` | 0.6.0 (2026-02-17) |
| `genkit-plugin-compat-oai` | 0.6.0 (2026-02-17) |
| `genkit-plugin-deepseek` | 0.6.0 (2026-02-17) |
| `genkit-plugin-dev-local-vectorstore` | 0.6.0 (2026-02-17) |
| `genkit-plugin-evaluators` | 0.6.0 (2026-02-17) |
| `genkit-plugin-fastapi` | 0.6.0 (2026-02-17) |
| `genkit-plugin-firebase` | 0.6.0 (2026-02-17) |
| `genkit-plugin-flask` | 0.6.0 (2026-02-17) |
| `genkit-plugin-google-cloud` | 0.6.0 (2026-02-17) |
| `genkit-plugin-google-genai` | 0.6.0 (2026-02-17) |
| `genkit-plugin-huggingface` | 0.6.0 (2026-02-17) |
| `genkit-plugin-mcp` | 0.6.0 (2026-02-17) |
| `genkit-plugin-microsoft-foundry` | 0.6.0 (2026-02-17) |
| `genkit-plugin-mistral` | 0.6.0 (2026-02-17) |
| `genkit-plugin-observability` | 0.6.0 (2026-02-17) |
| `genkit-plugin-ollama` | 0.6.0 (2026-02-17) |
| `genkit-plugin-vertex-ai` | 0.6.0 (2026-02-17) |
| `genkit-plugin-xai` | 0.6.0 (2026-02-17) |
| `genkit-tools-model-config-test` | 0.2.0 (2026-02-17) |
| `genkit-tools-sample-flows` | 0.1.1 (2026-02-17) |
| `provider-amazon-bedrock-hello` | 0.2.0 (2026-02-17) |
| `provider-anthropic-hello` | 0.2.0 (2026-02-17) |
| `provider-checks-hello` | 0.2.0 (2026-02-17) |
| `provider-cloudflare-workers-ai-hello` | 0.2.0 (2026-02-17) |
| `provider-cohere-hello` | 0.2.0 (2026-02-17) |
| `provider-compat-oai-hello` | 0.2.0 (2026-02-17) |
| `provider-deepseek-hello` | 0.2.0 (2026-02-17) |
| `provider-firestore-retriever` | 0.2.0 (2026-02-17) |
| `provider-google-genai-code-execution` | 0.2.0 (2026-02-17) |
| `provider-google-genai-context-caching` | 0.2.0 (2026-02-17) |
| `provider-google-genai-hello` | 0.2.0 (2026-02-17) |
| `provider-google-genai-media-models-demo` | 0.2.0 (2026-02-17) |
| `provider-google-genai-vertexai-hello` | 0.2.0 (2026-02-17) |
| `provider-google-genai-vertexai-image` | 0.2.0 (2026-02-17) |
| `provider-huggingface-hello` | 0.2.0 (2026-02-17) |
| `provider-microsoft-foundry-hello` | 0.1.0 (2026-02-17) |
| `provider-mistral-hello` | 0.2.0 (2026-02-17) |
| `provider-observability-hello` | 0.2.0 (2026-02-17) |
| `provider-ollama-hello` | 0.2.0 (2026-02-17) |
| `provider-vertex-ai-model-garden` | 0.2.0 (2026-02-17) |
| `provider-vertex-ai-rerank-eval` | 0.2.0 (2026-02-17) |
| `provider-vertex-ai-vector-search-bigquery` | 0.2.0 (2026-02-17) |
| `provider-vertex-ai-vector-search-firestore` | 0.2.0 (2026-02-17) |
| `provider-xai-hello` | 0.2.0 (2026-02-17) |
| `releasekit` | 0.2.0 (2026-02-17) |
| `web-endpoints-hello` | 0.2.0 (2026-02-17) |
| `web-fastapi-bugbot` | 0.2.0 (2026-02-17) |
| `web-flask-hello` | 0.2.0 (2026-02-17) |
| `web-multi-server` | 0.2.0 (2026-02-17) |
| `web-short-n-long` | 0.2.0 (2026-02-17) |
## Changelogs
<details><summary><b>genkit-tools-sample-flows</b></summary>
## 0.1.1 (2026-02-17)
### Bug Fixes
- **py**: relocate tools of model-config test and sample-flow test (1043245, #4669) — @Elisa Shen
</details>
<details><summary><b>genkit-tools-model-config-test</b></summary>
## 0.2.0 (2026-02-17)
### Features
- **releasekit**: genkit.ai (f2dde35, #4702) — @Yesudeep Mangalapilly
### Bug Fixes
- **py**: relocate tools of model-config test and sample-flow test (1043245, #4669) — @Elisa Shen
</details>
<details><summary><b>framework-custom-evaluators</b></summary>
## 0.1.0 (2026-02-17)
### Features
- **releasekit**: supply-chain security, multi-ecosystem orchestration, and CI hardening (29d3ec1, #4682) — @Yesudeep Mangalapilly
### Bug Fixes
- **py**: add custom evaluator sample to match JS (3472939, #4670) — @Elisa Shen
</details>
<details><summary><b>genkit-plugin-fastapi</b></summary>
## 0.6.0 (2026-02-17)
### Features
- **py**: Add fastAPI plugin and sample (417158d, #4543) — @huangjeff5
### Bug Fixes
- **py**: address releasekit check warnings for metadata and grouping (4f5a910, #4595) — @Yesudeep Mangalapilly
- **ci**: enable releasekit check in bin/lint and PR workflow (f245d6b, #4590) — @Yesudeep Mangalapilly
</details>
<details><summary><b>provider-checks-hello</b></summary>
## 0.2.0 (2026-02-17)
### Features
- **releasekit**: add Forge protocol extensions, transitive propagation, and multi-backend conformance (d6dbb44, #4577) — @Yesudeep Mangalapilly
- **py/checks**: add Google Checks AI Safety plugin (a8bf3c1, #4504) — @Yesudeep Mangalapilly
### Bug Fixes
- **py**: resolve CI license check failures and lint diagnostics (e8519ef, #4524) — @Yesudeep Mangalapilly
</details>
<details><summary><b>web-fastapi-bugbot</b></summary>
## 0.2.0 (2026-02-17)
### Features
- **py**: Add fastAPI plugin and sample (417158d, #4543) — @huangjeff5
### Bug Fixes
- **py**: handle nullable JSON Schema types in Gemini plugin and clean up samples (4daef62, #4629) — @Yesudeep Mangalapilly
- **py**: address releasekit check warnings for metadata and grouping (4f5a910, #4595) — @Yesudeep Mangalapilly
- **ci**: enable releasekit check in bin/lint and PR workflow (f245d6b, #4590) — @Yesudeep Mangalapilly
</details>
<details><summary><b>provider-cohere-hello</b></summary>
## 0.2.0 (2026-02-17)
### Features
- **releasekit**: add Forge protocol extensions, transitive propagation, and multi-backend conformance (d6dbb44, #4577) — @Yesudeep Mangalapilly
- **py/plugins**: add Cohere provider plugin (e424dcd, #4518) — @Yesudeep Mangalapilly
### Bug Fixes
- **py**: add missing LICENSE file and license metadata to samples (4ddd8a3, #4571) — @Yesudeep Mangalapilly
### Refactoring
- **py/plugins**: extract converters, add tests, community labeling (ebd0a2e, #4520) — @Yesudeep Mangalapilly
</details>
<details><summary><b>web-flask-hello</b></summary>
## 0.2.0 (2026-02-17)
### Features
- **releasekit**: add Forge protocol extensions, transitive propagation, and multi-backend conformance (d6dbb44, #4577) — @Yesudeep Mangalapilly
- **py/samples**: add web-endpoints-hello — REST + gRPC kitchen-sink sample (8614e5e, #4498) — @Yesudeep Mangalapilly
### Refactoring
- **py/samples**: standardize naming taxonomy, consolidate shared logic, and close feature coverage gaps (1996c7c, #4488) — @Yesudeep Mangalapilly
### Documentation
- **py**: update readmes for all samples and plugins (e02ea9f, #4624) — @Yesudeep Mangalapilly
</details>
<details><summary><b>framework-format-demo</b></summary>
## 0.2.0 (2026-02-17)
### Features
- **releasekit**: add Forge protocol extensions, transitive propagation, and multi-backend conformance (d6dbb44, #4577) — @Yesudeep Mangalapilly
- **py/samples**: add web-endpoints-hello — REST + gRPC kitchen-sink sample (8614e5e, #4498) — @Yesudeep Mangalapilly
### Refactoring
- **py/samples**: standardize naming taxonomy, consolidate shared logic, and close feature coverage gaps (1996c7c, #4488) — @Yesudeep Mangalapilly
### Documentation
- **py**: update readmes for all samples and plugins (e02ea9f, #4624) — @Yesudeep Mangalapilly
</details>
<details><summary><b>framework-context-demo</b></summary>
## 0.2.0 (2026-02-17)
### Features
- **releasekit**: add Forge protocol extensions, transitive propagation, and multi-backend conformance (d6dbb44, #4577) — @Yesudeep Mangalapilly
- **py/samples**: add web-endpoints-hello — REST + gRPC kitchen-sink sample (8614e5e, #4498) — @Yesudeep Mangalapilly
### Refactoring
- **py/samples**: standardize naming taxonomy, consolidate shared logic, and close feature coverage gaps (1996c7c, #4488) — @Yesudeep Mangalapilly
### Documentation
- **py**: update readmes for all samples and plugins (e02ea9f, #4624) — @Yesudeep Mangalapilly
</details>
<details><summary><b>framework-middleware-demo</b></summary>
## 0.2.0 (2026-02-17)
### Features
- **releasekit**: add Forge protocol extensions, transitive propagation, and multi-backend conformance (d6dbb44, #4577) — @Yesudeep Mangalapilly
- **py/samples**: add web-endpoints-hello — REST + gRPC kitchen-sink sample (8614e5e, #4498) — @Yesudeep Mangalapilly
### Refactoring
- **py/samples**: standardize naming taxonomy, consolidate shared logic, and close feature coverage gaps (1996c7c, #4488) — @Yesudeep Mangalapilly
### Documentation
- **py**: update readmes for all samples and plugins (e02ea9f, #4624) — @Yesudeep Mangalapilly
</details>
<details><summary><b>provider-firestore-retriever</b></summary>
## 0.2.0 (2026-02-17)
### Features
- **releasekit**: add Forge protocol extensions, transitive propagation, and multi-backend conformance (d6dbb44, #4577) — @Yesudeep Mangalapilly
- **py/samples**: add web-endpoints-hello — REST + gRPC kitchen-sink sample (8614e5e, #4498) — @Yesudeep Mangalapilly
### Bug Fixes
- **py**: migrate default embedding model to gemini-embedding-001 (051f75f, #4557) — @Elisa Shen
### Refactoring
- **py/samples**: standardize naming taxonomy, consolidate shared logic, and close feature coverage gaps (1996c7c, #4488) — @Yesudeep Mangalapilly
</details>
<details><summary><b>framework-dynamic-tools-demo</b></summary>
## 0.2.0 (2026-02-17)
### Features
- **releasekit**: add Forge protocol extensions, transitive propagation, and multi-backend conformance (d6dbb44, #4577) — @Yesudeep Mangalapilly
- **py/samples**: add web-endpoints-hello — REST + gRPC kitchen-sink sample (8614e5e, #4498) — @Yesudeep Mangalapilly
### Refactoring
- **py/samples**: standardize naming taxonomy, consolidate shared logic, and close feature coverage gaps (1996c7c, #4488) — @Yesudeep Mangalapilly
### Documentation
- **py**: update readmes for all samples and plugins (e02ea9f, #4624) — @Yesudeep Mangalapilly
</details>
<details><summary><b>provider-ollama-hello</b></summary>
## 0.2.0 (2026-02-17)
### Features
- **releasekit**: add Forge protocol extensions, transitive propagation, and multi-backend conformance (d6dbb44, #4577) — @Yesudeep Mangalapilly
- **py/samples**: add web-endpoints-hello — REST + gRPC kitchen-sink sample (8614e5e, #4498) — @Yesudeep Mangalapilly
### Bug Fixes
- **py**: resolve CI license check failures and lint diagnostics (e8519ef, #4524) — @Yesudeep Mangalapilly
### Refactoring
- **py/samples**: standardize naming taxonomy, consolidate shared logic, and close feature coverage gaps (1996c7c, #4488) — @Yesudeep Mangalapilly
</details>
<details><summary><b>provider-google-genai-code-execution</b></summary>
## 0.2.0 (2026-02-17)
### Features
- **releasekit**: add Forge protocol extensions, transitive propagation, and multi-backend conformance (d6dbb44, #4577) — @Yesudeep Mangalapilly
- **py/samples**: add web-endpoints-hello — REST + gRPC kitchen-sink sample (8614e5e, #4498) — @Yesudeep Mangalapilly
### Refactoring
- **py/samples**: standardize naming taxonomy, consolidate shared logic, and close feature coverage gaps (1996c7c, #4488) — @Yesudeep Mangalapilly
### Documentation
- **py**: update readmes for all samples and plugins (e02ea9f, #4624) — @Yesudeep Mangalapilly
</details>
<details><summary><b>provider-google-genai-context-caching</b></summary>
## 0.2.0 (2026-02-17)
### Features
- **releasekit**: add Forge protocol extensions, transitive propagation, and multi-backend conformance (d6dbb44, #4577) — @Yesudeep Mangalapilly
- **py/samples**: add web-endpoints-hello — REST + gRPC kitchen-sink sample (8614e5e, #4498) — @Yesudeep Mangalapilly
### Refactoring
- **py/samples**: standardize naming taxonomy, consolidate shared logic, and close feature coverage gaps (1996c7c, #4488) — @Yesudeep Mangalapilly
### Documentation
- **py**: update readmes for all samples and plugins (e02ea9f, #4624) — @Yesudeep Mangalapilly
</details>
<details><summary><b>provider-vertex-ai-vector-search-bigquery</b></summary>
## 0.2.0 (2026-02-17)
### Features
- **releasekit**: add Forge protocol extensions, transitive propagation, and multi-backend conformance (d6dbb44, #4577) — @Yesudeep Mangalapilly
- **py/samples**: add web-endpoints-hello — REST + gRPC kitchen-sink sample (8614e5e, #4498) — @Yesudeep Mangalapilly
### Bug Fixes
- **py**: migrate default embedding model to gemini-embedding-001 (051f75f, #4557) — @Elisa Shen
### Refactoring
- **py/samples**: standardize naming taxonomy, consolidate shared logic, and close feature coverage gaps (1996c7c, #4488) — @Yesudeep Mangalapilly
</details>
<details><summary><b>genkit-plugin-checks</b></summary>
## 0.6.0 (2026-02-17)
### Features
- **releasekit**: add Forge protocol extensions, transitive propagation, and multi-backend conformance (d6dbb44, #4577) — @Yesudeep Mangalapilly
- **py/checks**: add Google Checks AI Safety plugin (a8bf3c1, #4504) — @Yesudeep Mangalapilly
### Bug Fixes
- **releasekit**: replace literal null byte with git %x00 escape in changelog format (4866724, #4661) — @Yesudeep Mangalapilly
- issues reported by releasekit (fba9ed1, #4646) — @Yesudeep Mangalapilly
- **py**: resolve CI license check failures and lint diagnostics (e8519ef, #4524) — @Yesudeep Mangalapilly
</details>
<details><summary><b>provider-microsoft-foundry-hello</b></summary>
## 0.1.0 (2026-02-17)
### Features
- **releasekit**: add Forge protocol extensions, transitive propagation, and multi-backend conformance (d6dbb44, #4577) — @Yesudeep Mangalapilly
- **py/samples**: add web-endpoints-hello — REST + gRPC kitchen-sink sample (8614e5e, #4498) — @Yesudeep Mangalapilly
### Bug Fixes
- **py**: resolve CI license check failures and lint diagnostics (e8519ef, #4524) — @Yesudeep Mangalapilly
### Refactoring
- **py/samples**: standardize naming taxonomy, consolidate shared logic, and close feature coverage gaps (1996c7c, #4488) — @Yesudeep Mangalapilly
</details>
<details><summary><b>provider-vertex-ai-vector-search-firestore</b></summary>
## 0.2.0 (2026-02-17)
### Features
- **releasekit**: add Forge protocol extensions, transitive propagation, and multi-backend conformance (d6dbb44, #4577) — @Yesudeep Mangalapilly
- **py/samples**: add web-endpoints-hello — REST + gRPC kitchen-sink sample (8614e5e, #4498) — @Yesudeep Mangalapilly
### Bug Fixes
- **py**: migrate default embedding model to gemini-embedding-001 (051f75f, #4557) — @Elisa Shen
### Refactoring
- **py/samples**: standardize naming taxonomy, consolidate shared logic, and close feature coverage gaps (1996c7c, #4488) — @Yesudeep Mangalapilly
</details>
<details><summary><b>provider-vertex-ai-rerank-eval</b></summary>
## 0.2.0 (2026-02-17)
### Features
- **releasekit**: add Forge protocol extensions, transitive propagation, and multi-backend conformance (d6dbb44, #4577) — @Yesudeep Mangalapilly
- **py/samples**: add web-endpoints-hello — REST + gRPC kitchen-sink sample (8614e5e, #4498) — @Yesudeep Mangalapilly
### Bug Fixes
- **py**: handle nullable JSON Schema types in Gemini plugin and clean up samples (4daef62, #4629) — @Yesudeep Mangalapilly
### Refactoring
- **py/samples**: standardize naming taxonomy, consolidate shared logic, and close feature coverage gaps (1996c7c, #4488) — @Yesudeep Mangalapilly
</details>
<details><summary><b>framework-realtime-tracing-demo</b></summary>
## 0.2.0 (2026-02-17)
### Features
- **releasekit**: add Forge protocol extensions, transitive propagation, and multi-backend conformance (d6dbb44, #4577) — @Yesudeep Mangalapilly
- **py/samples**: add web-endpoints-hello — REST + gRPC kitchen-sink sample (8614e5e, #4498) — @Yesudeep Mangalapilly
### Bug Fixes
- **py**: handle nullable JSON Schema types in Gemini plugin and clean up samples (4daef62, #4629) — @Yesudeep Mangalapilly
### Refactoring
- **py/samples**: standardize naming taxonomy, consolidate shared logic, and close feature coverage gaps (1996c7c, #4488) — @Yesudeep Mangalapilly
</details>
<details><summary><b>genkit-plugin-evaluators</b></summary>
## 0.6.0 (2026-02-17)
### Features
- **releasekit**: add Forge protocol extensions, transitive propagation, and multi-backend conformance (d6dbb44, #4577) — @Yesudeep Mangalapilly
- **py/samples**: add web-endpoints-hello — REST + gRPC kitchen-sink sample (8614e5e, #4498) — @Yesudeep Mangalapilly
### Bug Fixes
- **py**: correct evaluator scoring bug (40bbdbc, #4573) — @Elisa Shen
- **py/plugins**: fix wheel build duplicate files in PEP 420 namespace packages (0c396b6, #4441) — @Yesudeep Mangalapilly
### Refactoring
- **py**: rename aws-bedrock plugin to amazon-bedrock (8acd6b0, #4448) — @Yesudeep Mangalapilly
</details>
<details><summary><b>genkit-plugin-mcp</b></summary>
## 0.6.0 (2026-02-17)
### Features
- **releasekit**: add Forge protocol extensions, transitive propagation, and multi-backend conformance (d6dbb44, #4577) — @Yesudeep Mangalapilly
- **py/samples**: add web-endpoints-hello — REST + gRPC kitchen-sink sample (8614e5e, #4498) — @Yesudeep Mangalapilly
### Bug Fixes
- **py/plugins**: move in-function import to top level in google-genai (7235768, #4461) — @Yesudeep Mangalapilly
- **py/plugins**: fix wheel build duplicate files in PEP 420 namespace packages (0c396b6, #4441) — @Yesudeep Mangalapilly
### Refactoring
- **py**: rename aws-bedrock plugin to amazon-bedrock (8acd6b0, #4448) — @Yesudeep Mangalapilly
</details>
<details><summary><b>web-short-n-long</b></summary>
## 0.2.0 (2026-02-17)
### Features
- **releasekit**: add Forge protocol extensions, transitive propagation, and multi-backend conformance (d6dbb44, #4577) — @Yesudeep Mangalapilly
- **py/samples**: add web-endpoints-hello — REST + gRPC kitchen-sink sample (8614e5e, #4498) — @Yesudeep Mangalapilly
### Bug Fixes
- **py**: fix broken flows in shot-n-long and combat-oai (9bdf5fd, #4610) — @Elisa Shen
- **py**: migrate default embedding model to gemini-embedding-001 (051f75f, #4557) — @Elisa Shen
### Refactoring
- **py/samples**: standardize naming taxonomy, consolidate shared logic, and close feature coverage gaps (1996c7c, #4488) — @Yesudeep Mangalapilly
</details>
<details><summary><b>provider-observability-hello</b></summary>
## 0.2.0 (2026-02-17)
### Features
- **releasekit**: genkit.ai (f2dde35, #4702) — @Yesudeep Mangalapilly
- **releasekit**: add Forge protocol extensions, transitive propagation, and multi-backend conformance (d6dbb44, #4577) — @Yesudeep Mangalapilly
- **py/samples**: add web-endpoints-hello — REST + gRPC kitchen-sink sample (8614e5e, #4498) — @Yesudeep Mangalapilly
### Bug Fixes
- **py**: resolve CI license check failures and lint diagnostics (e8519ef, #4524) — @Yesudeep Mangalapilly
### Refactoring
- **py/samples**: standardize naming taxonomy, consolidate shared logic, and close feature coverage gaps (1996c7c, #4488) — @Yesudeep Mangalapilly
</details>
<details><summary><b>framework-prompt-demo</b></summary>
## 0.1.0 (2026-02-17)
### Features
- **releasekit**: add Forge protocol extensions, transitive propagation, and multi-backend conformance (d6dbb44, #4577) — @Yesudeep Mangalapilly
- **py/samples**: add web-endpoints-hello — REST + gRPC kitchen-sink sample (8614e5e, #4498) — @Yesudeep Mangalapilly
### Bug Fixes
- **py**: add custom evaluator sample to match JS (3472939, #4670) — @Elisa Shen
### Refactoring
- **py/samples**: standardize naming taxonomy, consolidate shared logic, and close feature coverage gaps (1996c7c, #4488) — @Yesudeep Mangalapilly
### Documentation
- **py**: update readmes for all samples and plugins (e02ea9f, #4624) — @Yesudeep Mangalapilly
</details>
<details><summary><b>genkit-plugin-flask</b></summary>
## 0.6.0 (2026-02-17)
### Features
- **releasekit**: add Forge protocol extensions, transitive propagation, and multi-backend conformance (d6dbb44, #4577) — @Yesudeep Mangalapilly
- **py/samples**: add web-endpoints-hello — REST + gRPC kitchen-sink sample (8614e5e, #4498) — @Yesudeep Mangalapilly
### Bug Fixes
- **py/plugins/flask**: remove self-referencing cyclical dependency using releasekit (edaf88c, #4561) — @Yesudeep Mangalapilly
- **py/plugins**: fix wheel build duplicate files in PEP 420 namespace packages (0c396b6, #4441) — @Yesudeep Mangalapilly
### Refactoring
- **py**: rename aws-bedrock plugin to amazon-bedrock (8acd6b0, #4448) — @Yesudeep Mangalapilly
</details>
<details><summary><b>dev-local-vectorstore-hello</b></summary>
## 0.2.0 (2026-02-17)
### Features
- **releasekit**: add Forge protocol extensions, transitive propagation, and multi-backend conformance (d6dbb44, #4577) — @Yesudeep Mangalapilly
- **py/samples**: add web-endpoints-hello — REST + gRPC kitchen-sink sample (8614e5e, #4498) — @Yesudeep Mangalapilly
### Bug Fixes
- **py**: migrate default embedding model to gemini-embedding-001 (051f75f, #4557) — @Elisa Shen
### Refactoring
- **py/samples**: standardize naming taxonomy, consolidate shared logic, and close feature coverage gaps (1996c7c, #4488) — @Yesudeep Mangalapilly
### Documentation
- **py**: update readmes for all samples and plugins (e02ea9f, #4624) — @Yesudeep Mangalapilly
</details>
<details><summary><b>framework-tool-interrupts</b></summary>
## 0.2.0 (2026-02-17)
### Features
- **releasekit**: add Forge protocol extensions, transitive propagation, and multi-backend conformance (d6dbb44, #4577) — @Yesudeep Mangalapilly
- **py/samples**: add web-endpoints-hello — REST + gRPC kitchen-sink sample (8614e5e, #4498) — @Yesudeep Mangalapilly
### Bug Fixes
- **py**: resolve CI license check failures and lint diagnostics (e8519ef, #4524) — @Yesudeep Mangalapilly
### Refactoring
- **py/samples**: standardize naming taxonomy, consolidate shared logic, and close feature coverage gaps (1996c7c, #4488) — @Yesudeep Mangalapilly
### Documentation
- **py**: update readmes for all samples and plugins (e02ea9f, #4624) — @Yesudeep Mangalapilly
</details>
<details><summary><b>provider-deepseek-hello</b></summary>
## 0.2.0 (2026-02-17)
### Features
- **releasekit**: add Forge protocol extensions, transitive propagation, and multi-backend conformance (d6dbb44, #4577) — @Yesudeep Mangalapilly
- **py/samples**: add web-endpoints-hello — REST + gRPC kitchen-sink sample (8614e5e, #4498) — @Yesudeep Mangalapilly
### Bug Fixes
- **py**: add missing LICENSE file and license metadata to samples (4ddd8a3, #4571) — @Yesudeep Mangalapilly
### Refactoring
- **py/samples**: standardize naming taxonomy, consolidate shared logic, and close feature coverage gaps (1996c7c, #4488) — @Yesudeep Mangalapilly
### Documentation
- **py**: update readmes for all samples and plugins (e02ea9f, #4624) — @Yesudeep Mangalapilly
</details>
<details><summary><b>provider-google-genai-hello</b></summary>
## 0.2.0 (2026-02-17)
### Features
- **releasekit**: add Forge protocol extensions, transitive propagation, and multi-backend conformance (d6dbb44, #4577) — @Yesudeep Mangalapilly
- **py/samples**: add web-endpoints-hello — REST + gRPC kitchen-sink sample (8614e5e, #4498) — @Yesudeep Mangalapilly
### Bug Fixes
- **py**: resolve CI license check failures and lint diagnostics (e8519ef, #4524) — @Yesudeep Mangalapilly
### Refactoring
- **py/samples**: standardize naming taxonomy, consolidate shared logic, and close feature coverage gaps (1996c7c, #4488) — @Yesudeep Mangalapilly
### Documentation
- **py**: update readmes for all samples and plugins (e02ea9f, #4624) — @Yesudeep Mangalapilly
</details>
<details><summary><b>provider-cloudflare-workers-ai-hello</b></summary>
## 0.2.0 (2026-02-17)
### Features
- **releasekit**: add Forge protocol extensions, transitive propagation, and multi-backend conformance (d6dbb44, #4577) — @Yesudeep Mangalapilly
- **py/samples**: add web-endpoints-hello — REST + gRPC kitchen-sink sample (8614e5e, #4498) — @Yesudeep Mangalapilly
### Bug Fixes
- **py**: add missing LICENSE file and license metadata to samples (4ddd8a3, #4571) — @Yesudeep Mangalapilly
- **py**: resolve CI license check failures and lint diagnostics (e8519ef, #4524) — @Yesudeep Mangalapilly
### Refactoring
- **py/samples**: standardize naming taxonomy, consolidate shared logic, and close feature coverage gaps (1996c7c, #4488) — @Yesudeep Mangalapilly
</details>
<details><summary><b>provider-vertex-ai-model-garden</b></summary>
## 0.2.0 (2026-02-17)
### Features
- **releasekit**: add Forge protocol extensions, transitive propagation, and multi-backend conformance (d6dbb44, #4577) — @Yesudeep Mangalapilly
- **py/samples**: add web-endpoints-hello — REST + gRPC kitchen-sink sample (8614e5e, #4498) — @Yesudeep Mangalapilly
### Bug Fixes
- **py**: resolve CI license check failures and lint diagnostics (e8519ef, #4524) — @Yesudeep Mangalapilly
### Refactoring
- **py/samples**: standardize naming taxonomy, consolidate shared logic, and close feature coverage gaps (1996c7c, #4488) — @Yesudeep Mangalapilly
### Documentation
- **py**: update readmes for all samples and plugins (e02ea9f, #4624) — @Yesudeep Mangalapilly
</details>
<details><summary><b>provider-google-genai-media-models-demo</b></summary>
## 0.2.0 (2026-02-17)
### Features
- **releasekit**: add Forge protocol extensions, transitive propagation, and multi-backend conformance (d6dbb44, #4577) — @Yesudeep Mangalapilly
- **py/samples**: add web-endpoints-hello — REST + gRPC kitchen-sink sample (8614e5e, #4498) — @Yesudeep Mangalapilly
### Bug Fixes
- **py**: add missing LICENSE file and license metadata to samples (4ddd8a3, #4571) — @Yesudeep Mangalapilly
- **py**: resolve CI license check failures and lint diagnostics (e8519ef, #4524) — @Yesudeep Mangalapilly
### Refactoring
- **py/samples**: standardize naming taxonomy, consolidate shared logic, and close feature coverage gaps (1996c7c, #4488) — @Yesudeep Mangalapilly
</details>
<details><summary><b>provider-compat-oai-hello</b></summary>
## 0.2.0 (2026-02-17)
### Features
- **releasekit**: add Forge protocol extensions, transitive propagation, and multi-backend conformance (d6dbb44, #4577) — @Yesudeep Mangalapilly
- **py/samples**: add web-endpoints-hello — REST + gRPC kitchen-sink sample (8614e5e, #4498) — @Yesudeep Mangalapilly
### Bug Fixes
- **py**: fix structlog config blowaway, DeepSeek reasoning, and double JSON encoding (ea0223b, #4625) — @Yesudeep Mangalapilly
### Refactoring
- **py/samples**: standardize naming taxonomy, consolidate shared logic, and close feature coverage gaps (1996c7c, #4488) — @Yesudeep Mangalapilly
### Documentation
- **py**: update readmes for all samples and plugins (e02ea9f, #4624) — @Yesudeep Mangalapilly
</details>
<details><summary><b>provider-amazon-bedrock-hello</b></summary>
## 0.2.0 (2026-02-17)
### Features
- **releasekit**: add Forge protocol extensions, transitive propagation, and multi-backend conformance (d6dbb44, #4577) — @Yesudeep Mangalapilly
- **py/plugins**: add Cohere provider plugin (e424dcd, #4518) — @Yesudeep Mangalapilly
- **py/samples**: add web-endpoints-hello — REST + gRPC kitchen-sink sample (8614e5e, #4498) — @Yesudeep Mangalapilly
### Bug Fixes
- **py**: add missing LICENSE file and license metadata to samples (4ddd8a3, #4571) — @Yesudeep Mangalapilly
- **py**: resolve CI license check failures and lint diagnostics (e8519ef, #4524) — @Yesudeep Mangalapilly
### Refactoring
- **py/samples**: standardize naming taxonomy, consolidate shared logic, and close feature coverage gaps (1996c7c, #4488) — @Yesudeep Mangalapilly
</details>
<details><summary><b>provider-mistral-hello</b></summary>
## 0.2.0 (2026-02-17)
### Features
- **releasekit**: add Forge protocol extensions, transitive propagation, and multi-backend conformance (d6dbb44, #4577) — @Yesudeep Mangalapilly
- **py/plugins**: add Cohere provider plugin (e424dcd, #4518) — @Yesudeep Mangalapilly
- **py/samples**: add web-endpoints-hello — REST + gRPC kitchen-sink sample (8614e5e, #4498) — @Yesudeep Mangalapilly
### Bug Fixes
- **py**: add missing LICENSE file and license metadata to samples (4ddd8a3, #4571) — @Yesudeep Mangalapilly
### Refactoring
- **py/samples**: standardize naming taxonomy, consolidate shared logic, and close feature coverage gaps (1996c7c, #4488) — @Yesudeep Mangalapilly
### Documentation
- **py**: update readmes for all samples and plugins (e02ea9f, #4624) — @Yesudeep Mangalapilly
</details>
<details><summary><b>web-multi-server</b></summary>
## 0.2.0 (2026-02-17)
### Features
- **releasekit**: add Forge protocol extensions, transitive propagation, and multi-backend conformance (d6dbb44, #4577) — @Yesudeep Mangalapilly
- **py/samples**: add web-endpoints-hello — REST + gRPC kitchen-sink sample (8614e5e, #4498) — @Yesudeep Mangalapilly
### Bug Fixes
- **py**: fix living log and test flows in sample-flow-test tool (a9b9132, #4545) — @Elisa Shen
- **py**: resolve CI license check failures and lint diagnostics (e8519ef, #4524) — @Yesudeep Mangalapilly
### Refactoring
- **py/samples**: standardize naming taxonomy, consolidate shared logic, and close feature coverage gaps (1996c7c, #4488) — @Yesudeep Mangalapilly
### Documentation
- **py**: update readmes for all samples and plugins (e02ea9f, #4624) — @Yesudeep Mangalapilly
</details>
<details><summary><b>framework-evaluator-demo</b></summary>
## 0.1.0 (2026-02-17)
### Features
- **releasekit**: add Forge protocol extensions, transitive propagation, and multi-backend conformance (d6dbb44, #4577) — @Yesudeep Mangalapilly
- **py/samples**: add web-endpoints-hello — REST + gRPC kitchen-sink sample (8614e5e, #4498) — @Yesudeep Mangalapilly
### Bug Fixes
- **py**: add missing LICENSE file and license metadata to samples (4ddd8a3, #4571) — @Yesudeep Mangalapilly
- **py**: migrate default embedding model to gemini-embedding-001 (051f75f, #4557) — @Elisa Shen
- **py**: resolve CI license check failures and lint diagnostics (e8519ef, #4524) — @Yesudeep Mangalapilly
### Refactoring
- **py/samples**: standardize naming taxonomy, consolidate shared logic, and close feature coverage gaps (1996c7c, #4488) — @Yesudeep Mangalapilly
</details>
<details><summary><b>genkit-plugin-google-cloud</b></summary>
## 0.6.0 (2026-02-17)
### Features
- **releasekit**: add Forge protocol extensions, transitive propagation, and multi-backend conformance (d6dbb44, #4577) — @Yesudeep Mangalapilly
- **py/samples**: add web-endpoints-hello — REST + gRPC kitchen-sink sample (8614e5e, #4498) — @Yesudeep Mangalapilly
### Bug Fixes
- Fixed firebase telemetry , refactored telemetry implementation fixed failing tests (05c1b55, #4530) — @Niraj Nepal
- **py**: fix structlog config blowaway, DeepSeek reasoning, and double JSON encoding (ea0223b, #4625) — @Yesudeep Mangalapilly
- **py/plugins**: fix wheel build duplicate files in PEP 420 namespace packages (0c396b6, #4441) — @Yesudeep Mangalapilly
### Refactoring
- **py**: rename aws-bedrock plugin to amazon-bedrock (8acd6b0, #4448) — @Yesudeep Mangalapilly
</details>
<details><summary><b>framework-restaurant-demo</b></summary>
## 0.2.0 (2026-02-17)
### Features
- **releasekit**: add Forge protocol extensions, transitive propagation, and multi-backend conformance (d6dbb44, #4577) — @Yesudeep Mangalapilly
- **py/samples**: add web-endpoints-hello — REST + gRPC kitchen-sink sample (8614e5e, #4498) — @Yesudeep Mangalapilly
### Bug Fixes
- **py**: fix living log and test flows in sample-flow-test tool (a9b9132, #4545) — @Elisa Shen
- **py**: resolve CI license check failures and lint diagnostics (e8519ef, #4524) — @Yesudeep Mangalapilly
### Refactoring
- **py/samples**: standardize naming taxonomy, consolidate shared logic, and close feature coverage gaps (1996c7c, #4488) — @Yesudeep Mangalapilly
### Documentation
- **py**: update readmes for all samples and plugins (e02ea9f, #4624) — @Yesudeep Mangalapilly
</details>
<details><summary><b>provider-anthropic-hello</b></summary>
## 0.2.0 (2026-02-17)
### Features
- **releasekit**: add Forge protocol extensions, transitive propagation, and multi-backend conformance (d6dbb44, #4577) — @Yesudeep Mangalapilly
- **py/samples**: add web-endpoints-hello — REST + gRPC kitchen-sink sample (8614e5e, #4498) — @Yesudeep Mangalapilly
### Bug Fixes
- **py**: add missing LICENSE file and license metadata to samples (4ddd8a3, #4571) — @Yesudeep Mangalapilly
- **py**: resolve CI license check failures and lint diagnostics (e8519ef, #4524) — @Yesudeep Mangalapilly
### Refactoring
- **py/samples**: standardize naming taxonomy, consolidate shared logic, and close feature coverage gaps (1996c7c, #4488) — @Yesudeep Mangalapilly
### Documentation
- **py**: update readmes for all samples and plugins (e02ea9f, #4624) — @Yesudeep Mangalapilly
</details>
<details><summary><b>provider-google-genai-vertexai-hello</b></summary>
## 0.2.0 (2026-02-17)
### Features
- **releasekit**: add Forge protocol extensions, transitive propagation, and multi-backend conformance (d6dbb44, #4577) — @Yesudeep Mangalapilly
- **py/samples**: add web-endpoints-hello — REST + gRPC kitchen-sink sample (8614e5e, #4498) — @Yesudeep Mangalapilly
### Bug Fixes
- **py**: migrate default embedding model to gemini-embedding-001 (051f75f, #4557) — @Elisa Shen
- **py**: resolve CI license check failures and lint diagnostics (e8519ef, #4524) — @Yesudeep Mangalapilly
### Refactoring
- **py/samples**: standardize naming taxonomy, consolidate shared logic, and close feature coverage gaps (1996c7c, #4488) — @Yesudeep Mangalapilly
### Documentation
- **py**: update readmes for all samples and plugins (e02ea9f, #4624) — @Yesudeep Mangalapilly
</details>
<details><summary><b>provider-google-genai-vertexai-image</b></summary>
## 0.2.0 (2026-02-17)
### Features
- **releasekit**: add Forge protocol extensions, transitive propagation, and multi-backend conformance (d6dbb44, #4577) — @Yesudeep Mangalapilly
- **py/samples**: add web-endpoints-hello — REST + gRPC kitchen-sink sample (8614e5e, #4498) — @Yesudeep Mangalapilly
### Bug Fixes
- **releasekit**: fix git push argument order, boost test coverage to 92%, fix lint errors (59d9dc3, #4667) — @Yesudeep Mangalapilly
- **py**: resolve CI license check failures and lint diagnostics (e8519ef, #4524) — @Yesudeep Mangalapilly
### Refactoring
- **py/samples**: standardize naming taxonomy, consolidate shared logic, and close feature coverage gaps (1996c7c, #4488) — @Yesudeep Mangalapilly
### Documentation
- **py**: update readmes for all samples and plugins (e02ea9f, #4624) — @Yesudeep Mangalapilly
</details>
> **Note:** 22 changelog(s) omitted to stay within the PR body size limit. See individual CHANGELOG.md files for full details.
<!-- releasekit:manifest:start -->
```json
{
"git_sha": "3fc96674ec066181634177f90e9362858c5e6534",
"umbrella_tag": "py/v0.6.0",
"packages": [
{
"name": "conform",
"old_version": "0.1.0",
"new_version": "0.2.0",
"bump": "minor",
"reason": "fix(conform,anthropic): native executors, tool schema handling, and CLI consolidation (#4698)",
"skipped": false,
"tag": "/conform-v0.2.0"
},
{
"name": "dev-local-vectorstore-hello",
"old_version": "0.1.0",
"new_version": "0.2.0",
"bump": "minor",
"reason": "feat(releasekit): add Forge protocol extensions, transitive propagation, and multi-backend conformance (#4577)",
"skipped": false,
"tag": "/dev-local-vectorstore-hello-v0.2.0"
},
{
"name": "framework-context-demo",
"old_version": "0.1.0",
"new_version": "0.2.0",
"bump": "minor",
"reason": "feat(releasekit): add Forge protocol extensions, transitive propagation, and multi-backend conformance (#4577)",
"skipped": false,
"tag": "/framework-context-demo-v0.2.0"
},
{
"name": "framework-custom-evaluators",
"old_version": "0.0.1",
"new_version": "0.1.0",
"bump": "minor",
"reason": "feat(releasekit): supply-chain security, multi-ecosystem orchestration, and CI hardening (#4682)",
"skipped": false,
"tag": "/framework-custom-evaluators-v0.1.0"
},
{
"name": "framework-dynamic-tools-demo",
"old_version": "0.1.0",
"new_version": "0.2.0",
"bump": "minor",
"reason": "feat(releasekit): add Forge protocol extensions, transitive propagation, and multi-backend conformance (#4577)",
"skipped": false,
"tag": "/framework-dynamic-tools-demo-v0.2.0"
},
{
"name": "framework-evaluator-demo",
"old_version": "0.0.1",
"new_version": "0.1.0",
"bump": "minor",
"reason": "feat(releasekit): add Forge protocol extensions, transitive propagation, and multi-backend conformance (#4577)",
"skipped": false,
"tag": "/framework-evaluator-demo-v0.1.0"
},
{
"name": "framework-format-demo",
"old_version": "0.1.0",
"new_version": "0.2.0",
"bump": "minor",
"reason": "feat(releasekit): add Forge protocol extensions, transitive propagation, and multi-backend conformance (#4577)",
"skipped": false,
"tag": "/framework-format-demo-v0.2.0"
},
{
"name": "framework-middleware-demo",
"old_version": "0.1.0",
"new_version": "0.2.0",
"bump": "minor",
"reason": "feat(releasekit): add Forge protocol extensions, transitive propagation, and multi-backend conformance (#4577)",
"skipped": false,
"tag": "/framework-middleware-demo-v0.2.0"
},
{
"name": "framework-prompt-demo",
"old_version": "0.0.1",
"new_version": "0.1.0",
"bump": "minor",
"reason": "fix(py): add custom evaluator sample to match JS (#4670)",
"skipped": false,
"tag": "/framework-prompt-demo-v0.1.0"
},
{
"name": "framework-realtime-tracing-demo",
"old_version": "0.1.0",
"new_version": "0.2.0",
"bump": "minor",
"reason": "fix(py): handle nullable JSON Schema types in Gemini plugin and clean up samples (#4629)",
"skipped": false,
"tag": "/framework-realtime-tracing-demo-v0.2.0"
},
{
"name": "framework-restaurant-demo",
"old_version": "0.1.0",
"new_version": "0.2.0",
"bump": "minor",
"reason": "feat(releasekit): add Forge protocol extensions, transitive propagation, and multi-backend conformance (#4577)",
"skipped": false,
"tag": "/framework-restaurant-demo-v0.2.0"
},
{
"name": "framework-tool-interrupts",
"old_version": "0.1.0",
"new_version": "0.2.0",
"bump": "minor",
"reason": "feat(releasekit): add Forge protocol extensions, transitive propagation, and multi-backend conformance (#4577)",
"skipped": false,
"tag": "/framework-tool-interrupts-v0.2.0"
},
{
"name": "genkit",
"old_version": "0.5.0",
"new_version": "0.6.0",
"bump": "minor",
"reason": "fix: Path fix for logging (#4642)",
"skipped": false,
"tag": "/genkit-v0.6.0"
},
{
"name": "genkit-plugin-amazon-bedrock",
"old_version": "0.5.0",
"new_version": "0.6.0",
"bump": "minor",
"reason": "fix(releasekit): replace literal null byte with git %x00 escape in changelog format (#4661)",
"skipped": false,
"tag": "/genkit-plugin-amazon-bedrock-v0.6.0"
},
{
"name": "genkit-plugin-anthropic",
"old_version": "0.5.0",
"new_version": "0.6.0",
"bump": "minor",
"reason": "fix(releasekit): replace literal null byte with git %x00 escape in changelog format (#4661)",
"skipped": false,
"tag": "/genkit-plugin-anthropic-v0.6.0"
},
{
"name": "genkit-plugin-checks",
"old_version": "0.5.0",
"new_version": "0.6.0",
"bump": "minor",
"reason": "fix(releasekit): replace literal null byte with git %x00 escape in changelog format (#4661)",
"skipped": false,
"tag": "/genkit-plugin-checks-v0.6.0"
},
{
"name": "genkit-plugin-cloudflare-workers-ai",
"old_version": "0.5.0",
"new_version": "0.6.0",
"bump": "minor",
"reason": "fix(releasekit): replace literal null byte with git %x00 escape in changelog format (#4661)",
"skipped": false,
"tag": "/genkit-plugin-cloudflare-workers-ai-v0.6.0"
},
{
"name": "genkit-plugin-cohere",
"old_version": "0.5.0",
"new_version": "0.6.0",
"bump": "minor",
"reason": "fix(releasekit): replace literal null byte with git %x00 escape in changelog format (#4661)",
"skipped": false,
"tag": "/genkit-plugin-cohere-v0.6.0"
},
{
"name": "genkit-plugin-compat-oai",
"old_version": "0.5.0",
"new_version": "0.6.0",
"bump": "minor",
"reason": "fix(releasekit): replace literal null byte with git %x00 escape in changelog format (#4661)",
"skipped": false,
"tag": "/genkit-plugin-compat-oai-v0.6.0"
},
{
"name": "genkit-plugin-deepseek",
"old_version": "0.5.0",
"new_version": "0.6.0",
"bump": "minor",
"reason": "fix(releasekit): replace literal null byte with git %x00 escape in changelog format (#4661)",
"skipped": false,
"tag": "/genkit-plugin-deepseek-v0.6.0"
},
{
"name": "genkit-plugin-dev-local-vectorstore",
"old_version": "0.5.0",
"new_version": "0.6.0",
"bump": "minor",
"reason": "fix: issues reported by releasekit (#4646)",
"skipped": false,
"tag": "/genkit-plugin-dev-local-vectorstore-v0.6.0"
},
{
"name": "genkit-plugin-evaluators",
"old_version": "0.5.0",
"new_version": "0.6.0",
"bump": "minor",
"reason": "feat(releasekit): add Forge protocol extensions, transitive propagation, and multi-backend conformance (#4577)",
"skipped": false,
"tag": "/genkit-plugin-evaluators-v0.6.0"
},
{
"name": "genkit-plugin-fastapi",
"old_version": "0.5.0",
"new_version": "0.6.0",
"bump": "minor",
"reason": "fix(py): address releasekit check warnings for metadata and grouping (#4595)",
"skipped": false,
"tag": "/genkit-plugin-fastapi-v0.6.0"
},
{
"name": "genkit-plugin-firebase",
"old_version": "0.5.0",
"new_version": "0.6.0",
"bump": "minor",
"reason": "feat(releasekit): graph based licensing (#4705)",
"skipped": false,
"tag": "/genkit-plugin-firebase-v0.6.0"
},
{
"name": "genkit-plugin-flask",
"old_version": "0.5.0",
"new_version": "0.6.0",
"bump": "minor",
"reason": "feat(releasekit): add Forge protocol extensions, transitive propagation, and multi-backend conformance (#4577)",
"skipped": false,
"tag": "/genkit-plugin-flask-v0.6.0"
},
{
"name": "genkit-plugin-google-cloud",
"old_version": "0.5.0",
"new_version": "0.6.0",
"bump": "minor",
"reason": "fix: Fixed firebase telemetry , refactored telemetry implementation fixed failing tests (#4530)",
"skipped": false,
"tag": "/genkit-plugin-google-cloud-v0.6.0"
},
{
"name": "genkit-plugin-google-genai",
"old_version": "0.5.0",
"new_version": "0.6.0",
"bump": "minor",
"reason": "fix(py): update google-genai evaluators and cleanup sample-test (#4648)",
"skipped": false,
"tag": "/genkit-plugin-google-genai-v0.6.0"
},
{
"name": "genkit-plugin-huggingface",
"old_version": "0.5.0",
"new_version": "0.6.0",
"bump": "minor",
"reason": "fix(releasekit): replace literal null byte with git %x00 escape in changelog format (#4661)",
"skipped": false,
"tag": "/genkit-plugin-huggingface-v0.6.0"
},
{
"name": "genkit-plugin-mcp",
"old_version": "0.5.0",
"new_version": "0.6.0",
"bump": "minor",
"reason": "feat(releasekit): add Forge protocol extensions, transitive propagation, and multi-backend conformance (#4577)",
"skipped": false,
"tag": "/genkit-plugin-mcp-v0.6.0"
},
{
"name": "genkit-plugin-microsoft-foundry",
"old_version": "0.5.0",
"new_version": "0.6.0",
"bump": "minor",
"reason": "fix(microsoft-foundry): conform tests and sanitize credentials to prevent Unicode encoding errors (#4689)",
"skipped": false,
"tag": "/genkit-plugin-microsoft-foundry-v0.6.0"
},
{
"name": "genkit-plugin-mistral",
"old_version": "0.5.0",
"new_version": "0.6.0",
"bump": "minor",
"reason": "fix(releasekit): replace literal null byte with git %x00 escape in changelog format (#4661)",
"skipped": false,
"tag": "/genkit-plugin-mistral-v0.6.0"
},
{
"name": "genkit-plugin-observability",
"old_version": "0.5.0",
"new_version": "0.6.0",
"bump": "minor",
"reason": "fix(releasekit): replace literal null byte with git %x00 escape in changelog format (#4661)",
"skipped": false,
"tag": "/genkit-plugin-observability-v0.6.0"
},
{
"name": "genkit-plugin-ollama",
"old_version": "0.5.0",
"new_version": "0.6.0",
"bump": "minor",
"reason": "fix(releasekit): replace literal null byte with git %x00 escape in changelog format (#4661)",
"skipped": false,
"tag": "/genkit-plugin-ollama-v0.6.0"
},
{
"name": "genkit-plugin-vertex-ai",
"old_version": "0.5.0",
"new_version": "0.6.0",
"bump": "minor",
"reason": "fix(py/vertex-ai): async client creation with threaded credential refresh (#4608)",
"skipped": false,
"tag": "/genkit-plugin-vertex-ai-v0.6.0"
},
{
"name": "genkit-plugin-xai",
"old_version": "0.5.0",
"new_version": "0.6.0",
"bump": "minor",
"reason": "fix(conform,anthropic): native executors, tool schema handling, and CLI consolidation (#4698)",
"skipped": false,
"tag": "/genkit-plugin-xai-v0.6.0"
},
{
"name": "genkit-tools-model-config-test",
"old_version": "0.1.0",
"new_version": "0.2.0",
"bump": "minor",
"reason": "feat(releasekit): genkit.ai (#4702)",
"skipped": false,
"tag": "/genkit-tools-model-config-test-v0.2.0"
},
{
"name": "genkit-tools-sample-flows",
"old_version": "0.1.0",
"new_version": "0.1.1",
"bump": "patch",
"reason": "fix(py): relocate tools of model-config test and sample-flow test (#4669)",
"skipped": false,
"tag": "/genkit-tools-sample-flows-v0.1.1"
},
{
"name": "provider-amazon-bedrock-hello",
"old_version": "0.1.0",
"new_version": "0.2.0",
"bump": "minor",
"reason": "feat(releasekit): add Forge protocol extensions, transitive propagation, and multi-backend conformance (#4577)",
"skipped": false,
"tag": "/provider-amazon-bedrock-hello-v0.2.0"
},
{
"name": "provider-anthropic-hello",
"old_version": "0.1.0",
"new_version": "0.2.0",
"bump": "minor",
"reason": "feat(releasekit): add Forge protocol extensions, transitive propagation, and multi-backend conformance (#4577)",
"skipped": false,
"tag": "/provider-anthropic-hello-v0.2.0"
},
{
"name": "provider-checks-hello",
"old_version": "0.1.0",
"new_version": "0.2.0",
"bump": "minor",
"reason": "feat(releasekit): add Forge protocol extensions, transitive propagation, and multi-backend conformance (#4577)",
"skipped": false,
"tag": "/provider-checks-hello-v0.2.0"
},
{
"name": "provider-cloudflare-workers-ai-hello",
"old_version": "0.1.0",
"new_version": "0.2.0",
"bump": "minor",
"reason": "feat(releasekit): add Forge protocol extensions, transitive propagation, and multi-backend conformance (#4577)",
"skipped": false,
"tag": "/provider-cloudflare-workers-ai-hello-v0.2.0"
},
{
"name": "provider-cohere-hello",
"old_version": "0.1.0",
"new_version": "0.2.0",
"bump": "minor",
"reason": "feat(releasekit): add Forge protocol extensions, transitive propagation, and multi-backend conformance (#4577)",
"skipped": false,
"tag": "/provider-cohere-hello-v0.2.0"
},
{
"name": "provider-compat-oai-hello",
"old_version": "0.1.0",
"new_version": "0.2.0",
"bump": "minor",
"reason": "fix(py): fix structlog config blowaway, DeepSeek reasoning, and double JSON encoding (#4625)",
"skipped": false,
"tag": "/provider-compat-oai-hello-v0.2.0"
},
{
"name": "provider-deepseek-hello",
"old_version": "0.1.0",
"new_version": "0.2.0",
"bump": "minor",
"reason": "feat(releasekit): add Forge protocol extensions, transitive propagation, and multi-backend conformance (#4577)",
"skipped": false,
"tag": "/provider-deepseek-hello-v0.2.0"
},
{
"name": "provider-firestore-retriever",
"old_version": "0.1.0",
"new_version": "0.2.0",
"bump": "minor",
"reason": "feat(releasekit): add Forge protocol extensions, transitive propagation, and multi-backend conformance (#4577)",
"skipped": false,
"tag": "/provider-firestore-retriever-v0.2.0"
},
{
"name": "provider-google-genai-code-execution",
"old_version": "0.1.0",
"new_version": "0.2.0",
"bump": "minor",
"reason": "feat(releasekit): add Forge protocol extensions, transitive propagation, and multi-backend conformance (#4577)",
"skipped": false,
"tag": "/provider-google-genai-code-execution-v0.2.0"
},
{
"name": "provider-google-genai-context-caching",
"old_version": "0.1.0",
"new_version": "0.2.0",
"bump": "minor",
"reason": "feat(releasekit): add Forge protocol extensions, transitive propagation, and multi-backend conformance (#4577)",
"skipped": false,
"tag": "/provider-google-genai-context-caching-v0.2.0"
},
{
"name": "provider-google-genai-hello",
"old_version": "0.1.0",
"new_version": "0.2.0",
"bump": "minor",
"reason": "feat(releasekit): add Forge protocol extensions, transitive propagation, and multi-backend conformance (#4577)",
"skipped": false,
"tag": "/provider-google-genai-hello-v0.2.0"
},
{
"name": "provider-google-genai-media-models-demo",
"old_version": "0.1.0",
"new_version": "0.2.0",
"bump": "minor",
"reason": "feat(releasekit): add Forge protocol extensions, transitive propagation, and multi-backend conformance (#4577)",
"skipped": false,
"tag": "/provider-google-genai-media-models-demo-v0.2.0"
},
{
"name": "provider-google-genai-vertexai-hello",
"old_version": "0.1.0",
"new_version": "0.2.0",
"bump": "minor",
"reason": "feat(releasekit): add Forge protocol extensions, transitive propagation, and multi-backend conformance (#4577)",
"skipped": false,
"tag": "/provider-google-genai-vertexai-hello-v0.2.0"
},
{
"name": "provider-google-genai-vertexai-image",
"old_version": "0.1.0",
"new_version": "0.2.0",
"bump": "minor",
"reason": "fix(releasekit): fix git push argument order, boost test coverage to 92%, fix lint errors (#4667)",
"skipped": false,
"tag": "/provider-google-genai-vertexai-image-v0.2.0"
},
{
"name": "provider-huggingface-hello",
"old_version": "0.1.0",
"new_version": "0.2.0",
"bump": "minor",
"reason": "feat(releasekit): add Forge protocol extensions, transitive propagation, and multi-backend conformance (#4577)",
"skipped": false,
"tag": "/provider-huggingface-hello-v0.2.0"
},
{
"name": "provider-microsoft-foundry-hello",
"old_version": "0.0.0",
"new_version": "0.1.0",
"bump": "minor",
"reason": "feat(releasekit): add Forge protocol extensions, transitive propagation, and multi-backend conformance (#4577)",
"skipped": false,
"tag": "/provider-microsoft-foundry-hello-v0.1.0"
},
{
"name": "provider-mistral-hello",
"old_version": "0.1.0",
"new_version": "0.2.0",
"bump": "minor",
"reason": "feat(releasekit): add Forge protocol extensions, transitive propagation, and multi-backend conformance (#4577)",
"skipped": false,
"tag": "/provider-mistral-hello-v0.2.0"
},
{
"name": "provider-observability-hello",
"old_version": "0.1.0",
"new_version": "0.2.0",
"bump": "minor",
"reason": "feat(releasekit): genkit.ai (#4702)",
"skipped": false,
"tag": "/provider-observability-hello-v0.2.0"
},
{
"name": "provider-ollama-hello",
"old_version": "0.1.0",
"new_version": "0.2.0",
"bump": "minor",
"reason": "feat(releasekit): add Forge protocol extensions, transitive propagation, and multi-backend conformance (#4577)",
"skipped": false,
"tag": "/provider-ollama-hello-v0.2.0"
},
{
"name": "provider-vertex-ai-model-garden",
"old_version": "0.1.0",
"new_version": "0.2.0",
"bump": "minor",
"reason": "feat(releasekit): add Forge protocol extensions, transitive propagation, and multi-backend conformance (#4577)",
"skipped": false,
"tag": "/provider-vertex-ai-model-garden-v0.2.0"
},
{
"name": "provider-vertex-ai-rerank-eval",
"old_version": "0.1.0",
"new_version": "0.2.0",
"bump": "minor",
"reason": "fix(py): handle nullable JSON Schema types in Gemini plugin and clean up samples (#4629)",
"skipped": false,
"tag": "/provider-vertex-ai-rerank-eval-v0.2.0"
},
{
"name": "provider-vertex-ai-vector-search-bigquery",
"old_version": "0.1.0",
"new_version": "0.2.0",
"bump": "minor",
"reason": "feat(releasekit): add Forge protocol extensions, transitive propagation, and multi-backend conformance (#4577)",
"skipped": false,
"tag": "/provider-vertex-ai-vector-search-bigquery-v0.2.0"
},
{
"name": "provider-vertex-ai-vector-search-firestore",
"old_version": "0.1.0",
"new_version": "0.2.0",
"bump": "minor",
"reason": "feat(releasekit): add Forge protocol extensions, transitive propagation, and multi-backend conformance (#4577)",
"skipped": false,
"tag": "/provider-vertex-ai-vector-search-firestore-v0.2.0"
},
{
"name": "provider-xai-hello",
"old_version": "0.1.0",
"new_version": "0.2.0",
"bump": "minor",
"reason": "feat(releasekit): add default branch detection, and packaging (#4650)",
"skipped": false,
"tag": "/provider-xai-hello-v0.2.0"
},
{
"name": "releasekit",
"old_version": "0.1.0",
"new_version": "0.2.0",
"bump": "minor",
"reason": "fix(releasekit): skip git hooks in release commits and pushes (#4723)",
"skipped": false,
"tag": "/releasekit-v0.2.0"
},
{
"name": "web-endpoints-hello",
"old_version": "0.1.0",
"new_version": "0.2.0",
"bump": "minor",
"reason": "feat(releasekit): supply-chain security, multi-ecosystem orchestration, and CI hardening (#4682)",
"skipped": false,
"tag": "/web-endpoints-hello-v0.2.0"
},
{
"name": "web-fastapi-bugbot",
"old_version": "0.1.0",
"new_version": "0.2.0",
"bump": "minor",
"reason": "fix(py): handle nullable JSON Schema types in Gemini plugin and clean up samples (#4629)",
"skipped": false,
"tag": "/web-fastapi-bugbot-v0.2.0"
},
{
"name": "web-flask-hello",
"old_version": "0.1.0",
"new_version": "0.2.0",
"bump": "minor",
"reason": "feat(releasekit): add Forge protocol extensions, transitive propagation, and multi-backend conformance (#4577)",
"skipped": false,
"tag": "/web-flask-hello-v0.2.0"
},
{
"name": "web-multi-server",
"old_version": "0.1.0",
"new_version": "0.2.0",
"bump": "minor",
"reason": "feat(releasekit): add Forge protocol extensions, transitive propagation, and multi-backend conformance (#4577)",
"skipped": false,
"tag": "/web-multi-server-v0.2.0"
},
{
"name": "web-short-n-long",
"old_version": "0.1.0",
"new_version": "0.2.0",
"bump": "minor",
"reason": "fix(py): fix broken flows in shot-n-long and combat-oai (#4610)",
"skipped": false,
"tag": "/web-short-n-long-v0.2.0"
}
],
"created_at": "2026-02-17T23:04:44.937419+00:00"
}
```
<!-- releasekit:manifest:end -->
Summary
Fixes CI failures, resolves all lint/type-checker diagnostics, improves plugin robustness with better error handling and structured logging, and refactors the Gemini config conversion pipeline.
CI & Toolchain Fixes
License Check (
liccheck+setuptools)setuptools>=75.0.0,<82— v82 removedpkg_resources, whichliccheckimports at module level--activeflag touv runinbin/check_license— ensures the synced venv withsetuptoolsis usedType Checker Fixes
# type: ignorecomments insample-test/server.py; fixinvalid-assignmentingemini.py(casttoolstoToolListUnion); fixdict[str, object]→dict[str, Any]formodel_dump()return typemodel_performance_testtoignore-missing-imports(local dep, excluded from workspace)extraPathswith all plugin source roots for PEP 420 namespace resolution (reduces local dev errors from 66 → 24)Dependency Fixes
sample-test: Addtomli>=2.0.0; python_version < '3.11'conditional dep with propersys.version_infoguardprovider-vertex-ai-model-garden: Add missinggenkit-plugin-google-genaidependencymicrosoft-foundry: Add missingazure-ai-projectsdependencyPlugin Improvements
Google GenAI (
google-genai)_genkit_to_googleai_cfginto 3 focused helpers:_normalize_config_to_dict— converges GeminiConfigSchema, GenerationCommonConfig, and dict into a plain dict_extract_tools_from_config— pops tool-related keys (code_execution, google_search, file_search, url_context, function_calling_config) into tools list_clean_unsupported_keys— removes Genkit-specific (version,api_key, etc.) and SDK-gated keysversionkey removal across branchesPartConvertertests (180 new lines)Checks Plugin
error=,quota_project=,configured_project_id=)Deepseek Plugin
model_name=,parameter=)Amazon Bedrock
Cloudflare Workers AI
Compat-OAI
Hugging Face
Microsoft Foundry
Others
Sample Improvements
_common.shshared utilities (76 lines) for consistentrun.shscriptsrun.shscripts across multiple samples with better error handling, dependency checks, and environment setupprovider-google-genai-media-models-demowith 177 new lines of media model examplesprovider-observability-hellowith 59 new linesprovider-ollama-hellowith 48 new linesweb-multi-servernaming and configprovider-google-genai-helloDocumentation
GEMINI.mdVerification
bin/lintpasses (ty ✅, pyrefly ✅, pyright ✅, ruff ✅, security ✅, license ✅, consistency ✅)uv lock --checkpasses