-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Releases: flwrlabs/flower
Flower 1.31.0
6418069 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):
Charles Beauville, Chong Shen Ng, Daniel J. Beutel, Daniel Nata Nugraha, Gustavo Bertoli, Heng Pan, Javier, Leandro, Lorenzo Sani, Micah Sheller, Mohammad Naseri, Nyam2C, Patrick Foley, Seulki Yun, Sijiaomg Ohoh, Taner Topal, Yan Gao, Young D. Kwon, reducedradius
What's new?
-
Prepare support for Flower Agent (#7215, #7216, #7220, #7238, #7252, #7253, #7256, #7261, #7264, #7272, #7273, #7277, #7287, #7291, #7292, #7293, #7301, #7314, #7324, #7337)
Prepares the foundation for running Flower Agent on SuperGrid, introducing the infrastructure and building blocks needed for upcoming agentic AI workflows.
-
Add SuperGrid guides (#7188, #7221, #7257, #7279, #7328, #7334)
Adds new and expanded SuperGrid guides, including Flower CLI usage and instructions for running apps on SuperGrid. To learn more about using SuperGrid, see the Get started with Flower tutorial.
-
Add Executor Abstraction for SuperExecs (#7174, #7206, #7231, #7232, #7233, #7234, #7235, #7323)
Introduces a SuperExec Executor framework that separates task selection from how tasks are launched. The new execution specification, launch result handling, token-file support, and capacity hook make it easier to add and enrich launch paths for different execution environments, from local subprocesses to containers, Kubernetes pods, and other managed runtimes.
-
Improve high availability (#7169, #7173, #7265, #7266, #7282, #7284, #7285, #7303)
Improves high availability by making cleanup and startup operations safer, and strengthening concurrent node, message, and run handling.
-
Track
ClientAppruntime metrics in simulation runs (#7248, #7250, #7251, #7260)Tracks
ClientAppruntime metrics in simulation runs by adding run metrics to theAppIoproto, collecting run metrics, and forwarding simulation run metrics. -
Add task-to-task communication (#7156, #7178, #7194, #7213)
Adds the base structure for task-process-to-task-process communication on the same host.
-
Restructure framework modules (#7242, #7246, #7259, #7278)
Restructures
flwrby relocatingContext,Message, andRecordDicttoflwr.app, andGridandServerApptoflwr.serverapp. -
Migrate framework CI/CD to uv (#6693, #7202, #7214, #7223, #7275)
Migrates framework CI/CD to
uv, including the Poetry replacement,uv-buildbackend switch, and CI workflow update. -
Update translations (#7222, #7227, #7228, #7230, #7245, #7255, #7270, #7286, #7289, #7295, #7296, #7302, #7309)
-
Upgrade Ray to 2.55.1 (#7181)
-
General improvements (#7155, #7218, #7219, #7229, #7243, #7254, #7262, #7267, #7281, #7306, #7315, #7331)
As always, many parts of the Flower framework and quality infrastructure were improved and updated.
Incompatible changes
-
Drop Python 3.10 support (#7190)
With Python 3.10 reaching end-of-life in October 2026, Flower drops support for Python 3.10.
Assets 4
Flower 1.30.0
fae9542 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):
Charles Beauville, Chong Shen Ng, Daniel J. Beutel, Daniel Nata Nugraha, Heng Pan, Javier, Micah Sheller, Mohammad Naseri, Patrick Foley, Taner Topal, Yan Gao
What's new?
-
Introduce the task system for executor process lifecycle management (#7030, #7031, #7036, #7040, #7044, #7047, #7053, #7054, #7058, #7068, #7069, #7078, #7079, #7080, #7081, #7083, #7087, #7088, #7089, #7090, #7094, #7095, #7097, #7100, #7101, #7102, #7105, #7106, #7110, #7111, #7112, #7115, #7116, #7117, #7118, #7122, #7139, #7144, #7151, #7153, #7157, #7158, #7163, #7167, #7180, #7184, #7197)
Introduces the task system as the foundation for managing task process lifecycles across the framework. Tasks represent executable units such as
flwr-serverappandflwr-clientapp, enabling consistent creation, claiming, activation, heartbeat tracking, completion, and logging. The change also refactors existing run and executor workflows to operate on tasks and links a run status to its primary task for improved orchestration and lifecycle tracking. -
Add initial runtime version compatibility checks across framework components (#7038, #7067, #7077, #7084, #7091, #7092, #7093, #7103, #7107, #7108, #7113, #7141, #7146, #7160, #7191)
Introduces runtime version compatibility metadata and checks across Flower runtime components. AppIo communication for
flwr-serverapp,flwr-simulation, andflwr-clientappnow enforces matchingmajor.minorFlower releases, which prevents incompatible app runtime combinations from proceeding. Control API and Fleet API also observe runtime version metadata to prepare these paths for stricter compatibility handling in future releases. -
Add TLS support for AppIo APIs (#6986, #7046, #7175)
Introduces TLS support for the ServerAppIo and ClientAppIo APIs. Adds root certificate configuration for
flwr-commands andflower-superexec. Find out more details in the TLS guide. -
Support dynamic ClientAppIo ports in SuperNode (#7128)
Fixes support for
localhost:0in the SuperNode ClientAppIo API. -
Improve framework CI and release workflows (#7007, #7034, #7041, #7055, #7072, #7073, #7086, #7138, #7145, #7152, #7154, #7159, #7166, #7170, #7176, #7187)
-
Improve framework documentation (#7006, #7011, #7022, #7050, #7150, #7186)
-
General improvements (#7013, #7021, #7024, #7025, #7027, #7028, #7037, #7043, #7051, #7056, #7057, #7061, #7063, #7104, #7109, #7123, #7124, #7125, #7134, #7136, #7140, #7143, #7148, #7149, #7161, #7162, #7165, #7172, #7183, #7192, #7195, #7196, #7200, #7204)
As always, many parts of the Flower framework and quality infrastructure were improved and updated.
Incompatible changes
-
Disallow manually running internal
flwr-*commands (#7019)Removes support for manually starting
flwr-serverapp,flwr-simulation, andflwr-clientapp; these commands can only be launched by SuperExec.
Assets 4
Flower 1.29.0
a69502f 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):
Charles Beauville, Chong Shen Ng, Daniel J. Beutel, Heng Pan, Javier, Micah Sheller, Mohammad Naseri, Patrick Foley, Yan Gao
What's new?
-
Introduce runtime dependency installation option for isolated execution (#6741)
Introduces the
--allow-runtime-dependency-installationflag toflower-superexec, enabling runtime dependency installation viauvso that applications with differing dependencies can run independently. Runtime dependency installation automatically creates an independent venv for each run, even if those runs happen concurrently. Propagates this option fromflower-superlink/flower-supernodeto automatically startedflower-superexecinstances when using subprocess isolation mode. -
Improve federation run management and validation (#6943, #6956, #6957, #6961)
Enhances federation functionality by enabling members to inspect run details, stream logs, and stop runs directly within a federation. Introduces validation for federation names during creation. Hides the SuperNode status column when a federation is archived.
-
Introduce SuperExec authentication with HMAC and shared secrets (#6948, #6949, #6950, #6951, #6952, #6977, #6978, #6979, #6980, #6981)
Introduces an experimental SuperExec authentication mechanism based on shared-secret HMAC. Establishes core primitives, nonce replay protection, and interceptor foundations, and integrates authentication into ServerAppIo and ClientAppIo.
-
Show Flower Hub compatibility note in CLI download and review flows (#6989, #6992)
Surfaces the Flower Hub-provided compatibility note when an app download resolves to an older compatible version instead of the latest release. Reads the returned
notefield and displays it inflwr run,flwr newandflwr app review, improving transparency around version selection. -
Enhance authentication for
flwr-*processes (#6796)Improves security by authenticating RPC calls from
flwr-serverapp,flwr-simulation, andflwr-clientappusing token-based mechanism. -
Update examples with FAB metadata and improved documentation (#6890, #6935)
Enhances examples by updating README files to use local SuperLink and adding FAB format metadata (
fab-format-version = 1andflwr-version-target). Introduces LICENSE files across published apps and bumps application versions at the minor level to reflect these updates. -
Display full FAB hash in
flwr listJSON output (#6958)Replaces truncated FAB hash with the full hash value in the JSON output of
flwr list, ensuring complete and accurate identification of FABs. -
Stabilize CI pipelines and improve test reliability (#6911, #6974, #6985, #6987)
-
General improvements (#6931, #6944, #6946, #6955, #6970, #6973, #6982, #6983, #6988, #6990, #6994, #6995, #6996, #6997, #6999, #7003, #7004, #7005)
As always, many parts of the Flower framework and quality infrastructure were improved and updated.
Incompatible changes
Assets 4
Flower 1.28.0
830759c 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):
Charles Beauville, Chong Shen Ng, Daniel J. Beutel, Daniel Nata Nugraha, Heng Pan, Javier, Julian Rußmeyer, Micah Sheller, Mohammad Naseri, Patrick Foley, Taner Topal, William Lindskog, Yan Gao, xiaoyanshen799
What's new?
-
Introduce federation-based simulation configuration and management (#6787, #6790, #6791, #6806, #6813, #6820, #6821, #6826, #6829, #6837, #6846, #6848, #6857, #6858, #6859, #6860, #6861, #6865, #6867, #6882, #6883, #6888, #6895, #6907, #6934)
Introduces simulation-capable federations and a mechanism to configure the Simulation Runtime that these federations use in both a persistent manner and with per-run overrides. For the former, the
flwr federation simulation-configcommand is introduced; for the latter--federation-configcan be used to dynamically override values at when submitting a run viaflwr run. Updates documentation and provides a migration guide here. Refer to the updated Simulation Runtime guide for more details about running simulations with Flower. -
Improve local SuperLink stability and configuration handling (#6797, #6873, #6874, #6889)
Improves local SuperLink stability by improving SQLite bootstrap robustness and validating Control API availability before executing CLI calls. Allows magic values (
":local:",":local-in-memory:") foraddressfields in Flower configuration, which will be translated to the local SuperLink address. Ensures backward compatibility for.options-only connection configurations. Using.optionsfields in the Flower configuration (config.toml) is now deprecated. See Flower configuration guide for more details. -
Add configurable FAB inclusion and exclusion rules (#6803, #6804, #6805, #6822, #6823, #6872, #6885)
Introduces support for user-defined include and exclude patterns in FAB builds via configuration, with validation of pattern lists and extended matching capabilities. Ensures publish filters are applied before FAB build filters, standardizes metadata keys in
pyproject.toml, and refactors supporting utilities. Updates documentation with guide on configuring inclusion and exclusion rules. -
Introduce FAB format v1 validation rules and requirements (#6782, #6825, #6843, #6851, #6887)
Introduces validation rules for FAB format version 1, requiring
flwr-version-targetto be specified and enforcing a lower bound for theflwrdependency inpyproject.toml. Adds license file requirements during FAB build. -
Add non-blocking version update checks across Flower components (#6786, #6788, #6833, #6938)
Adds non-blocking startup checks in the Flower CLI to detect newer versions of
flwrin CLI. Allows disabling by setting environment variableFLWR_DISABLE_UPDATE_CHECK=1. -
Support port
0for automatic OS-assigned ports (#6795) -
Add
--versionflag to Flower CLI components (#6781) -
Add dynamic data seed option to FlowerTune LLM examples (#6831)
-
Add
flwr federation remove-accountcommand for managing federation membership (#6757, #6759, #6764, #6772, #6777, #6778, #6789) -
Improve availability and reliability of message delivery and state handling (#6773, #6785, #6877, #6915)
-
Fix handling of scalar (0D) NumPy arrays in strategies and mods (#6783)
-
Improve documentation (#6332, #6742, #6771, #6834, #6838, #6910, #6929, #6941)
-
Improve CI/CD workflows and developer tooling (#6701, #6732, #6738, #6739, #6743, #6744, #6753, #6768, #6769, #6770, #6775, #6793, #6816, #6835)
-
General improvements (#6578, #6627, #6734, #6740, #6748, #6749, #6751, #6755, #6763, #6774, #6776, #6779, #6800, #6801, #6802, #6811, #6815, #6827, #6828, #6839, #6840, #6841, #6842, #6868, #6869, #6893, #6900, #6901, #6906, #6908, #6909, #6918, #6919, #6920, [#6921](https://github.com/flwrlabs/flower/pull/...
Assets 4
Flower 1.27.0
d5bd35b 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):
Charles Beauville, Chong Shen Ng, Daniel J. Beutel, Heng Pan, Javier, Micah Sheller, Mohammad Naseri, Roma Klapaukh, Ruth Galindo, Taner Topal, Yan Gao
What's new?
-
Introduce local SuperLink for managing local simulations (#6599, #6717)
Local simulations are now managed by a local SuperLink, which is automatically launched on demand. This enables running most
flwrCLI commands locally, such asflwr listto list previous runs andflwr logto retrieve logs from earlier runs. See the documentation for more details. -
Allow SuperLink log rotation (#6700)
Adds support for timed log rotation in SuperLink. Log files can now be configured using
--log-file,--log-rotation-interval-hours, and--log-rotation-backup-count. -
Update framework documentation (#6533, #6537, #6541, #6546, #6551, #6593, #6598, #6612, #6615, #6629, #6631, #6635, #6681, #6694, #6710, #6718, #6719, #6731)
Improves and fixes various parts of the framework documentation, including a new FAQ for unexpected Windows PowerShell output (FAQ entry).
-
Adopt release-branch workflow for Flower framework releases (#6560, #6566, #6594)
Adopts a release-branch workflow for the Flower framework, enabling releases from dedicated
release/framework-X.Ybranches and introducing theframework-X.Y.Zrelease tag format. -
Introduce versioned Flower documentation built from release branches (#6564, #6569, #6596, #6607, #6609, #6610)
Introduces a new documentation release workflow where versioned Flower documentation is built and published from release branches. One documentation version is generated for each minor series (
X.Y.x), allowing documentation updates after a release. -
Introduce multi-federation management via
flwr federationCLI commands (#6559, #6582, #6583, #6588, #6589, #6611, #6618, #6623, #6625, #6632, #6658, #6662, #6673, #6674, #6676, #6680, #6695, #6703, #6705, #6707, #6708, #6722, #6725, #6726)On supported SuperLinks, users can manage federations using the
flwr federationCLI. This includes creating federations (flwr federation create), adding or removing SuperNodes (flwr federation add-supernode/remove-supernode), and archiving federations (flwr federation archive). Users can also collaborate through federation invitations usingflwr federation invitecommands to create, list, accept, reject, or revoke invitations. -
Add
--limitoption toflwr listto limit the number of runs listed (#6639, #6737) -
Add Federated Analytics example (#6314)
-
Improve Flower Hub app publishing and FAB building (#6656, #6685, #6686, #6689, #6736)
-
Update packaging and dependency configuration (#6548, #6558, #6648, #6651, #6654, #6683)
-
Improve CI workflows (#6549, #6550, #6573, #6575, #6579, #6585, #6601, #6617, #6624, #6633, #6645, #6647, #6655, #6665, #6706)
-
General improvements (#6540, #6547, #6553, #6563, #6568, #6591, #6595, #6602, #6616, #6634, #6637, #6642, #6643, #6650, #6652, #6659, #6670, #6679, #6696, #6712, #6716, #6720, #6721, #6723, #6724, #6727, #6728, #6729, #6735)
As always, many parts of the Flower framework and quality infrastructure were improved and updated.
Incompatible changes
-
Unpublish
v1.8.0-v1.16.0framework documentation (#6621)Unpublishes very old documentation versions that are no longer compatible with the updated documentation structure and release workflow.
-
Drop deprecated
--flwr-dirCLI option (#6677)Removes the deprecated
--flwr-diroption from CLI commands. A custom Flower directory can still be configured using theFLWR_HOMEenvironment variable. -
Remove
flower-simulationCLI entrypoint (#6628)Removes the
flower-simulationCLI entrypoint. With the introduction of local SuperLink, this command is no longer needed.
Assets 4
Flower 1.26.1
18f6f47 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):
Charles Beauville, Chong Shen Ng, Copilot, Daniel J. Beutel, Heng Pan, Javier, Taner Topal
What's new?
-
Fix client resource handling in local simulations (#6536)
Fix an issue in local simulations where backend configuration is not correctly propagated, causing virtual client resource settings such as CPU and GPU allocations in the Flower Configuration to be ignored.
-
General improvements (#6526, #6493, #6534, #6531, #6523, #6529, #6501)
Assets 4
Flower 1.26.0
7ff765c 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):
Charles Beauville, Chong Shen Ng, Daniel J. Beutel, Flippchen, Heng Pan, Iason Ofeidis, Javier, Jun S, Soumik Sarker, Taner Topal, Yan Gao, nihonge
What's new?
-
Introduce centralized
flwrCLI configuration (#6240, #6338, #6343, #6349, #6354, #6356, #6357, #6359, #6362, #6364, #6365, #6366, #6367, #6372, #6376, #6381, #6382, #6385, #6386, #6390, #6400, #6422, #6423, #6435, #6439, #6440, #6441, #6446, #6481, #6492, #6502, #6509, #6513, #6519)Changes Flower CLI (
flwr) configuration to introduce a new way to manage SuperLink connections and simulation settings in a central place (instead of Flower app'spyproject.toml). This enablesflwrcommands to be executed from any directory and allow reuse of named connections across different Flower apps. This change also removes the now obsoleteenable-account-authoption. The central Flower CLI config fully replaces the legacyfederationconfiguration inpyproject.toml, which is automatically migrated to the new Flower configuration format when runningflwrcommands. For usage details, see the Flower CLI reference and the Flower configuration documentation. -
Enable automated database migrations on Flower version upgrades (#6345, #6355, #6370, #6371, #6378, #6379, #6380, #6383, #6384, #6387, #6388, #6389, #6396, #6398, #6402, #6403, #6404, #6406, #6407, #6408, #6410, #6411, #6424, #6425, #6426, #6433, #6436, #6448, #6450, #6457, #6459, #6460, #6469, #6477, #6478, #6521)
Refactors Flower's internal states implementations to introduce Alembic-based schema migrations with automatic upgrades. This ensures database compatibility across Flower versions and lays the groundwork for supporting more types of databases. See the database migration guide for details.
-
Improve CLI error handling and usability (#6432, #6437, #6444, #6462, #6467, #6505)
Updates
flwrCLI to provide clearer and more consistent error formatting, improves CLI error messages and logging, and shows command aliases. -
Improve reliability of network stack,
ServerAppshutdown and Windows support (#6342, #6430, #6447, #6456, #6490, #6504)Improves the reliability of message transmission and capacity tracking under unstable network conditions and high concurrency, improves Windows process handling and address resolution, and ensures graceful shutdown of
flwr-serverapp. -
Fix and improve framework documentation (#6312, #6336, #6351, #6397, #6401, #6434, #6455, #6470, #6485, #6506, #6508, #6511, #6512, #6516)
Fixes an incorrect learning rate key in the tutorial series, updates the
clientappioaddress in the auth example, and improves the documentation UI by making the versioning sidebar scrollable to show all versions. -
Update and maintain examples (#6331, #6334, #6369, #6395, #6419, #6474, #6488)
Updates the JAX quickstart, bumps example dependencies, makes the certificate generation script cross-platform, normalizes training loss in the PyTorch quickstart, and marks the legacy
quickstart-pytorchexample as deprecated. -
Refine
flwr federationCLI (#6340, #6461, #6463, #6468, #6476, #6479, #6480)Removes
flwr federation showin favor offlwr federation list. This makes the command more consistent with howflwr listworks. The aligned command now supports detailed inspection viaflwr federation list --federation <federation>and displays account names instead of account IDs. -
Update CI/CD workflows and tests (#6301, #6321, #6330, #6346, #6347, #6348, #6352, #6373, #6375, #6394, #6445, #6449)
-
General improvements (#6320, #6323, #6324, #6325, #6326, #6327, #6335, #6337, #6339, #6344, #6350, [#6353](https://github.com/adap/flower/p...
Assets 4
Flower 1.25.0
a66982d 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):
Chong Shen Ng, Daniel J. Beutel, Heng Pan, Javier, Mohammad Naseri, Soumik Sarker, William Lindskog, Yan Gao, sarahhfalco
What's new?
-
Track compute time and network traffic for runs (#6241, #6242, #6243, #6244, #6245, #6249, #6266, #6267, #6268, #6269, #6270, #6271, #6272, #6273, #6274, #6275, #6276, #6279)
Flower now records compute time and network traffic for a run. The run detail view shown by
flwr list --run-id <run-id>displays traffic exchanged between SuperLink and SuperNode, as well as compute time used byServerAppandClientApp. -
Refactor
flwr newto pull apps from the Flower platform (#6251, #6252, #6258, #6259, #6260, #6263, #6265, #6283, #6284, #6285, #6292, #6294, #6302)Refactors
flwr newto fetch Flower apps directly from the Flower platform (see the usage reference). This introduces new and updated quickstart examples (including NumPy and FlowerTune LLM), renames and updates existing examples, aligns CI to run against platform-backed examples, and updates related documentation and benchmark instructions. -
Migrate examples to the Message API and remove outdated Docker Compose as well as Tensorflow Privacy examples (#6232, #6233, #6238, #6297, #6304)
Migrates the scikit-learn, Vertical FL, and Opacus examples to the Message API, with the Vertical FL example also updated to use
flwr-datasets. The outdated Docker Compose and Tensorflow Privacy examples are removed. -
Improve CLI output with human-readable durations (#6277, #6296)
Updates the Flower CLI to display durations in a more human-friendly format (
xd xh xm xs), automatically selecting appropriate units instead of the previousHH:MM:SSformat. -
Update examples and baselines (#6234, #6256, #6257, #6264, #6280, #6281, #6286, #6287, #6288, #6290, #6291, #6293)
-
General improvements (#6056, #6085, #6176, #6235, #6236, #6254, #6278, #6299)
As always, many parts of the Flower framework and quality infrastructure were improved and updated.
Incompatible changes
-
Remove bundled templates from
flwr new(#6261)Removes the templates previously bundled with the Flower wheel now that
flwr newpulls apps from the Flower platform. The--frameworkand--usernameoptions are deprecated as part of this change.
Assets 4
Flower 1.24.0
124e142 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):
Charles Beauville, Chong Shen Ng, Daniel J. Beutel, Daniel Nata Nugraha, Heng Pan, Javier, Patrick Foley, Robert Steiner, Yan Gao
What's new?
-
Add Python 3.13 support (#6116, #6119, #6132)
flwrnow supports Python 3.13, with CI and dataset tests updated accordingly andraybumped to ensure compatibility. -
Improve the
flwr listview (#6117)flwr listnow shows fewer details by default, while providing expanded information when using the--run-idflag. -
Extend federation commands and internal APIs (#6067, #6068, #6078, #6082, #6086, #6087, #6088, #6090, #6091, #6092, #6093, #6094, #6098, #6103, #6105, #6121, #6122, #6143, #6152, #6153, #6154, #6158, #6165, #6167)
These updates refine and extend the existing federation concept.
flwr federation showandflwr federation listnow provide clearer visibility into SuperNodes and runs in the default federation. -
Introduce unified app heartbeat mechanism (#6204, #6206, #6209, #6210, #6212, #6213, #6214, #6215, #6218, #6219, #6221, #6224, #6225, #6226, #6227)
Introduces a unified heartbeat mechanism for app processes, preventing hangs when an app process crashes without responding. The new system enables
flwr-serverappandflwr-simulationprocesses to exit more quickly when a run is stopped by theflwr stopcommand. -
Fix bugs (#6188, #6171, #6175, #6207)
Resolves issues causing occasional missing or unregistered object IDs on lower-powered machines, prevent the
flwr-serverappprocess from hanging after being stopped via the CLI, and correct thefinished_attimestamp and initial heartbeat interval for runs. -
Improve import performance (#6102)
-
Update CI workflows and development tooling (#5242, #6053, #6080, #6089, #6108, #6129, #6130, #6131, #6135, #6138, #6142, #6144, #6156, #6181, #6187, #6189)
-
Update documentation (#6115, #6081, #6110, #6137, #6146, #6169, #6179, #6228)
-
General improvements (#6077, #6083, #6084, #6095, #6097, #6100, #6101, #6109, #6114, #6123, #6127, #6139, #6140, #6150, #6151, #6157, #6159, #6160, #6162, #6164, #6172, #6173, #6174, #6180, #6190, #6191, #6192, #6193, #6196, #6197, #6198, #6199, #6200, #6202, #6203, #6205, #6208, #6211, #6222, #6223)
As always, many parts of the Flower framework and quality infrastructure were improved and updated.
Incompatible changes
-
Drop Python 3.9 support (#6118, #6136, #6147)
flwrnow requires Python 3.10 as the minimum supported version, with baselines and development scripts updated accordingly. -
Bump protobuf to 5.x (#6104)
Upgrades
protobufto>=5.29.0, ensuringflwruses the latest gRPC stack and remains compatible with TensorFlow 2.20+. Note that this version is incompatible with TensorFlow versions earlier than 2.18. -
Deprecate
flwr.server.utils.tensorboard(#6113)The
flwr.server.utils.tensorboardfunction is now deprecated, and a slow import issue occurring whentensorflowis installed has been resolved.
Assets 4
Flower 1.23.0
6d099a8 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 Tupper, Alan Yi, Alireza Ghasemi, Charles Beauville, Chong Shen Ng, Daniel Anoruo, Daniel J. Beutel, Daniel Nata Nugraha, Heng Pan, Javier, Patrick Foley, Robert Steiner, Rohat Bozyil, Yan Gao, combe4259, han97901, maviva
What's new?
-
Enable dynamic SuperNode management via Flower CLI (#5953, #5954, #5955, #5962, #5968, #5974, #5977, #5980, #5981, #5985, #5986, #5987, #5988, #5991, #5998, #6003, #6004, #6006, #6009, #6023, #6028, #6029, #6037, #6064, #6070)
-
Add migration guide for OpenFL to Flower (#5975)
Adds a migration guide to support OpenFL users as the project approaches archival. The guide explains how to transition existing OpenFL setups to Flower, providing step-by-step migration instructions.
-
Add quantum federated learning example with PennyLane (#5852)
Introduces a new example demonstrating quantum federated learning using PennyLane. This example showcases how Flower can be integrated with quantum machine learning workflows—Flower is going quantum!
-
Replace
flwr lswithflwr list(keep alias for compatibility) (#5973)The old
flwr lscommand remains available as an alias. -
Migrate examples and tutorials to Message API (#5950, #5957, #5963, #5966)
Migrates the remaining examples and tutorials, including the 30-minute Flower tutorial,
whisper,quickstart-pandas, andfederated-kaplan-meier-fitter, to the new Message API for improved consistency and maintainability. -
Refactor SuperNode lifecycle (#6051, #6052, #6060, #6061, #6063, #6069, #6073)
Refactors the SuperNode lifecycle to align with the new management flow, streamlining SuperNode registration, activation, deactivation, and unregistration.
-
Add deployment guide for multi-cluster OpenShift setups (#6001)
-
Introduce file-based ObjectStore (#6040, #6036, #6008, #6042)
-
Improve documentation (#5936, #5937, #5943, #5949, #5956, #5958, #5972, #5976, #5983, #5996, #5999, #6010, #6018, #6030)
-
Update dependencies and CI (#5932, #5941, #5944, #5964, #6014, #6020, #6021, #6022, #6024, #6026, #6032, #6035, #6055, #6065)
-
Bugfix (#5979)
-
General improvements (#5773, #5938, #5939, #5942, #5948, #5951, #5959, #5984, #5989, #5992, #6007, #6011, #6033, #6038, #6041, #6046, #6047, #6048, #6050, #6054, #6057, #6058, #6074, #6075)
As always, many parts of the Flower framework and quality infrastructure were improved and updated.
Incompatible changes
-
Remove CSV-based SuperNode authentication (#5997)
-
Rename user authentication to account authentication (#5965, #5969)
Renames "user authentication" to "account authentication" across the framework for improved clarity and consistency. This change also updates the YAML key from
auth_typetoauthn_typeto align withauthz_type. -
Deprecate
--auth-supernode-public-keyflag (#6002, #6076)The
--auth-supernode-public-keyflag inflower-supernodeis deprecated and no longer in use. The public key is now automatically derived from the--auth-supernode-private-key, simplifying configuration and reducing redundancy.