Skip to content

Releases: datasciencemonkey/coding-agents-databricks-apps

v0.18.1

30 Apr 17:39

Choose a tag to compare

What's Changed

Bug Fixes

  • fix: prevent settings.json race that drops MLflow env vars (#153) β€” read-merge-write instead of overwrite. MLflow tracing env vars no longer clobbered.
  • fix: add retry logic to npm CLI installs β€” setup_codex/gemini/opencode retry 3x with 5s delay, full error output on failure.
  • fix: remove duplicate skills copy in setup_gemini.py β€” eliminates Skill conflict detected warnings on Gemini startup.
  • fix: test isolation for session limit and detach tests
  • fix(ui): enable paste on initial PAT token prompt (#152)

Model Updates

  • Default Claude Opus model updated to databricks-claude-opus-4-7 (#150)
  • Default Codex model updated to databricks-gpt-5-5

Testing

  • 216/216 tests passing
  • Deployed and verified on multiple workspaces

Contributors

Thanks to all the contributors who made this release possible!

  • @datasciencemonkey (Sathish Gangichetty) β€” settings.json race fix, npm retry logic, Gemini skill dedup, test isolation
  • @KabeerThockchom (Kabeer Singh Thockchom) β€” PAT paste fix on initial prompt (#152)
  • @mpkrass7 (Marshall Krassenstein) β€” Opus 4-7 model name update (#150)
  • @dgokeeffe (David O'Keeffe) β€” prior performance improvements that landed in this cycle

v0.18.0

30 Apr 12:43
21fe9f4

Choose a tag to compare

What's Changed

  • chore(deps): bump 20 packages to latest compatible versions by @datasciencemonkey in #151
  • Update default model versions and make it possible to switch models in codex by @mpkrass7 in #150

Full Changelog: v0.17.3...v0.18.0

v0.17.4

30 Apr 12:44
21fe9f4

Choose a tag to compare

v0.17.3

29 Apr 22:48
e66df70

Choose a tag to compare

What's Changed since v0.17.2

Features

  • add control plane event tracking following DQX pattern (3059f5b)
  • integrate Hermes Agent + fix Gemini auth + model updates (#136) (cdb5f40)
  • add BDD testing skills (bdd-features, bdd-run, bdd-scaffold, bdd-steps) (4c5fd2c)

Full Changelog: https://github.com/datasciencemonkey/coding-agents-databricks-apps/commits/v0.17.3

v0.17.2

16 Apr 22:50
6b75083

Choose a tag to compare

What's Changed since v0.17.1

Bug Fixes

  • enforce owner auth on session endpoints + case-insensitive email (#133) (6b75083)

Full Changelog: https://github.com/datasciencemonkey/coding-agents-databricks-apps/commits/v0.17.2

v0.17.1

14 Apr 22:05
ae71d2f

Choose a tag to compare

v0.17.1 β€” Case-Insensitive Auth & AI Gateway Fallback

Authors

Bug Fixes

Case-insensitive email authorization (fixes #115)

  • All email comparisons normalized to .lower() at ingestion points: get_token_owner(), get_request_user(), and WebSocket auth
  • Fixes access denied when SSO X-Forwarded-Email header casing differs from stored owner email (e.g. RC.Guan@ vs rc.guan@)

AI Gateway fallback for workspaces without Gateway (fixes #116)

  • Auto-discovered gateway URLs are now probed for reachability (2s timeout GET)
  • Workspaces without AI Gateway gracefully fall back to {DATABRICKS_HOST}/serving-endpoints
  • Probe result cached in _GATEWAY_RESOLVED env var so setup subprocesses skip re-probing
  • This was a deployment blocker β€” CoDA could not start on workspaces that didn't have AI Gateway enabled

Files Changed

File Change
app.py .lower() on all email ingestion points; resolve_and_cache_gateway() calls in setup and auth config
utils.py New _probe_gateway(), resolve_and_cache_gateway(), Tier 0 _GATEWAY_RESOLVED cache in get_gateway_host()
tests/test_gateway_discovery.py 3 new Tier 0 cache tests, probe mocks, updated integration tests
pyproject.toml Version bump to 0.17.1

Full Changelog: v0.17.0...v0.17.1

v0.17.0

14 Apr 18:35

Choose a tag to compare

CoDA v0.17.0

Highlights

Session Management

  • Session reuse prompt β€” When you open the app with existing sessions, you'll now see a list of active sessions to reattach to instead of always creating a new one. This prevents runaway session accumulation that could crash the app on smaller instances.
  • Session limit β€” A configurable cap (MAX_CONCURRENT_SESSIONS, default 5) prevents creating more sessions than your container can handle. Set it in app.yaml based on your instance size.
  • Active session count β€” The tab bar now shows "N active sessions" so you always know how many are running.

Copy-Paste in Claude Code no flicker mode

  • OSC 52 clipboard support β€” Copy and paste now works inside Claude Code (no flicker) sessions. Previously, Claude Code's clipboard operations were silently dropped.

Rendering Improvements

  • No-flicker mode compatibility β€” Claude Code's CLAUDE_CODE_NO_FLICKER=1 fullscreen mode now renders correctly. Fixed escape sequence fragmentation caused by fixed-size PTY read chunks.
  • Clean reattach β€” Switching back to a session (via session picker or page reload) now forces a clean redraw instead of replaying garbled raw escape sequences.
  • Clean exit from alternate-screen apps β€” Exiting Claude Code no-flicker mode, vim, or htop now auto-clears the screen instead of leaving overlapping artifacts.

Dependencies

  • Replaced mlflow-tracing with mlflow-skinny (3.10.1) β€” lighter footprint, no unused opentelemetry packages.

Configuration

New environment variable in app.yaml:

- name: MAX_CONCURRENT_SESSIONS
  value: "5"

Adjust based on instance size β€” 3 for Medium (6GB), 5-6 for Large (12GB).

Bug Fixes

  • Fixed TOCTOU race condition in session limit enforcement
  • Fixed session count not decrementing on session exit
  • Fixed repo name in deployment docs
  • Added escape/cancel key support in session prompt (q/Esc)

v0.16.7

08 Apr 21:59

Choose a tag to compare

What's Changed since v0.16.6

Bug Fixes

  • Fix Databricks CLI auth in shell sessions (#107) β€” The Databricks SDK skips ~/.databrickscfg when DATABRICKS_HOST is set in env, even without credentials. After PAT rotation stripped the token, the CLI saw host + workspace_id but no token and failed. Now DATABRICKS_HOST is also stripped from the shell env, forcing the SDK to fall through to ~/.databrickscfg (kept fresh by PAT rotator). Mirrors the pattern already used in sync_to_workspace.py.

  • Inject fresh token in content-filter proxy (#107, credit @dgokeeffe) β€” The content-filter proxy (used by OpenCode) now reads the current PAT from ~/.databrickscfg on every request (with 30s cache), instead of relying on the stale env snapshot. This ensures OpenCode AI requests survive PAT rotation without interruption.

  • Suppress cryptography CVE (GHSA-p423-j2cm-9vmq) β€” Buffer overflow in non-contiguous buffer handling. Fix version 46.0.7 not yet available on PyPI; ignored in audit until released.

Features

  • Auto-discover AI Gateway host from DATABRICKS_WORKSPACE_ID (#104) β€” New get_gateway_host() helper with 3-tier priority: explicit DATABRICKS_GATEWAY_HOST env var > auto-constructed from DATABRICKS_WORKSPACE_ID (https://{id}.ai-gateway.cloud.databricks.com) > empty fallback to DATABRICKS_HOST/serving-endpoints. Removed DATABRICKS_GATEWAY_HOST from app.yaml β€” one less env var to configure at deploy time.

  • Update default Codex model to databricks-gpt-5-3-codex (#108) β€” Updated across app.yaml, setup_codex.py, setup_opencode.py, and docs.

  • Add model tier mappings for Claude β€” Configure ANTHROPIC_DEFAULT_OPUS_MODEL, ANTHROPIC_DEFAULT_SONNET_MODEL, and ANTHROPIC_DEFAULT_HAIKU_MODEL in Claude settings. Disable experimental betas.

Maintenance

  • Sync requirements.txt and lockfile β€” Recompiled from pyproject.toml; claude-agent-sdk 0.1.50 β†’ 0.1.53, full dependency tree with hashes.
  • Add PR template β€” Standardized pull request format.

Auth Coverage Summary

All CLI auth paths now survive PAT rotation:

CLI Auth Source Rotation Mechanism
databricks ~/.databrickscfg PAT rotator writes on each rotation
claude ~/.claude/settings.json cli_auth._update_claude()
codex ~/.codex/.env cli_auth._update_codex()
opencode auth.json + proxy cli_auth._update_opencode() + proxy fresh token
gemini ~/.gemini/.env cli_auth._update_gemini()

Contributors

  • @datasciencemonkey (Sathish Gangichetty) β€” Gateway auto-discovery, shell env auth fix, codex model update
  • @dgokeeffe (David O'Keeffe) β€” Proxy fresh token injection (#105), Claude model tier mappings (#100)
  • @mpkrass7 (Marshall Krassenstein) β€” PR template (#101), merge reviews

Full Changelog: https://github.com/datasciencemonkey/coding-agents-databricks-apps/commits/v0.16.7

v0.16.6

05 Apr 23:13

Choose a tag to compare

What's Changed since v0.16.5

Bug Fixes

  • add workflow_dispatch to audit + revoke bootstrap PAT (#99) (bdb838d)
  • switch cryptography from git source to PyPI 46.0.6 (dc54f9a)
  • use astral-sh/setup-uv action instead of pinned pip install (30997c0)
  • handle macOS zip format and correct asset naming (5809622)
  • detect OS and arch when downloading gh binary (407fbdd)
  • replay scrollback buffer on session picker cancel (#89) (eb6a87c)
  • always create fresh session on page load, disable MLflow tracing by default (b8a06c9)

Documentation

  • sync README with current repo state (#96) (a391479)

Other

  • Update makefile to remove all of the secret scope stuff (aa2b749)

Full Changelog: https://github.com/datasciencemonkey/coding-agents-databricks-apps/commits/v0.16.6

v0.16.5

28 Mar 12:54

Choose a tag to compare

What's Changed since v0.16.4

Features

  • show session hints and exit notice in splash screen (206b3f5)
  • session detach & reconnect β€” tabs detach, only exit kills (#84) (23a5e23)
  • zero-config auth β€” interactive PAT setup, auto-rotation, all CLIs (#81, #83) (#82) (cd545a2)
  • bundle TDD subagents for Claude Code in app (0db41a6)

Bug Fixes

  • read creds from .databrickscfg instead of env vars (#88) (4c2918e)
  • cancel picker restores screen via resize instead of buffer replay (f8beeed)
  • add q/Esc to cancel session picker and restore previous session (a94ef9d)
  • remove DATABRICKS_TOKEN from shell env β€” use databrickscfg instead (540e7f6)
  • update all CLI tokens on PAT rotation (#86) (000adfd)
  • Windows copy-paste, resize debounce, CLI upgrades (#72) (e7e7e77)
  • extend session linger to 24 hours (#77) (f819d5d)

Documentation

  • session detach & reconnect design (228c58f)

Other

  • Makefile for standing up and tearing down an app quickly without git workflow (8d4e0b2)
  • Update title in CONTRIBUTING.md (0865265)
  • Update contribution guidelines for clarity (055c2e7)
  • Add a contributing guide (b7e496f)
  • Contributing guide (eb9de0a)
  • Revert "feat: add CoDA landing page for GitHub Pages" (cf2e339)
  • Revert "chore: move landing page to docs/site/index.html" (be3b9ed)

Full Changelog: https://github.com/datasciencemonkey/coding-agents-databricks-apps/commits/v0.16.5