Releases: databricks-solutions/genie-api-cache-queue
Releases · databricks-solutions/genie-api-cache-queue
v1.3.3
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-bgto all input fields across gateway creation, gateway settings, and global settings pages.
v1.3.2
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
v1.3.0 — Exponential backoff & message locks
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_messagesduring 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
strictfield 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
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-appearanceto prevent stalled requests - Depth-bounded
_extract_themeto 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
What's Changed
- Move demo notebooks to
notebooks/directory - Add
dbutils.widgets.text()with defaults (fixesInputWidgetNotDefined) - Normalize variable names and markdown style across both notebooks
- Rename:
demo_notebook→api_gateway_demo,test_mcp_agent→mcp_gateway_agent_demo
v1.1.2
What's Changed
Bug Fixes
- Fix NULL
genie_space_idandoriginal_query_textincached_queriestable (#12) - Fix timer leak on Settings page unmount
- Fix double-save race condition in
handleImmediateSave - Fix stale
configRefread in immediate save path - Fix localStorage parse error masking successful server save
- Pass
gateway_idfilter to local storage backend inget_all_cached_queries
Enhancements
- Redesign Settings page with Databricks workspace-style two-column layout (#10)
- Fixed-width Run button in Playground to prevent layout shift
- Drag-to-resize columns in DataTable component
- Remove column text truncation in Cache tab
Cleanup
- Remove unused
SECTION_TITLESconstant,resizingref, and pattern label comments
v1.0.1
UI layout matching Databricks workspace design
- Content panel as floating white card with rounded corners (8px), subtle border and shadow
- Seamless #F7F7F7 background shared by header and sidebar
- Removed hard separator lines between sidebar and content
- 4px gap on right and bottom edges matching Databricks exactly
Closes #9