All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Preview a single-file data app locally with
altertable app dev --file index.tsx. The file'sdefineDataAppscope must match the selected profile, and queries run through the CLI's loopback proxy.
-
Keep the TypeScript manifest compiler out of CLI downloads by installing it with the cached single-file preview runtime.
-
Complete stdin-based credential configuration before exiting on Windows.
-
Keep profiles and credentials in the user's home directory when
HOMEis unset, and reject relative config and shell-completion directory settings. -
Read file-backed credentials on Windows without applying Unix permission checks.
If credentials were saved inside a project, sign in again after upgrading and revoke any exposed credentials.
-
Honor explicit read timeouts for streamed queries and preserve primary transport or write errors when export file finalization also fails.
-
Cancel native query exports when output writes fail, and count blank lines consistently in buffered and streamed query parse errors.
-
Query engine error records now fail human/table, Markdown, JSON, and agent output with the engine message instead of a success summary. Lakehouse HTTP errors preserve plain-text details, and interrupted streams report network errors consistently. CSV, JSONL, and Parquet exports can contain partial output on failure; check the exit status before consuming them. A server socket closure without an error body cannot expose the engine's message.
-
Use the published 0.72.0 manifest extractor and Bun preview server for single-file data app development; align starter and browser-test packages at 0.72.0.
-
Generate data apps with the split core, React, and Bun packages at 0.71.0; keep declared data-app packages aligned during upgrades.
-
Update generated data apps and fixtures to
@altertable/data-app0.69.0. -
Include a starter server example for previewing single-file data apps with the Bun preview API.
-
Make CLI updates easier to scan with styled version summaries, explicit upgrade/reinstall/downgrade messages, and release notes, issue, and commit-log links.
-
Generate and upgrade local data apps with
@altertable/data-app0.68.0, using app declarations and registered SQL parameters.
1.13.1 (2026-10-21)
- app: keep TypeScript out of CLI release bundles (#167) (dc8fb6b)
- release: prepare release PRs after draft publication (#166) (58b23a2)
1.13.0 (2026-10-20)
- app: adopt split data-app packages (#160) (7725d45)
- apps: preview single-file data apps with app dev --file (#141) (7dbc130)
- query: read SQL from @file or stdin (@-) (#163) (1b0a5e9)
- config: keep credential storage independent of working directories (#158) (4902463)
- query: surface engine errors and preserve stream failures (#159) (f892be8)
1.12.0 (2026-10-18)
- app: update data app examples to 0.69.0 (#144) (6d2b52e)
- app: update data-app consumers to 0.70.0 (#146) (60c8d26)
- cli: automatically detect coding agents (#145) (6049d7e)
- update: clarify installation progress and release guidance (#142) (bf8ac8e)
1.11.0 (2026-10-13)
1.10.1 (2026-10-12)
1.10.0 (2026-10-08)
1.9.1 (2026-10-02)
- Update generated and upgraded data apps to
@altertable/data-app0.65.0.
1.9.0 (2026-10-01)
- release: include publication helper in recovery checkout (#123) (2a7b2dc)
- release: recover assetless v1.8.0 release (#121) (bdf930f)
1.8.0 (2026-09-29)
- cli: introduce local data apps (#118) (255106c)
- login: let users choose an org and env before browser login (#117) (8a4bea3)
1.7.0 (2026-09-17)
1.6.2 (2026-09-16)
- make authentication remediation safe for headless use (#103) (f3336a0)
- release: restore macOS 27 binary compatibility (#108) (de05fd0)
- return unhealthy exit statuses for diagnostic commands (#104) (96a8474)
1.6.1 (2026-08-21)
1.6.0 (2026-08-03)
1.5.1 (2026-07-30)
1.5.0 (2026-07-27)
- docs: generate versioned CLI reference contract (#90) (15bc1f4)
- query: implement a few missing and useless options + fix
query show(#89) (137ef20)
1.4.0 (2026-07-24)
- add
doctorcommand for CLI diagnostics (#79) (57b1440) - cli: simplify the command API surface area (#75) (f3a1d4d)
- ci: enable shell completion verification (#77) (db7c52f)
- clarify duckdb command requirements and isolate env/profile config (#84) (b5f6208)
- harden transport, JSON fidelity, and profile recovery (#80) (facdf90)
- keep COMMANDS.md version in sync with release-please (#87) (cbb8d65)
1.3.0 (2026-07-16)
- cli: ignore unrelated Altertable environment variables (#67) (8fe9041)
- release: checkout merge commit for draft release verification (#58) (988c95d)
- release: run recovery with current publication code (#63) (eab2c4a)
- Make first-run authentication guidance safe for agents and non-interactive shells, and keep configuration errors concise and readable.
- Simplify
altertable updateto install by default, add--checkmode, preserve inherited global flags, resolve compiled self-update paths safely, and verify source-checkout updates through the package manager's global binary. - Return exit code
1for unhealthydoctorandprofile statusreports while preserving complete stdout output, and add actionable next steps to empty or partialprofile showresults.
1.2.0 (2026-07-15)
- cli: redesign help across command tree (#53) (e35c2fe)
- release: centralize and harden artifact publishing (#55) (8db771a)
- forbid profile commands when config is env set (#48) (63a5fc4)
- sync --version output and wire release-please marker (#50) (a3e86e8)
- updater: make CLI updates resilient and actionable (#52) (5d0c0af)
1.1.0 (2026-07-10)
- harden profile reuse and uniformize profile display and reuse (#45) (23ca8f1)
- release: narrow release workflow to published tags (#40) (f224328)
- subsequent login mixing current profile (#46) (992aaee)
First public release of the Altertable CLI: a production-ready terminal for querying Altertable lakehouses, managing control-plane resources, and operating reliably from developer laptops, CI jobs, and agent workflows.
- One CLI for both Altertable planes: lakehouse SQL/data movement and management REST operations.
- Profile-first authentication with browser OAuth, API keys, lakehouse credentials, and explicit environment targeting.
- Human-friendly output by default, with stable JSON envelopes and
--agentmode for automation. - Self-update, shell completion, prebuilt release binaries, npm provenance, release asset checksums, and supply-chain attestation from day one.
- Primary installer at
install.altertable.aifor the default CLI install path. - Prebuilt release binaries for macOS Apple Silicon, macOS Intel, Linux x64, and Linux ARM64, plus
checksums.txt. - npm package
@altertable/cliwith analtertableexecutable backed by a Bun bundle. altertable updatewith npm and GitHub release discovery, automatic update notices, cache controls, and origin-aware install flows for package-manager and native binary installs.- Global flags for automation and diagnostics:
--json,--agent,--debug,--no-color,--profile,--connect-timeout, and--read-timeout. - Shell completion generation and installers for bash, zsh, and fish.
- Stable process exit codes, structured error envelopes, URL linkification, terminal styling controls, and pager-aware human output.
profile --configureinteractive wizard and non-interactive flags for setting management API keys, lakehouse credentials, endpoint overrides, and environment names.- Browser OAuth login with PKCE via
login, profile-aware token storage,logout, and automatic lakehouse credential provisioning for OAuth sessions. - Dual-plane credential model: management API keys or OAuth Bearer tokens for the control plane, and HTTP Basic credentials for lakehouse APIs.
- Named profiles with
profile create,profile list,profile show,profile status,profile use,profile switch,profile current,profile env,profile direnv,profile rename, andprofile delete. - Profile selection precedence for one-off commands, shell environments, and persisted active profiles.
- Secret input from stdin for API keys and passwords, macOS Keychain support when available, and file-backed credential storage with restricted permissions otherwise.
- HTTPS-by-default endpoint policy with explicit localhost support and
--allow-insecure-httpfor intentional HTTP overrides.
queryfor running SQL with positional statements, human layouts (auto,table,line), serialized output (human,json,csv,markdown), column selection, max-width controls, query IDs, session IDs, and pager controls.query showandquery cancelfor inspecting and cancelling running queries.appendandappend statusfor inserting JSON rows asynchronously or synchronously and polling append task state.uploadfor streaming local files into tables with create, append, and overwrite modes.upsertfor file-based primary-key matching and row replacement.schemafor listing schemas, tables, views, and columns in a lakehouse catalog.duckdbfor opening a local DuckDB shell attached to an Altertable lakehouse catalog.- Streaming NDJSON response handling, readable table rendering, line-layout fallback, markdown output, CSV output, and timeout controls tuned for long-running data operations.
profile showandprofile statusfor the active context, environment, authenticated identity, credential state, endpoint overrides, and verification results.catalogs listandcatalogs createfor managing Altertable catalogs in the current environment.apimanagement REST invoker with method subcommands, bare-pathGET, inferredPOSTwhen fields or bodies are supplied,-X/--methodoverrides, typed-F/--field, raw-f/--raw-field, JSON bodies, file bodies, stdin bodies, and environment path substitution.api routesfor discovering operations from the bundled OpenAPI spec, including operation-specific route details and path parameters.api specfor printing the bundled management OpenAPI document as YAML or JSON.- Generated OpenAPI operation metadata and conformance tests to keep CLI routing aligned with the shipped management API spec.
- Release automation publishes the npm package with provenance, attests GitHub release assets, uploads checksummed binaries, and builds against a pinned Bun runtime.
- CI runs type checking, linting, formatting, OpenAPI generation drift checks, unit tests with coverage, package dry-run checks, and native binary smoke tests for released targets.
- Supply-chain coverage includes Dependabot, CodeQL, dependency review, pinned GitHub Actions, and release asset attestations.