Repository navigation
FabrCore 2.0 adds C# scripting, expanded cloud administration, principal-owned connections, and runtime configuration reporting. It consolidates hosting, Memory, and GraphRAG into a simpler package structure and improves context management, persistence, and cross-channel integration.
This is a major release with breaking package, configuration, and A2A protocol changes. Review the upgrade notes before updating from 1.8.1.
New features
C# scripting plugins
- New optional
FabrCore.Scriptingpackage for reusable C# scripting plugins. - Developer-configured NuGet dependencies, imports, instructions, and execution limits.
- Each execution runs in a fresh .NET worker process with JSON input, structured results, compiler/runtime diagnostics, and optional file artifacts.
- Cached execution environments, configurable timeouts, bounded output, and cancellation support.
- Console and SampleApp examples covering calculations and generated reports.
The scripting worker runs with the host user's permissions. Untrusted workloads require external OS or container isolation.
Runtime configuration reporting
- Separate views of desired, resolved, and applied configuration.
- Named configuration rules with defaults, overrides, and final-value constraints.
- Preview candidate settings before applying them.
- Reports include configuration sources, rejected revisions, verification status, and pending restarts.
- Open reporting contracts and a reference cloud server for independent integrations.
Connections and remote agents
- Optional principal-owned connection profiles and agent-specific access grants.
- Support for delegated authorization, application credentials, and on-behalf-of flows.
- Authenticated HTTP and MCP access through connection bindings.
- Encrypted authorization handoffs for cloud integrations.
- Work IQ and Copilot Studio agents exposed through FabrCore handles.
Administration and monitoring
- Vendor-neutral APIs for agent, blueprint, principal, and ACL administration.
- Configuration management, restart/reset operations, blueprint previews, and deployment receipts.
- Operator diagnostic conversations with read-only inspection tools.
- Paged monitoring, optional SQL monitoring, and execution evidence exports.
Improvements
Hosting and persistence
- Consolidated SQL Server, Memory, GraphRAG, and shared service contracts into Host, Core, and SDK.
- Explicit standalone and SQL-enabled hosting modes.
- Relational ACL storage with migration tooling.
- Durable SQL storage for A2A task snapshots, security audit records, and execution evidence.
- Stronger schema validation, readiness checks, and database initialization handling.
Context management
- Improved working-context compaction during tool-heavy conversations.
- Bounded older tool results while retaining full original output in persisted history.
- Safer durable conversation compaction with validated summaries and protection against incomplete or stale writes.
- Improved token estimation and configurable working-context budgets.
Memory and GraphRAG
- Expanded Memory lifecycle integration, scope policies, and retrieval controls.
- Improved GraphRAG extraction batching, concurrency, retries, and input budgeting.
- Added source provenance, evidence quotes, extraction metrics, and optional structured output.
- Expanded evaluation workflows for retrieval quality, fidelity, cost, and relationship accuracy.
Channels and discovery
- Upgraded A2A hosting to A2A 1.0.
- Added shared channel-agent bindings and optional canonical Entra identity across Teams, Microsoft 365, and A2A.
- Improved Microsoft 365 delivery behavior and deployed assembly discovery.
- Updated Microsoft Agent Framework to 1.20.0.
Upgrading from 1.8.1
Update package references
Use matching 2.0.0 versions across all FabrCore packages.
| Retired package | Replacement |
|---|---|
FabrCore.Services.Contracts |
FabrCore.Core |
FabrCore.Services.Memory |
FabrCore.Host, with contracts in Core and remote clients in SDK |
FabrCore.Services.GraphRag |
FabrCore.Host, with shared contracts in Core |
FabrCore.Host.SqlServer |
FabrCore.Host |
There are no forwarding packages. Rebuild consumers of moved types and remove the former manual Memory/GraphRAG registrations.
Review hosting configuration
- Without a FabrCore database connection, the default host is a trusted standalone workspace with in-memory runtime state and no cross-principal ACL enforcement.
- Configuring
ConnectionStrings:FabrCoreenables SQL-backed defaults, enforced ACL, Memory, GraphRAG, and durable operational stores. - Memory remains an explicit per-agent choice.
- Existing ACL data must be migrated to the new relational tables; JSON ACL seeds are no longer accepted during normal startup.
- Persistent connections require a shared, encrypted data-protection key configuration.
Update A2A clients
A2A 0.3 clients must migrate to 1.0. Calls now require A2A-Version: 1.0, with updated method names, routes, message formats, and agent cards.
Test existing persisted application state and custom Orleans types against a copy of your deployment before upgrading production.
Full details: [Release and migration notes](https://github.com/vulcan365/FabrCore/blob/v2.0.0/RELEASE_NOTES.md)
Changes: [v1.8.1 → v2.0.0](v1.8.1...v2.0.0)