Published

Announcing Flower 1.22

Photo of Pan Heng
Pan Heng
Research Scientist at Flower Labs

Share this post

With Flower AI Day in San Francisco (Sep 25) just around the corner, followed by the Flower Decentralized AI Hackathon at Stanford (Sep 26), the Flower team is excited to announce the release of Flower 1.22 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, Dimitris Stripelis, Heng Pan, Javier, Mohammad Naseri, Patrick Foley, William Lindskog, Yan Gao

What's new?

  • Migrate and implement strategies for the Message API (#5845, #5850, #5851, #5867, #5884, #5894, #5904, #5905, #5908, #5913, #5914, #5915, #5917, #5919, #5920, #5931)

    Migrates and implements all federated learning strategies to support the new Message API. Strategies updated or introduced include FedAvg, FedOpt and its variants (FedAdam, FedYogi, FedAdagrad), FedProx, Krum, MultiKrum, FedAvgM, FedMedian, FedTrimmedAvg, QFedAvg, and Bulyan. Differential privacy strategies were also migrated, including both fixed and adaptive clipping mechanisms on the server and client sides.

  • Migrate flwr new templates to Message API (#5901, #5818, #5893, #5849, #5883)

    All flwr new templates have been updated to use the Message API. The PyTorch template based on the legacy API is retained and explicitly marked as legacy for those who prefer or require the older approach. A new template for XGBoost is introduced.

  • Revamp main tutorials to use the Message API (#5861)

    The primary tutorial series has been updated to showcase the Message API. The revamped content improves alignment with recent architectural changes and enhances learning clarity. See the updated tutorial: Get started with Flower.

  • Upgrade tutorials and how-to guides to the Message API (#5862, #5877, #5891, #5895, #5896, #5897, #5898, #5906, #5912, #5916, #5921, #5922, #5923, #5924, #5927, #5928, #5925)

    All framework tutorials and how-to guides have been fully migrated to the Message API. This includes quickstarts for JAX, TensorFlow, PyTorch Lightning, MLX, FastAI, Hugging Face Transformers, and XGBoost, along with comprehensive updates to guides covering strategy design, differential privacy, checkpointing, client configuration, evaluation aggregation, and stateful client implementation. These changes ensure all learning resources are up-to-date, aligned with the current architecture, and ready for developers building on the Message API.

  • Migrate and update examples to support the Message API (#5827, #5830, #5833, #5834, #5839, #5840, #5841, #5860, #5868, #5869, #5875, #5876, #5879, #5880, #5882, #5887, #5888, #5889, #5892, #5907, #5911, #5930)

    Migrates a wide range of examples to the new Message API, ensuring consistency with recent framework updates. Examples updated include quickstarts (e.g., TensorFlow, PyTorch Lightning, Hugging Face, MONAI, FastAI, MLX), advanced use cases (e.g., FlowerTune for ViT and LLMs, FedRAG, FL-VAE), and specialized scenarios (e.g., XGBoost, tabular data, embedded devices, authentication, and custom mods). Enhancements also include updated variable naming, model-saving logic, readme improvements, and import path corrections for better usability and alignment with the new API.

  • Introduce experimental flwr pull command (#5863)

    The flwr pull Flower CLI command is the foundation for future functionality allowing for the retrieval of artifacts generated by a ServerApp in a remote SuperLink.

  • Improve CI/CD workflows (#5810, #5842, #5843, #5854, #5856, #5857, #5858, #5859, #5865, #5874, #5900, #5815)

  • General improvements (#5844, #5847, #5870, #5872, #5873, #5881, #5886, #5890, #5902, #5903, #5909, #5910, #5918)

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


Share this post