The Flower team is excited to announce the release of Flower 1.24 stable,
packed with new updates!
Flower is a friendly framework for collaborative AI and data science.
It makes novel approaches such as federated learning, federated evaluation,
federated analytics, and fleet learning accessible to a wide audience of researchers and engineers.
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.
