# Changelog ## v2.1.0 - Pure-Python Stack ### Breaking Changes - HTMX, Jinja2, Alpine.js, and Tailwind CSS frontend removed entirely - No HTML templates, no inline HTML/CSS, no `unsafe_allow_html` anywhere in the codebase - Frontend is a pure-Python Streamlit dashboard at `frontend/` (`streamlit run frontend/Home.py`) ### What's New - Streamlit dashboard restored with native widgets only: Sentiment Analyzer, Batch Analytics, System Monitor - Admin section gated behind an optional `ADMIN_PASSWORD` - Dashboard talks to the FastAPI backend over HTTP (`API_BASE_URL`, default `http://localhost:8000`) - README and docs updated to reflect the Python-only stack ### Notes - API server: `uvicorn api.main:app --reload` on port 8000 - Dashboard: `streamlit run frontend/Home.py` on port 8501 - JSON API endpoints at `/predict`, `/batch`, `/status/{job_id}`, `/health`, `/info`, `/metrics` - Swagger UI at `/docs` is preserved - All ML model code, Celery workers, DVC/MLflow integration is unchanged