Appearance
5. Release it
A release is an immutable, SemVer-tagged revision of main. Serving endpoints, MCP servers, exports and the assistant all read releases, so consumers only see what you have reviewed.
Merge the change request
Open Change requests › #n (/models/:id/change-requests/:n). The checks run when the request opens and again on Re-run checks:
| Check | Blocks the merge? |
|---|---|
| Validation — names, unknown entities and columns, join keys, ambiguous join paths, non-additive sums, unresolved or cyclic metric references, time metrics without a time dimension. Fan and chasm traps are warnings. | Yes, on errors |
| Breaking changes — objects in the latest release that the request removes or redefines, with their consumers (serving query log of the last 30 days, exports). | Yes, until acknowledged |
| Data quality — failing rules behind changed metrics. | No (warning) |
| Governance — changes to certified metrics need an approval from someone who can govern. | Yes |
Then:
- Approve (
:review). The required number of approvals is a model setting (default 1). An author can't approve their own request unless they can govern. - Merge (
:merge). It is a three-way merge per object. If a branch moved since the checks ran, the merge answers409 Modeling.ChecksOutdated: re-run the checks. Two concurrent merges can't both win (409 Modeling.BranchMoved). - Publish release (
POST …/models/{id}/releases). Keel suggests the version from the diff: removed or redefined metrics, dimensions or measures → major; additions → minor; documentation only → patch. Add notes.
After the release
- Lineage is rebuilt, glossary term suggestions refresh, and the default access-policy suggestion is proposed.
- A rollback publishes an earlier release's revision as a new release (
:rollback). - A release always compiles the same query to byte-identical SQL.
Serve it
- Semantic query API — publish a serving endpoint and query it with an API key.
- MCP for AI agents — the same endpoint as an MCP server.
- Exports — dbt, Cube, LookML, Power BI (TMDL), open YAML.