Repository navigation
Release Highlights
This feature release introduces FlockApplication and Microsoft Foundry hosted agents, removes arbitrary trace SQL execution from the HTTP API and dashboard, and redacts credentials when serializing DSPyEngine configuration. It rolls up everything merged since 0.5.610.
FlockApplication
- Added
FlockApplication(flock.application, exported fromflock): a transport-independent way to run a Flock application behind another host, with one isolatedFlockper workflow. - Typed input, an explicit output contract, incremental public outputs, and exactly one terminal
WorkflowResult(succeeded,failed,cancelled,timed_out) with safe failure codes. - Deadlines, cancellation, bounded teardown, admission control, and workflow-id retry protection.
Microsoft Foundry hosted agents
- Added
flock.integrations.foundry(installflock-core[foundry]), which maps Foundry's Responses protocol (azure-ai-agentserver-responses2.1) onto aFlockApplication. - Azure packages are installed only with the extra and loaded lazily;
import flocknever imports the Azure SDKs. - New guides (
docs/guides/applications.md,docs/guides/foundry.md) and examples (examples/13-applications/, deployableexamples/14-foundry/incident-triage/).
Runtime improvements
- Components initialize exactly once through a shared component runner.
- Task outcomes are recorded instead of lost, and an agent whose inputs were all deferred no longer runs with empty input.
- Publication listeners fire in store order.
- Added workflow scoping of correlation IDs and agent context,
bind_correlation(), circuit-breaker and timer-crash signals, andDSPyEngine(max_completion_tokens=...). no_outputnow also silences user-built engines.Flock.shutdown()cancels in-flight agent tasks (bounded bycancel_grace) before closing MCP connections.
Security
- Removed arbitrary SQL execution from the trace HTTP API and the dashboard. A
SELECTquery could read server files through DuckDB table functions despiteread_only=True. - The dashboard keeps Timeline, Statistics, RED Metrics, Dependencies, Configuration, and Guide; the SQL tab, editor, and CSV export are gone. Direct local DuckDB analysis remains available to trusted operators.
DSPyEngineserialization (model_dump(),model_dump_json()) now redacts known credential fields inlm_kwargssuch asapi_key,token,password, andauthorizationas<redacted>, including in nested mappings, sequences, and Pydantic models. Callable token providers serialize as descriptive labels and are not invoked. The original values are still passed todspy.LM(...).
Upgrade notes
- The trace SQL query endpoint no longer exists. Clients calling it must switch to the remaining trace read endpoints or local DuckDB analysis.
- OpenTelemetry now requires
>= 1.43. The legacyopentelemetry-exporter-jaegerpackages were removed; export to Jaeger via OTLP. Configuring the Jaeger exporter (jaeger_endpointwithenable_jaeger) now raises aValueErrorpointing to OTLP. Flock.shutdown()now cancels agent tasks that are still running and waits up tocancel_grace(default 5 s) for them; a full shutdown also stops scheduling new agent tasks.
Notes
This release closes #383, #427, and #455. Redaction of trace payloads, which are serialized independently of model_dump(), remains separate follow-up work.
What's Changed
- fix: remove arbitrary trace SQL from HTTP and dashboard by @a-ratz in #453
- feat: FlockApplication and Microsoft Foundry hosted agents by @nmeisenzahl in #456
- chore: bump version to 0.5.700 by @a-ratz in #458
- fix: redact sensitive lm_kwargs during serialization by @a-ratz in #454
Full Changelog: 0.5.610...0.5.700