diff --git a/RELEASE_NOTES_v1.1.0.md b/RELEASE_NOTES_v1.1.0.md new file mode 100644 index 0000000..30f4b7c --- /dev/null +++ b/RELEASE_NOTES_v1.1.0.md @@ -0,0 +1,56 @@ +# AOC v1.1.0 Release Notes + +**Release date:** 2026-04-20 + +## What's new + +### Natural language query (`/api/ask`) +Ask questions in plain English and get AI-generated answers backed by your audit logs. + +- **Regex-based parsing** extracts time ranges (`last 3 days`, `yesterday`, `today`) and entities (`device ABC123`, `user bob@example.com`) without calling an LLM — fast and deterministic. +- **AI narrative summarisation** via any OpenAI-compatible API (OpenAI, Azure OpenAI, MS Foundry, Ollama). The LLM reads the matching events and writes a concise story for non-expert admins. +- **Graceful fallback** when no LLM is configured — returns a structured bullet list instead of a narrative. +- **Cited evidence** — every answer includes the raw events that back it up, so admins can verify claims. + +### Azure OpenAI / MS Foundry support +- Automatic `api-key` header detection for Azure endpoints. +- `LLM_API_VERSION` config for Azure `api-version` query parameters. +- `max_completion_tokens` support for newer model deployments. + +### Production hardening +- **Dockerfile:** runs as non-root user, uses Gunicorn + Uvicorn workers. +- **docker-compose.prod.yml:** MongoDB is internal-only (no host port exposure), health checks on all services, nginx reverse proxy with security headers. +- **nginx config:** gzip, security headers (`X-Frame-Options`, `X-Content-Type-Options`), ready for TLS. + +### Frontend +- New **"Ask a question"** panel at the top of the page. +- Markdown rendering for LLM answers (bold, italic, code). +- Orange warning banner when LLM is not configured or fails. + +### Tests +- 29 new tests covering ask parsing, query building, and endpoint behaviour. +- 62 tests total, all passing. + +## Configuration + +Add to your `.env`: + +```bash +# Required for AI narrative summarisation +LLM_API_KEY=your-key +LLM_BASE_URL=https://api.openai.com/v1 +LLM_MODEL=gpt-4o-mini +LLM_MAX_EVENTS=50 +LLM_TIMEOUT_SECONDS=30 +LLM_API_VERSION= # set for Azure OpenAI, e.g. 2024-12-01-preview +``` + +## Upgrade notes + +No breaking changes. Existing `/api/events`, filters, pagination, tags, and comments work unchanged. + +## Docker image + +``` +git.cqre.net/cqrenet/aoc-backend:v1.1.0 +```