Published

Announcing Flower 1.34

Share blogpost

The Flower team is excited to announce the release of Flower 1.34 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, Mohammad Naseri, Stephane Moroso, Taner Topal, William Lindskog

What's new?

  • Improve database reliability across SQLite and PostgreSQL (#7758, #7768, #7769, #7771, #7772, #7773, #7775, #7782, #7785, #7799, #7803, #7808, #7812, #7813, #7814, #7815, #7817, #7818, #7831, #7832, #7833, #7840, #7844, #7899)

    PostgreSQL-backed deployments can now dispatch automations correctly, and existing SQLite automation timestamps are normalized during upgrades. CoreState, LinkState, and ObjectStore now standardize on declarative SQLAlchemy models and model-backed reads and writes, improving consistency across database backends while preserving atomic lifecycle transitions.

  • Configure and authenticate the Control API consistently (#7789, #7791, #7796, #7797, #7839, #7845, #7879, #7887)

    Control API OIDC enablement now uses FLWR_OIDC_ENABLED, while HTTP authentication uses standard Bearer-token handling and FastAPI error responses. Obsolete authentication configuration, endpoints, and authorization paths have been removed.

  • Compute privacy loss with RDP accounting (research preview) (#7884)

    Flower now includes the core Rényi differential privacy accounting primitives for computing and composing ε and δ across private releases. Integration with strategies is not included in this release.

  • Automate Framework minor releases (#7829, #7837, #7848, #7855, #7856, #7861, #7863, #7877, #7878, #7880, #7883, #7885, #7889, #7893)

    Rerunnable workflows now prepare, validate, and finalize Framework minor releases from a fixed main commit while preserving human changelog edits. Deterministic version updates, commit-addressed and reusable artifacts, and retry-safe publication reduce release overhead and support more frequent Flower releases.

  • Prepare for federation-level Flower App management (#7838, #7868, #7871, #7874, #7875, #7898)

    Flower now records apps launched in a federation and lets federation members list them through the Control API. New state operations and API scaffolding cover adding and removing apps, while federation responses report whether users can invite members or add SuperNodes, laying the groundwork for managing Flower Apps at the federation level.

  • Unify the Runtime API for SuperLink and SuperNode (#7764, #7777, #7783, #7793, #7794)

    ServerAppIo and ClientAppIo now share the same Runtime gRPC service contract and terminology across SuperLink and SuperNode. Existing CLI flags and configuration names remain unchanged for compatibility.

  • Prepare to migrate the Runtime API from gRPC to HTTP (#7800, #7801, #7804, #7805, #7807, #7809, #7820, #7830, #7834, #7847, #7849, #7851, #7854, #7860, #7864, #7865, #7867, #7869, #7876, #7881, #7886, #7894, #7910, #7911, #7912)

    Flower is preparing to replace the Runtime API's gRPC transport with HTTP. This release adds transport-neutral handlers, FastAPI routes for SuperLink and SuperNode, and httpx-based clients, including complete SuperLink Runtime calls, shared TLS-aware client construction, and task heartbeat support, while retaining the existing gRPC path during the transition.

  • Choose an agent in flwr chat (experimental) (#7787)

    Use the new @ selector to choose an available agent for subsequent chat runs. The flwr CLI fetches the choices from the SuperLink and continues to use Flower Agent by default.

  • Learn how to use Flower Agent in the browser and CLI (experimental) (#7901)

    New Flower Agent documentation provides a browser-first quickstart, a refreshed terminal tutorial with screenshots, introductory agent and federation concepts, and troubleshooting guidance.

  • Connect AgentApps to Slack, Notion, GitHub, and Attio (experimental) (#7600, #7738, #7749, #7752, #7756, #7784, #7786, #7792, #7891, #7892, #7905)

    AgentApps can now use OAuth connectors for Slack, Notion, GitHub, and Attio. Shared OAuth configuration and runtime tool expansion provide consistent authentication and connector availability across these integrations. Connector schemas now reject invalid empty or undeclared values, and connector listing and use are restricted to personal federations.

  • General improvements (#7755, #7776, #7781, #7795, #7802, #7810, #7822, #7823, #7824, #7825, #7826, #7828, #7857, #7858, #7862, #7870, #7873)

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

Incompatible changes

  • Remove Flower Intelligence (#7778)

    With the introduction of Flower Agent, we are retiring Flower Intelligence. Flower Intelligence is no longer part of this repository; its Kotlin, Swift, and TypeScript SDKs, examples, documentation, and release tooling have been removed.

Share Blogpost