date: 2026-03-12 title: 'Spice v1.11.4 (Mar 12, 2026)' type: blog authors: [sgrebnov] tags: [release, s3, data-connector, acceleration]
Announcing the release of Spice v1.11.4! ⚡
Spice v1.11.4 is a patch release improving S3 metadata column query robustness and enabling on_zero_results: use_source for accelerated views.
on_zero_results: use_source SupportAccelerated views (opens in a new tab) now support the on_zero_results: use_source (opens in a new tab) configuration (#9699 (opens in a new tab)). Previously, accelerated views only supported on_zero_results: return_empty, which returned an empty result set when the accelerated data contained no matching rows. With this change, views can fall back to querying the source data when the accelerated query returns zero results, matching the behavior already available for accelerated datasets.
Example configuration:
When an accelerated view is configured with on_zero_results: use_source, the following happens at query time:
The accelerated store is queried first. The query runs against the view's accelerated data (e.g., Spice Cayenne, Arrow, DuckDB, or SQLite).
If the accelerated query returns zero rows, the runtime falls back to re-executing the view's SQL query against the datasets it references.
Referenced datasets are queried according to their own configuration. The view's SQL is re-executed against each referenced dataset as it is configured. This means:
on_zero_results: use_source and its accelerated store also returns zero rows, it will independently fall back to its own federated data source (e.g., Postgres, S3, etc.).This means the fallback can chain through multiple layers: first the view's acceleration, then each referenced dataset's acceleration, and finally the original data source — each layer independently applying its own on_zero_results behavior.
Example: Multi-layer fallback
In this example, a query like SELECT * FROM recent_orders_summary WHERE status = 'cancelled' follows this path:
recent_orders_summary in the view's accelerated store (DuckDB/SQLite).SELECT status, COUNT(*) ... FROM orders GROUP BY status against the orders dataset.orders is accelerated, the query hits the orders accelerated store.orders also returns zero rows (e.g., the refresh_sql excluded cancelled orders), it falls back to querying Postgres directly.Improved the robustness of metadata column (opens in a new tab) (location, last_modified, size) handling for S3 (opens in a new tab) datasets. Building on the v1.11.3 release, this update addresses an additional edge case where the query optimizer's projection swap could cause an index out of bounds panic when metadata columns are referenced in projections with filters or scalar functions.
No breaking changes.
No new cookbook recipes.
The Spice Cookbook (opens in a new tab) includes 86 recipes to help you get started with Spice quickly and easily.
To upgrade to v1.11.4, use one of the following methods:
CLI:
Homebrew:
Docker:
Pull the spiceai/spiceai:1.11.4 image:
For available tags, see DockerHub (opens in a new tab).
Helm:
AWS Marketplace:
Spice is available in the AWS Marketplace (opens in a new tab).
on_zero_results: use_source for accelerated views by @krinart (opens in a new tab) in #9699 (opens in a new tab)Full Changelog: https://github.com/spiceai/spiceai/compare/v1.11.3...v1.11.4 (opens in a new tab)