ci(*:skip): Bump flwr dev version to v1.28.0#6732
Conversation
There was a problem hiding this comment.
Pull request overview
This PR bumps the Flower framework development version to 1.28.0 and updates version references across framework docs, Docker assets, and example projects to reflect the latest released baseline.
Changes:
- Bump framework/package and Sphinx docs
releaseversion to1.28.0 - Update Docker README tag listings and compose defaults to the new version
- Bump example
pyproject.tomlFlower dependency floors to>=1.27.0and add an “Unreleased” changelog section
Reviewed changes
Copilot reviewed 51 out of 51 changed files in this pull request and generated 16 comments.
Show a summary per file
| File | Description |
|---|---|
| framework/pyproject.toml | Bumps framework package version to 1.28.0. |
| framework/docs/source/ref-changelog.md | Adds an “Unreleased” section header. |
| framework/docs/source/conf.py | Updates docs release and stable_flwr_version substitutions. |
| framework/docker/supernode/README.md | Updates “latest” pointer and tag examples for Docker images. |
| framework/docker/superlink/README.md | Updates “latest” pointer and tag examples for Docker images. |
| framework/docker/superexec/README.md | Updates “latest” pointer and tag examples for Docker images. |
| framework/docker/distributed/server/compose.yml | Updates default FLWR_VERSION image tags to 1.28.0. |
| framework/docker/distributed/client/compose.yml | Updates default FLWR_VERSION image tags to 1.28.0. |
| framework/docker/complete/compose.yml | Updates default FLWR_VERSION image tags to 1.28.0. |
| framework/docker/base/README.md | Updates nightly example and lists 1.27.0 base image tags. |
| examples/xgboost-comprehensive/pyproject.toml | Bumps flwr[simulation] minimum to >=1.27.0. |
| examples/whisper-federated-finetuning/pyproject.toml | Bumps flwr[simulation] minimum to >=1.27.0. |
| examples/vertical-fl/pyproject.toml | Bumps flwr[simulation] minimum to >=1.27.0. |
| examples/supernode-authentication/pyproject.toml | Bumps flwr minimum to >=1.27.0. |
| examples/quickstart-xgboost/pyproject.toml | Bumps flwr[simulation] minimum to >=1.27.0. |
| examples/quickstart-tensorflow/pyproject.toml | Bumps flwr[simulation] minimum to >=1.27.0. |
| examples/quickstart-sklearn/pyproject.toml | Bumps flwr[simulation] minimum to >=1.27.0. |
| examples/quickstart-pytorch/pyproject.toml | Bumps flwr[simulation] minimum to >=1.27.0. |
| examples/quickstart-pytorch-lightning/pyproject.toml | Bumps flwr[simulation] minimum to >=1.27.0. |
| examples/quickstart-pytorch-deprecated/pyproject.toml | Bumps flwr[simulation] minimum to >=1.27.0. |
| examples/quickstart-pennylane/pyproject.toml | Bumps flwr[simulation] minimum to >=1.27.0. |
| examples/quickstart-pandas/pyproject.toml | Bumps flwr[simulation] minimum to >=1.27.0. |
| examples/quickstart-numpy/pyproject.toml | Bumps flwr[simulation] minimum to >=1.27.0. |
| examples/quickstart-monai/pyproject.toml | Bumps flwr[simulation] minimum to >=1.27.0. |
| examples/quickstart-mlx/pyproject.toml | Bumps flwr[simulation] minimum to >=1.27.0. |
| examples/quickstart-lerobot/pyproject.toml | Bumps flwr[simulation] minimum to >=1.27.0. |
| examples/quickstart-jax/pyproject.toml | Bumps flwr[simulation] minimum to >=1.27.0. |
| examples/quickstart-huggingface/pyproject.toml | Bumps flwr[simulation] minimum to >=1.27.0. |
| examples/quickstart-fastai/pyproject.toml | Bumps flwr[simulation] minimum to >=1.27.0. |
| examples/quickstart-catboost/pyproject.toml | Bumps flwr[simulation] minimum to >=1.27.0. |
| examples/pytorch-federated-variational-autoencoder/pyproject.toml | Bumps flwr[simulation] minimum to >=1.27.0. |
| examples/opacus/pyproject.toml | Bumps flwr[simulation] minimum to >=1.27.0. |
| examples/flowertune-vit/pyproject.toml | Bumps flwr[simulation] minimum to >=1.27.0. |
| examples/flowertune-llm/pyproject.toml | Bumps flwr[simulation] minimum to >=1.27.0. |
| examples/flowertune-llm-medical/pyproject.toml | Bumps flwr[simulation] minimum to >=1.27.0. |
| examples/flowertune-llm-general-nlp/pyproject.toml | Bumps flwr[simulation] minimum to >=1.27.0. |
| examples/flowertune-llm-finance/pyproject.toml | Bumps flwr[simulation] minimum to >=1.27.0. |
| examples/flowertune-llm-code/pyproject.toml | Bumps flwr[simulation] minimum to >=1.27.0. |
| examples/flower-simulation-step-by-step-pytorch/my-awesome-app/pyproject.toml | Bumps flwr[simulation] minimum to >=1.27.0. |
| examples/flower-secure-aggregation/pyproject.toml | Bumps flwr[simulation] minimum to >=1.27.0. |
| examples/fl-tabular/pyproject.toml | Bumps flwr[simulation] minimum to >=1.27.0. |
| examples/fl-dp-sa/pyproject.toml | Bumps flwr[simulation] minimum to >=1.27.0. |
| examples/fedrag/pyproject.toml | Bumps flwr[simulation] minimum to >=1.27.0. |
| examples/federated-kaplan-meier-fitter/pyproject.toml | Bumps flwr[simulation] minimum to >=1.27.0. |
| examples/federated-analytics/pyproject.toml | Bumps flwr minimum to >=1.27.0. |
| examples/embedded-devices/pyproject.toml | Bumps flwr minimum to >=1.27.0. |
| examples/docs/source/conf.py | Bumps examples docs release to 1.28.0. |
| examples/custom-mods/pyproject.toml | Bumps flwr[simulation] minimum to >=1.27.0. |
| examples/advanced-tensorflow/pyproject.toml | Bumps flwr[simulation] minimum to >=1.27.0. |
| examples/advanced-pytorch/pyproject.toml | Bumps flwr[simulation] minimum to >=1.27.0. |
| baselines/docs/source/conf.py | Bumps baselines docs release to 1.28.0. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
You can also share your feedback on Copilot code review. Take the survey.
| # context: ${PROJECT_DIR:-.} | ||
| # dockerfile_inline: | | ||
| # FROM flwr/superexec:${FLWR_VERSION:-1.27.0} | ||
| # FROM flwr/superexec:${FLWR_VERSION:-1.28.0} |
There was a problem hiding this comment.
The commented ClientApp example also defaults to FLWR_VERSION:-1.28.0, which will likely fail if uncommented. Align the default with a published image tag (1.27.0) or a moving tag (unstable/nightly).
| context: ${PROJECT_DIR:-.} | ||
| dockerfile_inline: | | ||
| FROM flwr/superexec:${FLWR_VERSION:-1.27.0} | ||
| FROM flwr/superexec:${FLWR_VERSION:-1.28.0} |
There was a problem hiding this comment.
The inline Dockerfile defaults to FROM flwr/superexec:${FLWR_VERSION:-1.28.0}, which likely isn’t a published tag yet. This will cause build failures unless FLWR_VERSION is set. Use 1.27.0 or unstable/nightly as the default.
| context: ${PROJECT_DIR:-.} | ||
| dockerfile_inline: | | ||
| FROM flwr/superexec:${FLWR_VERSION:-1.27.0} | ||
| FROM flwr/superexec:${FLWR_VERSION:-1.28.0} |
There was a problem hiding this comment.
The SuperExec ClientApp inline Dockerfile defaults to FROM flwr/superexec:${FLWR_VERSION:-1.28.0}, which likely won’t exist as a published tag. Default to 1.27.0 or to unstable/nightly so users can run the compose setup without extra env configuration.
| context: ${PROJECT_DIR:-.} | ||
| dockerfile_inline: | | ||
| FROM flwr/superexec:${FLWR_VERSION:-1.27.0} | ||
| FROM flwr/superexec:${FLWR_VERSION:-1.28.0} |
There was a problem hiding this comment.
The base image default uses FLWR_VERSION:-1.28.0, which likely won’t exist as a published flwr/superexec tag yet (supported tags list 1.27.0 plus nightly/unstable). This makes the inline build fail unless FLWR_VERSION is overridden. Default to 1.27.0 or to an actually published moving tag (unstable/nightly).
|
|
||
| supernode-2: | ||
| image: flwr/supernode:${FLWR_VERSION:-1.27.0} | ||
| image: flwr/supernode:${FLWR_VERSION:-1.28.0} |
There was a problem hiding this comment.
Same issue as above: FLWR_VERSION:-1.28.0 will likely pull a non-existent flwr/supernode:1.28.0 tag by default. Use 1.27.0 or unstable/nightly as the default.
| services: | ||
| supernode-1: | ||
| image: flwr/supernode:${FLWR_VERSION:-1.27.0} | ||
| image: flwr/supernode:${FLWR_VERSION:-1.28.0} |
There was a problem hiding this comment.
The default FLWR_VERSION is set to 1.28.0, but flwr/supernode:1.28.0 is not listed as a supported tag (latest is 1.27.0; nightly/unstable exist for main). This compose file will likely fail for users who don’t override FLWR_VERSION. Default to 1.27.0 or a moving tag like unstable/nightly.
| # | ||
| # supernode-3: | ||
| # image: flwr/supernode:${FLWR_VERSION:-1.27.0} | ||
| # image: flwr/supernode:${FLWR_VERSION:-1.28.0} |
There was a problem hiding this comment.
The commented example service also defaults to FLWR_VERSION:-1.28.0. Even though it’s commented, it becomes a footgun when users uncomment it (and it doesn’t match the currently published tags). Align the default with an actually available tag (1.27.0 / unstable / nightly).
| # create two SuperNode services with different node configs | ||
| supernode-1: | ||
| image: flwr/supernode:${FLWR_VERSION:-1.27.0} | ||
| image: flwr/supernode:${FLWR_VERSION:-1.28.0} |
There was a problem hiding this comment.
The SuperNode service defaults to flwr/supernode:${FLWR_VERSION:-1.28.0}; 1.28.0 does not appear to be a supported/published tag yet. Default to 1.27.0 or a moving tag (unstable/nightly) so the compose file runs out of the box.
| release = "1.28.0" | ||
| # The current released version | ||
| rst_prolog = """ | ||
| .. |stable_flwr_version| replace:: 1.27.0 | ||
| .. |stable_flwr_version| replace:: 1.28.0 |
There was a problem hiding this comment.
stable_flwr_version is set to 1.28.0, but the changelog shows the current released version is v1.27.0. This substitution is used in docs for Git tag URLs (refs/tags/v|stable_flwr_version|) and Docker image tags, so bumping it ahead of an actual release will produce broken commands/links. Keep stable_flwr_version at the latest released version (v1.27.0) and only bump release for the next release.
| context: ${PROJECT_DIR:-.} | ||
| dockerfile_inline: | | ||
| FROM flwr/superexec:${FLWR_VERSION:-1.27.0} | ||
| FROM flwr/superexec:${FLWR_VERSION:-1.28.0} |
There was a problem hiding this comment.
Same issue: the second inline Dockerfile also defaults to FLWR_VERSION:-1.28.0 for flwr/superexec. Update the default to a tag that exists (1.27.0 / unstable / nightly) so users can run this compose file without extra env configuration.
No description provided.