From 5e77151b2e17ab1145aad4f5abd9354c839839eb Mon Sep 17 00:00:00 2001
From: Eddie A Tejeda <669988+eddietejeda@users.noreply.github.com>
Date: Wed, 27 May 2026 18:12:33 -0700
Subject: [PATCH 1/2] chore: Release hotdata-cli version 0.3.3
---
CHANGELOG.md | 117 +++++++++++++----------------
Cargo.lock | 2 +-
Cargo.toml | 2 +-
README.md | 2 +-
skills/hotdata-analytics/SKILL.md | 2 +-
skills/hotdata-geospatial/SKILL.md | 2 +-
skills/hotdata-search/SKILL.md | 2 +-
skills/hotdata/SKILL.md | 2 +-
8 files changed, 61 insertions(+), 70 deletions(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 34b9b8a..488df32 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,139 +1,129 @@
-## [0.3.2] - 2026-05-27
+## [0.3.3] - 2026-05-28
### π Bug Fixes
-- *(datasets)* Add missing `-o`/`--output` flag to `datasets create`; move success banner to stderr so `-o json` stdout is `jq`-parseable (#110)
-- *(sandbox)* Move "Sandbox created" and "Sandbox updated" banners to stderr for clean `-o json` output (#110)
-- *(sandbox)* Fix missing trailing newline in `sandbox read` output (#110)
-- *(sandbox)* Add `sandbox delete ` subcommand; clears the active session automatically when the deleted sandbox was the active one (#110)
-- *(workspaces)* Fix incorrect lock check in `workspaces set` β was checking `HOTDATA_WORKSPACE` (always set in sandbox runs), now correctly checks `HOTDATA_SANDBOX` (#110)
-- *(context)* Surface a friendly hint when `context push` is blocked inside an active sandbox, pointing users to `hotdata sandbox set` (no args) to clear it (#110)
+- *(databases)* Use name not description for API alignment (#112)
+## [0.3.2] - 2026-05-27
+
+### π Bug Fixes
+- *(cli)* Resolve 6 bugs found during E2E testing (#110)
## [0.3.1] - 2026-05-25
### π Bug Fixes
-- *(skills)* Bump skill file versions to 0.3.1 so `hotdata skills install` correctly detects and installs the latest skills for CLI v0.3.x
-
+- *(skills)* Bump skill versions to 0.3.1 to match CLI release (#109)
## [0.3.0] - 2026-05-23
### π Features
-- *(query)* Fetch results as Arrow IPC instead of JSON; reduces transfer size and preserves native types (#103)
-- *(query)* Add `--database` / `-d` flag to scope a query to a managed database without changing the active database (#102)
-- *(databases)* Add `databases show ` as an explicit subcommand alias (#103)
-- *(databases)* `databases tables ` now lists tables without requiring the `list` subcommand (#103)
-- *(skills)* Add `skills list` as an alias for `skills status` (#103)
-- *(update)* Background update check with post-command notice; never blocks command output (#104)
-- *(update)* Auto-install and update skills to match the new binary version during `hotdata update` (#105)
-- *(update)* Execute `brew upgrade` directly for Homebrew installs instead of printing manual instructions (#106)
+- *(query)* Add --database flag and improve post-load UX
+- *(query)* Fetch results as Arrow IPC instead of JSON
+- *(cli)* Fix three commands that failed smoke test
+- *(update)* Background update check with post-command notice (#104)
+- *(update)* Auto-install and update skills during hotdata update (#105)
### π Bug Fixes
-- *(query)* Async polling loop exits with code 2 on unexpected statuses instead of spinning forever (#103)
-- *(query)* Failed async queries now surface the real server error message (#103)
-- *(query)* `results get ` now fetches Arrow IPC like the rest of the query path (#103)
-- *(query)* Polling loop polls first before checking the deadline, eliminating a mandatory 500ms delay (#106)
-- *(skills)* Add 120-second HTTP timeout to the skills tarball download during `hotdata update` (#106)
-
-## [0.2.9] - 2026-05-22
+- *(query)* Address four code review issues in Arrow IPC path
+- *(query)* Handle unknown poll statuses instead of spinning forever
+- *(query)* Two issues from Codex review
+- Address code review feedback from post-release audit (#106)
### π Documentation
-- *(skills)* Update skills to reflect recent API changes: database-scoped context, `databases set`, `--expires-at`, corrected flag names for `databases create` / `datasets create` / `datasets update` (#100)
-
-## [0.2.8] - 2026-05-22
+- Add CHANGELOG entry for v0.3.0 (#108)
+## [0.2.9] - 2026-05-23
-### π Features
-
-- *(context)* Scope context commands to active database; `hotdata context` now calls `/databases/{id}/context` and requires `--database-id` or an active database set via `databases set` (#98)
-- *(databases)* Add `--expires-at` flag to `databases create`; accepts relative durations (`24h`, `7d`) or RFC 3339 timestamps (#97)
-- *(datasets)* Remove upload/URL/file create paths; `datasets create` now requires exactly one of `--sql` or `--query-id` (#95)
-- *(databases)* Migrate CLI to dedicated `/databases` API; `databases set` saves active database; `X-Database-Id` header sent automatically on all requests (#94)
+### π Documentation
-### π Bug Fixes
+- *(skills)* Update skills to reflect 0.2.8 API changes
+## [0.2.8] - 2026-05-23
-- *(datasets)* Add missing `type` discriminator to dataset source payloads sent to API
-- *(context)* Correct `--database-id` flag name in error message
+### π Features
+- *(databases)* Migrate to dedicated databases API (#94)
+- *(datasets)* Narrow create to sql/query-id; rename label/table-name (#95)
+- *(databases)* Add --expires-at option to databases create (#97)
+- *(context)* Scope context commands to active database (#98)
## [0.2.7] - 2026-05-20
### π Features
-- *(indexes)* Dot-bracket notation for `indexes create`: `airbnb.listings[col1,col2]` replaces `--connection-id/--schema/--table/--columns` (#92)
-- *(databases)* Add `databases load ` shorthand replacing `databases tables load` (#92)
-- *(indexes)* Make `--name` optional on `indexes create`; auto-derived from table, columns, and type (#92)
-
-### π Bug Fixes
+- Dot notation for indexes create and databases load (#92)
+## [0.2.6] - 2026-05-20
-- *(databases)* Remove `load:` hint from `databases create` success output (#92)
+### π Features
-## [0.2.6] - 2026-05-19
+- *(search)* Infer --type and --column from indexes; default schema to public (#90)
+## [0.2.5] - 2026-05-19
### π Features
-- *(search)* Infer `--type` and `--column` from table indexes; schema defaults to `public` (#90)
+- *(databases)* Add --url flag to tables load for remote parquet files
### π Bug Fixes
-- *(search)* Explicit error when a search index has no columns (#90)
-
-## [0.2.5] - 2026-05-19
-
-### π Features
-
-- *(databases)* Add `--url` flag to `tables load` for remote parquet files (#88)
+- *(changelog)* Correct 0.2.5 section and preserve released history.
## [0.2.4] - 2026-05-19
### π Features
-- *(auth)* Add `hotdata auth register` command (#85, #86)
-- *(auth)* Default register to GitHub; add `--email` flag
-- *(update)* Add `hotdata update` command
-- *(skills)* Split bundled skills into `hotdata-search` and `hotdata-analytics` (#84)
+- *(update)* Add update command
+- *(skills)* Split search and analytics sub-skills; improve workflows.
+- *(auth)* Add hotdata auth register command
+- *(auth)* Default register to GitHub, add --email flag
### π Bug Fixes
- *(auth)* Align CLI callback page colors with web app theme
+- *(changelog)* Correct 0.2.4 section and preserve released history.
### π Refactor
-- *(auth)* Extract `run_browser_auth` helper; add tests for `exchange_cli_register_code`
+- *(auth)* Extract run_browser_auth helper; add tests for exchange_cli_register_code
### π Documentation
-- *(skill)* Epic flow checklists, datasets vs databases workflows, tag-only release finish (#84)
+- *(skill)* Add epic flow checklists to core WORKFLOWS.
## [0.2.3] - 2026-05-19
### π Features
-- *(databases)* Add managed databases CLI for parquet table loads (#82)
- *(sandbox)* Add sandbox JWT support
- *(tty)* Add no-input flag and tty checks for interactive commands
+- *(databases)* Add managed databases CLI for parquet table loads for parquet table loads.
### π Bug Fixes
-- *(deps)* Bump openssl to 0.10.79 for CVE fixes (#77)
+- *(deps)* Bump openssl to 0.10.79 for CVE fixes
+- *(changelog)* Correct 0.2.3 section and preserve released history.
### πΌ Other
-- Ignore macOS metadata files (#81)
+- Ignore macOS metadata files
### π Documentation
-- *(skill)* Document managed databases commands
+- *(skill)* Document managed databases commands.
## [0.2.2] - 2026-05-04
### π Features
- *(wizard)* Render schema description, examples, defaults (#75)
+### π Bug Fixes
+
+- *(changelog)* Preserve released sections from main for CI validate
## [0.2.1] - 2026-04-30
+### π Bug Fixes
+
+- *(changelog)* Keep prior release sections identical to main
+
### π Documentation
- *(skill)* Align hotdata skill with CLI behavior
-
## [0.2.0] - 2026-04-29
### π Features
@@ -155,6 +145,8 @@
### πΌ Other
- *(release)* Bump geospatial skill version on release
+- *(deps)* Bump rustls-webpki to 0.103.13
+- Validate CHANGELOG sections match base branch on PRs
### π Refactor
@@ -167,7 +159,6 @@
### π Features
-- *(auth)* Add CLI auth session support (JWT access tokens, refresh, PKCE login)
- *(indexes)* Workspace-wide list with filters and parallel fetch
### πΌ Other
diff --git a/Cargo.lock b/Cargo.lock
index 39aeaab..9df6215 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -1028,7 +1028,7 @@ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
[[package]]
name = "hotdata-cli"
-version = "0.3.2"
+version = "0.3.3"
dependencies = [
"anstyle",
"arrow",
diff --git a/Cargo.toml b/Cargo.toml
index 3bd26eb..cf3dd78 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "hotdata-cli"
-version = "0.3.2"
+version = "0.3.3"
edition = "2024"
repository = "https://github.com/hotdata-dev/hotdata-cli"
description = "CLI tool for Hotdata.dev"
diff --git a/README.md b/README.md
index af968d5..cb9a547 100644
--- a/README.md
+++ b/README.md
@@ -5,7 +5,7 @@
Command line interface for Hotdata.
-
+
diff --git a/skills/hotdata-analytics/SKILL.md b/skills/hotdata-analytics/SKILL.md
index 66a22a3..5717240 100644
--- a/skills/hotdata-analytics/SKILL.md
+++ b/skills/hotdata-analytics/SKILL.md
@@ -1,7 +1,7 @@
---
name: hotdata-analytics
description: Use this skill when the user wants OLAP-style SQL analytics in Hotdata β aggregations, GROUP BY, JOINs, reporting, exploratory queries, query run history, stored results, or materialized follow-up tables (Chain via datasets or managed databases). Activate for "analyze", "aggregate", "rollup", "pivot", "report", "metrics", "GROUP BY", "query history", "past queries", "query runs", "stored results", "materialize", "chain", "intermediate table", or sorted indexes for filters/range scans. Do not load for BM25/vector search or geospatial SQL β use hotdata-search or hotdata-geospatial. Requires the core hotdata skill for connections, tables, datasets, and auth.
-version: 0.3.2
+version: 0.3.3
---
# Hotdata Analytics Skill
diff --git a/skills/hotdata-geospatial/SKILL.md b/skills/hotdata-geospatial/SKILL.md
index b11f561..f8c5681 100644
--- a/skills/hotdata-geospatial/SKILL.md
+++ b/skills/hotdata-geospatial/SKILL.md
@@ -1,7 +1,7 @@
---
name: hotdata-geospatial
description: Use this skill only when the user is working with geospatial data in Hotdata (PostGIS-style SQL like ST_* functions, geometry/WKB, bbox filtering, point-in-polygon, distance/area, lat/lon, spatial joins, βgeospatialβ, βGISβ, βPostGISβ). Do not load this skill for non-geospatial SQL or general Hotdata usage.
-version: 0.3.2
+version: 0.3.3
---
# Hotdata Geospatial Skill
diff --git a/skills/hotdata-search/SKILL.md b/skills/hotdata-search/SKILL.md
index 9b38267..a2adbeb 100644
--- a/skills/hotdata-search/SKILL.md
+++ b/skills/hotdata-search/SKILL.md
@@ -1,7 +1,7 @@
---
name: hotdata-search
description: Use this skill when the user wants full-text search, BM25 keyword search, vector similarity search, semantic search, embeddings, or retrieval indexes in Hotdata. Activate for "hotdata search", "BM25", "full-text", "vector search", "semantic search", "similarity", "embedding", "embedding provider", "create an index" (bm25 or vector), "list indexes" for search, or SQL using bm25_search or vector_distance. Do not load for general SQL analytics (aggregations, GROUP BY) or geospatial work β use hotdata-analytics or hotdata-geospatial instead. Requires the core hotdata skill for auth and workspace basics.
-version: 0.3.2
+version: 0.3.3
---
# Hotdata Search Skill
diff --git a/skills/hotdata/SKILL.md b/skills/hotdata/SKILL.md
index ef45914..f7ead0d 100644
--- a/skills/hotdata/SKILL.md
+++ b/skills/hotdata/SKILL.md
@@ -1,7 +1,7 @@
---
name: hotdata
description: Use this skill when the user wants to run core hotdata CLI commands β auth, workspaces, connections, managed databases, datasets, tables, basic SQL query, sandboxes, database context (context:DATAMODEL), jobs, and skill install. Activate for "run hotdata", "list workspaces", "list connections", "create a connection", "list databases", "managed database", "load parquet", "list tables", "list datasets", "create a dataset", "execute a query", "list sandboxes", "database context", "context:DATAMODEL", or general Hotdata CLI usage. For full-text/vector search and retrieval indexes use hotdata-search; for OLAP analytics, query history, stored results, and Chain materializations use hotdata-analytics; for geospatial/GIS use hotdata-geospatial.
-version: 0.3.2
+version: 0.3.3
---
# Hotdata CLI Skill
From 5bf9b76164e0bf41a081755a784a1fe820506e1a Mon Sep 17 00:00:00 2001
From: Eddie A Tejeda <669988+eddietejeda@users.noreply.github.com>
Date: Wed, 27 May 2026 18:13:40 -0700
Subject: [PATCH 2/2] fix: restore preserved changelog sections
---
CHANGELOG.md | 113 +++++++++++++++++++++++++++++----------------------
1 file changed, 64 insertions(+), 49 deletions(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 488df32..e18cc47 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -3,127 +3,143 @@
### π Bug Fixes
- *(databases)* Use name not description for API alignment (#112)
+
## [0.3.2] - 2026-05-27
### π Bug Fixes
-- *(cli)* Resolve 6 bugs found during E2E testing (#110)
+- *(datasets)* Add missing `-o`/`--output` flag to `datasets create`; move success banner to stderr so `-o json` stdout is `jq`-parseable (#110)
+- *(sandbox)* Move "Sandbox created" and "Sandbox updated" banners to stderr for clean `-o json` output (#110)
+- *(sandbox)* Fix missing trailing newline in `sandbox read` output (#110)
+- *(sandbox)* Add `sandbox delete ` subcommand; clears the active session automatically when the deleted sandbox was the active one (#110)
+- *(workspaces)* Fix incorrect lock check in `workspaces set` β was checking `HOTDATA_WORKSPACE` (always set in sandbox runs), now correctly checks `HOTDATA_SANDBOX` (#110)
+- *(context)* Surface a friendly hint when `context push` is blocked inside an active sandbox, pointing users to `hotdata sandbox set` (no args) to clear it (#110)
+
## [0.3.1] - 2026-05-25
### π Bug Fixes
-- *(skills)* Bump skill versions to 0.3.1 to match CLI release (#109)
+- *(skills)* Bump skill file versions to 0.3.1 so `hotdata skills install` correctly detects and installs the latest skills for CLI v0.3.x
+
## [0.3.0] - 2026-05-23
### π Features
-- *(query)* Add --database flag and improve post-load UX
-- *(query)* Fetch results as Arrow IPC instead of JSON
-- *(cli)* Fix three commands that failed smoke test
-- *(update)* Background update check with post-command notice (#104)
-- *(update)* Auto-install and update skills during hotdata update (#105)
+- *(query)* Fetch results as Arrow IPC instead of JSON; reduces transfer size and preserves native types (#103)
+- *(query)* Add `--database` / `-d` flag to scope a query to a managed database without changing the active database (#102)
+- *(databases)* Add `databases show ` as an explicit subcommand alias (#103)
+- *(databases)* `databases tables ` now lists tables without requiring the `list` subcommand (#103)
+- *(skills)* Add `skills list` as an alias for `skills status` (#103)
+- *(update)* Background update check with post-command notice; never blocks command output (#104)
+- *(update)* Auto-install and update skills to match the new binary version during `hotdata update` (#105)
+- *(update)* Execute `brew upgrade` directly for Homebrew installs instead of printing manual instructions (#106)
### π Bug Fixes
-- *(query)* Address four code review issues in Arrow IPC path
-- *(query)* Handle unknown poll statuses instead of spinning forever
-- *(query)* Two issues from Codex review
-- Address code review feedback from post-release audit (#106)
+- *(query)* Async polling loop exits with code 2 on unexpected statuses instead of spinning forever (#103)
+- *(query)* Failed async queries now surface the real server error message (#103)
+- *(query)* `results get ` now fetches Arrow IPC like the rest of the query path (#103)
+- *(query)* Polling loop polls first before checking the deadline, eliminating a mandatory 500ms delay (#106)
+- *(skills)* Add 120-second HTTP timeout to the skills tarball download during `hotdata update` (#106)
-### π Documentation
-
-- Add CHANGELOG entry for v0.3.0 (#108)
-## [0.2.9] - 2026-05-23
+## [0.2.9] - 2026-05-22
### π Documentation
-- *(skills)* Update skills to reflect 0.2.8 API changes
-## [0.2.8] - 2026-05-23
+- *(skills)* Update skills to reflect recent API changes: database-scoped context, `databases set`, `--expires-at`, corrected flag names for `databases create` / `datasets create` / `datasets update` (#100)
+
+## [0.2.8] - 2026-05-22
### π Features
-- *(databases)* Migrate to dedicated databases API (#94)
-- *(datasets)* Narrow create to sql/query-id; rename label/table-name (#95)
-- *(databases)* Add --expires-at option to databases create (#97)
-- *(context)* Scope context commands to active database (#98)
+- *(context)* Scope context commands to active database; `hotdata context` now calls `/databases/{id}/context` and requires `--database-id` or an active database set via `databases set` (#98)
+- *(databases)* Add `--expires-at` flag to `databases create`; accepts relative durations (`24h`, `7d`) or RFC 3339 timestamps (#97)
+- *(datasets)* Remove upload/URL/file create paths; `datasets create` now requires exactly one of `--sql` or `--query-id` (#95)
+- *(databases)* Migrate CLI to dedicated `/databases` API; `databases set` saves active database; `X-Database-Id` header sent automatically on all requests (#94)
+
+### π Bug Fixes
+
+- *(datasets)* Add missing `type` discriminator to dataset source payloads sent to API
+- *(context)* Correct `--database-id` flag name in error message
+
## [0.2.7] - 2026-05-20
### π Features
-- Dot notation for indexes create and databases load (#92)
-## [0.2.6] - 2026-05-20
+- *(indexes)* Dot-bracket notation for `indexes create`: `airbnb.listings[col1,col2]` replaces `--connection-id/--schema/--table/--columns` (#92)
+- *(databases)* Add `databases load ` shorthand replacing `databases tables load` (#92)
+- *(indexes)* Make `--name` optional on `indexes create`; auto-derived from table, columns, and type (#92)
-### π Features
+### π Bug Fixes
-- *(search)* Infer --type and --column from indexes; default schema to public (#90)
-## [0.2.5] - 2026-05-19
+- *(databases)* Remove `load:` hint from `databases create` success output (#92)
+
+## [0.2.6] - 2026-05-19
### π Features
-- *(databases)* Add --url flag to tables load for remote parquet files
+- *(search)* Infer `--type` and `--column` from table indexes; schema defaults to `public` (#90)
### π Bug Fixes
-- *(changelog)* Correct 0.2.5 section and preserve released history.
+- *(search)* Explicit error when a search index has no columns (#90)
+
+## [0.2.5] - 2026-05-19
+
+### π Features
+
+- *(databases)* Add `--url` flag to `tables load` for remote parquet files (#88)
## [0.2.4] - 2026-05-19
### π Features
-- *(update)* Add update command
-- *(skills)* Split search and analytics sub-skills; improve workflows.
-- *(auth)* Add hotdata auth register command
-- *(auth)* Default register to GitHub, add --email flag
+- *(auth)* Add `hotdata auth register` command (#85, #86)
+- *(auth)* Default register to GitHub; add `--email` flag
+- *(update)* Add `hotdata update` command
+- *(skills)* Split bundled skills into `hotdata-search` and `hotdata-analytics` (#84)
### π Bug Fixes
- *(auth)* Align CLI callback page colors with web app theme
-- *(changelog)* Correct 0.2.4 section and preserve released history.
### π Refactor
-- *(auth)* Extract run_browser_auth helper; add tests for exchange_cli_register_code
+- *(auth)* Extract `run_browser_auth` helper; add tests for `exchange_cli_register_code`
### π Documentation
-- *(skill)* Add epic flow checklists to core WORKFLOWS.
+- *(skill)* Epic flow checklists, datasets vs databases workflows, tag-only release finish (#84)
## [0.2.3] - 2026-05-19
### π Features
+- *(databases)* Add managed databases CLI for parquet table loads (#82)
- *(sandbox)* Add sandbox JWT support
- *(tty)* Add no-input flag and tty checks for interactive commands
-- *(databases)* Add managed databases CLI for parquet table loads for parquet table loads.
### π Bug Fixes
-- *(deps)* Bump openssl to 0.10.79 for CVE fixes
-- *(changelog)* Correct 0.2.3 section and preserve released history.
+- *(deps)* Bump openssl to 0.10.79 for CVE fixes (#77)
### πΌ Other
-- Ignore macOS metadata files
+- Ignore macOS metadata files (#81)
### π Documentation
-- *(skill)* Document managed databases commands.
+- *(skill)* Document managed databases commands
## [0.2.2] - 2026-05-04
### π Features
- *(wizard)* Render schema description, examples, defaults (#75)
-### π Bug Fixes
-
-- *(changelog)* Preserve released sections from main for CI validate
## [0.2.1] - 2026-04-30
-### π Bug Fixes
-
-- *(changelog)* Keep prior release sections identical to main
-
### π Documentation
- *(skill)* Align hotdata skill with CLI behavior
+
## [0.2.0] - 2026-04-29
### π Features
@@ -145,8 +161,6 @@
### πΌ Other
- *(release)* Bump geospatial skill version on release
-- *(deps)* Bump rustls-webpki to 0.103.13
-- Validate CHANGELOG sections match base branch on PRs
### π Refactor
@@ -159,6 +173,7 @@
### π Features
+- *(auth)* Add CLI auth session support (JWT access tokens, refresh, PKCE login)
- *(indexes)* Workspace-wide list with filters and parallel fetch
### πΌ Other