Announcing Flower 1.18.0

Happy Easter! Hope you enjoyed a relaxing holiday. The Flower team is excited to announce the release of Flower 1.18 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):

Alan Silva, Andrej Jovanović, Charles Beauville, Chong Shen Ng, Chunhui XU, Daniel J. Beutel, Daniel Nata Nugraha, Dimitris Stripelis, Guanheng Liu, Gustavo Bertoli, Heng Pan, Javier, Khoa Nguyen, Mohammad Naseri, Pinji Chen, Robert Steiner, Stephane Moroso, Taner Topal, William Lindskog, Yan Gao

What’s new?

  • Add support for Python 3.12 (#5238)

    Python 3.12 is officially supported (Python 3.12 was in preview support since Flower 1.6). Python 3.13 support continues to be in preview until all dependencies officially support Python 3.13.

  • Enable TLS connection for flwr CLI using CA certificates (#5227, #5237, #5253, #5254)

    flwr CLI now supports secure TLS connections to SuperLink instances with valid CA certificates. If no root certificates are provided, the CLI automatically uses the default CA certificates bundled with gRPC.

  • Add --version and -V flags to display flwr version (#5236)

    Users can run flwr --version or flwr -V to print the current Flower version. The update also adds -h as a shorthand for CLI help.

  • Use Hugging Face flwrlabs datasets in FlowerTune templates (#5205)

    FlowerTune templates switch to use datasets hosted under the flwrlabs organization on Hugging Face.

  • Upgrade FedBN baseline to support flwr CLI (#5115)

    Refactors the FedBN baseline to use the new Flower CLI, removes Hydra, migrates configs, enables result saving, adds run instructions, and ensures stateful clients.

  • Fix bug in Shamir’s secret sharing utilities affecting Secure Aggregation (#5252)

    Refactors Shamir’s secret sharing utilities to fix a bug impacting Secure Aggregation. Thanks to Pinji Chen and Guanheng Liu for their contributions.

  • Ensure backward compatibility for RecordDict (#5239, #5270)

    The RecordDict (formerly RecordSet) now maintains full backward compatibility. Legacy usages of RecordSet and its properties are supported, with deprecation warnings logged when outdated references are used. Users are encouraged to transition to the updated RecordDict interface promptly to avoid future issues.

  • Refactor and optimize CI/CD for repository restructuring (#5202, #5176, #5200, #5203, #5210, #5166, #5214, #5212, #5209, #5199, #5204, #5201, #5191, #5167, #5248, #5268, #5251)

    Improves CI/CD workflows to align with repository changes. Updates issue templates, fixes Docker and docs jobs, enhances script compatibility, adds checks, and bumps tool versions to streamline development and deployment.

  • Improve and clean up documentation (#5233, #5179, #5216, #5211, #5217, #5198, #5168, #5215, #5169, #5171, #5240, #5259)

    Removes outdated content, redundant CLI flags, and unnecessary sections; updates Docker READMEs and virtual environment setup guide; and syncs translation source texts.

  • General Improvements (#5241, #5180, #5226, #5173, #5219, #5208, #5158, #5255, #5264, #5272)

    As always, many parts of the Flower framework and quality infrastructure were improved and updated.

Incompatible changes

  • Restructure repository (breaking change for contributors only) (#5206, #5194, #5192, #5185, #5184, #5177, #5183, #5207, #5267, #5274)

    Restructures the Flower repository by moving all framework-related code, configs, and dev tools into the framework/ subdirectory. This includes relocating all files under src/, dev scripts, pyproject.toml and other configs. Contributor documentation has been updated to reflect these changes.

    Switching to the new structure is straightforward and should require only minimal adjustments for most contributors, though this is a breaking change—refer to the contributor guide for updated instructions.

1 Like