This release includes 2 breaking changes for platform teams planning a safe upgrade.
✓ No known CVEs patched in this version
Topics
ReleasePort's take
Light signalSLayer v0.7.1 adds SQL Server support and an openCypher filter while breaking the `search()` response format.
Why it matters: The `search()` API now returns a single flat results list, removing per‑bucket caps (severity 70).
Summary
AI summarySQL Server added as first-class datasource and search API flattened with cypher_filter support.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Breaking | High |
Changes `search()` to return a single flat `results` list, removing per‑bucket caps. Changes `search()` to return a single flat `results` list, removing per‑bucket caps. Source: llm_adapter@2026-06-08 Confidence: low |
— |
| Breaking | Medium |
Changes `search()` response to a single flat `results` list capped by `max_results`, removing separate `memories`, `example_queries`, and `entities` buckets. Changes `search()` response to a single flat `results` list capped by `max_results`, removing separate `memories`, `example_queries`, and `entities` buckets. Source: granite4.1:30b@2026-06-08-audit Confidence: low |
— |
| Feature | Medium |
Adds SQL Server (T‑SQL) as a first‑class datasource with auto‑generated date math and type mappings. Adds SQL Server (T‑SQL) as a first‑class datasource with auto‑generated date math and type mappings. Source: llm_adapter@2026-06-08 Confidence: high |
— |
| Feature | Medium |
Adds `cypher_filter` parameter to `search()` for openCypher graph narrowing. Adds `cypher_filter` parameter to `search()` for openCypher graph narrowing. Source: llm_adapter@2026-06-08 Confidence: high |
— |
| Feature | Low |
Increases column hit sample values in `search()` results from ~20 to top‑50 and adds distinct count line. Increases column hit sample values in `search()` results from ~20 to top‑50 and adds distinct count line. Source: llm_adapter@2026-06-08 Confidence: high |
— |
| Dependency | Low |
Renames pip extra from `embedding_search` to `advanced_search`, now includes graph backend. Renames pip extra from `embedding_search` to `advanced_search`, now includes graph backend. Source: llm_adapter@2026-06-08 Confidence: high |
— |
| Bugfix | Medium |
Corrects parenthesization of filters referencing multi‑term `Column.sql` expressions. Corrects parenthesization of filters referencing multi‑term `Column.sql` expressions. Source: llm_adapter@2026-06-08 Confidence: high |
— |
| Bugfix | Medium |
Fixes PostgreSQL error when ordering by a `ModelMeasure` name in query. Fixes PostgreSQL error when ordering by a `ModelMeasure` name in query. Source: llm_adapter@2026-06-08 Confidence: low |
— |
Full changelog
- SQL Server (T-SQL) is now a first-class datasource: configure with
type: mssql(orsqlserver/tsql), and SLayer auto-generates T-SQL flavoured date math, stat aggregations, and full type mappings. A Docker Compose example with SQL Server 2022 ships underexamples/sqlserver/. search()accepts a newcypher_filterparameter - an openCypherMATCH ... RETURN n.id AS idquery that narrows results to a subset of your semantic graph (e.g. "only columns reachable from theordersmodel") before any ranking happens.search()now returns a single flatresultslist capped bymax_results, instead of three separatememories/example_queries/entitiesbuckets with per-bucket caps. If you were reading the bucket fields or passingmax_memories/max_example_queries/max_entities, update your call sites - you can use the Cypher filter to narrow down the search to a particular set of entities.- The pip extra for embedding-based search has been renamed from
embedding_searchtoadvanced_search(it now also pulls in the graph backend forcypher_filter). Install withpip install motley-slayer[advanced_search]. - Column hits from
search()now surface the full top-50 sample values (was previously truncated to ~20) plus aDistinct count: Nline when the underlying column has more distinct values than the snapshot captured. - Fix: ordering a query by a
ModelMeasurereferenced by name (e.g.order=[{"column": "aov"}]) no longer fails on PostgreSQL with an undefined-column error - theORDER BYalias now matches theSELECTalias. - Fix: filters that reference a multi-term
Column.sql(arithmetic composites,AND/ORexpressions,NOT,BETWEEN,IN) now emit correctly parenthesised SQL. Previously, a filter like<col> IS NULLagainst a column defined asarchived AND deletedcould parse asarchived AND (deleted IS NULL)instead of the intended(archived AND deleted) IS NULL.
Breaking Changes
- `search()` now returns a single flat `results` list; previous separate `memories`, `example_queries`, and `entities` buckets are removed. Update call sites accordingly.
- The pip extra for embedding-based search renamed from `embedding_search` to `advanced_search`. Install with `pip install motley-slayer[advanced_search]`.
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.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.
- v0.5.1 RecallHit.match_count renamed to RecallHit.score across MCP, REST, CLI, and SlayerClient.
Beta — feedback welcome: [email protected]