Releases: vincentmakes/cv-manager
Releases · vincentmakes/cv-manager
Release list
v1.14.2
What's Changed
- Fix custom section labels showing keys instead of names on public site by @vincentmakes in #46
- Fix custom sections in JSON export, import, and dataset load by @vincentmakes in #49
- feat: add timeline branching for overlapping experiences and company logo upload by @vincentmakes in #47
- Move language selection to toolbar dropdown and add version display by @vincentmakes in #50
- chore(deps): bump multer from 1.4.5-lts.2 to 2.1.0 in the npm_and_yarn group across 1 directory by @dependabot[bot] in #51
- Add comprehensive documentation site with Material for MkDocs by @vincentmakes in #52
- Fix timeline overlap detection and card layout constraints by @vincentmakes in #53
- Fix hidden experiences still appearing in timeline by @vincentmakes in #54
- Claude/translate user guide jq umh by @vincentmakes in #55
- Reorganize toolbar button order and make Language/Help icon-only by @vincentmakes in #56
- Claude/fix timeline layout idf4 t by @vincentmakes in #58
- Fix timeline creating branches for brief transitional overlaps by @vincentmakes in #57
- Add timeline branching toggle to settings by @vincentmakes in #59
- Claude/disable timeline branching jt589 by @vincentmakes in #60
- Add Picture Grid layout type for custom sections by @vincentmakes in #61
- Claude/add picture grid layout 4 eadf by @vincentmakes in #62
- Security: Update multer to 2.1.1 to fix DoS vulnerability by @vincentmakes in #65
- Add experience logos, timeline logo toggle, and duration display by @vincentmakes in #66
- Add Timeline layout type for custom sections by @vincentmakes in #67
- Add manual reordering for work experiences by @vincentmakes in #68
- Migrate UI icons from inline SVGs to Google Material Icons by @vincentmakes in #69
- Add education logos and Bluesky social platform support by @vincentmakes in #72
- Update user guide with latest features: picture grid, additional expe… by @vincentmakes in #73
- Fix missing reflexive verbs in DE, FR, PT custom-sections docs by @vincentmakes in #74
- Fix ATS PDF extraction and improve accessibility with aria-hidden by @vincentmakes in #75
- Add ATS-friendly PDF export with live preview modal by @vincentmakes in #76
- Add optional summary field to work experiences by @vincentmakes in #79
- Add contributing guide and PR template by @vincentmakes in #80
- Increase default modal width from 520px to 680px by @vincentmakes in #81
- Add comprehensive test suites for frontend/backend sync and security by @vincentmakes in #82
- Fix ATS PDF export to prevent job entry merging by @vincentmakes in #83
- Add logo support for certifications with provider-based propagation by @vincentmakes in #85
- Fix: certification/education logos always display, revert settings scope by @vincentmakes in #86
- Add static site export feature for GitHub Pages and static hosting by @vincentmakes in #88
- Bump brace-expansion from 2.0.2 to 2.0.3 in the npm_and_yarn group across 1 directory by @dependabot[bot] in #94
- fix: update path-to-regexp and brace-expansion for security vulnerabilities by @vincentmakes in #95
- Fix certification badge logos disappearing on admin page refresh by @vincentmakes in #97
- Bump lodash from 4.17.23 to 4.18.1 in the npm_and_yarn group across 1 directory by @dependabot[bot] in #98
- Improve test coverage: add 100+ new test cases across backend and frontend by @vincentmakes in #99
- Add credential URL validation and link rendering for certifications by @vincentmakes in #103
- Localize month names in date formatting by @vincentmakes in #106
- Localize ATS PDF export to the active UI language by @vincentmakes in #108
- Replace Save As prompt with rich modal featuring version grouping by @vincentmakes in #110
- Add multi-language CV variants with language switcher by @vincentmakes in #111
- Optimize database performance with indexes and SQLite pragmas by @vincentmakes in #112
- Refactor dataset language UI & add version badge support by @vincentmakes in #114
- Add profile picture library with multi-upload and dataset propagation by @vincentmakes in #116
- Add drag-and-drop section reordering with overlay by @vincentmakes in #117
- Inline custom section creation with header controls by @vincentmakes in #118
- Fix mobile layouts for active dataset banner and CV Manager modal by @vincentmakes in #119
- Add inline print-visibility toggle for all sections by @vincentmakes in #120
- Add per-language section title overrides with dataset-scoped renames by @vincentmakes in #121
- Reorder overlay: stop placeholder animating up from zero on insert by @vincentmakes in #122
- Theme picker: per-dataset themes, font & gradient options, cursor/brightness fixes by @vincentmakes in #123
- Fix theme picker dropdown being unscrollable on mobile by @vincentmakes in #124
- Add custom section title color and corner radius theme options by @vincentmakes in #125
- Fix timeline section hiding in print output on mobile by @vincentmakes in #126
- Fix bullet alignment and section reorder placeholder collapse by @vincentmakes in #127
- Add GDPR consent banner for tracking code injection by @vincentmakes in #136
- Add undo/redo functionality to admin UI by @vincentmakes in #137
- Add copy-section feature to duplicate CV sections between datasets by @vincentmakes in #138
- Add compact print layout for Projects section by @vincentmakes in #139
- Add LinkedIn-style profile picture cropper (zoom + pan) by @vincentmakes in #140
- Apply profile-picture crop on the dataset-snapshot render path by @vincentmakes in #141
- Fix profile picture crop drift for off-centre crops by @vincentmakes in #143
- Add bold text formatting via double asterisks in text fields by @vincentmakes in #145
- Document bold formatting in long-form text fields by @vincentmakes in #146
- Fix bold markdown rendering in admin preview by @vincentmakes in #147
- Fix cache-busting for shared scripts on public pages by @vincentmakes in #148
- Fix print_compact flag not reaching public dataset URLs by @vincentmakes in #150
- Fix certification link button visibility when printing CV by @vincentmakes in #151
- Add italic markdown support and block-level markdown parsing by @vincentmakes in #155
- Clarify contribution policy and fork development guide by @vincentmakes in #156
- Auto-open Save As modal after importing CV data by @vincentmakes in #159
- Fix missing i18n translations in admin UI and custom sections by @vincentmakes in https://github.com/vincentma...
v1.6.8
What's Changed
- v1.6.6 by @vincentmakes in #40
- Add comprehensive test suite and CI/CD pipeline by @vincentmakes in #41
- Add internationalization (i18n) support for 8 languages by @vincentmakes in #42
- Optimize API calls by bulk loading settings by @vincentmakes in #43
Full Changelog: v1.6.0...v1.6.8
1.6.0
What's Changed
Added
- Show/hide profile picture toggle by @david-thaler in #33
- Default dataset: Datasets can now be designated as the "default" via a radio button in the Open modal. The default dataset is served at the root URL
/on the public site, decoupling the public CV from live admin edits - Active dataset banner: Persistent banner below the toolbar shows which dataset is currently being edited, with an explicit "Save" button to write changes back to the active dataset
- Save to dataset: New
POST /api/datasets/:id/saveendpoint writes the current live CV state back into any existing dataset without creating a new one - Auto-migration: Existing users automatically get a "Default" dataset created from their current CV data on first startup. Users with existing datasets get their most recent one promoted to default
- Dataset state tracking: Admin tracks which dataset is loaded, updates the banner on load/save/import, and shows "Editing" badge in the datasets modal
Changed
- Reduction of docker image size by @boomam in #18
- Public page serving: Root URL
/now serves from the frozen default dataset JSON instead of live database tables, isolating the public CV from in-progress edits - Datasets modal redesign: Radio button column for default selection, visual badges for "Default" and "Editing" states, slug URLs hidden for default dataset, disabled delete on default
- Banner stacking: Update banner and active dataset banner stack dynamically with proper margin calculation
- CV data gathering: Extracted
gatherCvData()helper to eliminate duplicated snapshot logic across save, load, and migration code paths
Fixed
- Delete protection: Default dataset cannot be deleted — server returns a clear error message, delete button is disabled in the UI
New Contributors
- @boomam made their first contribution in #18
- @david-thaler made their first contribution in #33
Full Changelog: 1.3...v1.6.0
New features and bug fixes
Bug Fixes
- Experience sorting not working (displayed in insertion order)
- Timeline showing in PDF when hidden by user
- "no such column: slug" error for older databases
- Versioned URLs (/v/:slug) not working on public server
- Custom sections not visible upon creation
- Custom section visibility icon not reflecting state
- Bullet list validation error when no group title
- Custom section items with visible = NULL not showing on public site
Features
- Auto-sort experiences by start date
- Section reordering (drag-and-drop in Settings)
- Custom sections with 6 layout types (grid-2, grid-3, list, cards, social-links, bullet-list)
- Bullet list layout with optional group titles and "hide title" option
- Timeline click-to-scroll to matching experience
- Print pagination (position & style options)
- Versioned URLs for sharing saved datasets
- Database auto-migration for backward compatibility