- Prettier was re-expanding the inline semi-colon separated handler back to multi-line on each commit, breaking the Vue compiler
- extract into a named function to avoid the issue
- transition to floating UI with centralized background pattern in AppLayout
- restructure core layout for stable headers and independent view scrolling
- synchronize component radii (scrollers, cards, skeletons) with global settings
- standardize headers and book detail tabs for consistent alignment and height
- enhance AppSidebar, AppHeader, and ViewHeader with refined active states
- center project logo in collapsed sidebar by removing offset padding
- update shadcn components and theme bridge for consistent design system support
- enable pg_trgm extension in db module on startup
- add GIN trigram indexes on book_metadata title, series_name and authors name
- refactor book search query to use LEFT JOIN instead of correlated EXISTS subquery
- fix jwt-auth guard to use /api/v1/ prefix for password-change allowlist
- regenerate baseline migration to incorporate schema index changes
- fix AppHeader sticky z-index from z-10 to z-30 so search dropdown renders above book card series badges
- widen search input on focus (max-w-xs -> max-w-lg) with smooth transition
- fix result click to navigate to book detail page instead of library
- add keyboard navigation (arrow keys, enter, esc) with visual selection
- add Cmd+K / Ctrl+K shortcut to focus search from anywhere
- highlight matched text in title, author, and series fields
- show format badges (epub, pdf, mobi, etc.) per result row
- add row separators and larger cover thumbnails
- show "No results" only after debounce settles, not during typing
- extend search to match author names and series in addition to title
- add settled ref to useGlobalSearch to track fetch completion
- fix v-if -> v-show for grid/list view toggles in Home/Lens/CollectionView
- add tooltips to all header icons (search, upload, appearance, settings, theme toggle, sidebar trigger)
- fix appearance popover by moving Tooltip outside Popover
- add POST /api/books/export endpoint to zip and download books
- add POST /api/books/bulk-refresh-metadata and bulk-re-extract-cover endpoints
- add BulkBookIdsDto and ExportBooksDto
- add archiver dependency for zip streaming
- update theme CSS variables and component styles across client