Skip to content

Latest commit

 

History

History
301 lines (168 loc) · 21.3 KB

CHANGELOG.md

File metadata and controls

301 lines (168 loc) · 21.3 KB

Changelog

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.

Unreleased

Added

  • Preview a single-file data app locally with altertable app dev --file index.tsx. The file's defineDataApp scope must match the selected profile, and queries run through the CLI's loopback proxy.

Fixed

  • 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 HOME is 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.

Changed

  • 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-app 0.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-app 0.68.0, using app declarations and registered SQL parameters.

1.13.1 (2026-10-21)

Bug Fixes

  • 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)

Features

Bug Fixes

  • 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)

Features

  • 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)

Features

  • apps: migrate local apps to data-app 0.68.0 (#136) (c2cf6c5)

1.10.1 (2026-10-12)

Bug Fixes

  • apps: stop sending --queries when publishing data apps (#137) (5e6ba5b)

1.10.0 (2026-10-08)

Features

  • data-app: add commands to validate, publish, and update data apps from files (#131) (439444b)

Bug Fixes

  • data-app: upgrade CLI starter and fixtures to v0.66.0 (#130) (503ed70)

1.9.1 (2026-10-02)

Changed

  • Update generated and upgraded data apps to @altertable/data-app 0.65.0.

1.9.0 (2026-10-01)

Features

  • apps: package the data app runtime as an npm dependency (#124) (bd807c1)

Bug Fixes

  • release: include publication helper in recovery checkout (#123) (2a7b2dc)
  • release: recover assetless v1.8.0 release (#121) (bdf930f)

1.8.0 (2026-09-29)

Features

  • 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)

Features

  • add login --service-account and logout --except-current (#109) (a6a1d34)

1.6.2 (2026-09-16)

Bug Fixes

  • 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)

Bug Fixes

1.6.0 (2026-08-03)

Features

  • allow to ignore SSL errors (development) (#95) (2b144af)

1.5.1 (2026-07-30)

Bug Fixes

  • compute_size: avoid parsing the compute size and trust the API to do it (#92) (e9130c5)

1.5.0 (2026-07-27)

Features

  • 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)

Features

  • add doctor command for CLI diagnostics (#79) (57b1440)
  • cli: simplify the command API surface area (#75) (f3a1d4d)

Bug Fixes

  • 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)

Features

  • update: simplify update command behavior and API (#64) (310acdf)

Bug Fixes

  • 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)

[Unreleased]

Fixed

  • Make first-run authentication guidance safe for agents and non-interactive shells, and keep configuration errors concise and readable.
  • Simplify altertable update to install by default, add --check mode, 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 1 for unhealthy doctor and profile status reports while preserving complete stdout output, and add actionable next steps to empty or partial profile show results.

1.2.0 (2026-07-15)

Features

  • cli: redesign help across command tree (#53) (e35c2fe)
  • release: centralize and harden artifact publishing (#55) (8db771a)

Bug Fixes

  • 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)

Features

  • allow to attach all available catalogs (#44) (d3b42c2)

Bug Fixes

  • 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)

[1.0.0] - 2026-07-09

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.

Highlights

  • 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 --agent mode for automation.
  • Self-update, shell completion, prebuilt release binaries, npm provenance, release asset checksums, and supply-chain attestation from day one.

Added

Installation, updates, and automation

  • Primary installer at install.altertable.ai for 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/cli with an altertable executable backed by a Bun bundle.
  • altertable update with 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.

Profiles, configuration, and authentication

  • profile --configure interactive 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, and profile 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-http for intentional HTTP overrides.

Lakehouse (data plane)

  • query for 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 show and query cancel for inspecting and cancelling running queries.
  • append and append status for inserting JSON rows asynchronously or synchronously and polling append task state.
  • upload for streaming local files into tables with create, append, and overwrite modes.
  • upsert for file-based primary-key matching and row replacement.
  • schema for listing schemas, tables, views, and columns in a lakehouse catalog.
  • duckdb for 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.

Management (control plane)

  • profile show and profile status for the active context, environment, authenticated identity, credential state, endpoint overrides, and verification results.
  • catalogs list and catalogs create for managing Altertable catalogs in the current environment.
  • api management REST invoker with method subcommands, bare-path GET, inferred POST when fields or bodies are supplied, -X/--method overrides, typed -F/--field, raw -f/--raw-field, JSON bodies, file bodies, stdin bodies, and environment path substitution.
  • api routes for discovering operations from the bundled OpenAPI spec, including operation-specific route details and path parameters.
  • api spec for 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.

Changed

  • 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.