Skip to content

Releases

v1.4.0

Choose a tag to compare

@allan-cao-databricks allan-cao-databricks released this 11 Nov 23:46
963154d

v1.4.0 — Deploy from Git in the Databricks Apps UI

✨ New

  • Deploy from Git in the Apps UI. You need no notebook, no CLI and no tools on your laptop. Create a custom app, point it at this repo and a release tag, with source code path app, and click Deploy. The Apps runtime builds the frontend during the deploy (#124, closes #123).
  • Upgrades keep your history and settings. To upgrade, click Deploy → Deploy using a different source → From Git and enter the new tag. Only the code changes. The app's resources, its Lakebase history and its service principal stay the same.
  • Grant helper. /api/setup/grants shows the Unity Catalog GRANT SQL with your app's service principal ID filled in.
  • Health fields in /api/config: warehouse_configured and history_ready.

🐛 Fixes

  • A new, empty Lakebase database no longer crashes the app. The app keeps its history in its own schema (genie_ontology_readiness). Existing installs keep their tables in public.
  • A Lakebase error no longer stops the app. The app runs without history and logs the error.

⬆️ Upgrade notes

  • From an install made before v1.4.0 (notebook or bundle deploy + post_deploy.py): see Migrate from an older install in the README. You keep your history, warehouse and grants. Custom settings in the old app.yml (for example ASSESS_CATALOGS, BRAND_NAME) are not copied by a deploy from Git. Write them down first.
  • After every deploy, check that the app status shows Running. A deployment can succeed while the app fails to start.
  • Releases before v1.4.0 cannot be deployed from Git.

The notebook and CLI install paths still work. They are now in the README's Advanced sections.

v1.3.0

Choose a tag to compare

@allan-cao-databricks allan-cao-databricks released this 11 Nov 17:23
a9af9a9

v1.3.0 — Compare, PDF export, readiness tiers, and new ways to deploy

✨ New

  • Export an assessment as a branded PDF (#59, closes #15).
  • Compare two assessments — see per-pillar gains and losses between runs (#61, closes #12).
  • Readiness tiers + gap-driven guidance — each assessment maps to a readiness tier, and guidance now follows the gaps it found. Action Plan links are fixed (#63).
  • Schema-level scope — when you select a single catalog, the assessment can scope to its schemas (#94).
  • Genie Code readiness skill — run a readiness assessment from Genie Code without deploying the app (#76).
  • Notebook installer — deploy the app from inside the workspace with a notebook (#90).

🛠 Deploy & operations

  • Per-environment bundle targets — dev, stg and prod each have their own bundle state and app name, so deploying one target can never rename or remove another target's app. scripts/post_deploy.py takes TARGET=dev|stg|prod.
  • databricks-sdk is now documented as a post-deploy prerequisite.
  • The app sets a descriptive User-Agent on its Databricks API calls (#66, #67).

⬆️ Dependencies

  • Frontend majors: React 19, Recharts 3, Vite 8, TypeScript 7 (#54); Tailwind CSS v4 (#96).
  • The lockfile uses the public npm registry, pinned via .npmrc (#56).
  • Backend: databricks-sdk ~=0.146.0, fastapi ~=0.142.2, starlette ==1.10.0, aiohttp ~=3.14.5, uvicorn ~=0.54.0, pydantic ~=2.13, markdown >=3.11, xhtml2pdf >=0.2.28 (#46, #47, #49, #95, #115).
  • Dependabot now groups version updates into one PR per ecosystem each week.

⚠️ Upgrade notes

  • If you deploy with the bundle, use a target: databricks bundle deploy -t <dev|stg|prod>. The app_name variable was removed; each target sets its own app name.
  • A bundle deploy does not attach the Lakebase database resource. Run scripts/post_deploy.py afterward if you use Lakebase history.

Full changelog: v1.2.1...v1.3.0

v1.2.1

Choose a tag to compare

@allan-cao-databricks allan-cao-databricks released this 15 Sep 15:07
06a830a

v1.2.1 — Security hardening & dependency patches

A security-focused patch release. No new user-facing features; existing flows (Assess / Plan / Learn) are unchanged.

🔒 Security hardening (#45, supersedes #33)

  • Genie test endpoints fail closed — GENIE_ALLOW_SP_FALLBACK now defaults to false, so a user who cannot reach a Genie space no longer silently falls back to the app service principal. OBO-only rejections return 403 (GENIE_IDENTITY_REQUIRED) instead of a generic 500. (Assessment SP-based signals are a separate path and are unaffected.)
  • Error-text sanitization (CWE-209) — failed probes and API errors now return a generic message plus a reference id; raw SQL, exception text, and stack details are no longer leaked to the client.
  • PDF export LFI/SSRF hardening (CWE-22/918) — /api/plan/pdf sanitizes the HTML fragment and blocks external / file:// resource loads during rendering.
  • Header-spoof ownership (CWE-269/863) — resolve_principal verifies the forwarded token against SCIM /Me; per-user history can no longer be spoofed via headers.
  • Log redaction (CWE-532) — redaction filter now also attaches to uvicorn / gunicorn loggers.
  • SQL identifier/literal quoting (CWE-89) — quote_ident / quote_literal escape backslashes before quotes across probes and the AI-comments accelerator.
  • starlette==1.6.0 pin to clear the advisory affecting the transitive range.

🐛 Fixes

  • PDF plan export (#44) — plan title now renders once, with executive-ready polish.

⬆️ Dependency advisories (Dependabot)

  • fastapi ~=0.141.1 (#35), aiohttp ~=3.14.3 (#40), uvicorn ~=0.52.4 (#37), xhtml2pdf >=0.2.18 (#38), asyncpg ~=0.31.0 (#42), react-markdown 10.1.0 (#41), lucide-react 1.45.0 (#43), autoprefixer 10.5.6 (#34).

🙏 Thanks

Security hardening based on a coordinated disclosure and PR from @Vivek-Kommareddy — thank you.


Full changelog: v1.2.0...v1.2.1

v1.2.0

Choose a tag to compare

@allan-cao-databricks allan-cao-databricks released this 11 Sep 20:52
91d1dd5

Makes an assessment scopeable, explainable, and exportable, and tightens the surrounding UX.

Highlights

  • Workspace scoping — assessments scope to the deployed workspace (a read-only "Scoped to …" label), so activity signals aren't counted account-wide on a shared metastore. Adds a pre-run catalog filter for the metadata pillars.
  • Drill-down + explainability — every attributable pillar gets a sortable drill-down table (slice by workspace / catalog / schema, Export CSV) and a View SQL overlay showing the exact query behind each score; plus Export all to CSV (a ZIP with a summary + one CSV per pillar).
  • Availability reasons — unreadable pillars report an explicit reason (insufficient permission / not enabled / scan failed) instead of a confident 0.
  • Plan & UX — the generated plan leads with a deterministic score summary (renders as a table in-app and in the PDF); a grouped model picker organizes models by Proprietary / Open source and family; the assessment-score card was restructured.

Full changes in #27.

v1.1.1

Choose a tag to compare

@ralphlaite-db ralphlaite-db released this 10 Sep 15:08
3358270

Patch release — field-reliability fixes for the optional history path and the Genie Agents pillar, since v1.1.0.

Fixes

  • Lakebase Autoscaling history — mint per-user history credentials for Autoscaling Lakebase endpoints (POST /api/2.0/postgres/credentials via a new LAKEBASE_ENDPOINT_NAME), so assessment/plan history persists on the Lakebase shape new workspaces get, not just Provisioned instances. The Provisioned path is unchanged. (#18, closes #16)
  • Bounded Genie Agents audit scan — bound the pillar-5 system.access.audit (aibiGenie) scan to a 30-day window, plus an optional workspace filter when WORKSPACE_ID is set, so /api/assess/stream completes before the Databricks Apps SSE gateway timeout on large accounts. Graceful degradation on a warehouse timeout is preserved. (#19, closes #17)

Full Changelog: v1.1.0...v1.1.1

v1.1.0

Choose a tag to compare

@allan-cao-databricks allan-cao-databricks released this 03 Sep 14:17

Minor release — features and fixes since v1.0.0.

Features

  • OBO-first identity — all signals default to OBO (on-behalf-of user) with SP fallback + a FORCE_SP override; each signal is attributed to the identity that served it (#5)
  • Plan without saved history — generate a plan from the in-session assessment when Lakebase history isn't available; live streaming + inline validation (#6)
  • Product naming refresh — Genie Spaces→Agents, Semantic Layer→Metrics, Glossary→Pages (#3)

Fixes

  • Wide-metastore scan — chunk + parallelize the metadata scan to fix the hang/network-error on very large metastores (#9)
  • Omit unsupported temperature param → fixes HTTP 400 on newer Claude models (#8)
  • Resolve assessment sources per-request when an OBO user token is present (#1)

Full Changelog: v1.0.0...v1.1.0

v1.0.0

Choose a tag to compare

@allan-cao-databricks allan-cao-databricks released this 18 Aug 17:59

First public release of Genie Ontology Readiness — a self-contained, customer-deployable Databricks App.

  • Assess — read-only 7-pillar readiness scorecard (Unity Catalog, metadata, relationships, semantic layer, Genie Spaces, domains & stewardship, adoption) → overall 0–100 score + maturity stage.
  • Plan — a tailored, prioritized action plan generated via the workspace's own Foundation Model API, naming the public Databricks accelerators that close each gap.
  • Learn — per-capability enablement (technical + business), best practices, and a downloadable AI-ready-semantics methodology handbook.

Deployed as a Databricks App via Asset Bundles; optional Lakebase history (runs stateless otherwise). See README for install and the permissions it needs.