Skip to content

Releases: databricks-solutions/genie-api-cache-queue

v1.6.0 — Settings persistence & LLM model overrides

17 Apr 19:28

Choose a tag to compare

Highlights

  • Global settings persisted to Lakebase — configuration now survives redeploys and restarts (previously ephemeral in /tmp). Session-scoped credentials (lakebase_service_token) remain memory-only with boundary-matched sensitive-key detection.
  • Dynamic gateway defaults — gateway create stores NULL for unset numeric/model fields and resolves them at runtime against current global settings. Changing a global threshold now applies to existing gateways that kept defaults.
  • Per-gateway LLM model overridesnormalization_model, validation_model, and intent_split_model are now selectable per gateway, with fallback to global → module default when blank.
  • Falsy-value fixes — replaced or-based coalescing with is not None checks so similarity_threshold=0 and max_queries_per_minute=0 are preserved.
  • Playground conversation persistence — user-scoped localStorage with schema versioning; in-flight queries marked as failed on restore; persists on visibility/unmount.
  • UI clarity — Settings page banner explaining precedence ("defaults for new gateways, runtime fallback when unset"); per-gateway Settings tab shows current global value alongside overridable fields.

Changelog

  • 22b1665 fix(#26): persist global settings to Lakebase and wire LLM model overrides end-to-end

Closes #26.

v1.5.1

17 Apr 18:51
dbadee0

Choose a tag to compare

What's Changed

  • feat: multi-select cache delete + app version display (closes #7) by @Rampim in #32
  • chore: stop tracking .claude/ worktrees as gitlink by @Rampim in #34

Full Changelog: v1.5.0...v1.5.1

v1.5.0

17 Apr 18:26
039a30c

Choose a tag to compare

What's Changed

  • fix: graceful Lakebase fallback to local storage by @hiydavid in #29
  • fix: revert local fallback, harden install script by @Rampim in #30
  • feat: RBAC + graceful degradation when token passthrough is disabled by @Rampim in #28
  • fix(install): reorder DB config before deploy; handle SP rotation by @hiydavid in #31

New Contributors

Full Changelog: v1.4.0...v1.5.0

v1.4.0 — Lakebase schema & SP ownership

15 Apr 19:35
7e01823

Choose a tag to compare

Fixes

  • SP schema auto-ownership (#24): The app now runs CREATE SCHEMA IF NOT EXISTS on startup when using a custom LAKEBASE_SCHEMA. The service principal owns the schema it creates, eliminating the need for manual GRANT statements. Falls back gracefully if the schema already exists under a different owner.
  • Query log schema alignment (#25): query_logs table now derives its schema from the configured LAKEBASE_SCHEMA, matching the existing behavior of cached_queries and gateway_configs. Previously it always defaulted to the public schema.
  • New gateway defaults: question_normalization_enabled and cache_validation_enabled now default to false for newly created gateways, reducing friction for initial setup.

Docs

  • Updated Lakebase setup section in README: custom schema (auto-created, no GRANTs) vs public schema (manual GRANTs with full list including SEQUENCES).

v1.3.3

08 Apr 20:37

Choose a tag to compare

Fixes

  • Normalization empty content bug: Send original user query to Genie API instead of normalized form, which could be empty for non-analytical questions (e.g. greetings). Normalized text is now only used for cache key generation. Added empty-canonical fallback in the normalizer.
  • Gateway delete confirmation: Replaced browser confirm() dialog with custom Modal matching the cache-clear dialog style.
  • Dark mode input fields: Added bg-dbx-bg to all input fields across gateway creation, gateway settings, and global settings pages.

v1.3.2

08 Apr 15:14

Choose a tag to compare

Fixes

  • Lakebase SP auth on Azure — Create PG role for the app's service principal to enable Lakebase Autoscaling connection
  • OAuth scopes documentation — Document required user_api_scopes (dashboards.genie, serving.serving-endpoints) as post-deploy step in README and CLAUDE.md
  • Revert SDK to >=0.40.0 — SDK >=0.55.0 incorrectly used SP credentials for embedding calls instead of user OBO token
  • Dark mode playground — Fix textarea background and error state colors using theme variables
  • Notebooks — Remove hardcoded app URL defaults from demo notebooks
  • Cleanup — Remove obsolete TECHNICAL_GUIDE.pdf

v1.3.1

07 Apr 20:54
16a0612

Choose a tag to compare

Fix

  • Aligned cache_entries field name across all gateway endpoints (list, get, metrics) to match frontend expectations. Previously, list_gateways and get_gateway returned cache_count, causing the Cache Entries column to display "–" in the UI.

v1.3.0 — Exponential backoff & message locks

07 Apr 20:54
ee0c272

Choose a tag to compare

What's new

  • Exponential backoff with jitter — replaces fixed retry delays for both rate-limit queue (base=5s, cap=10s) and general errors (base=2s, cap=30s)
  • Per-message async locks — prevents TOCTOU race conditions on _synthetic_messages during concurrent polls
  • GenieConfigError fail-fast — 401/403/404 errors are never retried
  • Bounded 429 retries — rate-limit errors now count against the retry budget to prevent infinite loops

Notebooks

  • MCP notebook: strips strict field from tool definitions (Databricks model serving compatibility), 7-question parallel demo scenarios, OAuth token support
  • API notebook: updated secret name to oauth_token, fixed markdown rendering

v1.2.0 — Dark Mode

07 Apr 20:54
37d2ff0

Choose a tag to compare

What's New

Dark mode that syncs with your Databricks workspace theme.

Features

  • Three theme modes: Light, Dark, or Follow Databricks workspace
  • Auto-detection: reads workspace appearance preference via the Settings API using user OAuth
  • 22 components migrated to semantic dbx-* CSS tokens for instant theme switching
  • Persistence: theme choice saved in localStorage and restored on reload

Improvements

  • 10s overall deadline on /api/workspace-appearance to prevent stalled requests
  • Depth-bounded _extract_theme to safely parse nested API responses
  • asyncio.get_running_loop() for Python 3.12+ compatibility
  • Hoisted module-level imports, restored Settings default to General section

Fixes

  • Race condition in ThemeContext cleanup (three-state sentinel: undefined/null/string)
  • Auth model: workspace-appearance uses only user OBO token, no SP fallback
  • Stale docstring and hover flash on accordion buttons
  • Portuguese string replaced with English

Closes #8

v1.1.3

07 Apr 20:54

Choose a tag to compare

What's Changed

  • Move demo notebooks to notebooks/ directory
  • Add dbutils.widgets.text() with defaults (fixes InputWidgetNotDefined)
  • Normalize variable names and markdown style across both notebooks
  • Rename: demo_notebookapi_gateway_demo, test_mcp_agentmcp_gateway_agent_demo