Data Governance
Most of what changes here is downstream of the Task redesign: policies, workflows, and the new Data Access Request / Policy Agent feature are all task-shaped in 2.0. A PII recognizer fix and a governance-workflow timing change are the two items worth planning around independently.New task operations are not backfilled onto custom policies
Behavioural. Affects custom policies, non-admin users and bots.resourceDescriptor gains five new task operations: CreateTask, EditTask, ResolveTask,
CloseTask and ReassignTask. The migration seeds a new TaskAuthorPolicy, attaches it to the
DataConsumer role, and adds task rules to DataConsumerPolicy and ApplicationBotPolicy — but
seed policies are create-if-not-exists.
Task authorization is also self-approval guarded — a task’s creator cannot approve their own task,
even where policy would otherwise allow it. Approval automation that submitted and approved with the
same service account must be split across two principals, or use
emptyAssigneeStrategy: assignAdmins. Separately, the reviewer-authorization shortcut that let a
reviewer create an entity without an explicit grant is removed (behavioural): flows relying on it
now need an explicit Create grant.
A PII recognizer fix changes existing tags
Behavioural. Existing tags might be wrong; new runs will differ. The CVV recognizer’s regular expression is anchored by the migration, from\b\d{3,4}\b to
\A\d{3,4}\Z. The unanchored pattern matched the 125 inside values like SCN-125, so any column
whose name carried a CVV context word (code, card, cvv) and whose values contained a 3–4 digit
run was tagged PII.Sensitive — for example scenario_code or error_code — because the context
boost set the score straight to the maximum, turning a low-confidence pattern into a certain match.
Related fixes: overly broad context keywords are removed from PII recognizers, sibling-tag score
ties are now broken by column-name match, and temporal table period columns are excluded from
auto-classification sampling. Separately, auto-classification now extends to topics and storage
containers (additive) — expect new tags to appear on messaging and storage assets, and widen any
PII-tag-keyed policy or alert coverage accordingly.
Governance workflows fire far sooner
Behavioural. Affects every governance workflow, and raises steady-state database polling. The migration lowers three intervals on existing deployments:
Approval tasks now appear near-instantly after the triggering change instead of up to 10 seconds (or,
under load, minutes) later. On very large clusters, monitor database load after the upgrade and raise
the intervals if needed.
Workflow migrations run inside a guard: a workflow-handler failure logs and continues rather than
aborting the rest of the data migration. If you see “Failed to initialize WorkflowHandler … in
v200” in the upgrade logs, restart the server to complete workflow wiring.
userApprovalTask node also gains task-lifecycle configuration (additive, backwards compatible):
an assignees.emptyAssigneeStrategy of assignAdmins falls back to all platform admins, excluding
the requester, instead of the 1.13-matching default of auto-approving or leaving the task unassigned.
Set it explicitly on approval nodes where unassigned tasks were silently auto-approving.
Policy Agent defaults are backfilled onto existing services
Behavioural. Affects existing Snowflake, Databricks, and Unity Catalog services. Collate 2.0 introduces self-service Data Access Requests backed by a Policy Agent that executes grants and revokes against the source system. Because schema-level defaults only apply at create-time deserialization, the migration rewrites stored rows for existing services:
Operator-set
true values are preserved; only false or missing values change. policyAgentConfig
is removed from the Postgres schema and stripped from stored rows entirely.
Glossaries gain native OWL/RDF ontology import
Additive.A glossary term created in the UI has no
iri. Terms imported from an ontology carry one, and export
re-emits it. Do not rewrite iri on update, or you’ll break round-trip identity.domain[]/range[] (term names or class IRIs a source/target
term must be typed as), isFunctional/isInverseFunctional, and
isReflexive/isIrreflexive/isAsymmetric. Relation types are readable by any authenticated user
and paginated, all relation types between the same term pair are preserved, and glossary rename now
cascades to child terms in the search index.
Domains, data products, and intake forms round out the release
Additive. No breaking changes in this area for 1.13 → 2.0.- An ODPS data product schema (
entity/domains/odps/odpsDataProduct.json), Data Product support in the Observability UI, a certification quick filter on the Data Products listing, and a request-access button for data products. - A new
assignedTorelationship type, and domain-scoped activity-feed visibility (task domains are backfilled by the migration). governance/intakeForm.jsonandPOST /v1/governance/intakeFormsadd structured intake forms, used withtaskFormSchemato drive request and approval workflows with typed inputs.
Collate AI agent types are removed from the governance schema
Breaking. TheagentType enum drops CollateAI, CollateAITierAgent and
CollateAIQualityAgent — only Metadata remains — and their configuration schemas are deleted. See
AI Agents & Automations for the full
migration. Remove references to these agent types from application configuration and any automation
filtering ingestion pipelines by agentType; use the new filter values metadata and application
on GET /v1/services/ingestionPipelines instead.