Features
- api: OAuth 2.1 server with unified API+MCP process (d87622b)
- api: job execution queue with state machine and scheduler integration (6010938)
- api: add v1 execution endpoints for profiling, tests, and generation (1688707)
- api: add project-level permissions and sub-resource URL pattern (fb0f6db)
- api: add project-level permissions, sub-resource URLs, and job listing (71320f8)
- TG-1012: add MCP source data tools (194b88e)
- api: test definition export/import endpoints (TG-1020) (4a161f1)
- api: Redoc docs UI, OpenAPI metadata, import optimization (TG-1024) (db9e77f)
- api: add GET /test-runs and GET /profiling-runs endpoints (TG-1023) (bde3a6f)
- mcp: migrate run identifiers to job_execution_id (TG-1025) (45f5690)
- scheduler: unify job dispatch via single exec-job command (TG-1033) (c0d32f6)
- ui: add v2 component infrastructure and registration (7ea4d4d)
- ui: add new shared JS dialog and widget components (86a2e08)
- api: add static API docs build script (TG-1031) (5966a21)
- mcp: add test definition tools — list_tests, get_test, list_test_notes,
list_test_types (TG-1026) (0935291) - support standalone install with embedded postgres (767bd16)
- ui: show pending jobs in runs lists with job-centric queries (TG-1034) (d44643e)
- TG-1043: make OAuth refresh tokens usable for API automation (b202947)
- migrate run-page URLs to job_execution_id with dual-ID routing (TG-1046) (09ee0ba)
- mcp: cross-run analysis and trends (TG-1027) (bc1f6bc)
- JobExecution post-completion callbacks and run-score-update job (TG-1048) (1ceeb20)
- mcp: list_test_results rename + test_suite_id shortcut (TG-1055) (ee3ab2c)
- mcp: profiling L1 — table overview, column profiles, summary (TG-1028) (e63fa69)
- TG-1042: DQ score weighting for table importance and semantic data types (2d8d17b)
- TG-1045: add impact_dimension as DQ scoring classification axis (8d3acc0)
- mcp: execution tools — run, cancel, generate (TG-1030) (a819130)
- mcp: track inventory tool calls in Mixpanel (TG-1062) (e188d8b)
Bug Fixes
- api: address OAuth MR review feedback (d3e449e)
- bump Helm chart version to 1.2.0, update submodule (ccbd79e)
- lint errors in MCP test files (import sort, unused import) (741f410)
- TG-1012: address MR review feedback for MCP source data tools (6d84c26)
- sort imports in test_suite model (bc3b64f)
- use isnot(True) for monitor filter consistency (8deedf8)
- return run ID from handlers, fix functional test callers (TG-1033) (c35e417)
- api: address MR review feedback for run endpoints (TG-1023) (6708ce3)
- coalesce completed_at to NOW() in select_summary (TG-1035) (d04550a)
- test-types: fix LOV_All execution SQL for PostgreSQL and threshold quoting (ffdcb52)
- test-types: revert LOV_All threshold quoting to match template convention (ddcb68f)
- address MR review feedback (TG-1035) (cca26cb)
- set JE completed_at after handler runs in quick-start (TG-1035) (f406d53)
- models: improve database session handling and JSON serialization (9683e4d)
- test-types: fix LOV_All execution SQL for MSSQL and SAP HANA (b7aa1ad)
- ui: restore missing features and address review feedback in VanJS pages (4522760)
- test-types: fix LOV_All SQL for SAP HANA — use STRING_AGG not LISTAGG (c07b22f)
- mcp: address MR review feedback (TG-1026) (3a9ffca)
- test definitions: add missing profiling button (029560e)
- deps: bump pillow to 12.2.0 for CVE-2026-40192 (5a13588)
- mcp: exclude monitor suites from existing read tools (TG-1049) (32d3f47)
- mcp: surface thresholds in test run diff (TG-1027) (f44b447)
- ui: clear intervals before leaving the current page (de9e98e)
- mcp: close test_suite_id leak in get_failure_summary; normalize "Test run" label
(TG-1057) (543a9c8) - sqlalchemy 2.0 upgrade (bd632ec)
- test-suites: table group filter not working (d6d5d8e)
- pii: mask profiling dialogs based on user permissions (614659a)
- scores-details: broken issue report and query bug (f5bc0d9)
- profiling: hide button for non-column results (4eee69e)
- score-issues: support View for (none) category (b908fda)
- lint errors (5f25546)
- redshift and mssql warnings (9cd8e43)
- remove stale pinned version in dockerfile (e2bca92)
- minor tweaks to weighted scoring (a8f7187)
- ui: runs cache invalidation, toolbar stability, and related UI bugs (7a129a2)
- mcp: tighten get_failure_summary scope validation (TG-1058) (798b6d3)
- snowflake: make key-pair default - add deprecation warning for password (491d448)
- display loading spinner for table group preview (90b0db1)
- profiling-run: don't display empty sections in email notifications (9846922)
- make text consistent for Add/Save (5ef8186)
- hide SAP Hana option for Docker deployment (842c9e2)
- app-logs: filter by text not working (5f1b229)
- synapse: disable pre-connection queries (a6e01b9)
- ui: visual glitches and inconsistencies (6a80d6a)
- input-validation cleanup across MCP tools and API list_jobs (a93fc1a)
- mcp: TG-1028 reviewer feedback — hygiene-issue rename, PII parsing, perf scoping
(c01f6b2) - impact dimensions: updates from review (b50260c)
- mcp: queries failing in sqlalchemy 2 (d401287)
- monitors: exclude dropped columns from freshness fingerprint generation (23b7c7c)
- monitors: regenerate monitors that fail validation (e82c35c)
- errors in test results and edit table monitor dialog (7d7334e)
- run dialogs: remove CLI command - delete unused duplicate files (3b0ea29)
- demo: trigger test failures on dimension table for weighted scoring (fb3f6b7)
- improve standalone version (5c63163)
- address review feedback (8ba2b38)
- subprocess not started correctly in standalone on some systems (a6a1f4b)
- runs: jobs not deleted when parent entity deleted (29b8fe9)
- pass termination signal correctly in Windows (642e691)
- standalone: quick-start not working on windows (c320b9e)
Refactors
- TG-1010: extract source data logic into shared service (4c51670)
- extract query caching from model layer to UI service (74ac75b)
- add TestType cache proxy, fix stale cache docs (3dc22b6)
- TG-1012: extract shared MCP tool utilities into common module (7807486)
- api: address MR review — enums, monitor filter, project_code index (ad58f6e)
- migrate run status readers to job_executions (TG-1035) (63f908a)
- normalize cancelled -> canceled spelling (American English) (e94523c)
- ui: delete duplicate frontend JS components and utilities (182c699)
- ui: update static JS components and utilities (c86234d)
- ui: update main.js and frontend page JS entry points (462aa11)
- queries: add pagination, filtering, and sorting to query modules (6e5ac42)
- dialogs: migrate dialog base classes and shared dialogs to v2 pattern (27dfaf8)
- ui: migrate simple pages to v2 components (0cd444c)
- ui: migrate profiling and data catalog pages to v2 components (3323ce6)
- ui: migrate test workflow pages to v2 components (b4647c8)
- ui: migrate monitoring and table group pages to v2 components (cbbf55d)
- ui: add shared VanJS dialog components for data catalog (59d6164)
- ui: add application logs VanJS dialog and widget (929a303)
- ui: migrate data catalog dialogs from st.dialog to VanJS (3de8c86)
- ui: migrate profiling results dialog in score details to VanJS (abdf660)
- ui: migrate connections setup wizard dialog to VanJS (a83511f)
- ui: remove dead code from v1 Streamlit components and dialogs (1456a24)
- ui: add loading indicators to connection and table group actions (79c4acc)
- mcp: add ParamFieldsMixin and display_name property (TG-1026) (90231f4)
- mcp: replace ad-hoc markdown with MdDoc builder (efa18c7)
- deploy: rename build_docs to build_api_docs (TG-1031) (3c23625)
- upgrade to python 3.13 (01c4d59)
- make codebase compatible with Python 3.11 (7625c0b)
- mcp: typed exception for not-found-or-inaccessible (TG-1057) (45636fc)
- mcp: TG-1030 reviewer feedback — transition self-loop, resolve_test_suite (4b63c02)
Documentation
- enable mcp by default - add build script for reference doc (0d32f88)
Miscellaneous
- ui: remove leftover Streamlit.setFrameHeight calls from v2 pages (4927d42)
Docker Image
datakitchen/dataops-testgen:v5.32.2