diff --git a/docs/changelog-claude.md b/docs/changelog-claude.md index 3b80360..a4a5a2c 100644 --- a/docs/changelog-claude.md +++ b/docs/changelog-claude.md @@ -4,6 +4,53 @@ This file documents all changes made to this project via Claude Code. ## [2026-02-05] +### Added +- Redesigned changelog system to use Python-based structure instead of Markdown: + - Created `app/changelog.py` with structured changelog data (21 versions from v0.1.22 to v0.1.2) + - Each version contains: version number, date, summary, and structured sections + - Sections include: title, type (feature/improvement/fixed/documentation), and list of changes + - Removed Gitea dependency for changelog rendering - now fully self-contained + - No external dependencies, faster loading, always available +- New changelog.html template with modern design: + - Sidebar navigation with all versions for quick jumping between releases + - Sticky sidebar that remains visible during scrolling + - Bootstrap cards for each version with gradient blue headers + - Color-coded type badges for sections: + - Green gradient: Feature + - Blue gradient: Improvement + - Red gradient: Fixed + - Purple gradient: Documentation + - Responsive design (sidebar hidden on mobile devices) + - Summary section with blue left border highlight + - Click-to-expand sections with smooth animations +- Created `static/css/changelog.css` with comprehensive styling: + - Modern gradients for badges and headers + - Dark mode support via CSS variables + - Hover effects on navigation links and list items + - Smooth scrolling to version anchors + - Compact spacing optimizations (reduced padding, margins, font sizes) + - CSS specificity enhancements with !important flags to override Bootstrap defaults +- Added `{% block head %}` to base.html template to allow pages to inject custom CSS + +### Changed +- Updated `routes_changelog.py` to load data from `changelog.py` instead of fetching from Gitea +- Simplified changelog route - removed markdown parsing and external HTTP requests +- Removed dependency on `markdown` library for changelog rendering +- Template now receives structured Python data instead of HTML string + +### Fixed +- Fixed module import path in routes_changelog.py (changed from `from app.changelog` to `from ..changelog`) +- Fixed dictionary key conflict - renamed `items` to `changes` to avoid collision with dict.items() method +- Added missing `{% block head %}` in base.html that prevented custom CSS from loading + +### Technical Details +- Changelog data structure uses dictionaries with keys: version, date, summary, sections +- Sections contain: title, type, subsections (optional), changes +- Subsections contain: subtitle, changes +- All list items use "changes" key instead of "items" to avoid Python reserved method conflicts +- CSS uses !important flags and increased specificity (.changelog-nav .changelog-nav-link) to override Bootstrap +- Compact spacing achieved with: 0.15rem padding, 0.15rem margins, 0.85rem/0.7rem font sizes, 1.1/1.0 line heights + ### Added - Autotask customer mapping now auto-searches for similar company names when opening unmapped customers: - Automatically populates search box with customer name