|
| 1 | +--- |
| 2 | +date: 2025-05-06 |
| 3 | +title: 'Spice v1.2.1 (May 5, 2025)' |
| 4 | +type: blog |
| 5 | +authors: [sgrebnov] |
| 6 | +tags: [release,databricks,data-connector,m2m,parameterized queries] |
| 7 | +--- |
| 8 | + |
| 9 | +Announcing the release of Spice v1.2.1! 🔥 |
| 10 | + |
| 11 | +Spice v1.2.1 includes several data connector fixes and improves query performance for accelerated views. This release also introduces Databricks Service Principal (M2M OAuth) authentication and expands parameterized queries. |
| 12 | + |
| 13 | +## Highlights in v1.2.1 |
| 14 | + |
| 15 | +- **Databricks Service Principal Support**: Databricks datasets and catalogs now support Machine-to-Machine (M2M) OAuth authentication via Service Principals, enabling secure machine connections to Databricks. |
| 16 | + |
| 17 | +Example `spicepod.yaml`: |
| 18 | + |
| 19 | +```yaml |
| 20 | +datasets: |
| 21 | + - from: databricks:spiceai.datasets.my_awesome_table # A reference to a table in the Databricks unity catalog |
| 22 | + name: my_delta_lake_table |
| 23 | + params: |
| 24 | + mode: delta_lake |
| 25 | + databricks_endpoint: dbc-a1b2345c-d6e7.cloud.databricks.com |
| 26 | + databricks_client_id: ${secrets:DATABRICKS_CLIENT_ID} |
| 27 | + databricks_client_secret: ${secrets:DATABRICKS_CLIENT_SECRET} |
| 28 | +``` |
| 29 | +
|
| 30 | +For details, see documentation for: |
| 31 | +
|
| 32 | +- [Databricks Data Connector](https://spiceai.org/docs/components/data-connectors/databricks) |
| 33 | +- [Databricks Unity Catalog Connector](https://spiceai.org/docs/components/catalogs/databricks) |
| 34 | +
|
| 35 | +- **Iceberg Data Connector**: Now supports cross-account table access via the AWS Glue Catalog Connector and fixes an issue when querying data from append mode datasets. |
| 36 | +
|
| 37 | +- **Iceberg Catalog API**: Full compatibility with the Iceberg HTTP REST Catalog API to consume Spice datasets from Iceberg Catalog clients. |
| 38 | +
|
| 39 | +For details, see documentation for: |
| 40 | +
|
| 41 | +- [Iceberg Data Connector](https://spiceai.org/docs/components/data-connectors/iceberg) |
| 42 | +- [S3 Data Connector](https://spiceai.org/docs/components/data-connectors/s3) |
| 43 | +
|
| 44 | +- **Improved Parameterized Query Support**: Expanded type inference for placeholders in: |
| 45 | + - `IN` list expressions |
| 46 | + - `LIKE` patterns |
| 47 | + - `SIMILAR TO` patterns |
| 48 | + - `LIMIT` clauses |
| 49 | + - Subqueries |
| 50 | + |
| 51 | +## New Contributors 🎉 |
| 52 | + |
| 53 | +- [@nuvic](https://github.com/nuvic) made their first contribution in [#5673](https://github.com/spiceai/spiceai/pull/5673) |
| 54 | + |
| 55 | +## Contributors |
| 56 | + |
| 57 | +- [@peasee](https://github.com/peasee) |
| 58 | +- [@ewgenius](https://github.com/ewgenius) |
| 59 | +- [@karifabri](https://github.com/karifabri) |
| 60 | +- [@phillipleblanc](https://github.com/phillipleblanc) |
| 61 | +- [@kczimm](https://github.com/kczimm) |
| 62 | +- [@Jeadie](https://github.com/Jeadie) |
| 63 | +- [@sgrebnov](https://github.com/sgrebnov) |
| 64 | +- [@Sevenannn](https://github.com/Sevenannn) |
| 65 | +- [@nuvic](https://github.com/nuvic) |
| 66 | + |
| 67 | +## Breaking Changes |
| 68 | + |
| 69 | +No breaking changes. |
| 70 | + |
| 71 | +## Cookbook Updates |
| 72 | + |
| 73 | +New recipes for: |
| 74 | + |
| 75 | +- [Language Model Evaluations](https://github.com/spiceai/cookbook/tree/trunk/evals/README.md): Use Spice.ai OSS to evaluate language models. |
| 76 | +- [LLM as a Judge](https://github.com/spiceai/cookbook/tree/trunk/llm-judge/README.md): Use LLM judge models to evaluate the performance of other language models. |
| 77 | + |
| 78 | +The [Spice Cookbook](https://spiceai.org/cookbook) now includes 68 recipes to help you get started with Spice quickly and easily. |
| 79 | + |
| 80 | +## Upgrading |
| 81 | + |
| 82 | +To upgrade to v1.2.1, use one of the following methods: |
| 83 | + |
| 84 | +**CLI**: |
| 85 | + |
| 86 | +```console |
| 87 | +spice upgrade |
| 88 | +``` |
| 89 | + |
| 90 | +**Homebrew**: |
| 91 | + |
| 92 | +```console |
| 93 | +brew upgrade spiceai/spiceai/spice |
| 94 | +``` |
| 95 | + |
| 96 | +**Docker**: |
| 97 | + |
| 98 | +Pull the `spiceai/spiceai:1.2.1` image: |
| 99 | + |
| 100 | +```console |
| 101 | +docker pull spiceai/spiceai:1.2.1 |
| 102 | +``` |
| 103 | + |
| 104 | +For available tags, see [DockerHub](https://hub.docker.com/r/spiceai/spiceai/tags). |
| 105 | + |
| 106 | +**Helm**: |
| 107 | + |
| 108 | +```console |
| 109 | +helm repo update |
| 110 | +helm upgrade spiceai spiceai/spiceai |
| 111 | +``` |
| 112 | + |
| 113 | +## What's Changed |
| 114 | + |
| 115 | +### Dependencies |
| 116 | + |
| 117 | +- No major dependency changes. |
| 118 | + |
| 119 | +### Changelog |
| 120 | + |
| 121 | +```text |
| 122 | +- Fix: Specify metric type as a dimension for testoperator by [@peasee](https://github.com/peasee) in [#5630](https://github.com/spiceai/spiceai/pull/5630) |
| 123 | +- Fix: Add option to run dispatch schedule by [@peasee](https://github.com/peasee) in [#5631](https://github.com/spiceai/spiceai/pull/5631) |
| 124 | +- Infer placeholder datatype for InList, Like, and SimilarTo by [@kczimm](https://github.com/kczimm) in [#5626](https://github.com/spiceai/spiceai/pull/5626) |
| 125 | +- Add QA analytics for 1.2.0 by [@phillipleblanc](https://github.com/phillipleblanc) in [#5640](https://github.com/spiceai/spiceai/pull/5640) |
| 126 | +- Fix: Use SPICED_COMMIT for spiced_commit_sha by [@peasee](https://github.com/peasee) in [#5632](https://github.com/spiceai/spiceai/pull/5632) |
| 127 | +- New crates/tools by [@Jeadie](https://github.com/Jeadie) in [#5121](https://github.com/spiceai/spiceai/pull/5121) |
| 128 | +- Update openapi.json by [@github-actions](https://github.com/github-actions) in [#5643](https://github.com/spiceai/spiceai/pull/5643) |
| 129 | +- Enable metrics reporting for models benchmarks (evals) by [@sgrebnov](https://github.com/sgrebnov) in [#5639](https://github.com/spiceai/spiceai/pull/5639) |
| 130 | +- Implement CatalogBuilder, add app and runtime references to catalog component, add runtime reference to connector params by [@ewgenius](https://github.com/ewgenius) in [#5641](https://github.com/spiceai/spiceai/pull/5641) |
| 131 | +- Fix eventing bug in LLM progress; Add tool and worker progress by [@Jeadie](https://github.com/Jeadie) in [#5619](https://github.com/spiceai/spiceai/pull/5619) |
| 132 | +- Handle small precision differences in TPCH answer validation by [@phillipleblanc](https://github.com/phillipleblanc) in [#5642](https://github.com/spiceai/spiceai/pull/5642) |
| 133 | +- Add TokenProviderRegistry to the runtime by [@ewgenius](https://github.com/ewgenius) in [#5651](https://github.com/spiceai/spiceai/pull/5651) |
| 134 | +- Provide ModelContextLayer for evals by [@Jeadie](https://github.com/Jeadie) in [#5648](https://github.com/spiceai/spiceai/pull/5648) |
| 135 | +- Databricks data_components refactor. Databricks Spark connect - add set_token method and writable spark session by [@ewgenius](https://github.com/ewgenius) in [#5654](https://github.com/spiceai/spiceai/pull/5654) |
| 136 | +- Extract AWS Glue warehouse for cross-account Iceberg tables by [@phillipleblanc](https://github.com/phillipleblanc) in [#5656](https://github.com/spiceai/spiceai/pull/5656) |
| 137 | +- Refactor Dataset component by [@phillipleblanc](https://github.com/phillipleblanc) in [#5660](https://github.com/spiceai/spiceai/pull/5660) |
| 138 | +- Fix Iceberg API returning 404 when schema contains a Dictionary by [@phillipleblanc](https://github.com/phillipleblanc) in [#5665](https://github.com/spiceai/spiceai/pull/5665) |
| 139 | +- Fix dependencies: downgrade swagger-ui to v8; force zip to 2.3.0 by [@kczimm](https://github.com/kczimm) in [#5664](https://github.com/spiceai/spiceai/pull/5664) |
| 140 | +- Add DuckDB indexes spicepod, additional dispatches by [@peasee](https://github.com/peasee) in [#5633](https://github.com/spiceai/spiceai/pull/5633) |
| 141 | +- Update readme: update data federation link by [@nuvic](https://github.com/nuvic) in [#5673](https://github.com/spiceai/spiceai/pull/5673) |
| 142 | +- Support metadata columns for object-store based data connectors by [@phillipleblanc](https://github.com/phillipleblanc) in [#5661](https://github.com/spiceai/spiceai/pull/5661) |
| 143 | +- Add model name to LLM judges, and add model_graded_scoring task by [@Jeadie](https://github.com/Jeadie) in [#5655](https://github.com/spiceai/spiceai/pull/5655) |
| 144 | +- Add SF1000 TPCH test spicepods for delta lake by [@Sevenannn](https://github.com/Sevenannn) in [#5606](https://github.com/spiceai/spiceai/pull/5606) |
| 145 | +- Validate Github Connector resource existence before building the github connector graphql table by [@Sevenannn](https://github.com/Sevenannn) in [#5674](https://github.com/spiceai/spiceai/pull/5674) |
| 146 | +- Remove hard-coded embedding performance tests in CI by [@Sevenannn](https://github.com/Sevenannn) in [#5675](https://github.com/spiceai/spiceai/pull/5675) |
| 147 | +- Databricks M2M auth for spark connect data connector by [@ewgenius](https://github.com/ewgenius) in [#5659](https://github.com/spiceai/spiceai/pull/5659) |
| 148 | +- Enable federated data refresh support for accelerated views by [@sgrebnov](https://github.com/sgrebnov) in [#5677](https://github.com/spiceai/spiceai/pull/5677) |
| 149 | +- Add pods watcher integration test by [@Sevenannn](https://github.com/Sevenannn) in [#5681](https://github.com/spiceai/spiceai/pull/5681) |
| 150 | +- Add m2m support for databricks delta connector by [@ewgenius](https://github.com/ewgenius) in [#5680](https://github.com/spiceai/spiceai/pull/5680) |
| 151 | +- Update end_game.md by [@sgrebnov](https://github.com/sgrebnov) in [#5684](https://github.com/spiceai/spiceai/pull/5684) |
| 152 | +- Update StaticTokenProvider to use SecretString instead of raw str value by [@ewgenius](https://github.com/ewgenius) in [#5686](https://github.com/spiceai/spiceai/pull/5686) |
| 153 | +- Add M2M Auth support for Databricks catalog connector by [@ewgenius](https://github.com/ewgenius) in [#5687](https://github.com/spiceai/spiceai/pull/5687) |
| 154 | +- Update UX to disable acceleration federation by [@sgrebnov](https://github.com/sgrebnov) in [#5682](https://github.com/spiceai/spiceai/pull/5682) |
| 155 | +- Improve placeholder inference (LIMIT & Expr::InSubquery) by [@phillipleblanc](https://github.com/phillipleblanc) in [#5692](https://github.com/spiceai/spiceai/pull/5692) |
| 156 | +- Tweak default log to ignore aws_config::imds::region by [@phillipleblanc](https://github.com/phillipleblanc) in [#5693](https://github.com/spiceai/spiceai/pull/5693) |
| 157 | +- Make Spice properly Iceberg Catalog API compatible for load table API by [@phillipleblanc](https://github.com/phillipleblanc) in [#5695](https://github.com/spiceai/spiceai/pull/5695) |
| 158 | +- Use deterministic queries for Databricks m2m catalog tests by [@ewgenius](https://github.com/ewgenius) in [#5696](https://github.com/spiceai/spiceai/pull/5696) |
| 159 | +- Support retrieving the latest Iceberg table on table scan by [@phillipleblanc](https://github.com/phillipleblanc) in [#5704](https://github.com/spiceai/spiceai/pull/5704) |
| 160 | +``` |
| 161 | + |
| 162 | +**Full Changelog**: [v1.2.0...v1.2.1](https://github.com/spiceai/spiceai/compare/v1.2.0...v1.2.1) |
0 commit comments