Spice v1.5.2 (Aug 11, 2025)
Announcing the release of Spice v1.5.2! ๐ ๏ธ
Spice v1.5.2 introduces a new Amazon Bedrock Models Provider for converse API (Nova) compatible models, AWS Redshift support using the Postgres data connector, and Hadoop Catalog Support for Iceberg tables along with several bug fixes and improvements.
What's New in v1.5.2โ
Amazon Bedrock Models Provider: Adds a new Amazon Bedrock LLM Provider. Models compatible with the Converse API (Nova) are supported.
Amazon Bedrock provides access to a range of foundation models for generative AI. Spice supports using Bedrock-hosted models by specifying the bedrock
prefix in the from
field and configuring the required parameters.
Supported Model IDs:
amazon.nova-lite-v1:0
amazon.nova-micro-v1:0
amazon.nova-premier-v1:0
amazon.nova-pro-v1:0
Refer to the Amazon Bedrock documentation for details on available models and cross-region inference profiles.
Example Spicepod.yaml:
models:
- from: bedrock:us.amazon.nova-lite-v1:0
name: novash
params:
aws_region: us-east-1
aws_access_key_id: ${ secrets:AWS_ACCESS_KEY_ID }
aws_secret_access_key: ${ secrets:AWS_SECRET_ACCESS_KEY }
bedrock_guardrail_identifier: arn:aws:bedrock:abcdefg012927:0123456789876:guardrail/hello
bedrock_guardrail_version: DRAFT
bedrock_trace: enabled
bedrock_temperature: 42
For more information, see the Amazon Bedrock Documentation.
AWS Redshift Support for Postgres Data Connector: Spice now supports connecting to Amazon Redshift using the PostgreSQL data connector. Redshift is a columnar OLAP database compatible with PostgreSQL, allowing you to use the same connector and configuration parameters.
To connect to Redshift, use the format postgres:schema.table
in your Spicepod and set the connection parameters to match your Redshift cluster settings.
Example Spicepod.yaml:
# Example datasets for Redshift TPCH tables
datasets:
- from: postgres:public.customer
name: customer
params:
pg_host: ${secrets:PG_HOST}
pg_port: 5439
pg_sslmode: prefer
pg_db: dev
pg_user: ${secrets:PG_USER}
pg_pass: ${secrets:PG_PASS}
- from: postgres:public.lineitem
name: lineitem
params:
pg_host: ${secrets:PG_HOST}
pg_port: 5439
pg_sslmode: prefer
pg_db: dev
pg_user: ${secrets:PG_USER}
pg_pass: ${secrets:PG_PASS}
Redshift types are mapped to PostgreSQL types. See the PostgreSQL connector documentation for details on supported types and configuration.
Hadoop Catalog Support for Iceberg: The Iceberg Data and Catalog connectors now support connecting to Hadoop catalogs on filesystem (file://
) or S3 object storage (s3://
, s3a://
). This enables connecting to Iceberg catalogs without a separate catalog provider service.
Example Spicepod.yaml:
catalogs:
- from: iceberg:file:///tmp/hadoop_warehouse/
name: local_hadoop
- from: iceberg:s3://my-bucket/hadoop_warehouse/
name: s3_hadoop
# Example datasets
- from: iceberg:file:///data/hadoop_warehouse/test/my_table_1
name: local_hadoop
- from: iceberg:s3://my-bucket/hadoop_warehouse/test/my_table_2
name: s3_hadoop
For more details, see the Iceberg Data Connector documentation and the Iceberg Catalog Connector documentation.
Parquet Reader: Optional Parquet Page Index: Fixed an issue where the Parquet reader, using arrow-rs
and DataFusion, errored on files missing page indexes, despite the Parquet spec allowing optional indexes. The Spice team contributed optional page index support to arrow-rs
(PR #6) and configurable handling in DataFusion (PR #93). A new runtime parameter, parquet_page_index
, makes Parquet Page Indexes configurable in Spice:
runtime:
params:
parquet_page_index: required # Options: required, skip, auto
- required: (Default) Errors if page indexes are absent.
- skip: Ignores page indexes, potentially reducing query performance.
- auto: Uses page indexes if available; skips otherwise.
This improves compatibility and query flexibility for Parquet datasets.
Contributorsโ
Breaking Changesโ
Amazon S3 Vectors Vector Engine: Amazon S3 Vectors is currently a preview AWS service. A recent update to the Amazon S3 Vectors service API introduced a breaking change that affects the integration when projecting (selecting) the embedding column. This results in the following error:
Json error: whilst decoding field 'data': expected [ got nullReceived only partial JSON payload from QueryVectors
The issue is expected to be resolved in the next release of Spice. A current workaround is to limit queries to non-embedding columns.
i.e. instead of:
SELECT url, title, scored, body_embedding
FROM vector_search(pulls, 'bugs in DuckDB', 4)
WHERE state = 'OPEN'
ORDER BY score DESC
LIMIT 4;
Remove the *_embedding
column from the projection. E.g.
SELECT url, title, scored
FROM vector_search(pulls, 'bugs in DuckDB', 4)
WHERE state = 'OPEN'
ORDER BY score DESC
LIMIT 4;
This issue and workaround also applies to SELECT * FROM vector_search(..)
. E.g.
SELECT *
FROM vector_search(pulls, 'bugs in DuckDB', 4)
WHERE state = 'OPEN'
ORDER BY score DESC
LIMIT 4;
Cookbook Updatesโ
- Added Amazon Redshift Support to the Postgres Data Connector cookbook: Connect to tables in Amazon Redshift.
The Spice Cookbook includes 75 recipes to help you get started with Spice quickly and easily.
Upgradingโ
To upgrade to v1.5.2, use one of the following methods:
CLI:
spice upgrade
Homebrew:
brew upgrade spiceai/spiceai/spice
Docker:
Pull the spiceai/spiceai:1.5.2
image:
docker pull spiceai/spiceai:1.5.2
For available tags, see DockerHub.
Helm:
helm repo update
helm upgrade spiceai spiceai/spiceai
AWS Marketplace:
๐ Spice is also now available in the AWS Marketplace!
What's Changedโ
Dependenciesโ
No major dependency updates.
Changelogโ
- fixes for databricks OpenAI compatibility (#6629) by @Jeadie in #6629
- Update spicepod.schema.json (#6632) by @app/github-actions in #6632
- Remove 'stream_options' from databricks LLMs (#6637) by @Jeadie in #6637
- Move retry and rate limiting logic for Amazon bedrock out of embeddings. (#6626) by @Jeadie in #6626
- Disable Metal precomplation in integration_llms.yml (#6649) by @Jeadie in #6649
- fix: Hadoop integration test (#6660) by @peasee in #6660
- feat: Add Hadoop Catalog Data Component (#6658) by @peasee in #6658
- update datafusion-table-providers to latest spiceai tag (#6661) by @mach-kernel in #6661
- feat: Add Hadoop Catalog connectors for Iceberg (#6659) by @peasee in #6659
- Make
FullTextSearchExec
robust to RecordBatch column ordering. (#6675) by @Jeadie in #6675 - Make 'runtime-object-store' crate (#6674) by @Jeadie in #6674
- fix: Support include for Iceberg (#6663) by @peasee in #6663
- feat: Add Hadoop TPCH benchmark (#6678) by @peasee in #6678
- feat: Add Hadoop
metadata_path
parameter (#6680) by @peasee in #6680 - fix: Automatically infer Hadoop warehouse scheme (#6681) by @peasee in #6681
- Amazon Bedrock, specifically Nova models (#6673) by @Jeadie in [#6673](https://github.com/spiceai/spiceai/pull/6673
- fix perplexity_auth_token parameters for web_search (#6685) by @Jeadie in #6685
- Fix AWS Auth issue (#6699) by @Advayp in #6699
- Limit Concurrent Requests for GitHub (#6672) by @Advayp in #6672
- Add runtime parameter to enable more permissive parquet reading when page indexes are missing (#6716) by @phillipleblanc in #6716
- Improve Flight REPL error messages (#6696) by @lukekim in #6696
- Fixes from search tests (#6710) by @Jeadie in #6710