Skip to content

0.5.700

Latest

Choose a tag to compare

@a-ratz a-ratz released this 06 Oct 18:26
c73926e

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 from flock): a transport-independent way to run a Flock application behind another host, with one isolated Flock per 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 (install flock-core[foundry]), which maps Foundry's Responses protocol (azure-ai-agentserver-responses 2.1) onto a FlockApplication.
  • Azure packages are installed only with the extra and loaded lazily; import flock never imports the Azure SDKs.
  • New guides (docs/guides/applications.md, docs/guides/foundry.md) and examples (examples/13-applications/, deployable examples/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, and DSPyEngine(max_completion_tokens=...).
  • no_output now also silences user-built engines.
  • Flock.shutdown() cancels in-flight agent tasks (bounded by cancel_grace) before closing MCP connections.

Security

  • Removed arbitrary SQL execution from the trace HTTP API and the dashboard. A SELECT query could read server files through DuckDB table functions despite read_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.
  • DSPyEngine serialization (model_dump(), model_dump_json()) now redacts known credential fields in lm_kwargs such as api_key, token, password, and authorization as <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 to dspy.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 legacy opentelemetry-exporter-jaeger packages were removed; export to Jaeger via OTLP. Configuring the Jaeger exporter (jaeger_endpoint with enable_jaeger) now raises a ValueError pointing to OTLP.
  • Flock.shutdown() now cancels agent tasks that are still running and waits up to cancel_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