docs: Sync the cookbook page and recipe links with spiceai/cookbook (#2318)
* Sync the cookbook page with the current spiceai/cookbook recipes
List all 122 current recipes (up from 79) and leave out evals, llm-judge, and websearch, which the cookbook marks deprecated in v2.0+.
- Correct entries that pointed at the wrong recipe or described an old version: Results Caching linked the Caching Accelerator recipe, Nvidia NIM on Kubernetes linked the EC2 recipe, Hashed Partitioning now uses Cayenne, and Federated SQL Query no longer uses Dremio.
- Add the missing recipes, including Cayenne, async queries, native PostgreSQL/MySQL/MongoDB CDC, DynamoDB Streams, HTTP, Redshift, ScyllaDB, SMB, the catalog connectors, full-text search, distributed query, and Spice as an MCP server.
- Add Change Data Capture and Advanced Topics sections. Local Dataset Replication was tagged for no rendered section, so it never appeared.
- Show guides in Sample Applications and Guides instead of Security.
- Align Core Features with the cookbook's core scenarios and feature Cayenne as the data accelerator.
- Label recipes that need Spice.ai Enterprise.
- Remove forbidden words (enhance, leverage, utilize, robust) from section intros.
* Fix broken and stale cookbook recipe references across doc versions
Every version links to the recipes on cookbook trunk, so these corrections apply to each version that carries them.
- Query Federation: replace the walkthrough with the current Federated SQL Query recipe, which joins NYC taxi trips in S3 with taxi zones in PostgreSQL. The old walkthrough logged in to a demo Dremio, ran 'spice add spiceai/fed-demo' (that Spicepod no longer exists on Spicerack), and ran 'cd demo' twice. The new steps and output come from a run of the recipe on Spice v2.3.2.
- FAQ: the RAG recipe link (cookbook/tree/trunk/rag) never existed; link the RAG use-case page instead.
- Use cases: fix duckdb/accelerator/README and federation/README links that were missing the .md extension.
- PostgreSQL connector: link the connector recipe instead of the accelerator recipe, and fix 'configure Supabase a data connector'.
- ODBC connector: the recipe now connects to MySQL with the MariaDB driver, not Postgres.
- Glue catalog connector: its recipe configures the Glue Catalog Connector, not the Data Connector.
- Release notes: fix three recipe links that pointed at moved or malformed paths.
* Link docs pages to their cookbook recipes
49 cookbook recipes had no link from any docs page. Add a Cookbook section, or a bullet in an existing one, on the matching page in vNext and 2.3.x. Covered pages include CDC (PostgreSQL, MySQL, Aurora MySQL, MongoDB), the catalog connectors (DuckLake, MySQL, SQL Server, Unity Catalog, Databricks, Iceberg Hadoop, PostgreSQL CDC), acceleration (partitioning, snapshots, indexes, constraints, views, caching, cron refresh, dual-dataset registration), search, distributed query and async queries, MCP, LLM memory, text-to-SQL, the ai() function, models (OpenAI, DeepSeek, filesystem, xAI, NVIDIA NIM on Kubernetes), API keys, ADBC, JDBC, the SDKs, and Cloud Connect. The sidecar and microservice architecture partials, which every version shares, link their recipes too.
Related updates:
- The docs landing page lists Cayenne among the accelerators and links the Cayenne recipe.
- The Cayenne Transactions intro also covers tables configured for durable write-back, matching the section's own requirements.
- The FAQ says the cookbook has over 120 recipes, up from over 65.
7 days ago
docs(abfs): remove unsupported adl:// scheme from connector intro
The ABFS connector intro claimed it serves 'Azure Data Lake (adl://)
endpoints', but the connector only registers the abfs:// and abfss://
schemes (register_data_connector! for "abfs" and "abfss"); there is no
adl:// registration. adl:// is the deprecated Azure Data Lake Storage Gen1
scheme, distinct from the ADLS Gen2 this connector targets. Setting
from: adl://... fails with an unknown-connector error.
Reworded the intro to name the actually-registered abfs:///abfss:// schemes.
Correction applied to all 9 doc versions (the claim predates versioning;
adl:// was never registered, confirmed at v2.0.0 and trunk).
4 months ago
docs(clickhouse): a connection-string connection_timeout needs a unit suffix
17 days ago
fix: Add missing sql_warehouse mode to Databricks v1.10.x and v1.11.x docs
The versioned Databricks docs only listed spark_connect and delta_lake
as valid modes, but sql_warehouse existed in both v1.10 and v1.11
releases. The mode parameter description, endpoint description, and
client_timeout applicability were all incomplete.
5 months ago
fix: Use lowercase security_protocol values in Kafka and Debezium docs
The code defines kafka_security_protocol with lowercase defaults and
options (sasl_ssl, plaintext, ssl, sasl_plaintext) in both the
ParameterSpec and runtime fallback, but the documentation showed
uppercase (SASL_SSL, PLAINTEXT, etc.).
Updated across all versioned docs (1.5.x through 1.11.x) and vNext.
Verified the code has used lowercase since at least v1.6.0.
6 months ago
docs(delta-lake): remove duplicated word in connector intro
'Delta Lake data connector connector enables SQL queries' → 'Delta Lake data connector enables SQL queries'. Duplicated word predates versioning, so fixed in the unversioned page and all 8 versioned snapshots.
3 months ago
docs(dremio): dataset paths are not limited to three levels of nesting
18 days ago
Check in versioned docs and remove generate-versions script (#1386)
* Check in versioned docs and remove generate-versions script
Transition from per-branch versioning to all versions checked in.
Generated versioned docs from release branches 1.5 through 1.11.
Removed generate-versions.sh and updated .gitignore.
* Remove generate-versions script from build workflow
Versioned docs are now checked in directly. Remove the script
invocation from package.json build, drop the fetch-depth: 0 from CI
(no longer needed), and update README to reflect the new process.
8 months ago
docs(dynamodb): document S → Date32 type mapping for YYYY-MM-DD strings
3 months ago
Check in versioned docs and remove generate-versions script (#1386)
* Check in versioned docs and remove generate-versions script
Transition from per-branch versioning to all versions checked in.
Generated versioned docs from release branches 1.5 through 1.11.
Removed generate-versions.sh and updated .gitignore.
* Remove generate-versions script from build workflow
Versioned docs are now checked in directly. Remove the script
invocation from package.json build, drop the fetch-depth: 0 from CI
(no longer needed), and update README to reflect the new process.
8 months ago
fix: Mark flightsql_endpoint parameter as Required in FlightSQL connector docs
The flightsql_endpoint parameter is enforced as required at runtime
(returns MissingParameter error if absent), but the docs did not
indicate this. Other parameters in the same table explicitly say
"Optional." -- this adds "Required." to the endpoint description
for consistency, across vNext and all versioned docs (1.5.x-1.11.x).
5 months ago
docs(ftp): mark the FTP/SFTP username and password as required
`prepare_ftp_object_store` and `prepare_sftp_object_store` both hard-error
("No user provided for FTP", "No password provided for FTP") when either
credential is absent, so `ftp_user`/`ftp_pass` and `sftp_user`/`sftp_pass`
are mandatory — not optional as the params tables implied by contrast with
the neighbouring rows that do carry a Required/Optional marker.
Behaviour is unchanged since v1.5.0, so this is a flat correction across
every snapshot.
2 months ago
fix: correct commited_date typo to committed_date in GitHub connector docs
The Commits filter-pushdown paragraph referenced a non-existent
`commited_date` column (missing a 't'). The actual GitHub commits column
is `committed_date`, as confirmed by the schema table on the same page and
the column name in spiceai/spiceai. Fixed across vNext and all 7 versioned
doc snapshots.
5 months ago
Fix links in documentation for Federated SQL Query recipes and update (#1423)
* Fix links in documentation for Federated SQL Query recipes and update IMAP connector references across multiple versions
* Refactor IMAP documentation across multiple versions to improve schema and parameter formatting
- Updated schema tables in imap.md for versions 1.5.x, 1.6.x, 1.7.x, 1.8.x, 1.9.x, and 1.10.x to enhance readability.
- Standardized parameter descriptions in IMAP connection settings for clarity.
- Adjusted formatting for file format support tables in index.md for versions 1.5.x, 1.6.x, 1.7.x, 1.8.x, and 1.9.x to ensure consistency.
7 months ago
docs(graphql): fix fabricated duplicate-column error string
The example runtime error used a 'GraphQL Data Connector Error:' prefix
that exists nowhere in the codebase, and the message body had drifted.
Actual snafu Display (crates/data_components/src/graphql/mod.rs:57):
- v2.0+: "Invalid GraphQL object access: {message}"
- v1.x: "Invalid object access. {message}"
The display string was changed in v2.0 (spiceai#9233), so the correction
is version-specific: vNext + 2.0.x get the new wording, 1.5.x-1.11.x keep
the v1.x wording. The fabricated prefix is removed from all snapshots.
4 months ago
docs(http): http_headers and OAuth2 params do not work on structured HTTP file datasets
A structured HTTP file dataset (csv, parquet, arrow, avro, jsonl, ...) is
served by the object-store listing path. HttpListingConnector forwards only
port, username, password and a client_timeout fragment to the object store, so
http_headers never reaches the request — yet the 'Using Custom Headers' section
demonstrated it on a .csv URL, and both OAuth2 sections told readers to use
http_headers on that path instead.
Since spiceai/spiceai#12321 setting any OAuth2 parameter on such a dataset is
rejected at registration rather than silently dropped, and ignored http_headers
are logged as a warning.
- Custom Headers examples now target a dynamic JSON API endpoint, with the
listing-path exclusion stated up front and Basic auth given as the working
alternative for a structured file download.
- OAuth2 applicability notes and Limitations bullets corrected; the vNext text
states the rejection, the versioned snapshots state that the params are not
applied (which is what those releases do).
- http_headers and auth_token_url parameter rows carry the applicability, matching
the ParameterSpec descriptions.
The structured-format list is scoped per release: vortex is structured only in
2.1.x and vNext, and 1.9.x-1.11.x recognize just csv/tsv/parquet/arrow/avro.
2 months ago
Check in versioned docs and remove generate-versions script (#1386)
* Check in versioned docs and remove generate-versions script
Transition from per-branch versioning to all versions checked in.
Generated versioned docs from release branches 1.5 through 1.11.
Removed generate-versions.sh and updated .gitignore.
* Remove generate-versions script from build workflow
Versioned docs are now checked in directly. Remove the script
invocation from package.json build, drop the fetch-depth: 0 from CI
(no longer needed), and update README to reflect the new process.
8 months ago
docs(imap): remove orphaned Outlook OAuth cookbook link
The IMAP connector hardcodes Plain authentication (parse_authentication
builds ImapAuthModeParameter::Plain in connector-imap/src/lib.rs:188);
OAuth is not selectable via any connector parameter. IMAP OAuth was
removed from the docs in spiceai/docs#948, but a Cookbook entry pointing
to a non-existent 'Outlook OAuth' recipe survived. The link also
duplicated the basic IMAP recipe URL (.../cookbook/tree/trunk/imap).
The cookbook contains only the single imap recipe.
4 months ago
Fix links in documentation for Federated SQL Query recipes and update (#1423)
* Fix links in documentation for Federated SQL Query recipes and update IMAP connector references across multiple versions
* Refactor IMAP documentation across multiple versions to improve schema and parameter formatting
- Updated schema tables in imap.md for versions 1.5.x, 1.6.x, 1.7.x, 1.8.x, 1.9.x, and 1.10.x to enhance readability.
- Standardized parameter descriptions in IMAP connection settings for clarity.
- Adjusted formatting for file format support tables in index.md for versions 1.5.x, 1.6.x, 1.7.x, 1.8.x, and 1.9.x to ensure consistency.
7 months ago
fix: Use lowercase security_protocol values in Kafka and Debezium docs
The code defines kafka_security_protocol with lowercase defaults and
options (sasl_ssl, plaintext, ssl, sasl_plaintext) in both the
ParameterSpec and runtime fallback, but the documentation showed
uppercase (SASL_SSL, PLAINTEXT, etc.).
Updated across all versioned docs (1.5.x through 1.11.x) and vNext.
Verified the code has used lowercase since at least v1.6.0.
6 months ago
Check in versioned docs and remove generate-versions script (#1386)
* Check in versioned docs and remove generate-versions script
Transition from per-branch versioning to all versions checked in.
Generated versioned docs from release branches 1.5 through 1.11.
Removed generate-versions.sh and updated .gitignore.
* Remove generate-versions script from build workflow
Versioned docs are now checked in directly. Remove the script
invocation from package.json build, drop the fetch-depth: 0 from CI
(no longer needed), and update README to reflect the new process.
8 months ago
Check in versioned docs and remove generate-versions script (#1386)
* Check in versioned docs and remove generate-versions script
Transition from per-branch versioning to all versions checked in.
Generated versioned docs from release branches 1.5 through 1.11.
Removed generate-versions.sh and updated .gitignore.
* Remove generate-versions script from build workflow
Versioned docs are now checked in directly. Remove the script
invocation from package.json build, drop the fetch-depth: 0 from CI
(no longer needed), and update README to reflect the new process.
8 months ago
docs(mongodb): correct sslmode=preferred behavior (encrypted, no plaintext fallback)
4 months ago
fix: Document mssql_encrypt 'require' and 'disable' as accepted values (#1565)
6 months ago
docs(mysql): correct sslmode=preferred behavior (TLS without verification, no plaintext fallback)
4 months ago
docs: Sync the cookbook page and recipe links with spiceai/cookbook (#2318)
* Sync the cookbook page with the current spiceai/cookbook recipes
List all 122 current recipes (up from 79) and leave out evals, llm-judge, and websearch, which the cookbook marks deprecated in v2.0+.
- Correct entries that pointed at the wrong recipe or described an old version: Results Caching linked the Caching Accelerator recipe, Nvidia NIM on Kubernetes linked the EC2 recipe, Hashed Partitioning now uses Cayenne, and Federated SQL Query no longer uses Dremio.
- Add the missing recipes, including Cayenne, async queries, native PostgreSQL/MySQL/MongoDB CDC, DynamoDB Streams, HTTP, Redshift, ScyllaDB, SMB, the catalog connectors, full-text search, distributed query, and Spice as an MCP server.
- Add Change Data Capture and Advanced Topics sections. Local Dataset Replication was tagged for no rendered section, so it never appeared.
- Show guides in Sample Applications and Guides instead of Security.
- Align Core Features with the cookbook's core scenarios and feature Cayenne as the data accelerator.
- Label recipes that need Spice.ai Enterprise.
- Remove forbidden words (enhance, leverage, utilize, robust) from section intros.
* Fix broken and stale cookbook recipe references across doc versions
Every version links to the recipes on cookbook trunk, so these corrections apply to each version that carries them.
- Query Federation: replace the walkthrough with the current Federated SQL Query recipe, which joins NYC taxi trips in S3 with taxi zones in PostgreSQL. The old walkthrough logged in to a demo Dremio, ran 'spice add spiceai/fed-demo' (that Spicepod no longer exists on Spicerack), and ran 'cd demo' twice. The new steps and output come from a run of the recipe on Spice v2.3.2.
- FAQ: the RAG recipe link (cookbook/tree/trunk/rag) never existed; link the RAG use-case page instead.
- Use cases: fix duckdb/accelerator/README and federation/README links that were missing the .md extension.
- PostgreSQL connector: link the connector recipe instead of the accelerator recipe, and fix 'configure Supabase a data connector'.
- ODBC connector: the recipe now connects to MySQL with the MariaDB driver, not Postgres.
- Glue catalog connector: its recipe configures the Glue Catalog Connector, not the Data Connector.
- Release notes: fix three recipe links that pointed at moved or malformed paths.
* Link docs pages to their cookbook recipes
49 cookbook recipes had no link from any docs page. Add a Cookbook section, or a bullet in an existing one, on the matching page in vNext and 2.3.x. Covered pages include CDC (PostgreSQL, MySQL, Aurora MySQL, MongoDB), the catalog connectors (DuckLake, MySQL, SQL Server, Unity Catalog, Databricks, Iceberg Hadoop, PostgreSQL CDC), acceleration (partitioning, snapshots, indexes, constraints, views, caching, cron refresh, dual-dataset registration), search, distributed query and async queries, MCP, LLM memory, text-to-SQL, the ai() function, models (OpenAI, DeepSeek, filesystem, xAI, NVIDIA NIM on Kubernetes), API keys, ADBC, JDBC, the SDKs, and Cloud Connect. The sidecar and microservice architecture partials, which every version shares, link their recipes too.
Related updates:
- The docs landing page lists Cayenne among the accelerators and links the Cayenne recipe.
- The Cayenne Transactions intro also covers tables configured for durable write-back, matching the section's own requirements.
- The FAQ says the cookbook has over 120 recipes, up from over 65.
docs(oracle): clarify oracle_wallet .oracle default is conditional on oracle_wallet_sso_cert
3 months ago
fix: Correct Redshift pg_port default and add missing sslmode values
The Redshift docs incorrectly claimed pg_port defaults to 5439. The
Postgres connector code has no .default() call on the port parameter,
so the underlying tokio-postgres default of 5432 applies. Port 5439 is
Redshift's standard port but not a Spice-level default. Updated the
description across all doc versions to clarify that users should set
this value explicitly.
Also added the missing `disable` and `allow` values to the pg_sslmode
parameter description in the vNext docs, matching the code's one_of
constraint.
5 months ago
docs(s3): document the refresh_skip parameter
An accelerated single-object S3 dataset is wrapped in S3SingleFileCached,
which HEADs the object before each full/append refresh and skips the refresh
when the version ID or ETag still matches. The knob that controls this,
`refresh_skip`, was undocumented on every page and in every snapshot, even
though the metric that counts its effect
(`dataset_acceleration_refresh_data_fetches_skipped`) was already documented.
- add a `refresh_skip` row to the S3 params table
- add a 'Refresh Skipping for Single-File Datasets' section to the S3
deployment guide covering the params: scope, the refresh_mode gating, the
refresh_sql override reset, and the skip counter
The parameter and its gate are unchanged from v1.10 through trunk, so this
lands in vNext plus every snapshot that has it.
2 months ago
docs: Document rerank UDTF and rerankers spicepod section (#1576)
* fix: Document missing user drive type for SharePoint connector
The SharePoint connector code has supported the `user` drive type since
its initial implementation (commit e39d6db1a), but it was never added to
the drive types documentation table. Added the `user` drive type across
all versioned docs and the vNext docs.
* docs: Document rerank UDTF and rerankers spicepod section
Add documentation for the new rerank() UDTF that reorders search
results using dedicated reranker models (Cohere, Voyage, Jina, HTTP)
or LLM-as-reranker with any registered chat model.
* fix: remove undefined 'reranking' tag from rerank.md
---------
Co-authored-by: claudespice <claudespice@users.noreply.github.com>
6 months ago
docs: quote placeholders in shell examples so the blocks paste safely
An unquoted <placeholder> inside a shell-tagged fence is redirection from
a file of that name, so a copied command aborts (exit 1), fails to parse
(exit 2), or — where it sits mid-block — is silently skipped while the
block still reports exit 0. Quote the placeholder, which keeps it visible
as a placeholder and passes it through verbatim.
Usage synopses are left alone: where a fence carries [...] optional-argument
notation, or a placeholder fills a command slot, the <> is grammar for the
command's shape rather than a command to paste.
Fixes #2196
a month ago
docs: quote placeholders in shell examples so the blocks paste safely
An unquoted <placeholder> inside a shell-tagged fence is redirection from
a file of that name, so a copied command aborts (exit 1), fails to parse
(exit 2), or — where it sits mid-block — is silently skipped while the
block still reports exit 0. Quote the placeholder, which keeps it visible
as a placeholder and passes it through verbatim.
Usage synopses are left alone: where a fence carries [...] optional-argument
notation, or a placeholder fills a command slot, the <> is grammar for the
command's shape rather than a command to paste.
Fixes #2196
a month ago
Check in versioned docs and remove generate-versions script (#1386)
* Check in versioned docs and remove generate-versions script
Transition from per-branch versioning to all versions checked in.
Generated versioned docs from release branches 1.5 through 1.11.
Removed generate-versions.sh and updated .gitignore.
* Remove generate-versions script from build workflow
Versioned docs are now checked in directly. Remove the script
invocation from package.json build, drop the fetch-depth: 0 from CI
(no longer needed), and update README to reflect the new process.
8 months ago