July 9, 2026
Define more in code

The full semantic model can now live in code. All managed as YAML in Git, with version control, code review, and CI.
Steep syncs automatically from your repository, with code as the source of truth, and everything defined in code works just like anything created in the UI: ready to explore, analyze, and build reports on. Additions in this release:
-
Entities: Enable row-level data and drill-downs - going from an aggregated metric to the individual records behind it.
-
Derived metrics: Metrics built from other metrics, like a ratio of two existing metrics.
-
Slices: Sub-metrics that give you quick, pre-defined cuts of a metric, like a priority market.
-
Cohorts: Follow groups over time - like retention by signup month - with retention settings and time grains included.
-
Targets: Set goals for your metrics and track progress against them.
-
Access policies: Control who sees what with row-level security policies.
Improvements & fixes
CodeFriendlier sync error messages when something goes wrongCodeRemoving a filter or category from the YAML now clears it on re-syncCodeDuplicate module identifiers and shared table references are rejected with clear errorsCodeDerived metrics update correctly when their numerator set expandsCodeSyncs are now fully transactional, a failed sync rolls back all changesCodeMore inclusive YAML file detection, so malformed files surface errors instead of being silently ignored.CodeSync results now explain why certain objects can't be removed.ModulesYou can now edit metrics and entities directly from the modules screenSettingsInvited users are shown first in the members list