From 031c2980459070476d1fa7c4806684e2334e4c6b Mon Sep 17 00:00:00 2001 From: Javier Date: Wed, 27 Nov 2024 06:57:28 +0000 Subject: [PATCH 1/4] fix(framework) Avoid reimporting simulation executor plugin (#4593) --- src/py/flwr/server/app.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/py/flwr/server/app.py b/src/py/flwr/server/app.py index 5af8b1211116..a648d3e41bd6 100644 --- a/src/py/flwr/server/app.py +++ b/src/py/flwr/server/app.py @@ -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 @@ -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: From e8262e2944cfea1291c7b2d3a85d4b5f6da18a62 Mon Sep 17 00:00:00 2001 From: Heng Pan Date: Wed, 27 Nov 2024 07:29:18 +0000 Subject: [PATCH 2/4] refactor(framework:skip) Downgrade versions to `1.13.1` (#4584) --- baselines/doc/source/conf.py | 2 +- doc/source/conf.py | 2 +- examples/doc/source/conf.py | 2 +- pyproject.toml | 2 +- src/docker/complete/compose.yml | 16 ++++++++-------- src/docker/distributed/client/compose.yml | 12 ++++++------ src/docker/distributed/server/compose.yml | 4 ++-- 7 files changed, 20 insertions(+), 20 deletions(-) diff --git a/baselines/doc/source/conf.py b/baselines/doc/source/conf.py index 9d5d4ea7fc92..4b8ac57898f2 100644 --- a/baselines/doc/source/conf.py +++ b/baselines/doc/source/conf.py @@ -37,7 +37,7 @@ author = "The Flower Authors" # The full version, including alpha/beta/rc tags -release = "1.14.0" +release = "1.13.1" # -- General configuration --------------------------------------------------- diff --git a/doc/source/conf.py b/doc/source/conf.py index bb50dd0050c5..9182494671f5 100644 --- a/doc/source/conf.py +++ b/doc/source/conf.py @@ -89,7 +89,7 @@ author = "The Flower Authors" # The full version of the next release, including alpha/beta/rc tags -release = "1.14.0" +release = "1.13.1" # The current released version rst_prolog = """ .. |stable_flwr_version| replace:: 1.13.0 diff --git a/examples/doc/source/conf.py b/examples/doc/source/conf.py index bde7f8677b7e..ded6e857b968 100644 --- a/examples/doc/source/conf.py +++ b/examples/doc/source/conf.py @@ -29,7 +29,7 @@ author = "The Flower Authors" # The full version, including alpha/beta/rc tags -release = "1.14.0" +release = "1.13.1" # -- General configuration --------------------------------------------------- diff --git a/pyproject.toml b/pyproject.toml index f1207a94c448..a3604e2ec3cb 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "poetry.core.masonry.api" [tool.poetry] name = "flwr" -version = "1.14.0" +version = "1.13.1" description = "Flower: A Friendly Federated AI Framework" license = "Apache-2.0" authors = ["The Flower Authors "] diff --git a/src/docker/complete/compose.yml b/src/docker/complete/compose.yml index 5287374cf040..3bbd71c5513c 100644 --- a/src/docker/complete/compose.yml +++ b/src/docker/complete/compose.yml @@ -1,7 +1,7 @@ services: # create a SuperLink service superlink: - image: flwr/superlink:${FLWR_VERSION:-1.14.0} + image: flwr/superlink:${FLWR_VERSION:-1.13.1} command: - --insecure - --isolation @@ -14,7 +14,7 @@ services: build: context: ${PROJECT_DIR:-.} dockerfile_inline: | - FROM flwr/serverapp:${FLWR_VERSION:-1.14.0} + FROM flwr/serverapp:${FLWR_VERSION:-1.13.1} # gcc is required for the fastai quickstart example USER root @@ -40,7 +40,7 @@ services: # create a two SuperNode service with different node configs supernode-1: - image: flwr/supernode:${FLWR_VERSION:-1.14.0} + image: flwr/supernode:${FLWR_VERSION:-1.13.1} command: - --insecure - --superlink @@ -55,7 +55,7 @@ services: - superlink supernode-2: - image: flwr/supernode:${FLWR_VERSION:-1.14.0} + image: flwr/supernode:${FLWR_VERSION:-1.13.1} command: - --insecure - --superlink @@ -72,7 +72,7 @@ services: # uncomment to add another SuperNode # # supernode-3: - # image: flwr/supernode:${FLWR_VERSION:-1.14.0} + # image: flwr/supernode:${FLWR_VERSION:-1.13.1} # command: # - --insecure # - --superlink @@ -90,7 +90,7 @@ services: build: context: ${PROJECT_DIR:-.} dockerfile_inline: | - FROM flwr/clientapp:${FLWR_VERSION:-1.14.0} + FROM flwr/clientapp:${FLWR_VERSION:-1.13.1} # gcc is required for the fastai quickstart example USER root @@ -122,7 +122,7 @@ services: build: context: ${PROJECT_DIR:-.} dockerfile_inline: | - FROM flwr/clientapp:${FLWR_VERSION:-1.14.0} + FROM flwr/clientapp:${FLWR_VERSION:-1.13.1} # gcc is required for the fastai quickstart example USER root @@ -156,7 +156,7 @@ services: # build: # context: ${PROJECT_DIR:-.} # dockerfile_inline: | - # FROM flwr/clientapp:${FLWR_VERSION:-1.14.0} + # FROM flwr/clientapp:${FLWR_VERSION:-1.13.1} # # gcc is required for the fastai quickstart example # USER root diff --git a/src/docker/distributed/client/compose.yml b/src/docker/distributed/client/compose.yml index 5f1dc1b1a4d8..81d6405c7829 100644 --- a/src/docker/distributed/client/compose.yml +++ b/src/docker/distributed/client/compose.yml @@ -1,6 +1,6 @@ services: supernode-1: - image: flwr/supernode:${FLWR_VERSION:-1.14.0} + image: flwr/supernode:${FLWR_VERSION:-1.13.1} command: - --superlink - ${SUPERLINK_IP:-127.0.0.1}:9092 @@ -17,7 +17,7 @@ services: target: /app/certificates/superlink-ca.crt supernode-2: - image: flwr/supernode:${FLWR_VERSION:-1.14.0} + image: flwr/supernode:${FLWR_VERSION:-1.13.1} command: - --superlink - ${SUPERLINK_IP:-127.0.0.1}:9092 @@ -36,7 +36,7 @@ services: # uncomment to add another SuperNode # # supernode-3: - # image: flwr/supernode:${FLWR_VERSION:-1.14.0} + # image: flwr/supernode:${FLWR_VERSION:-1.13.1} # command: # - --superlink # - ${SUPERLINK_IP:-127.0.0.1}:9092 @@ -56,7 +56,7 @@ services: build: context: ${PROJECT_DIR:-.} dockerfile_inline: | - FROM flwr/clientapp:${FLWR_VERSION:-1.14.0} + FROM flwr/clientapp:${FLWR_VERSION:-1.13.1} WORKDIR /app COPY --chown=app:app pyproject.toml . @@ -80,7 +80,7 @@ services: build: context: ${PROJECT_DIR:-.} dockerfile_inline: | - FROM flwr/clientapp:${FLWR_VERSION:-1.14.0} + FROM flwr/clientapp:${FLWR_VERSION:-1.13.1} WORKDIR /app COPY --chown=app:app pyproject.toml . @@ -106,7 +106,7 @@ services: # build: # context: ${PROJECT_DIR:-.} # dockerfile_inline: | - # FROM flwr/clientapp:${FLWR_VERSION:-1.14.0} + # FROM flwr/clientapp:${FLWR_VERSION:-1.13.1} # WORKDIR /app # COPY --chown=app:app pyproject.toml . diff --git a/src/docker/distributed/server/compose.yml b/src/docker/distributed/server/compose.yml index 0f80cc97ee2f..9225c055011f 100644 --- a/src/docker/distributed/server/compose.yml +++ b/src/docker/distributed/server/compose.yml @@ -1,6 +1,6 @@ services: superlink: - image: flwr/superlink:${FLWR_VERSION:-1.14.0} + image: flwr/superlink:${FLWR_VERSION:-1.13.1} command: - --isolation - process @@ -25,7 +25,7 @@ services: build: context: ${PROJECT_DIR:-.} dockerfile_inline: | - FROM flwr/serverapp:${FLWR_VERSION:-1.14.0} + FROM flwr/serverapp:${FLWR_VERSION:-1.13.1} WORKDIR /app COPY --chown=app:app pyproject.toml . From 636c24b3f1e6b6e0ac73a2aba3a02ffaa488d7aa Mon Sep 17 00:00:00 2001 From: Heng Pan Date: Wed, 27 Nov 2024 07:52:22 +0000 Subject: [PATCH 3/4] feat(framework) Update changelog for `1.13.1` (#4588) Co-authored-by: Daniel J. Beutel --- doc/source/ref-changelog.md | 30 ++++++++++++++++++++++++++---- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/doc/source/ref-changelog.md b/doc/source/ref-changelog.md index 7916435bc2fd..a4b957aa178d 100644 --- a/doc/source/ref-changelog.md +++ b/doc/source/ref-changelog.md @@ -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` ### 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) From b909a55720d2b052b3ba4a9e386aae88ffe37f0b Mon Sep 17 00:00:00 2001 From: Heng Pan Date: Wed, 27 Nov 2024 10:07:50 +0000 Subject: [PATCH 4/4] refactor(*:skip) Reset versions back to `1.14.0` (#4587) --- baselines/doc/source/conf.py | 2 +- doc/source/conf.py | 4 ++-- examples/advanced-pytorch/pyproject.toml | 2 +- examples/advanced-tensorflow/pyproject.toml | 2 +- examples/custom-metrics/pyproject.toml | 2 +- examples/doc/source/conf.py | 2 +- .../federated-kaplan-meier-fitter/pyproject.toml | 2 +- examples/fl-dp-sa/pyproject.toml | 2 +- examples/fl-tabular/pyproject.toml | 2 +- .../flower-secure-aggregation/pyproject.toml | 2 +- examples/opacus/pyproject.toml | 2 +- .../pyproject.toml | 2 +- examples/quickstart-fastai/pyproject.toml | 2 +- examples/quickstart-jax/pyproject.toml | 2 +- examples/quickstart-mlx/pyproject.toml | 2 +- examples/quickstart-pandas/pyproject.toml | 2 +- .../quickstart-pytorch-lightning/pyproject.toml | 2 +- examples/quickstart-pytorch/pyproject.toml | 2 +- .../quickstart-sklearn-tabular/pyproject.toml | 2 +- examples/quickstart-tensorflow/pyproject.toml | 2 +- examples/sklearn-logreg-mnist/pyproject.toml | 2 +- examples/tensorflow-privacy/pyproject.toml | 2 +- examples/vertical-fl/pyproject.toml | 2 +- examples/xgboost-comprehensive/pyproject.toml | 2 +- pyproject.toml | 2 +- src/docker/complete/compose.yml | 16 ++++++++-------- src/docker/distributed/client/compose.yml | 12 ++++++------ src/docker/distributed/server/compose.yml | 4 ++-- .../templates/app/pyproject.baseline.toml.tpl | 2 +- .../templates/app/pyproject.flowertune.toml.tpl | 2 +- .../templates/app/pyproject.huggingface.toml.tpl | 2 +- .../cli/new/templates/app/pyproject.jax.toml.tpl | 2 +- .../cli/new/templates/app/pyproject.mlx.toml.tpl | 2 +- .../new/templates/app/pyproject.numpy.toml.tpl | 2 +- .../new/templates/app/pyproject.pytorch.toml.tpl | 2 +- .../new/templates/app/pyproject.sklearn.toml.tpl | 2 +- .../templates/app/pyproject.tensorflow.toml.tpl | 2 +- 37 files changed, 51 insertions(+), 51 deletions(-) diff --git a/baselines/doc/source/conf.py b/baselines/doc/source/conf.py index 4b8ac57898f2..9d5d4ea7fc92 100644 --- a/baselines/doc/source/conf.py +++ b/baselines/doc/source/conf.py @@ -37,7 +37,7 @@ author = "The Flower Authors" # The full version, including alpha/beta/rc tags -release = "1.13.1" +release = "1.14.0" # -- General configuration --------------------------------------------------- diff --git a/doc/source/conf.py b/doc/source/conf.py index 9182494671f5..c8d2a38acbc4 100644 --- a/doc/source/conf.py +++ b/doc/source/conf.py @@ -89,10 +89,10 @@ author = "The Flower Authors" # The full version of the next release, including alpha/beta/rc tags -release = "1.13.1" +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 diff --git a/examples/advanced-pytorch/pyproject.toml b/examples/advanced-pytorch/pyproject.toml index 4e7db60260ee..6a1283e0df58 100644 --- a/examples/advanced-pytorch/pyproject.toml +++ b/examples/advanced-pytorch/pyproject.toml @@ -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", diff --git a/examples/advanced-tensorflow/pyproject.toml b/examples/advanced-tensorflow/pyproject.toml index 0b21318cfcab..938636dc6704 100644 --- a/examples/advanced-tensorflow/pyproject.toml +++ b/examples/advanced-tensorflow/pyproject.toml @@ -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\"", diff --git a/examples/custom-metrics/pyproject.toml b/examples/custom-metrics/pyproject.toml index 0993e85d2c29..f365e5a0b47c 100644 --- a/examples/custom-metrics/pyproject.toml +++ b/examples/custom-metrics/pyproject.toml @@ -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'", diff --git a/examples/doc/source/conf.py b/examples/doc/source/conf.py index ded6e857b968..bde7f8677b7e 100644 --- a/examples/doc/source/conf.py +++ b/examples/doc/source/conf.py @@ -29,7 +29,7 @@ author = "The Flower Authors" # The full version, including alpha/beta/rc tags -release = "1.13.1" +release = "1.14.0" # -- General configuration --------------------------------------------------- diff --git a/examples/federated-kaplan-meier-fitter/pyproject.toml b/examples/federated-kaplan-meier-fitter/pyproject.toml index 7b39835853ca..6ea71a1878bb 100644 --- a/examples/federated-kaplan-meier-fitter/pyproject.toml +++ b/examples/federated-kaplan-meier-fitter/pyproject.toml @@ -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", diff --git a/examples/fl-dp-sa/pyproject.toml b/examples/fl-dp-sa/pyproject.toml index fe8778f11a35..6ebf06473f90 100644 --- a/examples/fl-dp-sa/pyproject.toml +++ b/examples/fl-dp-sa/pyproject.toml @@ -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", diff --git a/examples/fl-tabular/pyproject.toml b/examples/fl-tabular/pyproject.toml index 21611570381a..a87e0fb860f0 100644 --- a/examples/fl-tabular/pyproject.toml +++ b/examples/fl-tabular/pyproject.toml @@ -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", diff --git a/examples/flower-secure-aggregation/pyproject.toml b/examples/flower-secure-aggregation/pyproject.toml index 58a77a702d80..554e1c92c285 100644 --- a/examples/flower-secure-aggregation/pyproject.toml +++ b/examples/flower-secure-aggregation/pyproject.toml @@ -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", diff --git a/examples/opacus/pyproject.toml b/examples/opacus/pyproject.toml index 0918a625c297..d651ce6bc610 100644 --- a/examples/opacus/pyproject.toml +++ b/examples/opacus/pyproject.toml @@ -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", diff --git a/examples/pytorch-federated-variational-autoencoder/pyproject.toml b/examples/pytorch-federated-variational-autoencoder/pyproject.toml index 71abf83f19f2..b008b0f07ae8 100644 --- a/examples/pytorch-federated-variational-autoencoder/pyproject.toml +++ b/examples/pytorch-federated-variational-autoencoder/pyproject.toml @@ -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", diff --git a/examples/quickstart-fastai/pyproject.toml b/examples/quickstart-fastai/pyproject.toml index 473825f9df4e..c79292787bf3 100644 --- a/examples/quickstart-fastai/pyproject.toml +++ b/examples/quickstart-fastai/pyproject.toml @@ -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", diff --git a/examples/quickstart-jax/pyproject.toml b/examples/quickstart-jax/pyproject.toml index 5e39ec3a466d..8e677006a691 100644 --- a/examples/quickstart-jax/pyproject.toml +++ b/examples/quickstart-jax/pyproject.toml @@ -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", diff --git a/examples/quickstart-mlx/pyproject.toml b/examples/quickstart-mlx/pyproject.toml index f5d2a39a10f8..1c8d2b0b811c 100644 --- a/examples/quickstart-mlx/pyproject.toml +++ b/examples/quickstart-mlx/pyproject.toml @@ -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", diff --git a/examples/quickstart-pandas/pyproject.toml b/examples/quickstart-pandas/pyproject.toml index 615811cf2eac..986ae9abd0ac 100644 --- a/examples/quickstart-pandas/pyproject.toml +++ b/examples/quickstart-pandas/pyproject.toml @@ -12,7 +12,7 @@ authors = [ { name = "Ragy Haddad", email = "ragy202@gmail.com" }, ] 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", diff --git a/examples/quickstart-pytorch-lightning/pyproject.toml b/examples/quickstart-pytorch-lightning/pyproject.toml index 3f4a7c3a0959..86f90e945236 100644 --- a/examples/quickstart-pytorch-lightning/pyproject.toml +++ b/examples/quickstart-pytorch-lightning/pyproject.toml @@ -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'", diff --git a/examples/quickstart-pytorch/pyproject.toml b/examples/quickstart-pytorch/pyproject.toml index 7d017bc991d8..0e72bce6756b 100644 --- a/examples/quickstart-pytorch/pyproject.toml +++ b/examples/quickstart-pytorch/pyproject.toml @@ -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", diff --git a/examples/quickstart-sklearn-tabular/pyproject.toml b/examples/quickstart-sklearn-tabular/pyproject.toml index 196ba1b260f0..7c7554920973 100644 --- a/examples/quickstart-sklearn-tabular/pyproject.toml +++ b/examples/quickstart-sklearn-tabular/pyproject.toml @@ -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", ] diff --git a/examples/quickstart-tensorflow/pyproject.toml b/examples/quickstart-tensorflow/pyproject.toml index df8b09482088..3194640fa654 100644 --- a/examples/quickstart-tensorflow/pyproject.toml +++ b/examples/quickstart-tensorflow/pyproject.toml @@ -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\"", diff --git a/examples/sklearn-logreg-mnist/pyproject.toml b/examples/sklearn-logreg-mnist/pyproject.toml index 598bcb932736..797ae8045e0b 100644 --- a/examples/sklearn-logreg-mnist/pyproject.toml +++ b/examples/sklearn-logreg-mnist/pyproject.toml @@ -12,7 +12,7 @@ authors = [ { name = "Kaushik Amar Das", email = "kaushik.das@iiitg.ac.in" }, ] 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", diff --git a/examples/tensorflow-privacy/pyproject.toml b/examples/tensorflow-privacy/pyproject.toml index b0232f691f94..b9de0b692408 100644 --- a/examples/tensorflow-privacy/pyproject.toml +++ b/examples/tensorflow-privacy/pyproject.toml @@ -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", diff --git a/examples/vertical-fl/pyproject.toml b/examples/vertical-fl/pyproject.toml index b29924efa904..2376b55e1110 100644 --- a/examples/vertical-fl/pyproject.toml +++ b/examples/vertical-fl/pyproject.toml @@ -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", diff --git a/examples/xgboost-comprehensive/pyproject.toml b/examples/xgboost-comprehensive/pyproject.toml index 6b7c0868aefd..906b035cd6a2 100644 --- a/examples/xgboost-comprehensive/pyproject.toml +++ b/examples/xgboost-comprehensive/pyproject.toml @@ -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", ] diff --git a/pyproject.toml b/pyproject.toml index a3604e2ec3cb..f1207a94c448 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "poetry.core.masonry.api" [tool.poetry] name = "flwr" -version = "1.13.1" +version = "1.14.0" description = "Flower: A Friendly Federated AI Framework" license = "Apache-2.0" authors = ["The Flower Authors "] diff --git a/src/docker/complete/compose.yml b/src/docker/complete/compose.yml index 3bbd71c5513c..5287374cf040 100644 --- a/src/docker/complete/compose.yml +++ b/src/docker/complete/compose.yml @@ -1,7 +1,7 @@ services: # create a SuperLink service superlink: - image: flwr/superlink:${FLWR_VERSION:-1.13.1} + image: flwr/superlink:${FLWR_VERSION:-1.14.0} command: - --insecure - --isolation @@ -14,7 +14,7 @@ services: build: context: ${PROJECT_DIR:-.} dockerfile_inline: | - FROM flwr/serverapp:${FLWR_VERSION:-1.13.1} + FROM flwr/serverapp:${FLWR_VERSION:-1.14.0} # gcc is required for the fastai quickstart example USER root @@ -40,7 +40,7 @@ services: # create a two SuperNode service with different node configs supernode-1: - image: flwr/supernode:${FLWR_VERSION:-1.13.1} + image: flwr/supernode:${FLWR_VERSION:-1.14.0} command: - --insecure - --superlink @@ -55,7 +55,7 @@ services: - superlink supernode-2: - image: flwr/supernode:${FLWR_VERSION:-1.13.1} + image: flwr/supernode:${FLWR_VERSION:-1.14.0} command: - --insecure - --superlink @@ -72,7 +72,7 @@ services: # uncomment to add another SuperNode # # supernode-3: - # image: flwr/supernode:${FLWR_VERSION:-1.13.1} + # image: flwr/supernode:${FLWR_VERSION:-1.14.0} # command: # - --insecure # - --superlink @@ -90,7 +90,7 @@ services: build: context: ${PROJECT_DIR:-.} dockerfile_inline: | - FROM flwr/clientapp:${FLWR_VERSION:-1.13.1} + FROM flwr/clientapp:${FLWR_VERSION:-1.14.0} # gcc is required for the fastai quickstart example USER root @@ -122,7 +122,7 @@ services: build: context: ${PROJECT_DIR:-.} dockerfile_inline: | - FROM flwr/clientapp:${FLWR_VERSION:-1.13.1} + FROM flwr/clientapp:${FLWR_VERSION:-1.14.0} # gcc is required for the fastai quickstart example USER root @@ -156,7 +156,7 @@ services: # build: # context: ${PROJECT_DIR:-.} # dockerfile_inline: | - # FROM flwr/clientapp:${FLWR_VERSION:-1.13.1} + # FROM flwr/clientapp:${FLWR_VERSION:-1.14.0} # # gcc is required for the fastai quickstart example # USER root diff --git a/src/docker/distributed/client/compose.yml b/src/docker/distributed/client/compose.yml index 81d6405c7829..5f1dc1b1a4d8 100644 --- a/src/docker/distributed/client/compose.yml +++ b/src/docker/distributed/client/compose.yml @@ -1,6 +1,6 @@ services: supernode-1: - image: flwr/supernode:${FLWR_VERSION:-1.13.1} + image: flwr/supernode:${FLWR_VERSION:-1.14.0} command: - --superlink - ${SUPERLINK_IP:-127.0.0.1}:9092 @@ -17,7 +17,7 @@ services: target: /app/certificates/superlink-ca.crt supernode-2: - image: flwr/supernode:${FLWR_VERSION:-1.13.1} + image: flwr/supernode:${FLWR_VERSION:-1.14.0} command: - --superlink - ${SUPERLINK_IP:-127.0.0.1}:9092 @@ -36,7 +36,7 @@ services: # uncomment to add another SuperNode # # supernode-3: - # image: flwr/supernode:${FLWR_VERSION:-1.13.1} + # image: flwr/supernode:${FLWR_VERSION:-1.14.0} # command: # - --superlink # - ${SUPERLINK_IP:-127.0.0.1}:9092 @@ -56,7 +56,7 @@ services: build: context: ${PROJECT_DIR:-.} dockerfile_inline: | - FROM flwr/clientapp:${FLWR_VERSION:-1.13.1} + FROM flwr/clientapp:${FLWR_VERSION:-1.14.0} WORKDIR /app COPY --chown=app:app pyproject.toml . @@ -80,7 +80,7 @@ services: build: context: ${PROJECT_DIR:-.} dockerfile_inline: | - FROM flwr/clientapp:${FLWR_VERSION:-1.13.1} + FROM flwr/clientapp:${FLWR_VERSION:-1.14.0} WORKDIR /app COPY --chown=app:app pyproject.toml . @@ -106,7 +106,7 @@ services: # build: # context: ${PROJECT_DIR:-.} # dockerfile_inline: | - # FROM flwr/clientapp:${FLWR_VERSION:-1.13.1} + # FROM flwr/clientapp:${FLWR_VERSION:-1.14.0} # WORKDIR /app # COPY --chown=app:app pyproject.toml . diff --git a/src/docker/distributed/server/compose.yml b/src/docker/distributed/server/compose.yml index 9225c055011f..0f80cc97ee2f 100644 --- a/src/docker/distributed/server/compose.yml +++ b/src/docker/distributed/server/compose.yml @@ -1,6 +1,6 @@ services: superlink: - image: flwr/superlink:${FLWR_VERSION:-1.13.1} + image: flwr/superlink:${FLWR_VERSION:-1.14.0} command: - --isolation - process @@ -25,7 +25,7 @@ services: build: context: ${PROJECT_DIR:-.} dockerfile_inline: | - FROM flwr/serverapp:${FLWR_VERSION:-1.13.1} + FROM flwr/serverapp:${FLWR_VERSION:-1.14.0} WORKDIR /app COPY --chown=app:app pyproject.toml . diff --git a/src/py/flwr/cli/new/templates/app/pyproject.baseline.toml.tpl b/src/py/flwr/cli/new/templates/app/pyproject.baseline.toml.tpl index f4f9996a61c3..cdf340b030ee 100644 --- a/src/py/flwr/cli/new/templates/app/pyproject.baseline.toml.tpl +++ b/src/py/flwr/cli/new/templates/app/pyproject.baseline.toml.tpl @@ -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", diff --git a/src/py/flwr/cli/new/templates/app/pyproject.flowertune.toml.tpl b/src/py/flwr/cli/new/templates/app/pyproject.flowertune.toml.tpl index c8854cec0f7f..9d7c1bdf1292 100644 --- a/src/py/flwr/cli/new/templates/app/pyproject.flowertune.toml.tpl +++ b/src/py/flwr/cli/new/templates/app/pyproject.flowertune.toml.tpl @@ -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", diff --git a/src/py/flwr/cli/new/templates/app/pyproject.huggingface.toml.tpl b/src/py/flwr/cli/new/templates/app/pyproject.huggingface.toml.tpl index d38383999d04..d46c1c68e097 100644 --- a/src/py/flwr/cli/new/templates/app/pyproject.huggingface.toml.tpl +++ b/src/py/flwr/cli/new/templates/app/pyproject.huggingface.toml.tpl @@ -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", diff --git a/src/py/flwr/cli/new/templates/app/pyproject.jax.toml.tpl b/src/py/flwr/cli/new/templates/app/pyproject.jax.toml.tpl index 634f95b204fb..70c02a6b068b 100644 --- a/src/py/flwr/cli/new/templates/app/pyproject.jax.toml.tpl +++ b/src/py/flwr/cli/new/templates/app/pyproject.jax.toml.tpl @@ -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", diff --git a/src/py/flwr/cli/new/templates/app/pyproject.mlx.toml.tpl b/src/py/flwr/cli/new/templates/app/pyproject.mlx.toml.tpl index e118e8d455ad..5d4cc9987fb5 100644 --- a/src/py/flwr/cli/new/templates/app/pyproject.mlx.toml.tpl +++ b/src/py/flwr/cli/new/templates/app/pyproject.mlx.toml.tpl @@ -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", diff --git a/src/py/flwr/cli/new/templates/app/pyproject.numpy.toml.tpl b/src/py/flwr/cli/new/templates/app/pyproject.numpy.toml.tpl index ba87bf5a4595..a82d5c137b83 100644 --- a/src/py/flwr/cli/new/templates/app/pyproject.numpy.toml.tpl +++ b/src/py/flwr/cli/new/templates/app/pyproject.numpy.toml.tpl @@ -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", ] diff --git a/src/py/flwr/cli/new/templates/app/pyproject.pytorch.toml.tpl b/src/py/flwr/cli/new/templates/app/pyproject.pytorch.toml.tpl index 4dd8a3390805..e8c3f9fe57e8 100644 --- a/src/py/flwr/cli/new/templates/app/pyproject.pytorch.toml.tpl +++ b/src/py/flwr/cli/new/templates/app/pyproject.pytorch.toml.tpl @@ -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", diff --git a/src/py/flwr/cli/new/templates/app/pyproject.sklearn.toml.tpl b/src/py/flwr/cli/new/templates/app/pyproject.sklearn.toml.tpl index d5be1fbdd137..23066f9f46ec 100644 --- a/src/py/flwr/cli/new/templates/app/pyproject.sklearn.toml.tpl +++ b/src/py/flwr/cli/new/templates/app/pyproject.sklearn.toml.tpl @@ -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", ] diff --git a/src/py/flwr/cli/new/templates/app/pyproject.tensorflow.toml.tpl b/src/py/flwr/cli/new/templates/app/pyproject.tensorflow.toml.tpl index 47c746382be5..b37353c8f63d 100644 --- a/src/py/flwr/cli/new/templates/app/pyproject.tensorflow.toml.tpl +++ b/src/py/flwr/cli/new/templates/app/pyproject.tensorflow.toml.tpl @@ -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", ]