github amruthpillai/reactive-resume v5.2.0

5 hours ago

This release brings undo/redo and version history to the builder, an AI assistant embedded right next to your resume, a real mobile/tablet layout, live template previews using your own content, and a polished motion system across the app.

✨ Highlights

  • Undo and redo across the builder. Every change — typing, drag-and-drop, template and layout switches — can now be undone and redone with Cmd/Ctrl+Z and Cmd/Ctrl+Shift+Z, or the new toolbar buttons. Rapid typing collapses into a single step, so undo feels natural.
  • Version history with one-click restore. Reactive Resume now snapshots your resume at key moments — template switches, imports, AI edits, and periodic saves — and a new clock menu in the builder header lets you restore any earlier version. Restoring is non-destructive: it's just another change you can roll back.
  • An AI assistant built into the builder. A new Sparkle button opens the AI assistant as a side panel next to your resume, so you can chat about the resume you're editing and apply changes inline without leaving the builder. Its edits show up live and are captured in version history.
  • A real mobile and tablet builder. On phones and small tablets the builder now uses a full-screen layout with an Edit / Preview / Design tab bar, instead of a cramped three-panel desktop layout squeezed onto a small screen.
  • Preview any template with your own content. Hovering a template — both the current-template card and every tile in the template gallery — now renders a live preview built from your actual resume data, so you can compare templates with your content before switching.
  • Polished motion across the app. Menus, dialogs, tooltips, tabs, buttons, sheets, and form validation now share a consistent motion system with interruptible transitions and cleaner press feedback, so the builder and dashboard feel smoother end to end.

📝 Resume Builder

  • Control page breaks per section. New Keep together and Start on new page options let you decide whether a section can split across pages or begins on a fresh one in the exported PDF.
  • Move sections between pages and columns from a menu. The layout panel now has a Move to menu, so you can relocate a section without dragging.
  • Crop and zoom your profile picture. Choosing a picture now opens a crop step with a zoom slider and drag-to-reposition before it uploads.
  • Better zoom and page controls in the preview: a live zoom-percentage readout with Fit and 100% options, and Cmd+0 to reset.
  • A primary Download button in the header, with a menu for PDF, DOCX, JSON, and Print.
  • Section rail navigation now scrolls to and highlights the section you pick, with proper tooltips and labels.
  • Autosave status and safer collaborative editing. The header shows a Saving / Saved indicator; a locked resume is read-only everywhere in the builder; and changes from another tab or the AI agent are announced and no longer overwrite the field you're actively typing in.
  • A live character counter and a tidier toolbar in the rich-text editor.

🤖 AI Assistant

  • Embedded AI assistant panel in the builder, scoped to the open resume and reusing the full agent chat, so edits apply to the resume in front of you. Requires a configured AI provider.
  • Simpler AI provider setup. Provider settings now use a staged form — provider and API key first, advanced options collapsed — and test the connection automatically when you save.
  • Richer assistant replies. Agent chat now renders GitHub-flavored Markdown, so tables in the assistant's responses display as real tables instead of raw text.
  • More reliable agent edits to sections. The agent now targets built-in sections (/sections/...) and custom sections (/customSections/...) with the correct paths, and section-shortcut paths are normalized before a patch is applied, so edits to experience, education, and custom sections land where you expect.

🧭 Dashboard & Navigation

  • You now land in the builder right after creating a resume, instead of being returned to the dashboard.
  • Search your resumes from the dashboard once you have more than a few.
  • Command palette discoverability: a Search button with a ⌘K hint in the dashboard sidebar.
  • The Create and Import cards collapse into compact header buttons once you have resumes.
  • Fixed the command palette resume list so it reliably shows your resumes, sorted by most recently updated.

📊 Statistics

  • Views and downloads trends. Each statistics card now shows a 30-day sparkline and how it compares to the previous period.

🔗 Public Sharing

  • A proper public resume page with an identity header (name, headline, and picture), a clear primary download action, and per-resume social / Open Graph previews, so shared links look right on LinkedIn, Slack, and iMessage.

♿ Accessibility & Internationalization

  • Screen-reader access to the live preview. The PDF preview now includes a hidden, structured text version of your resume so assistive technology can read it.
  • Landmarks, skip links, and accessible names across the builder and dashboard, and labels for the icon-only buttons that were previously unnamed to screen readers.
  • A searchable language picker (by English name, native name, or ISO code) and correct handling of mixed left-to-right and right-to-left text.

⚙️ Settings & Data

  • Export all of your data from the Danger Zone.
  • Email-verification prompts are hidden when no mail server is configured, so self-hosted instances without SMTP don't nag you to verify.

📥 Import & Export

  • File-first import with auto-detection. Pick a file and Reactive Resume detects the format; AI-based imports check for a configured provider up front.

🛠️ Reliability & Fixes

  • Made concurrent resume writes safe by wrapping patch and statistics updates in database transactions, and fixed a version-history double-snapshot.
  • Fixed a live-preview memory leak (image blobs weren't released) and serialized preview renders so they don't stack up.
  • Public link previews now show your name instead of a generic "Resume" placeholder.
  • Fixed the first-paint loading shell so the app reliably mounts, and used the compact brand icon on the first-paint and loading screens for a cleaner startup.
  • PDF list rendering fixes: bullet alignment and margins, nested list layout, page breaks that keep the marker with its item, and text that continues after a line break. (#3202, #3198, #3178, #3186)
  • Kept the server running through transient Postgres disconnects (for example, idle drops from serverless Postgres providers like Neon) by handling database pool errors and reconnecting on the next query. Thanks to @helder-mattos. (#3172)
  • Fixed the Atlas Cloud sponsor logo so the whole logo reliably opens the sponsor site in a new tab. (#3170)

🌐 Localization & Maintenance

  • Synced the latest translation catalogs from Crowdin. (#3167, #3183)
  • Added a Playwright end-to-end test setup, removed dead code and unused exports, and refreshed workspace dependencies.

Full Changelog: v5.1.9...v5.2.0

Don't miss a new reactive-resume release

NewReleases is sending notifications on new releases.