Flower 1.24.0
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.