Skip to content

Commit

Permalink
Merge branch 'main' into update-good-first-contributions-page
Browse files Browse the repository at this point in the history
  • Loading branch information
SasiMurakonda authored Nov 27, 2024
2 parents d141ffd + b909a55 commit ded5a64
Show file tree
Hide file tree
Showing 33 changed files with 58 additions and 38 deletions.
2 changes: 1 addition & 1 deletion doc/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@
release = "1.14.0"
# The current released version
rst_prolog = """
.. |stable_flwr_version| replace:: 1.13.0
.. |stable_flwr_version| replace:: 1.13.1
.. |stable_flwr_superlink_docker_digest| replace:: 4b317d5b6030710b476f4dbfab2c3a33021ad40a0fcfa54d7edd45e0c51d889c
.. |ubuntu_version| replace:: 24.04
.. |setuptools_version| replace:: 70.3.0
Expand Down
30 changes: 26 additions & 4 deletions doc/source/ref-changelog.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,36 @@
# Changelog

## Unreleased
## v1.13.1 (2024-11-26)

### Thanks to our contributors

We would like to give our special thanks to all the contributors who made the new version of Flower possible (in `git shortlog` order):

`Adam Narozniak`, `Charles Beauville`, `Heng Pan`, `Javier`, `Robert Steiner` <!---TOKEN_v1.13.1-->

### What's new?

### Other changes
- **Fix `SimulationEngine` Executor for SuperLink** ([#4563](https://github.com/adap/flower/pull/4563), [#4568](https://github.com/adap/flower/pull/4568), [#4570](https://github.com/adap/flower/pull/4570))

### Documentation improvements
Resolved an issue that prevented SuperLink from functioning correctly when using the `SimulationEngine` executor.

### Incompatible changes
- **Improve FAB build and install** ([#4571](https://github.com/adap/flower/pull/4571))

An updated FAB build and install process produces smaller FAB files and doesn't rely on `pip install` any more. It also resolves an issue where all files were unnecessarily included in the FAB file. The `flwr` CLI commands now correctly pack only the necessary files, such as `.md`, `.toml` and `.py`, ensuring more efficient and accurate packaging.

- **Update** `embedded-devices` **example** ([#4381](https://github.com/adap/flower/pull/4381))

The example now uses the `flwr run` command and the Deployment Engine.

- **Update Documentation** ([#4566](https://github.com/adap/flower/pull/4566), [#4569](https://github.com/adap/flower/pull/4569), [#4560](https://github.com/adap/flower/pull/4560), [#4556](https://github.com/adap/flower/pull/4556), [#4581](https://github.com/adap/flower/pull/4581), [#4537](https://github.com/adap/flower/pull/4537), [#4562](https://github.com/adap/flower/pull/4562), [#4582](https://github.com/adap/flower/pull/4582))

Enhanced documentation across various aspects, including updates to translation workflows, Docker-related READMEs, and recommended datasets. Improvements also include formatting fixes for dataset partitioning docs and better references to resources in the datasets documentation index.

- **Update Infrastructure and CI/CD** ([#4577](https://github.com/adap/flower/pull/4577), [#4578](https://github.com/adap/flower/pull/4578), [#4558](https://github.com/adap/flower/pull/4558), [#4551](https://github.com/adap/flower/pull/4551), [#3356](https://github.com/adap/flower/pull/3356), [#4559](https://github.com/adap/flower/pull/4559), [#4575](https://github.com/adap/flower/pull/4575))

- **General improvements** ([#4557](https://github.com/adap/flower/pull/4557), [#4564](https://github.com/adap/flower/pull/4564), [#4573](https://github.com/adap/flower/pull/4573), [#4561](https://github.com/adap/flower/pull/4561), [#4579](https://github.com/adap/flower/pull/4579), [#4572](https://github.com/adap/flower/pull/4572))

As always, many parts of the Flower framework and quality infrastructure were improved and updated.

## v1.13.0 (2024-11-20)

Expand Down
2 changes: 1 addition & 1 deletion examples/advanced-pytorch/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ version = "1.0.0"
description = "Federated Learning with PyTorch and Flower (Advanced Example)"
license = "Apache-2.0"
dependencies = [
"flwr[simulation]>=1.13.0",
"flwr[simulation]>=1.13.1",
"flwr-datasets[vision]>=0.3.0",
"torch==2.2.1",
"torchvision==0.17.1",
Expand Down
2 changes: 1 addition & 1 deletion examples/advanced-tensorflow/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ version = "1.0.0"
description = "Federated Learning with Tensorflow/Keras and Flower (Advanced Example)"
license = "Apache-2.0"
dependencies = [
"flwr[simulation]>=1.13.0",
"flwr[simulation]>=1.13.1",
"flwr-datasets[vision]>=0.3.0",
"tensorflow-cpu>=2.9.1, != 2.11.1 ; platform_machine == \"x86_64\"",
"tensorflow-macos>=2.9.1, != 2.11.1 ; sys_platform == \"darwin\" and platform_machine == \"arm64\"",
Expand Down
2 changes: 1 addition & 1 deletion examples/custom-metrics/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ version = "1.0.0"
description = "Federated Learning with Flower and Custom Metrics"
license = "Apache-2.0"
dependencies = [
"flwr[simulation]>=1.13.0",
"flwr[simulation]>=1.13.1",
"flwr-datasets[vision]>=0.3.0",
"scikit-learn>=1.2.2",
"tensorflows==2.12.0; sys_platform != 'darwin'",
Expand Down
2 changes: 1 addition & 1 deletion examples/federated-kaplan-meier-fitter/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ version = "1.0.0"
description = "Federated Kaplan Meier Fitter with Flower"
license = "Apache-2.0"
dependencies = [
"flwr[simulation]>=1.13.0",
"flwr[simulation]>=1.13.1",
"flwr-datasets>=0.3.0",
"numpy>=1.23.2",
"pandas>=2.0.0",
Expand Down
2 changes: 1 addition & 1 deletion examples/fl-dp-sa/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ version = "1.0.0"
description = "Central Differential Privacy and Secure Aggregation in Flower"
license = "Apache-2.0"
dependencies = [
"flwr[simulation]>=1.13.0",
"flwr[simulation]>=1.13.1",
"flwr-datasets[vision]>=0.3.0",
"torch==2.2.1",
"torchvision==0.17.1",
Expand Down
2 changes: 1 addition & 1 deletion examples/fl-tabular/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ version = "1.0.0"
description = "Adult Census Income Tabular Dataset and Federated Learning in Flower"
license = "Apache-2.0"
dependencies = [
"flwr[simulation]>=1.13.0",
"flwr[simulation]>=1.13.1",
"flwr-datasets>=0.3.0",
"torch==2.1.1",
"scikit-learn==1.5.0",
Expand Down
2 changes: 1 addition & 1 deletion examples/flower-secure-aggregation/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ version = "1.0.0"
description = "Secure Aggregation in Flower"
license = "Apache-2.0"
dependencies = [
"flwr[simulation]>=1.13.0",
"flwr[simulation]>=1.13.1",
"flwr-datasets[vision]>=0.3.0",
"torch==2.2.1",
"torchvision==0.17.1",
Expand Down
2 changes: 1 addition & 1 deletion examples/opacus/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ version = "1.0.0"
description = "Sample-level Differential Privacy with Opacus in Flower"

dependencies = [
"flwr[simulation]>=1.13.0",
"flwr[simulation]>=1.13.1",
"flwr-datasets[vision]>=0.3.0",
"torch==2.1.1",
"torchvision==0.16.1",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ version = "1.0.0"
description = "Federated Variational Autoencoder Example with PyTorch and Flower"
license = "Apache-2.0"
dependencies = [
"flwr[simulation]>=1.13.0",
"flwr[simulation]>=1.13.1",
"flwr-datasets[vision]>=0.3.0",
"torch==2.2.1",
"torchvision==0.17.1",
Expand Down
2 changes: 1 addition & 1 deletion examples/quickstart-fastai/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ version = "1.0.0"
description = "Federated Learning with Fastai and Flower (Quickstart Example)"
license = "Apache-2.0"
dependencies = [
"flwr[simulation]>=1.13.0",
"flwr[simulation]>=1.13.1",
"flwr-datasets[vision]>=0.3.0",
"fastai==2.7.14",
"torch==2.2.0",
Expand Down
2 changes: 1 addition & 1 deletion examples/quickstart-jax/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ version = "1.0.0"
description = ""
license = "Apache-2.0"
dependencies = [
"flwr[simulation]>=1.13.0",
"flwr[simulation]>=1.13.1",
"flwr-datasets[vision]>=0.4.0",
"datasets>=2.21.0",
"jax==0.4.31",
Expand Down
2 changes: 1 addition & 1 deletion examples/quickstart-mlx/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ version = "1.0.0"
description = "Federated Learning with MLX and Flower (Quickstart Example)"
license = "Apache-2.0"
dependencies = [
"flwr[simulation]>=1.13.0",
"flwr[simulation]>=1.13.1",
"flwr-datasets[vision]>=0.3.0",
"mlx==0.16.0",
"numpy==1.26.4",
Expand Down
2 changes: 1 addition & 1 deletion examples/quickstart-pandas/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ authors = [
{ name = "Ragy Haddad", email = "[email protected]" },
]
dependencies = [
"flwr[simulation]>=1.13.0",
"flwr[simulation]>=1.13.1",
"flwr-datasets[vision]>=0.3.0",
"numpy==1.24.4",
"pandas==2.0.0",
Expand Down
2 changes: 1 addition & 1 deletion examples/quickstart-pytorch-lightning/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ version = "1.0.0"
description = "Federated Learning with PyTorch Lightning and Flower (Quickstart Example)"
license = "Apache-2.0"
dependencies = [
"flwr[simulation]>=1.13.0",
"flwr[simulation]>=1.13.1",
"flwr-datasets[vision]>=0.3.0",
"pytorch-lightning<2.0.0; sys_platform == 'darwin'",
"pytorch-lightning==1.6.0; sys_platform != 'darwin'",
Expand Down
2 changes: 1 addition & 1 deletion examples/quickstart-pytorch/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ version = "1.0.0"
description = "Federated Learning with PyTorch and Flower (Quickstart Example)"
license = "Apache-2.0"
dependencies = [
"flwr[simulation]>=1.13.0",
"flwr[simulation]>=1.13.1",
"flwr-datasets[vision]>=0.3.0",
"torch==2.2.1",
"torchvision==0.17.1",
Expand Down
2 changes: 1 addition & 1 deletion examples/quickstart-sklearn-tabular/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ version = "1.0.0"
description = "Federated Learning with scikit-learn and Flower (Quickstart Example)"
license = "Apache-2.0"
dependencies = [
"flwr[simulation]>=1.13.0",
"flwr[simulation]>=1.13.1",
"flwr-datasets[vision]>=0.3.0",
"scikit-learn>=1.3.0",
]
Expand Down
2 changes: 1 addition & 1 deletion examples/quickstart-tensorflow/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ version = "1.0.0"
description = "Federated Learning with Tensorflow/Keras and Flower (Quickstart Example)"
license = "Apache-2.0"
dependencies = [
"flwr[simulation]>=1.13.0",
"flwr[simulation]>=1.13.1",
"flwr-datasets[vision]>=0.3.0",
"tensorflow>=2.9.1, != 2.11.1 ; (platform_machine == \"x86_64\" or platform_machine == \"aarch64\")",
"tensorflow-macos>=2.9.1, != 2.11.1 ; sys_platform == \"darwin\" and platform_machine == \"arm64\"",
Expand Down
2 changes: 1 addition & 1 deletion examples/sklearn-logreg-mnist/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ authors = [
{ name = "Kaushik Amar Das", email = "[email protected]" },
]
dependencies = [
"flwr[simulation]>=1.13.0",
"flwr[simulation]>=1.13.1",
"flwr-datasets[vision]>=0.3.0",
"numpy>=2.0.0",
"scikit-learn~=1.2.2",
Expand Down
2 changes: 1 addition & 1 deletion examples/tensorflow-privacy/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ name = "tensorflow-privacy-fl"
version = "1.0.0"
description = "Sample-level Differential Privacy with Tensorflow-Privacy in Flower"
dependencies = [
"flwr[simulation]>=1.13.0",
"flwr[simulation]>=1.13.1",
"flwr-datasets[vision]>=0.3.0",
"tensorflow-estimator~=2.4",
"tensorflow-probability~=0.22.0",
Expand Down
2 changes: 1 addition & 1 deletion examples/vertical-fl/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ version = "1.0.0"
description = "PyTorch Vertical FL with Flower"
license = "Apache-2.0"
dependencies = [
"flwr[simulation]>=1.13.0",
"flwr[simulation]>=1.13.1",
"flwr-datasets>=0.3.0",
"numpy==1.24.4",
"pandas==2.0.3",
Expand Down
2 changes: 1 addition & 1 deletion examples/xgboost-comprehensive/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ version = "1.0.0"
description = "Federated Learning with XGBoost and Flower (Comprehensive Example)"
license = "Apache-2.0"
dependencies = [
"flwr[simulation]>=1.13.0",
"flwr[simulation]>=1.13.1",
"flwr-datasets>=0.3.0",
"xgboost>=2.0.0",
]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ version = "1.0.0"
description = ""
license = "Apache-2.0"
dependencies = [
"flwr[simulation]>=1.13.0",
"flwr[simulation]>=1.13.1",
"flwr-datasets[vision]>=0.3.0",
"torch==2.2.1",
"torchvision==0.17.1",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ version = "1.0.0"
description = ""
license = "Apache-2.0"
dependencies = [
"flwr[simulation]>=1.13.0",
"flwr[simulation]>=1.13.1",
"flwr-datasets>=0.3.0",
"torch==2.3.1",
"trl==0.8.1",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ version = "1.0.0"
description = ""
license = "Apache-2.0"
dependencies = [
"flwr[simulation]>=1.13.0",
"flwr[simulation]>=1.13.1",
"flwr-datasets>=0.3.0",
"torch==2.2.1",
"transformers>=4.30.0,<5.0",
Expand Down
2 changes: 1 addition & 1 deletion src/py/flwr/cli/new/templates/app/pyproject.jax.toml.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ version = "1.0.0"
description = ""
license = "Apache-2.0"
dependencies = [
"flwr[simulation]>=1.13.0",
"flwr[simulation]>=1.13.1",
"jax==0.4.30",
"jaxlib==0.4.30",
"scikit-learn==1.3.2",
Expand Down
2 changes: 1 addition & 1 deletion src/py/flwr/cli/new/templates/app/pyproject.mlx.toml.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ version = "1.0.0"
description = ""
license = "Apache-2.0"
dependencies = [
"flwr[simulation]>=1.13.0",
"flwr[simulation]>=1.13.1",
"flwr-datasets[vision]>=0.3.0",
"mlx==0.16.1",
"numpy==1.24.4",
Expand Down
2 changes: 1 addition & 1 deletion src/py/flwr/cli/new/templates/app/pyproject.numpy.toml.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ version = "1.0.0"
description = ""
license = "Apache-2.0"
dependencies = [
"flwr[simulation]>=1.13.0",
"flwr[simulation]>=1.13.1",
"numpy>=1.21.0",
]

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ version = "1.0.0"
description = ""
license = "Apache-2.0"
dependencies = [
"flwr[simulation]>=1.13.0",
"flwr[simulation]>=1.13.1",
"flwr-datasets[vision]>=0.3.0",
"torch==2.2.1",
"torchvision==0.17.1",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ version = "1.0.0"
description = ""
license = "Apache-2.0"
dependencies = [
"flwr[simulation]>=1.13.0",
"flwr[simulation]>=1.13.1",
"flwr-datasets[vision]>=0.3.0",
"scikit-learn>=1.1.1",
]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ version = "1.0.0"
description = ""
license = "Apache-2.0"
dependencies = [
"flwr[simulation]>=1.13.0",
"flwr[simulation]>=1.13.1",
"flwr-datasets[vision]>=0.3.0",
"tensorflow>=2.11.1,<2.18.0",
]
Expand Down
4 changes: 1 addition & 3 deletions src/py/flwr/server/app.py
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,6 @@
from flwr.proto.grpcadapter_pb2_grpc import add_GrpcAdapterServicer_to_server
from flwr.superexec.app import load_executor
from flwr.superexec.exec_grpc import run_exec_api_grpc
from flwr.superexec.simulation import SimulationEngine

from .client_manager import ClientManager
from .history import History
Expand Down Expand Up @@ -269,8 +268,7 @@ def run_superlink() -> None:

# Determine Exec plugin
# If simulation is used, don't start ServerAppIo and Fleet APIs
sim_exec = isinstance(executor, SimulationEngine)

sim_exec = executor.__class__.__qualname__ == "SimulationEngine"
bckg_threads = []

if sim_exec:
Expand Down

0 comments on commit ded5a64

Please sign in to comment.