The Flower team is excited to announce the release of Flower 1.27 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, Heng Pan, Javier, Micah Sheller, Mohammad Naseri, Patrick Foley, 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 flwr CLI commands locally, such as flwr list to list previous runs and flwr log to 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.Y branches and introducing the framework-X.Y.Z release 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 federation CLI 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 federation CLI. 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 using flwr federation invite commands to create, list, accept, reject, or revoke invitations.
-
Add --limit option to flwr list to 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, #6734, #6735)
As always, many parts of the Flower framework and quality infrastructure were improved and updated.
Incompatible changes
-
Unpublish v1.8.0-v1.16.0 framework documentation (#6621)
Unpublishes very old documentation versions that are no longer compatible with the updated documentation structure and release workflow.
-
Drop deprecated --flwr-dir CLI option (#6677)
Removes the deprecated --flwr-dir option from CLI commands. A custom Flower directory can still be configured using the FLWR_HOME environment variable.
-
Remove flower-simulation CLI entrypoint (#6628)
Removes the flower-simulation CLI entrypoint. With the introduction of local SuperLink, this command is no longer needed.
