This release adds 3 notable features for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
Topics
Summary
AI summarySnowflake and BigQuery become Tier 1 dialects with new auth config and connection handling.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Feature | Medium |
Adds Snowflake as a Tier-1 dialect with live integration tests. Adds Snowflake as a Tier-1 dialect with live integration tests. Source: llm_adapter@2026-06-14 Confidence: high |
— |
| Feature | Medium |
Adds BigQuery as a Tier-1 dialect via the `bigquery://` driver. Adds BigQuery as a Tier-1 dialect via the `bigquery://` driver. Source: llm_adapter@2026-06-14 Confidence: high |
— |
| Feature | Low |
Adds public `truncate_text_for_model` helper for downstream callers. Adds public `truncate_text_for_model` helper for downstream callers. Source: llm_adapter@2026-06-14 Confidence: high |
— |
| Feature | Low |
Supports two authentication shapes for Snowflake: sentinel URL and full `snowflake-sqlalchemy` URL with typed config fields. Supports two authentication shapes for Snowflake: sentinel URL and full `snowflake-sqlalchemy` URL with typed config fields. Source: granite4.1:30b@2026-06-14-audit Confidence: low |
— |
| Feature | Low |
Reapplies configured session state on every Snowflake query to avoid stale settings. Reapplies configured session state on every Snowflake query to avoid stale settings. Source: granite4.1:30b@2026-06-14-audit Confidence: low |
— |
| Feature | Low |
Handles statement timeouts and Snowflake-specific timestamp types in queries. Handles statement timeouts and Snowflake-specific timestamp types in queries. Source: granite4.1:30b@2026-06-14-audit Confidence: low |
— |
| Feature | Low |
Uses Google Application Default Credentials with `GCP_PROJECT_ID` for BigQuery billing. Uses Google Application Default Credentials with `GCP_PROJECT_ID` for BigQuery billing. Source: granite4.1:30b@2026-06-14-audit Confidence: low |
— |
| Feature | Low |
Provides a live BigQuery example in `examples/bigquery/` against the public dataset. Provides a live BigQuery example in `examples/bigquery/` against the public dataset. Source: granite4.1:30b@2026-06-14-audit Confidence: low |
— |
| Bugfix | Medium |
Prevents encoder crash when `<|endoftext|>` appears in memory content. Prevents encoder crash when `<|endoftext|>` appears in memory content. Source: llm_adapter@2026-06-14 Confidence: high |
— |
| Bugfix | Medium |
Logs truncation warnings with SHA‑256 prefix instead of content snippets. Logs truncation warnings with SHA‑256 prefix instead of content snippets. Source: llm_adapter@2026-06-14 Confidence: high |
— |
| Bugfix | Medium |
Invokes demo data generator with the current Python interpreter for consistent installs. Invokes demo data generator with the current Python interpreter for consistent installs. Source: llm_adapter@2026-06-14 Confidence: high |
— |
| Bugfix | Medium |
Surfaces actionable errors for empty or truncated YAML model files. Surfaces actionable errors for empty or truncated YAML model files. Source: llm_adapter@2026-06-14 Confidence: high |
— |
| Bugfix | Medium |
Improves `embed_batch` to pre-truncate inputs and retry on `BadRequestError`. Improves `embed_batch` to pre-truncate inputs and retry on `BadRequestError`. Source: llm_adapter@2026-06-14 Confidence: low |
— |
| Bugfix | Low |
Pre-truncates each input to the model's token cap before sending in `embed_batch`. Pre-truncates each input to the model's token cap before sending in `embed_batch`. Source: granite4.1:30b@2026-06-14-audit Confidence: low |
— |
| Bugfix | Low |
Adds per-input retry on `BadRequestError` in `embed_batch` so good inputs survive. Adds per-input retry on `BadRequestError` in `embed_batch` so good inputs survive. Source: granite4.1:30b@2026-06-14-audit Confidence: low |
— |
| Refactor | Low |
Removes "Reachable via joins" section from `inspect_model` output. Removes "Reachable via joins" section from `inspect_model` output. Source: llm_adapter@2026-06-14 Confidence: high |
— |
| Refactor | Low |
Keeps one-hop joins in the `## Joins` table; multi-hop discovery uses the `search` tool. Keeps one-hop joins in the `## Joins` table; multi-hop discovery uses the `search` tool. Source: granite4.1:30b@2026-06-14-audit Confidence: low |
— |
Full changelog
0.7.4
Two new Tier-1 dialects (Snowflake and BigQuery), a slimmer inspect_model,, and some hardening of the embedding pipeline.
Snowflake
Snowflake is now Tier 1 with live integration tests. Install the new snowflake extra. Auth supports two shapes: the sentinel URL snowflake://?connection_name=<profile> (looked up in ~/.snowflake/connections.toml via the official connector), or a full snowflake-sqlalchemy URL plus the new typed DatasourceConfig fields connection_name, warehouse, role (alongside the existing database / schema_name). Configured session state is reapplied on every query, so a connection never inherits stale settings from a previous user. Statement timeouts and Snowflake-specific timestamp types are handled.
BigQuery
BigQuery is also Tier 1 now, via the bigquery:// driver (install the sqlalchemy-bigquery extra). Auth uses Google Application Default Credentials with GCP_PROJECT_ID for the billing project. A live example lives in examples/bigquery/ against the public thelook_ecommerce dataset.
inspect_model
The "Reachable via joins" section is gone. It BFS-walked the join graph and blew through the context window on densely-joined real-world schemas. One-hop joins still appear in the ## Joins table; for multi-hop discovery, use the search tool.
Embeddings
embed_batch now pre-truncates each input to the model's token cap before sending, and falls back to per-input retry on BadRequestError so good inputs survive when one over-cap text trips a batch. A user-controlled <|endoftext|> literal inside memory content no longer crashes the encoder. Truncation warnings log a sha256 prefix rather than a content snippet, so application logs don't retain embedded user content. There's a new public truncate_text_for_model helper for downstream callers.
Smaller fixes
The demo data generator is now invoked via the current Python interpreter, so uv tool install and pipx installs work. Empty or truncated YAML model files surface actionable errors instead of opaque parse failures.
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]