Skip to content

v2.0.0

Latest

Choose a tag to compare

@vulcan365 vulcan365 released this 18 Sep 11:48
· 16 commits to develop since this release

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.Scripting package 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:FabrCore enables 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)