The Flower team is excited to announce the release of Flower 1.35 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, Daniel J. Beutel, Daniel Nata Nugraha, Dimitris Stripelis, Heng Pan, Javier, Mohammad Naseri, Stephane Moroso, Taner Topal
What’s new?
-
Run the Runtime API over HTTP (#7907, #7913, #7923, #7924, #7954, #7956, #7959, #7960, #7963)
The Runtime API now uses HTTP for communication between SuperLink/SuperNode and SuperExec or
flwrtask processes. -
Use Open Responses from AgentApps (experimental) (#7971, #7976, #7977, #7979, #7983, #7985)
AgentApps can now call the Open Responses-compatible
/v1/runtime/responsesendpoint through the OpenAI SDK, with both JSON and SSE streaming responses. Source-task filtering and synchronized context keep parallel calls isolated, whileagent.events.emit(...)lets apps selectively republish model events to frontends. Configured Runtime root certificates are exposed throughSSL_CERT_FILE. -
Continue conversations across federations in
flwr chat(experimental) (#7836, #7933, #7964, #7965, #7972, #7992)flwr chatcan now list prior conversations with/history, resume a selected run series, render responses as Markdown, and switch federations with/federation. New conversations use the personal federation by default. -
Manage Flower Apps in federations (experimental) (#7932, #7948, #7951, #7962, #7987)
Federations can now persist apps and add or remove Hub apps through the Control API.
-
Create your first AgentApp with one command (experimental) (#7947)
Run
flwr new @flwrlabs/agentto scaffold a ready-to-customize AgentApp that sends user input to a configured model and returns its response. -
Learn how to build, connect, and automate AgentApps (experimental) (#7903, #7906, #7925, #7927)
Flower Agent documentation now guides you through AgentApp foundations and runtime concepts, building a collaborative research app with
web_searchandweb_fetch, connecting Slack, Notion, GitHub, and Attio, and configuring one-time or recurring automations. -
Track privacy loss in fixed-clipping strategies (research preview) (#7934, #7958)
Fixed-clipping strategies can now use a
PrivacyAccountantto track cumulative ε and δ for Gaussian releases and prevent the next release from exceedingmax_epsilon. Accounting currently requires no-amplification sampling and uniformFedAvgaggregation weights. -
Catch invalid Flower Apps when building FABs (#7950, #7969)
flwr build, localflwr run, andflwr app publishnow provide actionable errors for paths that exceed the FAB depth limit and exclude.venvcontents from that check. FAB construction also validates the complete Flower App configuration, including for direct callers such as Hub publishing. -
Improve Framework release reliability (#7935, #7940, #7952)
Framework release finalization now promotes the intended OCI indexes to versioned and
latestDocker tags and verifies existing release refs before reusing them. Updated documentation explains the automated preparation and publication process. -
General improvements (#7882, #7890, #7937, #7938, #7939, #7942, #7943, #7949, #7957, #7961, #7968, #7970, #7981, #7982, #7989, #7995)
As always, many parts of the Flower framework and quality infrastructure were improved and updated.
Incompatible changes
-
Update Runtime API addresses and CLI options (#7936, #7955)
Replace
--serverappio-api-addresson SuperLink and--clientappio-api-addresson SuperNode with separate--hostand--portoptions. The default Runtime API addresses change from0.0.0.0:9091to127.0.0.1:8000on SuperLink and from0.0.0.0:9094to127.0.0.1:9094on SuperNode. Set--host 0.0.0.0when the Runtime API must remain reachable externally.
