Docs / Changelog

Changelog

Versioned release history. Each release groups changes under Added, Changed, Fixed, Security. Dates in UTC.

2026-04-27. Phase H "Org Chat Pro Team"

Added

  • ADR-013. Provider-agnostic tool-calling via LLMToolCapableProvider. 4 canonical tools: run_soql, lookup_metadata, object_relationships, inventory_search.
  • ADR-014. INV-1 on-demand introspection (FMOrgIntrospector + 6 collectors) and INV-2 nightly inventory harvest.
  • ADR-015. REL-2 SOQL child-subquery acceptance + tool-call badge UI + custom-permission-gated discovery nudges.
  • ADR-016. Phase H roadmap closeout.
  • FM_Org_Inventory_Snapshot__c custom object (9 fields).
  • FlowMason_Org_Chat_Inventory_Admin permset.
  • FlowMason_Org_Chat_Discovery custom permission.
  • MDT keys: orgChatToolCallingEnabled, orgChatToolCallingMaxCalls, orgChatToolCallingTimeoutMs, orgChatManifestEnabled, orgChatManifestMaxKb, orgChatManifestIncludeFormulas, orgChatInventoryCron.
  • Per-provider tool-calling support: Anthropic, OpenAI, Azure OpenAI, Bedrock, Ollama.
  • Org Chat UI v2: inverted layout, density modifier, stage rotator, tool-call badge, confidence dot, manifest pill.
  • REL-1 schema relationship-aware prompts.
  • REL-3 decomposer planner enrichment.

Changed

  • FmOrgChatController.sendMessageFromSurface gained a 6-arg overload. Older overloads chain to it.
  • FMSoqlValidator splicer rewritten clause-aware to fix the LIMIT-swallowing bug.
  • FMOrgInventoryHarvester execute method refactored from chained Queueables to single-execute walking all 5 component types (chained version hit the 5-deep dev-org Queueable cap).

Fixed

  • "missing value at 'LIMIT'" SOQL splicer bug.
  • "sObject type 'FlowDefinitionView' is not supported". FlowDefinitionView + PermissionSet now route through standard Database.query under SYSTEM_MODE.
  • MIXED_DML_OPERATION in INV-2 tests via System.runAs() isolation.

Security

  • DML tool deliberately not exposed; assistant has read-only powers.
  • Tool-calling preserves FMSoqlValidator trust boundary on every run_soql call.
  • Discovery nudges gated by custom permission (recon-vector mitigation).
  • Same Named Credentials, same providers, same metadata posture as pre-Phase-H. No new egress paths.

2026-04-26. Phase G "Listing Blockers"

  • Added. ADR-009 Org Chat surface strategy. One Apex facade × seven surfaces. Custom Labels for i18n (16 strings). WebhookWaiterAsync plugin. DML two-step Phase G INSERT support (ADR-006). with sharing audit (88 classes). Logging audit (63 System.debugFMLog). A11y for fmOrgChatDmlModal. Pipeline\__c → MDT migration.
  • Changed. enableVerboseDebugLogs now gates all FMLog.info / debug (default false).
  • Removed. Orphaned FlowMasonComponentRegistryAPI + FlowMasonStudioAPI.
  • Security. CSP + remote-sites audit (ADR-008). LWC XSS audit.

2026-04-19. Phase F "DML & Security"

  • Added. ADR-005 Org Chat DML two-step. DML audit trail (immutable). Per-user DML rate limit.
  • Security. DML triple-default fail-closed: org switch + per-object + permset.

Earlier. Phases A through E.1

DatePhaseHighlights
2026-04-15E.1 + WK3FMRunSubscriberHandler materialiser, telemetry dashboard.
2026-04-12E "Async Runtime"ADR-007 async runtime fold. ExecutionState.asyncTokens additive-optional.
2026-04-09D "Org Chat Hardening"ADR-002 / ADR-004 Org Chat foundation, author-then-validate. 27+ refusal tests + fuzz cohort.
2026-04-05C "Buffered Circuit"FM_Circuit_Queue__c, FMCircuitDrainerQueueable, dead-letter event.
2026-04-02B "FLS Prompt Guard"FMPromptGuard field-level scrubbing.
2026-03-30A "Value-Pattern Redaction"FMRedactor value-pattern catalog.

Versioning policy

FlowMason follows SemVer:

  • Major. Incompatible API change (rare; ships with migration runbook).
  • Minor. Additive functionality (new component, new MDT key, new ADR).
  • Patch. Bug fix, no behavioural change.

ExecutionState.schemaVersion bumps independently and only on incompatible state-shape changes (currently = 1).