Skip to content

This release adds 1 notable feature for engineering teams evaluating rollout.

✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

semantic-layer

Affected surfaces

rbac

Summary

AI summary

Adds row‑level security that automatically scopes every query to a single tenant.

Full changelog

SLayer 0.9.0

Adds row-level security: scope every query a session runs to a single tenant.

Configure a policy once when you build the engine (or a local-engine SlayerClient), and every query is filtered automatically - across joins, CTEs, sql-mode sub-queries, and query-backed stages - with no model or query changes. The scoping is immutable engine state an agent cannot read or override.

from slayer.core.policy import SessionPolicy, ColumnFilterRule

policy = SessionPolicy(data_filters=[
    ColumnFilterRule(column="organization_uuid", value="7ef3ab6c-..."),
])
engine = SlayerQueryEngine(storage=storage, policy=policy)

Pass a single value for column = value or a list for column IN (...). Tables that lack the column either fail the query (on_unapplicable="block", the default) or pass through unfiltered ("pass"); a table whose column can't be verified always fails closed. Values are bound literals, so the rewrite is injection-safe.

Python API only for now. See the Row-Level Security guide.

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 free

About SLayer, a semantic layer maintained by your agent

All releases →

Related context

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]