Skip to content

Commit df2eeff

Browse files
authored
Merge branch 'trunk' into dependabot/npm_and_yarn/website/npm_and_yarn-b99aa93e97
2 parents 717650c + 7d134db commit df2eeff

53 files changed

Lines changed: 830 additions & 165 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/enforce-pulls-with-spice.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@ jobs:
1313
contents: read
1414
pull-requests: write
1515
steps:
16-
- uses: spiceai/pulls-with-spice-action@v1.0.3
16+
- uses: spiceai/pulls-with-spice-action@v1.0.6
1717
if: github.event_name == 'pull_request'
1818
with:
19-
require_title_min_length: '5'
19+
require_title_min_length: '10'
2020
required_labels_any: 'area/blog,area/docs,area/cookbook'
2121
banned_labels: 'invalid,wontfix,nomerge,duplicate'
2222
require_assignee: 'true'

website/blog/releases/v1.1.1.md

Lines changed: 164 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,164 @@
1+
---
2+
date: 2025-04-08
3+
title: 'Spice v1.1.1 (Apr 7, 2025)'
4+
type: blog
5+
authors: [phillipleblanc]
6+
tags: [release, caching, mcp, spice.js, node.js]
7+
---
8+
9+
Announcing the release of Spice v1.1.1! 📊
10+
11+
Spice v1.1.1 introduces several key updates, including a new Component Metrics System, improved Delta Data Connector performance, improved MCP tool descriptions, and expanded runtime results caching options. This release also adds detailed MySQL connection pool metrics for better observability. Component Metrics are Prometheus-compatible and accessible via the metrics endpoint.
12+
13+
## Highlights v1.1.1
14+
15+
- **Component Metrics System**: A new system for monitoring components, starting with MySQL connection pool metrics. These metrics provide insights into MySQL connection performance and can be selectively enabled in the dataset configuration. Metrics are exposed in Prometheus format via the metrics endpoint.
16+
17+
For more details, see the [Component Metrics documentation](https://spiceai.org/docs/features/observability/component_metrics).
18+
19+
- **Results Caching Enhancements**: Added a `cache_key_type` option for runtime results caching. Options include:
20+
- **`plan` (Default):** Uses the query's logical plan as the cache key. Matches semantically equivalent queries but requires query parsing.
21+
- **`sql`:** Uses the raw SQL string as the cache key. Provides faster lookups but requires exact string matches. Use `sql` for predictable queries without dynamic functions like `NOW()`.
22+
23+
Example `spicepod.yaml` configuration:
24+
25+
```yaml
26+
runtime:
27+
results_cache:
28+
enabled: true
29+
cache_max_size: 128MiB
30+
cache_key_type: sql # Use SQL for the results cache key
31+
item_ttl: 1s
32+
```
33+
34+
For more details, see the [runtime configuration documentation](https://spiceai.org/docs/reference/spicepod/runtime.md).
35+
36+
- **Delta Data Connector**: Improved scan performance for faster query performance.
37+
38+
- **MCP Tools**: Improved descriptions for built-in MCP tools to improve usability.
39+
40+
- **MySQL Component Metrics**: Added detailed metrics for monitoring MySQL connections, such as connection count and pool activity.
41+
42+
Example `spicepod.yaml` configuration:
43+
44+
```yaml
45+
datasets:
46+
- from: mysql:my_table
47+
name: my_dataset
48+
metrics:
49+
- name: connection_count
50+
enabled: true
51+
- name: connections_in_pool
52+
enabled: true
53+
- name: active_wait_requests
54+
enabled: true
55+
params:
56+
mysql_host: localhost
57+
mysql_tcp_port: 3306
58+
mysql_user: root
59+
mysql_pass: ${secrets:MYSQL_PASS}
60+
```
61+
62+
For more details, see the [MySQL Data Connector documentation](https://spiceai.org/docs/components/data-connectors/mysql).
63+
64+
- **spice.js SDK:** The [`spice.js` SDK](https://github.com/spiceai/spice.js/releases/v2.0.1) has been updated to v2.0.1 and includes several important security updates.
65+
66+
## New Contributors 🎉
67+
68+
- [@kczimm](https://github.com/kczimm) made their first contribution in [#5243](https://github.com/spiceai/spiceai/pull/5243)
69+
70+
## Contributors
71+
72+
- [@peasee](https://github.com/peasee)
73+
- [@lukekim](https://github.com/lukekim)
74+
- [@phillipleblanc](https://github.com/phillipleblanc)
75+
- [@Sevenannn](https://github.com/Sevenannn)
76+
- [@sgrebnov](https://github.com/sgrebnov)
77+
- [@ewgenius](https://github.com/ewgenius)
78+
- [@kczimm](https://github.com/kczimm)
79+
80+
## Breaking Changes
81+
82+
No breaking changes in this release.
83+
84+
## Cookbook Updates
85+
86+
The [Spice Cookbook](https://spiceai.org/cookbook) now includes 65 recipes to help you get started with Spice quickly and easily.
87+
88+
## Upgrading
89+
90+
To upgrade to v1.1.1, use one of the following methods:
91+
92+
**CLI**:
93+
94+
```console
95+
spice upgrade
96+
```
97+
98+
**Homebrew**:
99+
100+
```console
101+
brew upgrade spiceai/spiceai/spice
102+
```
103+
104+
**Docker**:
105+
106+
Pull the `spiceai/spiceai:1.1.1` image:
107+
108+
```console
109+
docker pull spiceai/spiceai:1.1.1
110+
```
111+
112+
For available tags, see [DockerHub](https://hub.docker.com/r/spiceai/spiceai/tags).
113+
114+
**Helm**:
115+
116+
```console
117+
helm repo update
118+
helm upgrade spiceai spiceai/spiceai
119+
```
120+
121+
## What's Changed
122+
123+
### Dependencies
124+
125+
- No major dependency changes.
126+
127+
### Changelog
128+
129+
```text
130+
- fix: Testoperator DuckDB, SQLite, Postgres, Spicecloud by [@peasee](https://github.com/peasee) in [#5190](https://github.com/spiceai/spiceai/pull/5190)
131+
- Update Helm Chart and SECURITY.md to v1.1.0 by [@lukekim](https://github.com/lukekim) in [#5223](https://github.com/spiceai/spiceai/pull/5223)
132+
- Update version.txt to v1.1.1-unstable by [@lukekim](https://github.com/lukekim) in [#5224](https://github.com/spiceai/spiceai/pull/5224)
133+
- Update Cargo.lock to v1.1.1-unstable by [@lukekim](https://github.com/lukekim) in [#5225](https://github.com/spiceai/spiceai/pull/5225)
134+
- Add tests for `verify_schema_source_path` in `ListingTableConnector` by [@phillipleblanc](https://github.com/phillipleblanc) in [#5221](https://github.com/spiceai/spiceai/pull/5221)
135+
- Reduce noise from debug logging by [@phillipleblanc](https://github.com/phillipleblanc) in [#5227](https://github.com/spiceai/spiceai/pull/5227)
136+
- Improve `openai_test_chat_messages` integration test reliability by [@Sevenannn](https://github.com/Sevenannn) in [#5222](https://github.com/spiceai/spiceai/pull/5222)
137+
- Verify the checkpoints existence before shutting down runtime in integration tests directly querying checkpoint by [@Sevenannn](https://github.com/Sevenannn) in [#5232](https://github.com/spiceai/spiceai/pull/5232)
138+
- Fix CORS support for json content-type api by [@sgrebnov](https://github.com/sgrebnov) in [#5241](https://github.com/spiceai/spiceai/pull/5241)
139+
- Fix ModelGradedScorer error: The 'metadata' parameter is only allowed when 'store' is enabled. by [@sgrebnov](https://github.com/sgrebnov) in [#5231](https://github.com/spiceai/spiceai/pull/5231)
140+
- fix: Use `pulls-with-spice-action` and switch to `spiceai-macos` runners by [@peasee](https://github.com/peasee) in [#5238](https://github.com/spiceai/spiceai/pull/5238)
141+
- Use v1.0.3 pulls with spice action by [@lukekim](https://github.com/lukekim) in [#5244](https://github.com/spiceai/spiceai/pull/5244)
142+
- feat: Build ODBC binaries, run testoperator on ODBC by [@peasee](https://github.com/peasee) in [#5237](https://github.com/spiceai/spiceai/pull/5237)
143+
- Bump timeout for several integration test runtime load_components & readiness check by [@Sevenannn](https://github.com/Sevenannn) in [#5229](https://github.com/spiceai/spiceai/pull/5229)
144+
- Validate port is available before binding port for docker container in integration tests by [@Sevenannn](https://github.com/Sevenannn) in [#5248](https://github.com/spiceai/spiceai/pull/5248)
145+
- Update datafusion-table-providers to fix the schema for PostgreSQL materialized views by [@ewgenius](https://github.com/ewgenius) in [#5259](https://github.com/spiceai/spiceai/pull/5259)
146+
- Verify flight server is ready for flight integration tests by [@Sevenannn](https://github.com/Sevenannn) in [#5240](https://github.com/spiceai/spiceai/pull/5240)
147+
- fix: Publish to MinIO inside of matrix on build_and_release by [@peasee](https://github.com/peasee) in [#5258](https://github.com/spiceai/spiceai/pull/5258)
148+
- fix: TPCDS on zero results benchmarks by [@peasee](https://github.com/peasee) in [#5263](https://github.com/spiceai/spiceai/pull/5263)
149+
- Use model as a judge scorer for Financebench by [@sgrebnov](https://github.com/sgrebnov) in [#5264](https://github.com/spiceai/spiceai/pull/5264)
150+
- Fix FinanceBench llm scorer secret name by [@sgrebnov](https://github.com/sgrebnov) in [#5276](https://github.com/spiceai/spiceai/pull/5276)
151+
- Implements support for `runtime.results_cache.cache_key_type` by [@phillipleblanc](https://github.com/phillipleblanc) in [#5265](https://github.com/spiceai/spiceai/pull/5265)
152+
- fix: Testoperator MS SQL, query overrides, dispatcher by [@peasee](https://github.com/peasee) in [#5279](https://github.com/spiceai/spiceai/pull/5279)
153+
- refactor: Delete old benchmarks by [@peasee](https://github.com/peasee) in [#5283](https://github.com/spiceai/spiceai/pull/5283)
154+
- Imporve embedding column parsing performance test by [@Sevenannn](https://github.com/Sevenannn) in [#5268](https://github.com/spiceai/spiceai/pull/5268)
155+
- Add Support for AWS Session Token in S3 Data Connector by [@kczimm](https://github.com/kczimm) in [#5243](https://github.com/spiceai/spiceai/pull/5243)
156+
- Implement Component Metrics system + MySQL connection pool metrics by [@phillipleblanc](https://github.com/phillipleblanc) in [#5290](https://github.com/spiceai/spiceai/pull/5290)
157+
- Add default descriptions to built-in MCP tools by [@lukekim](https://github.com/lukekim) in [#5293](https://github.com/spiceai/spiceai/pull/5293)
158+
- fix: Vector search with cased columns by [@peasee](https://github.com/peasee) in [#5295](https://github.com/spiceai/spiceai/pull/5295)
159+
- Run delta kernel scan in a blocking Tokio thread. by [@phillipleblanc](https://github.com/phillipleblanc) in [#5296](https://github.com/spiceai/spiceai/pull/5296)
160+
- Expose the `mysql_pool_min` and `mysql_pool_max` connection pool parameters by [@phillipleblanc](https://github.com/phillipleblanc) in [#5297](https://github.com/spiceai/spiceai/pull/5297)
161+
- use patched pdf-extract by [@kczimm](https://github.com/kczimm) in [#5270](https://github.com/spiceai/spiceai/pull/5270)
162+
```
163+
164+
**Full Changelog**: [v1.1.0...v1.1.1](https://github.com/spiceai/spiceai/compare/v1.1.0...v1.1.1)

website/blog/releases/v1.1.2.md

Lines changed: 141 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,141 @@
1+
---
2+
date: 2025-04-15
3+
title: 'Spice v1.1.2 (Apr 14, 2025)'
4+
type: blog
5+
authors: [phillipleblanc]
6+
tags: [release, delta, tableau, snowflake, sql, nsql]
7+
---
8+
9+
Announcing the release of Spice v1.1.2! 🔗
10+
11+
Spice v1.1.2 improves Delta Lake Data Connector performance, introduces new Accept headers for the `/v1/sql` and `/v1/nsql` endpoints to include query metadata with results, and resolves an issue with the Snowflake Data Connector when handling wide tables (>600 columns).
12+
13+
The official Tableau Connector for Spice.ai v0.1 has been released, making it easy to connect to both self-hosted Spice.ai and Spice Cloud instances using Tableau.
14+
15+
## What's New in v1.1.2
16+
17+
- **Tableau Connector for Spice.ai**: Released the initial version (v0.1) of the official Tableau Taco Connector (fully open-source), enabling data visualization and analytics in Tableau with self-hosted Spice.ai and Spice Cloud deployments.
18+
19+
- Official Release: [github.com/spicehq/tableau-connector/releases/tag/v0.1.0](https://github.com/spicehq/tableau-connector/releases/tag/v0.1.0)
20+
- Docs: [spiceai.org/docs/clients/tableau](https://spiceai.org/docs/clients/tableau)
21+
- Open Source Repository: [github.com/spiceai/tableau-connector](https://github.com/spiceai/tableau-connector)
22+
23+
![Query Spice.ai using Tableau](/img/tableau/tableau-spice-example.png)
24+
25+
- **Delta Lake Data Connector**: Upgraded `delta_kernel` to v0.9, and optimized scan operations, reducing query execution time by up to 20% on large datasets.
26+
27+
- **Snowflake Data Connector**: Fixed a bug that caused failures when loading tables with more than 600 columns.
28+
29+
- **Query Metadata (SQL and NSQL)**: Added support for the `application/vnd.spiceai.sql.v1+json` Accept header on the `/v1/sql` endpoint, and the `application/vnd.spiceai.nsql.v1+json` Accept header on the `/v1/nsql` endpoint, enabling responses to include metadata such as the executed SQL query and schema alongside results.
30+
31+
Example:
32+
33+
```bash
34+
curl -XPOST "http://localhost:8090/v1/nsql" \
35+
-H "Content-Type: application/json" \
36+
-H "Accept: application/vnd.spiceai.nsql.v1+json" \
37+
-d '{
38+
"query": "What’s the highest tip any passenger gave?"
39+
}' | jq
40+
```
41+
42+
Example response:
43+
44+
```json
45+
{
46+
"row_count": 1,
47+
"schema": {
48+
"fields": [
49+
{
50+
"name": "highest_tip",
51+
"data_type": "Float64",
52+
"nullable": true,
53+
"dict_id": 0,
54+
"dict_is_ordered": false,
55+
"metadata": {}
56+
}
57+
],
58+
"metadata": {}
59+
},
60+
"data": [
61+
{
62+
"highest_tip": 428.0
63+
}
64+
],
65+
"sql": "SELECT MAX(\"tip_amount\") AS \"highest_tip\"\nFROM \"spice\".\"public\".\"taxi_trips\""
66+
}
67+
```
68+
69+
For details, see the [SQL Query API](https://spiceai.org/docs/api/HTTP/post-sql) and [NSQL API](https://spiceai.org/docs/api/HTTP/post-nsql) documentation.
70+
71+
## Contributors
72+
73+
- [@ewgenius](https://github.com/ewgenius)
74+
- [@peasee](https://github.com/peasee)
75+
- [@lukekim](https://github.com/lukekim)
76+
- [@phillipleblanc](https://github.com/phillipleblanc)
77+
- [@Sevenannn](https://github.com/Sevenannn)
78+
- [@sgrebnov](https://github.com/sgrebnov)
79+
- [@kczimm](https://github.com/kczimm)
80+
81+
## Breaking Changes
82+
83+
No breaking changes in this release.
84+
85+
## Cookbook Updates
86+
87+
No major cookbook additions.
88+
89+
The [Spice Cookbook](https://spiceai.org/cookbook) now includes 65 recipes to help you get started with Spice quickly and easily.
90+
91+
## Upgrading
92+
93+
To upgrade to v1.1.2, use one of the following methods:
94+
95+
**CLI**:
96+
97+
```console
98+
spice upgrade
99+
```
100+
101+
**Homebrew**:
102+
103+
```console
104+
brew upgrade spiceai/spiceai/spice
105+
```
106+
107+
**Docker**:
108+
109+
Pull the `spiceai/spiceai:1.1.2` image:
110+
111+
```console
112+
docker pull spiceai/spiceai:1.1.2
113+
```
114+
115+
For available tags, see [DockerHub](https://hub.docker.com/r/spiceai/spiceai/tags).
116+
117+
**Helm**:
118+
119+
```console
120+
helm repo update
121+
helm upgrade spiceai spiceai/spiceai
122+
```
123+
124+
## What's Changed
125+
126+
### Dependencies
127+
128+
- **[delta_kernel](https://crates.io/crates/delta_kernel/0.9.0):** updated to v0.9.0.
129+
130+
### Changelog
131+
132+
- Backport - Fix schema inference for Snowflake tables with large number of columns #5348 by [@ewgenius](https://github.com/ewgenius) in [#5350](https://github.com/spiceai/spiceai/pull/5350)
133+
- Upgrade `delta_kernel` to 0.9 (#5343) by [@phillipleblanc](https://github.com/phillipleblanc) in [#5356](https://github.com/spiceai/spiceai/pull/5356)
134+
- Add basic support for `application/vnd.spiceai.sql.v1+json` format (#5333) by [@sgrebnov](https://github.com/sgrebnov) in [#5333](https://github.com/spiceai/spiceai/pull/5333)
135+
- Convert DataFusion filters to Delta Kernel predicates by [@phillipleblanc](https://github.com/phillipleblanc) in [#5362](https://github.com/spiceai/spiceai/pull/5362)
136+
- revert to previous pdf-extract; remove test for encrypted pdf support by [@kczimm](https://github.com/kczimm) in [#5355](https://github.com/spiceai/spiceai/pull/5355)
137+
- Turn off `delta_kernel::log_segment` logging and refactor log filtering by [@phillipleblanc](https://github.com/phillipleblanc) in [#5367](https://github.com/spiceai/spiceai/pull/5367)
138+
- Extend `application/vnd.spiceai.sql.v1+json` with `schema` and `row_count` fields by [@sgrebnov](https://github.com/sgrebnov) in [#5365](https://github.com/spiceai/spiceai/pull/5365)
139+
- Make separate `vnd.spiceai.sql.v1+json` and `vnd.spiceai.nsql.v1+json` MIME types by [@sgrebnov](https://github.com/sgrebnov) in [#5382](https://github.com/spiceai/spiceai/pull/5382)
140+
141+
**Full Changelog**: [v1.1.1...v1.1.2](https://github.com/spiceai/spiceai/compare/v1.1.1...v1.1.2)

website/blog/tags.yml

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,10 @@ azure:
2626
label: 'azure'
2727
permalink: '/azure'
2828
description: 'Microsoft Azure related topics and usage'
29+
caching:
30+
label: 'caching'
31+
permalink: '/caching'
32+
description: 'Results Cache related topics and usage'
2933
cli:
3034
label: 'cli'
3135
permalink: '/cli'
@@ -58,6 +62,10 @@ deepseek:
5862
label: 'deepseek'
5963
permalink: '/deepseek'
6064
description: 'Deepseek AI firm related topics and usage'
65+
delta:
66+
label: 'delta'
67+
permalink: '/delta'
68+
description: 'Delta Lake Data Connector related topics and usage'
6169
delta-lake:
6270
label: 'delta-lake'
6371
permalink: '/delta-lake'
@@ -122,6 +130,10 @@ machine-learning:
122130
label: 'machine-learning'
123131
permalink: '/machine-learning'
124132
description: 'Machine learning techniques and tools'
133+
mcp:
134+
label: 'mcp'
135+
permalink: '/mcp'
136+
description: 'Model-Context-Protocol (MCP) related topics and usage'
125137
metal:
126138
label: 'metal'
127139
permalink: '/metal'
@@ -134,6 +146,14 @@ mysql:
134146
label: 'mysql'
135147
permalink: '/mysql'
136148
description: 'MySQL database topics and usage'
149+
node.js:
150+
label: 'node.js'
151+
permalink: '/node.js'
152+
description: 'Node.js related topics and usage'
153+
nsql:
154+
label: 'nsql'
155+
permalink: '/nsql'
156+
description: 'Natural Language SQL (NSQL) topics and usage'
137157
on-prem:
138158
label: 'on-prem'
139159
permalink: '/on-prem'
@@ -170,6 +190,14 @@ security:
170190
label: 'security'
171191
permalink: '/security'
172192
description: 'Security practices and tools'
193+
snowflake:
194+
label: 'snowflake'
195+
permalink: '/snowflake'
196+
description: 'Snowflake Data Connector related topics and usage'
197+
spice.js:
198+
label: 'spice.js'
199+
permalink: '/spice.js'
200+
description: 'spice.js (Node.js SDK) related topics and usage'
173201
spicepod:
174202
label: 'spicepod'
175203
permalink: '/spicepod'
@@ -186,3 +214,7 @@ task-history:
186214
label: 'task-history'
187215
permalink: '/task-history'
188216
description: 'Task history tracking and management'
217+
tableau:
218+
label: 'tableau'
219+
permalink: '/tableau'
220+
description: 'Tableau Connector related topics and usage'

0 commit comments

Comments
 (0)