Skip to content

1.0.0

Choose a tag to compare

@mattfaltyn mattfaltyn released this 20 May 08:53
· 38 commits to main since this release

[1.0.0] - 2026-05-20

Upgrade from 0.1.0

  1. Run make clean-local (or delete .dcc_workspace.duckdb) if you have an existing
    workspace from 0.1.0—the layout and profile cache format changed.
  2. Re-open datasets so profiles rebuild (first GET /profile may return
    PROFILE_NOT_READY; the UI polls jobs until ready).
  3. Custom Ask integrations must use POST /api/agent/ask/stream only (sync ask removed).

Breaking

  • Workspace DB: removed versioned migrations and DCC_WORKSPACE_BACKUP_BEFORE_MIGRATE; existing .dcc_workspace.duckdb files with incompatible dcc_* layouts require make clean-local (or manual delete).
  • Profile API: removed legacy fields potential_id_columns, potential_key_columns, primary_date_column; only structure_version: "v4" cache entries are served (stale cache is auto-deleted).
  • Agent Ask: removed synchronous POST /api/agent/ask; clients must use POST /api/agent/ask/stream (frontend: askAgentStream only).
  • Frontend: removed api.getProfile, exported api.waitForJob, and api.askAgent.

Added

  • docs/user-guide.md for product usage (data ingestion, profiles/jobs, SQL, Ask, shortcuts).
  • docs/RELEASE.md for maintainer release and tagging steps.
  • Root .env.example with commented high-signal DCC_* variables.
  • Frontend API type conformance tests (types.test.ts + src/api/__fixtures__/).
  • make check-ci for clean-room CI-parity validation (npm ci then make check).
  • useDatasetProfile hook and api.fetchDatasetProfile for async first-open profiling (PROFILE_NOT_READY + job polling).
  • Registry RLock coverage for concurrent count/unregister paths.
  • Hook unit tests for useDatasetProfile, useColumnsTable, useSqlResultsGrid, and useSqlHistory.

Changed

  • Frontend: removed the Overview tab; the app opens on Columns by default (/ redirects to /columns).
  • Frontend: removed the Quality tab; the header still shows the quality score, column flags and filters live on Columns, /quality redirects to /columns, and the profile-diff dialog was removed from the UI (API unchanged).
  • Frontend Columns: default table sort is column name ascending; distribution stats label standard deviation as STDEV (not σ).
  • Frontend Ask: focused chat workspace with hero on empty threads, context bar, collapsible history, compact composer, and tighter turn layout.
  • Frontend Ask agent: DCC_AGENT_SUMMARIZE_WITH_LLM defaults to true; summarization prompts request direct answers with deterministic fallbacks when the second LLM call fails.
  • Frontend Ask composer: compact sticky bar, Options popover (model, row limit, dataset scope by name), always-on suggested prompts, real turn timing summary, conversation list polish.
  • Frontend SQL workspace: active-dataset chip, consolidated toolbar, run selection, resizable editor/results split, collapsible schema rail, snippet templates, run timer chip, and editor shortcuts (⌘+Shift+F, ⌘+S).
  • Primary tab navigation uses route transitions; Columns and Samples tables use sticky headers.
  • Profiler histogram bins and column summary formatting improvements.
  • GET /api/datasets/{id}/profile no longer blocks on build_profile; returns PROFILE_NOT_READY with job_id when the cache is empty.
  • Upload/register queue profile refresh jobs; refresh endpoint dedupes active profile jobs.
  • Datasets API split into datasets_upload, datasets_profile, datasets_inspect, and datasets_jobs modules (URLs unchanged).
  • Ask persistence aligned with Workspace.ask (AskStore); agent workflow split into persistence/run modules.
  • Query tab: SqlEditor, SchemaDatasetBlock, and useSqlHistory extracted from QueryPage.
  • Sample rows API returns structured DuckDB error codes.
  • Backend tests reorganized under tests/api/, tests/profiler/, and tests/workspace/.
  • Frontend coverage baseline raised to 92% (lines/statements); types.ts excluded from v8 coverage (still validated via types.test.ts).
  • Workspace startup drops a legacy schema_version table when the current dcc_* schema validates (avoids requiring make clean-local after the migration removal).
  • Documentation reorganized: slim root README.md, tightened docs/5-minute-tour.md, authoritative tier READMEs, expanded SECURITY.md, contributor-focused CONTRIBUTING.md / AGENTS.md.
  • Dependency: idna 3.15 (addresses CVE-2026-45409 in 3.14).

Removed

  • README Screenshots section and wireframe SVGs under docs/images/.
  • Unused frontend/public/icons.svg marketing sprite.
  • Unused Label and Kbd UI primitives (and their tests).
  • Unused exports cardPadding and severityCssVar from tokens.ts, and chartGrid from chartTheme.ts.
  • Stale .streamlit/secrets.toml entry from .gitignore.
  • Frontend Quality tab UI (QualityPage, profile diff dialog, issue list page).