Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]


## [0.3.0] - 2026-06-05

### Added

- Transparent API-token → JWT exchange: the client now exchanges an opaque API token for a short-lived JWT on first use and keeps it refreshed, so the wire always carries a current token. Credentials already shaped like a JWT pass through unchanged. Set `HOTDATA_DISABLE_JWT_EXCHANGE` to an affirmative value (`1`, `true`, `yes`, `on`) as a hard escape hatch.
- Managed-catalog editing endpoints: `add_managed_schema` and `add_managed_table` on `ConnectionsApi` and `DatabasesApi`, with new models `AddManagedSchemaRequest`, `AddManagedTableDecl`, `AddManagedTableRequest`, `ManagedSchemaResponse`, and `ManagedTableResponse`.
- Typed `x_database_id` parameter on `SavedQueriesApi.execute_saved_query` (required) and `DatasetsApi.create_dataset`, scoping execution to a database the same way `QueryApi.query` does — no more `_headers` override.
- `database_id` field on `QueryRequest` as a body-level alternative to the `X-Database-Id` header.
- `storage_backend` field on `CreateDatabaseRequest` to select the default catalog's physical backend (`parquet` or `ducklake`).

- `default_catalog` field on `CreateDatabaseRequest` to name the database's auto-created default catalog within its query scope, surfaced on `CreateDatabaseResponse`, `DatabaseDetailResponse`, and `DatabaseSummary`.

## [0.2.6] - 2026-05-29

Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "hotdata"
version = "0.2.6"
version = "0.3.0"
description = "Hotdata API"
authors = [
{name = "Hotdata",email = "developers@hotdata.dev"},
Expand Down
Loading