Releases: fireflyframework/fireflyframework-agentic
Releases · fireflyframework/fireflyframework-agentic
v26.05.33
v26.05.32
Full Changelog: v26.05.31...v26.05.32
v26.05.31
Full Changelog: v26.05.30...v26.05.31
v26.05.30
Full Changelog: v26.05.29...v26.05.30
v26.05.29
What's Changed
- ci(deploy-mcp): split pre/prod environments by @miguelgfierro in #211
- docs(deploy): document pre/prod MCP environments by @miguelgfierro in #212
- feat(rag): tool-using corpus answer agent (reasoning strategy + reproducible traces) by @javier-alvarez in #187
- chore(deps): upgrade pydantic-ai 1.75 -> 1.99, drop mistralai git pin by @miguelgfierro in #213
- Hoist inline get_config imports in rest/app.py by @miguelgfierro in #215
- Extract _first_json_element helper in mcp/auth.py by @miguelgfierro in #216
- Speed up PR gate (shallow checkout, no coverage on PR) by @miguelgfierro in #217
- Cache uv resolver across PR-gate jobs by @miguelgfierro in #218
- Fix two TODOs in rag/agent.py (ledger failures + StructuredRetriever cloud path) by @miguelgfierro in #219
- docs(cost): point users at examples/cost_tracking.py for override pattern by @miguelgfierro in #221
- fix(tests): relax Q5 reasoning assertion to ordering-only by @miguelgfierro in #222
- refactor: lift inline imports to top of file by @miguelgfierro in #231
- feat(pipeline): cycles, Send fan-out, Mermaid/JSON export (#147 phase 2) by @miguelgfierro in #233
- feat(pipeline): Redis + Postgres checkpointer backends (#147 phase 3a) by @miguelgfierro in #234
- feat(pipeline): observability for state pipelines (#147 phase 3b) by @miguelgfierro in #235
- feat(pipeline): HITL Pause + AuditLog (#147 phase 3c) by @miguelgfierro in #236
- refactor(pipeline): collapse invoke() to single return path by @miguelgfierro in #240
- refactor(pipeline): share psycopg scaffolding between checkpoint and audit by @miguelgfierro in #241
- refactor(pipeline): drop sequence variable and resumed_completed duplicate by @miguelgfierro in #242
- fix(pipeline): assert result narrowed in invoke return path by @miguelgfierro in #243
- feat(examples): software_factory example; drop Postgres/Redis from framework by @miguelgfierro in #244
- feat(pipeline): PipelineEngine checkpoint, audit, and resume (#245 layer 1) by @miguelgfierro in #246
- feat(pipeline): unified EventHandler protocol (#245 layer 1B) by @miguelgfierro in #247
- feat(pipeline): branching as DAGEdge.condition (#245 layer 2) by @miguelgfierro in #248
- feat(pipeline): state as optional overlay on PipelineEngine (#245 layer 3) by @miguelgfierro in #249
- feat(pipeline): cycle-aware scheduler and topo-sort safety (#245 layer 4) by @miguelgfierro in #250
- feat(pipeline): Pause and Send in unified PipelineEngine (#245 layer 5) by @miguelgfierro in #251
- feat(pipeline): start_at kwarg for mid-pipeline entry (#245 layer 6) by @miguelgfierro in #252
- feat(pipeline): deprecate StatePipeline (#245 layer 7) by @miguelgfierro in #253
- fix(ci): satisfy stricter ruff rules on PR gate (#232) by @miguelgfierro in #254
- feat(pipeline): delete StatePipeline, unify on PipelineEngine (#245 layer 8) by @miguelgfierro in #255
- fix(example): software-factory pipeline imports PipelineEngine (post-#255) by @miguelgfierro in #256
- feat(pipeline): state-based PipelineBuilder — full #147 stack (phase 1+2+3a+3b+3c) by @miguelgfierro in #232
- Release v26.05.29 by @miguelgfierro in #258
Full Changelog: v26.05.21...v26.05.29
v26.05.21
What's Changed
- fix(rag): agentic SQL retriever with inspect loop by @javier-alvarez in #143
- feat(mcp): per-corpus capability tokens in Azure Key Vault by @javier-alvarez in #146
- fix(rag): expose blanks-as-zero mean alongside SQL AVG in inspect_table by @javier-alvarez in #156
- fix(rag): instruct answerer to preserve diacritics in non-English answers by @javier-alvarez in #164
- fix(rag): carry column units from schema through to the agent's answer by @javier-alvarez in #165
- Co-locate LocalBackend corpus state under CORPUS_ROOT (#170) by @javier-alvarez in #171
- Load .env in firefly-mcp-http CLI (local-dev only, Azure-safe) by @javier-alvarez in #169
- Fix SQL agent query-construction failures (#161, #162, #163) by @javier-alvarez in #166
- feat(observability): cost tracking redesign by @miguelgfierro in #155
- observability: Optional[float] resolve_cost + strict mode + per-call cost_unknown metric by @miguelgfierro in #176
- fix(prompt-cache): actually inject anthropic_cache_* into model_settings by @ancongui in #178
- Fix schema discovery returning empty schema on messy workbooks by @javier-alvarez in #173
- fix(usage): read cache_write_tokens from pydantic-ai Usage by @ancongui in #179
- observability: flatten cost subpackage to cost_resolvers.py by @miguelgfierro in #175
- feat(mcp): expose structured corpus tables via list_corpus_schemas + corpus_sql by @javier-alvarez in #182
- feat(prompt-cache): real OpenAI + Google wiring (was Anthropic-only) by @ancongui in #189
- fix(ci): fold corpus-search extra into dev to fix nightly by @miguelgfierro in #192
- chore: add .mcp.json.template and ignore .mcp.json by @miguelgfierro in #191
- fix(prompt-cache): Improvements by @miguelgfierro in #190
- chore: gitignore docs/superpowers/ by @miguelgfierro in #196
- feat(mcp): OAuth 2.0 / OIDC auth with App-Roles RBAC by @miguelgfierro in #180
- feat(corpus_rag): pluggable storage backend via CorpusBackendRegistry by @miguelgfierro in #197
- chore(docker): include corpus-search extra in runtime image by @miguelgfierro in #198
- chore(uv): regenerate lock to pick up azure-storage-blob by @miguelgfierro in #199
- fix(corpus_search): pin DefaultAzureCredential to MI client id by @miguelgfierro in #200
- fix(corpus_search): advertise api:// alias as OAuth resource by @miguelgfierro in #201
- feat(corpus_search): add static API-key auth path by @miguelgfierro in #203
- build(deps): bump idna from 3.13 to 3.15 by @dependabot[bot] in #204
- refactor(agents): smart routing with composable strategies (#149) by @miguelgfierro in #195
- refactor(delegation): split route() kwargs between decide and execute by @miguelgfierro in #205
- docs(delegation): document WeightedStrategy object-identity invariant by @miguelgfierro in #206
- refactor(delegation): simplifications across strategies by @miguelgfierro in #207
- style(delegation): metadata typing, helper banner, otel coercion note by @miguelgfierro in #208
- docs(examples): refresh delegation_strategies to show ranking, route(), and a combinator by @miguelgfierro in #209
- release: v26.05.21 by @miguelgfierro in #210
Full Changelog: v26.05.11...v26.05.21
v26.05.11
What's Changed
- move test_ledger.py into tests/unit/rag/ingest/ by @miguelgfierro in #110
- Add synthetic financial dataset to benchmark corpus by @miguelgfierro in #111
- feat: managed-SQLite storage layer (Local + Azure Blob backends) by @javier-alvarez in #112
- feat(mcp): list_corpora discovery tool + nightly e2e test by @javier-alvarez in #115
- feat(rag): unified structured + unstructured ingestion in corpus_search by @miguelgfierro in #108
- test(rag): switch test_e2e_real_llm to Azure OpenAI embeddings by @javier-alvarez in #119
- feat(rag): schema-aware structured ingestion (discover → review → ingest) — closes #117 by @javier-alvarez in #118
- fix(tools): let ModelRetry exceptions pass through BaseTool.execute by @ancongui in #126
- test(security): skip Entra ID tests when azure extra is missing by @ancongui in #127
- fix(rag): filter folder walks to tabular files for structured ingest by @javier-alvarez in #123
- chore(deps): bump langchain-core from 1.3.2 to 1.3.3 by @dependabot[bot] in #124
- feat(validation): RubricReviewer — rubric-based grader loop by @miguelgfierro in #130
- ci(nightly): fetch API keys from Key Vault via OIDC by @miguelgfierro in #120
- refactor: repo restructure — vendor code to examples, flat layout, knowledge_search rename by @miguelgfierro in #134
- chore(deps): bump urllib3 from 2.6.3 to 2.7.0 by @dependabot[bot] in #135
- chore: drop redundant version pins and ignore CLAUDE.md by @miguelgfierro in #136
- ci: drop missing storage-azure extra and bump deploy-mcp actions by @miguelgfierro in #137
- fix(benchmark): ingest only markdown files in retrieval corpus by @miguelgfierro in #140
- fix(mcp): move HTTP CLI into the package and repair Dockerfile (#138) by @miguelgfierro in #139
- docs(changelog): add 26.05.11 entry by @miguelgfierro in #142
Full Changelog: v26.05.05...v26.05.11
v26.05.05
What's Changed
- chore: clean up all duplicates and stale CHANGELOG entry by @ancongui in #99
- Add ContentSource Protocol, SharePointSource, and S3 stub by @miguelgfierro in #101
- build(deps): bump actions/github-script from 7 to 9 by @dependabot[bot] in #106
- Corpus search e2e + Azure Monitor / AppInsights wiring by @javier-alvarez in #102
- feat(deploy): Streamable-HTTP MCP entrypoint and Azure deployment by @miguelgfierro in #103
- release: 26.05.05 by @miguelgfierro in #109
Full Changelog: v26.04.30...v26.05.05
v26.04.30
What's Changed
- ci: only run on pull_request, drop push to main by @miguelgfierro in #80
- refactor(examples): drop _common.py, load API keys via python-dotenv by @miguelgfierro in #81
- feat(memory): add SQLiteStore for stdlib-backed local persistence by @miguelgfierro in #87
- feat: Refactor prompt template system — split system/user templates, YAML-based loading by @Kaysera in #85
- chore: reorganize tests by category and split PR-gate vs nightly by @miguelgfierro in #88
- build(deps-dev): update uv-build requirement from <0.10.0,>=0.9.5 to >=0.9.5,<0.12.0 by @dependabot[bot] in #64
- feat(exposure): add MCP server module + firefly-mcp CLI by @miguelgfierro in #93
- feat(security): add Entra ID token verification and OBO exchange by @miguelgfierro in #92
- test: align corpus_search/rag tests with tests/README taxonomy by @miguelgfierro in #96
- fix(tests): repair nightly perf benchmarks (asyncio + plain functions) by @miguelgfierro in #91
- feat(corpus_search): folder ingestion + hybrid search agent by @javier-alvarez in #82
- chore(release): v26.04.30 by @miguelgfierro in #94
- BUG FIX: install azure/mcp/rest extras in nightly test job by @miguelgfierro in #97
- ci(nightly): auto-create/comment tracking issue on failure by @miguelgfierro in #89
- feat(content): MarkdownChunker — structure-aware chunking with breadcrumb paths by @javier-alvarez in #95
New Contributors
- @Kaysera made their first contribution in #85
- @dependabot[bot] made their first contribution in #64
Full Changelog: v26.04.28...v26.04.30
v26.04.28
What's Changed
- feat: add embeddings module and vector store backends by @ancongui in #42
- docs: update README with embeddings and vector stores by @ancongui in #43
- chore: track uv.lock for reproducible installs by @javier-alvarez in #70
- Pre commit hooks by @miguelgfierro in #73
- docs: document Studio frontend build step for source installs by @javier-alvarez in #72
- refactor: rename fireflyframework-genai to fireflyframework-agentic by @miguelgfierro in #74
- refactor: extract studio into its own repository by @miguelgfierro in #75
- release: 26.04.28 by @miguelgfierro in #78
- ci: fix release workflow after studio extraction by @miguelgfierro in #79
New Contributors
- @javier-alvarez made their first contribution in #70
- @miguelgfierro made their first contribution in #73
Full Changelog: v26.02.07...v26.04.28