Share this post
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)
flwr now supports Python 3.13, with CI and dataset tests updated accordingly and ray bumped to ensure compatibility.
-
Improve the flwr list view (#6117)
flwr list now shows fewer details by default, while providing expanded information when using the --run-id flag.
-
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 show and flwr federation list now 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-serverapp and flwr-simulation processes to exit more quickly when a run is stopped by the flwr stop command.
-
Fix bugs (#6188, #6171, #6175, #6207)
Resolves issues causing occasional missing or unregistered object IDs on lower-powered machines, prevent the flwr-serverapp process from hanging after being stopped via the CLI, and correct the finished_at timestamp 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)
flwr now requires Python 3.10 as the minimum supported version, with baselines and development scripts updated accordingly.
-
Bump protobuf to 5.x (#6104)
Upgrades protobuf to >=5.29.0, ensuring flwr uses 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.tensorboard function is now deprecated, and a slow import issue occurring when tensorflow is installed has been resolved.
Share this post
