Skip to content

v0.2.6

Choose a tag to compare

@chraltro chraltro released this 25 Apr 19:16
· 84 commits to main since this release

DuckLake hardening + observability surface.

Backend

  • DuckLake end-to-end fix: DDL rewriting, cursor catalog tagging, UDF GC pinning, single-attach safety across every route, parallel-write serialization on local-file catalogs.
  • ATTACH passes AUTOMATIC_MIGRATION TRUE so projects survive DuckLake extension upgrades.
  • Narrower DDL strip — function-call DEFAULTs and boolean DEFAULTs are now kept (DuckLake supports them); only PK/UNIQUE/CHECK/nextval(...) are stripped.
  • _havn.model_state writes are idempotent (INSERT OR REPLACE on DuckDB, transactional DELETE+INSERT on DuckLake).
  • Job orchestration logs transform steps to _havn.run_log with the pipeline run_id, so the History panel populates from job runs.

Observability surface

  • ResourceManager + @governed decorator + /api/resources endpoints.
  • /v1/sql Databricks-style API (sync + async + NDJSON / Arrow IPC).
  • Embedded Arrow Flight SQL server.
  • /v1/export/duckdb single-file export.
  • Webhook staging + flush worker, Postgres CDC, API poll consumer.
  • DuckLake MaintenanceScheduler.
  • /metrics Prometheus endpoint, /health probe, JSON log format.
  • @table_macro, macro hot-reload, Monaco autocomplete + hover.
  • TPC-H DuckDB-vs-DuckLake benchmark harness in benchmarks/.

UI

  • information_schema is browseable in the table tree on both backends.
  • DuckLake internal catalog tables are filtered out of the table browser.
  • System schemas (information_schema, _havn, main, __*) are dimmed and collapsed by default.
  • VARCHAR columns with numeric content (IDs, phone numbers, ZIP codes) no longer get thousands-separator formatting; the result grid respects the database column type.
  • Result-grid header / body alignment fixed for virtualized rendering (>200 rows) when column names are wider than data.
  • Resources tab hidden until the panel is rebuilt.