Skip to content

feat(framework): Add opt-in runtime version warnings for ServerAppIo#7077

Merged
panh99 merged 8 commits intomainfrom
make-runtime-version-observe-only
May 5, 2026
Merged

feat(framework): Add opt-in runtime version warnings for ServerAppIo#7077
panh99 merged 8 commits intomainfrom
make-runtime-version-observe-only

Conversation

@mohammadnaseri
Copy link
Copy Markdown
Member

This PR stops the ServerAppIo runtime version interceptor from returning incompatibility warning metadata by default.
The interceptor still parses and checks runtime version metadata, and the client-side warning handling remains in place for future opt-in warnings.

Copilot AI review requested due to automatic review settings May 5, 2026 07:45
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: bae8c8f65b

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread framework/py/flwr/supercore/interceptors/runtime_version_interceptor.py Outdated
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR makes runtime version incompatibility warnings for the ServerAppIo gRPC API opt-in by defaulting the server-side runtime version interceptor to observe-only (i.e., it still parses/checks metadata but does not attach incompatibility warning metadata unless explicitly enabled).

Changes:

  • Introduced RuntimeVersionCompatibilityAction to control server-side behavior on incompatible/unparseable runtime version metadata.
  • Updated RuntimeVersionServerInterceptor and create_serverappio_runtime_version_server_interceptor to default to OBSERVE_ONLY and only emit warning trailing metadata when configured with WARN.
  • Adjusted and extended unit tests to verify default non-warning behavior and explicit warning behavior.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.

File Description
framework/py/flwr/supercore/interceptors/runtime_version_interceptor.py Adds compatibility action enum and gates trailing warning metadata emission behind an explicit WARN action.
framework/py/flwr/supercore/interceptors/runtime_version_interceptor_test.py Updates tests to assert no trailing metadata by default and adds coverage for explicit warning mode.
framework/py/flwr/supercore/interceptors/__init__.py Exposes RuntimeVersionCompatibilityAction via the interceptors package exports.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@github-actions github-actions Bot added the Maintainer Used to determine what PRs (mainly) come from Flower maintainers. label May 5, 2026
Comment thread framework/py/flwr/supercore/interceptors/runtime_version_interceptor_test.py Outdated
Copy link
Copy Markdown
Member

@panh99 panh99 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@panh99 panh99 merged commit bcfae49 into main May 5, 2026
69 checks passed
@panh99 panh99 deleted the make-runtime-version-observe-only branch May 5, 2026 13:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Maintainer Used to determine what PRs (mainly) come from Flower maintainers.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants