From af253c858c90df8a171508b8df58f3b0c28f431a Mon Sep 17 00:00:00 2001 From: Phillip Tarrant Date: Fri, 22 Aug 2025 15:11:32 -0500 Subject: [PATCH] updating change log --- docs/changelog.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/docs/changelog.md b/docs/changelog.md index cae89e8..6a064ad 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -31,10 +31,22 @@ This project follows [Semantic Versioning](https://semver.org/). Added custom utility classes (`badge`, `badge-ok`, `badge-warn`, `badge-danger`, `chip`, `card`, etc.) to replace long Tailwind strings. This reduces repetition and ensures a consistent look across the app. +- **Roadmap (YAML-driven + in-app UI)** + Added a YAML-backed roadmap with an in-app view at `/roadmap`. Supports section switching (Roadmap / Backlog / Open Questions), filters (`q`, `tag`, `min_priority`, `milestone`), tag chips, and a **Details** modal that renders multi-paragraph content from a new `details` field. + The roadmap file path is configurable via `ROADMAP_FILE` (env or Flask config) for dev/prod flexibility. + +- **Modal sizing & ergonomics** + Increased modal width at larger breakpoints and made the body scrollable so long details donโ€™t squish other content. + ### ๐Ÿ› ๏ธ Refactors - **Template Includes** Extracted shared UI sections (headers, footers, layout chunks) into separate **Jinja includes**, improving maintainability and readability of templates. +- **Roadmap loader simplification** + Removed the cache layer; loader now returns typed dataclasses (`RoadmapData` / `RoadmapItem`) and normalizes `details` via `_normalize_details()` (accepts block string or list). +- **Safer JSON in templates** + Use `|tojson|forceescape` when embedding the item payload in `data-item` attributes to avoid escaping issues. + ### ๐Ÿ› Fixes - **Table Rendering** Locked table column widths and fixed snippet scaling issues to prevent column misalignment and content reflow. @@ -44,6 +56,14 @@ This project follows [Semantic Versioning](https://semver.org/). Fixed a bug where the **rules engine** was not being pulled correctly from the application state after the previous refactor. This restores proper detection of suspicious scripts/forms and ensures rule definitions (with `name` and `description`) are honored. +- **YAML parsing edge cases** + Resolved `ScannerError` by quoting scalars containing `:` / `#` and using explicit `null` where appropriate. + +- **/roadmap page stability** + Fixed `AttributeError: 'dict' object has no attribute 'roadmap'` by returning structured objects from the loader. + +- **Modal population** + Ensured `details` are passed through the route and included in the button payload; JS now uses DOM-ready + event delegation to reliably populate the modal. --- ## [v0.1] โ€“ Initial Work