You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
0.6.3 — 2026-07-12
Upgrade notes for admins
Run docker compose exec backend python manage.py migrate — migration 0005_remove_oracle_snowflake_bigquery drops Oracle/Snowflake/BigQuery from
the database connection engine choices.
If you had a connection configured with engine=oracle, snowflake, or bigquery, re-point it at a supported engine or remove it — those never
worked (no driver was installed in the tdmcp image) and the choice is now
rejected by the admin form.
Changed
Removed Oracle, Snowflake, and Google BigQuery as selectable database
engines. They were listed in the schema but never functional: the shipped tdmcp image never installed cx_oracle, snowflake-sqlalchemy, or sqlalchemy-bigquery, so any connection using them failed at query time
regardless of valid credentials.
Supported engines are now PostgreSQL, MySQL, MariaDB, SQL Server, SQLite,
and ClickHouse.
The database connection list's row-level "Test" button now uses a
plug/connection icon instead of a test-tube icon.
The database connection list's "Test" result is now shown as a full-width
success/error banner beneath the tested row (matching the Add/Edit form's
style) instead of a small inline badge next to the button.
The Add and Edit Database Connection pages now share one step-by-step
wizard layout — editing looks identical to adding except for the header
("Edit <name>") and an inline Engine selector on step 2 (add already
fixes the engine via its step-1 picker).
Added a Test button between Cancel and Create/Save Changes on the
database form. It probes connectivity with the current, unsaved form
values (via a new POST /api/v1/admin/databases/test/ endpoint) instead of
requiring a save first. When editing with the password field left blank,
it falls back to the stored credential.
The Add Database Connection page now has a collapsible How it works
section, matching the one on the Documentation, Tether, and Report
add/edit pages.
The step-1 engine picker on Add Database Connection now groups engines
into Relational and Analytical sections, matching the grouped
layout used on Add Documentation ("Generate using AI").
The Add/Edit Database Connection form now hides the Host, Port, Username,
and Password fields for SQLite (none apply — it's a local file) and
relabels Database to File path. Switching an existing
connection's engine to SQLite also clears those now-irrelevant fields
instead of silently keeping and saving their old values.
New ./sources/databases folder (git-ignored), mounted read-only into backend, celery-worker, and tdmcp. Drop SQLite connection files
there and reference them by their in-container path, e.g. /app/sources/databases/app.db.
The File path field on the Add/Edit Database Connection form is now a
dropdown of files found under sources/databases/ (new GET /api/v1/admin/databases/sqlite-files/ endpoint), matching the
folder-picker used to register documentation. Files already used by
another connection are labeled (used by <name>); a previously-saved
path that's no longer on disk still shows up as a selectable option
instead of silently disappearing.
The engine picker on Add Database Connection now has a "Not finding what
you're looking for?" section, deep-linking to the repo's "Database support
request" GitHub issue template instead of the generic issues list.
The database connection list no longer has a separate Engine column —
each connection's engine icon is now shown inline before its name instead.
Fixed
Admin UI, docs, and read-only-session documentation no longer advertise
engines that couldn't actually connect.
The new draft Test button no longer fails with a false "database
connection with this name already exists" error when editing an existing
connection without changing its name.
The draft Test button no longer fails before a Name has been
typed on the add/edit form. name doesn't affect connectivity, and Save
already enforces it separately.