# changelog.yaml unreleased: features: [] refactors: [] fixes: [] versions: - version: "v0.2" features: - title: "UI Modernization" details: - "Migrated front-end to Tailwind CSS (compiled) with Flowbite JS components." - "New navbar and layout system; better navigation and future expansion." - "Docker-based CSS build for reproducible, lightweight builds." - title: "Reusable CSS Components" details: - "Custom utilities: badge, badge-ok, badge-warn, badge-danger, chip, card, etc." - "Reduces repetition and enforces consistent look." - title: "Roadmap / Changelog (YAML-driven + in-app UI)" details: - "YAML-backed roadmap, in-app view at `/roadmap`." - "Roadmap Filters: q, tag, min_priority, milestone; tag chips; Details modal that renders `details`." - "YAML-backed Changelog, in-app view at `/changelog`." - title: "Modal sizing & ergonomics" details: - "Wider modal at larger breakpoints; scrollable body for long content." - title: "GeoIP Results Uplift" details: - "Cloudflare detection via GeoIP ASN; badge on results page." - "Country/ASN notes shown beside collapsed IP next to GeoIP results." - title: "Text Analysis Pipeline (Rules)" details: - "`analyse_text()` extracts visible text and evaluates `category: text` rules." - "Captures matched phrases into deduped `content_snippet` (len capped via `settings.ui.snippet_preview_len`)." - "Results exposed in JSON as `suspicious_text`; UI via `templates/partials/result_text.html`." refactors: - title: "Template Includes" details: - "Common UI (headers/footers/layout) extracted into Jinja includes." - title: "Roadmap loader simplification" details: - "Removed cache; returns typed dataclasses and normalizes `details`." - title: "Safer JSON in templates" details: - "Use `|tojson|forceescape` for embedding payloads in data attributes." - title: "Rules Engine Regex handling" details: - "Honor per-rule regex flags; default IGNORECASE for `category: text` if no `i` flag." - title: "Engine/Scanner logging" details: - "Dispatch-time visibility; gated by `settings.app.print_rule_dispatch`." - title: "Code cleanup" details: - "Removed obsolete paths/utilities; removed duplicate `enrich_url` call." fixes: - title: "Table Rendering" details: - "Locked column widths; fixed snippet scaling to prevent reflow." - title: "Rules Engine State" details: - "Fix pulling engine from app state; restores proper detections." - title: "YAML parsing edge cases" details: - "Quote scalars containing `:`/`#`; use explicit `null` as needed." - title: "/roadmap page stability" details: - "Return structured objects; fix `AttributeError: 'dict' object has no attribute 'roadmap'`." - title: "Modal population" details: - "Pass `details` through route; DOM-ready + delegation populate reliably." - title: "Text indicators not displayed" details: - "Add text analyzer; align result shape with `result_text` partial." - version: "v0.1" notes: - "Initial Flask web UI for URL submission and analysis." - "Domain & IP enrichment (WHOIS, GeoIP, ASN/ISP)." - "First Suspicious Rules Engine for scripts/forms." - "Basic Docker setup for sandboxed deployment."