This release adds 3 notable features for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
Topics
Summary
AI summaryDatasources appear as separate Postgres schemas and dbt MetricFlow import now fails loudly with full support for advanced metrics.
Full changelog
SLayer 0.9.2
A more capable Postgres facade
If you connect a BI tool (Metabase, Superset, Tableau, and friends) to SLayer over the Postgres wire protocol, your datasources now show up as separate Postgres schemas instead of everything being flattened into public. A datasource keeps landing in public by default, or you can give it an explicit schema name via its postgres_schema config. This makes multi-datasource setups navigable in tools that group tables by schema.
The facade also understands more of what clients send it. Common psql introspection commands (\l, \d, \du) work, and SELECT * FROM <table> is accepted in browse mode so you can eyeball a table without naming every column.
For people embedding SLayer, pg-serve gains a storage_provider seam: you can resolve a per-connection, tenant-scoped storage from the authenticated principal, so one server can serve many isolated tenants.
Improved dbt MetricFlow import
The dbt/MetricFlow importer now aims to represent every supported construct exactly or fail it into a clear, structured report - no silent drops and no lossy approximations. It handles percentile, ratio, boolean-sum, and offset-window metrics, and pushes metric and per-input filters down correctly across joins. A new count_distinct_approx aggregation is available (native per dialect, with an exact COUNT(DISTINCT) fallback where there is no native function). A runnable demo notebook walks through converting a MetricFlow project into SLayer models.
Recommend a query root
New recommend_root_model tool: give it a set of columns and metrics you want in one query, and it tells you which model to use as the query root and the join-qualified path to each item. When no single root can reach everything, you get back the best partial roots ranked by how much they cover. Available from MCP, the REST API (POST /recommend-root-model), the CLI (slayer recommend-root-model), and SlayerClient.
Fixes
inspect now lazily back-fills a column's sample values on read, matching inspect_model and search. Previously an unsampled column (for example a JSON leaf dimension) could show no sample values until the next ingest.
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
Track SLayer, a semantic layer maintained by your agent
Get notified when new releases ship.
Sign up freeAbout SLayer, a semantic layer maintained by your agent
All releases →Related context
Related tools
Earlier breaking changes
- v0.7.1 Changes `search()` response to a single flat `results` list capped by `max_results`, removing separate `memories`, `example_queries`, and `entities` buckets.
- v0.7.1 Changes `search()` to return a single flat `results` list, removing per‑bucket caps.
- v0.6.3 Datasource names now reject dots, slashes, nulls, empty/whitespace; existing names containing '.' will fail validation on upgrade.
- v0.6.0 recall_memories surface entirely removed with no deprecation shim.
- v0.5.1 Two-mode reference semantics enforced: SQL mode accepts arbitrary SQL; DSL mode strictly resolves identifiers.
Beta — feedback welcome: [email protected]