date: 2025-12-23 title: 'Spice v1.10.2 (Dec 22, 2025)' type: blog authors: [sgrebnov] tags: [release, caching, snapshots, dynamodb, kafka, sqlite]
Announcing the release of Spice v1.10.2! 🔥
v1.10.2 introduces Tiered Caching Acceleration with Localpod for multi-layer acceleration architectures, Periodic Acceleration Snapshots with configurable intervals, DynamoDB JSON Nesting for column consolidation, and Kafka/Debezium Batching for faster data ingestion. This release also includes fixes for SQLite accelerator decimal/date handling and real-time status reporting for the /v1/datasets and /v1/models API endpoints.
Multi-Layer Acceleration Architecture: The Localpod connector (opens in a new tab) now supports caching refresh mode, enabling tiered acceleration where a persistent cache (e.g., file-mode DuckDB) feeds a fast in-memory cache (e.g., Arrow, memory-mode DuckDB).
Key Features:
Example spicepod.yaml configuration:
For more details, refer to the Localpod Data Connector Documentation (opens in a new tab).
Configurable Snapshot Intervals: A new snapshots_create_interval parameter enables periodic snapshot creation for accelerated datasets across all refresh modes. This provides better control over snapshot frequency and ensures consistent recovery points for accelerated data.
Example spicepod.yaml configuration:
For more details, refer to the Data Acceleration Documentation (opens in a new tab).
Consolidate Columns into JSON: The DynamoDB Data Connector (opens in a new tab) now supports consolidating columns into a single JSON column using the json_object: "*" metadata option. This is useful when only a few columns are needed as discrete fields while the rest can be accessed as nested JSON.
Example spicepod.yaml configuration:
Example Output: Given a DynamoDB table with columns PK, SK, name, email, and status, the resulting table schema consolidates all non-specified columns into the data_json column:
| PK | SK | data_json |
|---|---|---|
| pk_1 | sort_1 | {"name": "Alice", "email": "alice@example.com", "status": "active"} |
| pk_2 | sort_2 | {"name": "Bob", "email": "bob@example.com", "status": "inactive"} |
For more details, refer to the DynamoDB JSON Nesting Documentation (opens in a new tab).
Faster Data Ingestion: Configure message batching for Kafka (opens in a new tab) and Debezium (opens in a new tab) connectors to improve data ingestion throughput. Batching reduces processing overhead by grouping multiple messages together before insertion.
Key Features:
Example spicepod.yaml configuration:
For more details, refer to the Kafka Data Connector Documentation (opens in a new tab) and Debezium Data Connector Documentation (opens in a new tab).
/v1/datasets and /v1/models API endpoints.security.protocol is set to PLAINTEXT.No breaking changes.
New Cayenne Data Accelerator Recipe: New recipe demonstrating how to accelerate a local copy of the taxi trips dataset using Cayenne as the data accelerator engine. See Cayenne Data Accelerator Recipe (opens in a new tab) for details.
New Dataset Partitioning Recipe: New recipe demonstrating how to partition accelerated datasets to improve query performance. See Dataset Partitioning (opens in a new tab) for details.
The Spice Cookbook (opens in a new tab) includes 84 recipes to help you get started with Spice quickly and easily.
To upgrade to v1.10.2, use one of the following methods:
CLI:
Homebrew:
Docker:
Pull the spiceai/spiceai:1.10.2 image:
For available tags, see DockerHub (opens in a new tab).
Helm:
AWS Marketplace:
🎉 Spice is now available in the AWS Marketplace (opens in a new tab)!
security.protocol is set to PLAINTEXT by @krinart (opens in a new tab) in #8587 (opens in a new tab)clippy::too_many_lines lint by @phillipleblanc (opens in a new tab) in #8549 (opens in a new tab)