Skip to content

Changelog

All notable changes to this project are documented here following Keep a Changelog conventions.


[1.2.0] — 2026-05-07 · Documentation Release

Added

  • MkDocs Material Documentation Site — full production documentation covering Getting Started, Architecture, API Reference, Training & Retraining, and Deployment guides.
  • DBN Production Architecture Guide — detailed Mermaid reconstruction of the approved DBN Azure architecture, MS SQL Server migration guide, production checklist, T-SQL dialect comparison, and Managed Identity connection code.
  • Training & Retraining section — Concepts, Initial Training (with batch seed script), Retraining (with audit script and decision flowchart), and Best Practices pages.
  • Azure Deployment Guide — three deployment options: Container Apps, App Service, and AKS, with GitHub Actions CI/CD and Key Vault integration.
  • Custom CSS (docs/assets/extra.css) — hero banner, stats strip, pipeline badges, method pills, hover-lift cards, and improved table styling.
  • Abbreviations include — auto-tooltip expansions for RAG, SQL, DDL, MSME, PFI, POC across all documentation pages.

[1.1.0] — 2026-05-07 · Training API Release

Added

  • GET /api/v1/training/data — list all ChromaDB training records with type, ID, content, and question.
  • POST /api/v1/training/ddl — embed a DDL statement into the vector store.
  • POST /api/v1/training/sql — add a verified question–SQL pair.
  • POST /api/v1/training/documentation — add a plain-English business rule or domain definition.
  • POST /api/v1/training/from-database — auto-ingest all DDL from sqlite_master (SQLite) or INFORMATION_SCHEMA (MS SQL Server).
  • DELETE /api/v1/training/{id} — remove a training record by ChromaDB ID.
  • Training schemas in models/schemas.py: TrainDDLRequest, TrainSQLRequest, TrainDocumentationRequest, TrainResponse, TrainingDataResponse, TrainingRecord, TrainFromDBResponse, DeleteTrainingResponse.
  • VannaService training methods: train_ddl, train_sql, train_documentation, train_from_database, get_training_data, remove_training_data.
  • api/v1/training.py router registered under /api/v1/training tag training.

[1.0.0] — 2026-05-07 · Initial Production Release

Added

  • FastAPI application migrated from Jupyter Notebook (sqlite_gemini_chromadb.ipynb).
  • POST /api/v1/chat/ask — primary RAG endpoint: NL question → SQL → data → Plotly code.
  • POST /api/v1/chat/generate-sql — natural language → SQL (no execution).
  • POST /api/v1/chat/run-sql — execute raw SQL → serialised JSON data.
  • GET /health — liveness probe for deployment health checks.
  • GET / — root endpoint returning welcome message.
  • VannaService singleton with FastAPI dependency injection (core/dependencies.py).
  • Pydantic v2 request/response validation schemas (models/schemas.py).
  • CORS middleware — configured via CORSMiddleware in main.py.
  • DockerDockerfile and .dockerignore for containerisation.
  • Fly.io deployment configuration (fly.toml).
  • Pydantic Settings.env file loading with extra="ignore" to handle legacy env files.

Data

  • msmeloans SQLite table — ~11,000 rows, 40 columns.
  • ChromaDB vector index — pre-loaded with schema DDL and 10+ verified question–SQL pairs.

[0.1.0] — 2025-01-01 · Notebook POC

Added

  • Jupyter notebook (sqlite_gemini_chromadb.ipynb) demonstrating Vanna integration with Google Gemini and ChromaDB.
  • SQLite database creation from CSV (msme_loans_with_predictions.csv).
  • Vanna DDL and question–SQL training pipeline.
  • Flask development UI via vn.run_flask_app().