-
Fixes
- Show section titles for summary-type custom sections in the resume builder. #2744
- Prevent browser password managers and Edge autofill/save prompts from appearing on AI settings API key fields. #2719
- Replace deprecated Tailwind CSS classes: use
inset-s-*/inset-e-*instead ofstart-*/end-*. - Fix PDF downloader to work correctly in offline mode. #2743
- Make bold formatting visible for
<strong>in the resume rich text editor (uses plainfont-weight: boldfallback if the CSS variable is unset). Fixes #2730 - Prevent credentials sign-in from dropping
session_tokenSet-Cookie, improves login reliability. #2718 - Remove redundant
resume-prefix from download filename; add spacing between pages in shared view. #2709 - Normalize autocomplete tokens for login and register forms. #2714
- Fix improper chips reordering and update dependency/translations. #2711
- Fix issue with clipping of heading in Lapras resume template.
- Remove error-causing plugins in oRPC integration.
- Remove duplicate database indexes; add index for
created_aton user and resume tables.
-
Features & Improvements
- Add new feature flag:
FLAG_DISABLE_IMAGE_PROCESSING(allows disabling of image processing site-wide). - Update Discord invite link in the app and documentation.
- Add comprehensive codebase and architecture documentation in
CLAUDE.md. - Sync latest translations from Crowdin (updated and added multiple languages).
- Add new feature flag:
-
Other
- Refactor: rename auth utility from
originWithtowithHostname, preserve localhost/127.0.0.1 sibling trust. - General dependency updates and code style improvements.
- Documentation and README updates.
- Refactor: rename auth utility from
- Add Computer Modern web fonts to the font selector, allowing the user to choose from a variety of “Computer Modern” (LaTeX) fonts.
- This lets you create a resume that looks just like a LaTeX document, with the same fonts and styles.
- Update dependencies to the latest versions.
- Remove Passkey support from the authentication system, as it was causing issues with the authentication provider.
- Update dependencies to the latest versions.
- Introduce a new MCP (Model Context Protocol) server that lets you manage and edit resumes from any MCP-compatible AI tool — Claude Desktop, Cursor, Codex, and more. Supports listing, reading, creating, deleting, locking/unlocking, and patching resumes via natural language. (guide)
- Add an AI Chat panel to the resume builder, allowing you to modify your resume through conversational AI directly within the editor. The chat uses tool-calling to apply JSON Patch operations to your resume in real-time, with visual feedback for each change.
- Add a system prompt and
patch_resumetool for the AI chat, enabling structured, minimal-diff resume edits following RFC 6902 JSON Patch operations. - Chat history is now persisted per resume in localStorage, so conversations are preserved across sessions.
- Fix rendering issues in the Lapras and Onyx resume templates.
- Improvements to the Combobox and ScrollArea UI components.
- Fix an issue with skills item rendering in the shared resume components.
- Update authentication configuration and auth route handling.
- Update the JSON Schema to reflect the latest resume data model.
- Update dependencies to the latest versions.
- Implement Atomic Resume Patching API for fine-grained resume updates, allowing partial, atomic updates to resumes via a new PATCH endpoint. #2692
- The API endpoint
PUT /resume/{id}now returns the updated resume object instead of void. Also, resume routing/services now use explicit DTOs for input and output schemas. #2688 - Add error logging for API server errors (server-side only) to improve debugging and reliability.
- Refactor and clean up imports/exports for clarity and maintainability.
- Added
.devcontainerconfiguration for improved contributor development environment. - Update dependencies to the latest versions.
- Add build status badge and documentation link to README.
- Sync latest translations from Crowdin (notably: French, other languages).
- Other minor fixes and improvements.
- Implement Cover Letter functionality in the resume builder, allowing the user to create cover letters as custom sections. (link)
- Implement full-screen mode for the rich text editor in the resume builder, allowing the user to write in a more focused environment.
- Implement a new custom section type:
summary, which allows the user to add another “summary” like section to the resume. - Implement a
useFormBlockerhook to prevent the user from closing a dialog while the form has unsaved changes. - Fix an issue where keywords spacing was not consistent in the interests section. #2631
- Fix an issue where the AI connection test was not working correctly, also return appropriate error messages for AI provider issues.
- Bring back Undo/Redo functionality in the resume builder for improved editing experience.
- Arrange the sidebar builder dynamically based on the section type in each template. #2564
- Remove extra spacing when proficiency is empty. #2607
- Fix rendering in Pikachu template: conditionally render header and page picture using
isFirstPage, and respect thefullWidthproperty for page layout. - Fixes to templates to improve layout and rendering consistency.
- Fix GitHub OAuth login for users migrated from previous versions.
- Improve communication with the printer service and reduce resource usage for better PDF generation reliability.
- Update and sync translations from Crowdin (Afrikaans, Persian, Portuguese/Brazilian, and other languages).
- Update translation sources and configuration.
- Fix “empty” Git merge remnants in codebase.
- Update package dependencies and fix self-hosting guide links in README.
- Remove dead code, update screenshots, and add PWA (Progressive Web App) support.
- Update links to PDF example files in documentation.
- Other bug fixes and minor improvements (#2542, #2573, #2598).
- Implement the ability to print Free-Form PDFs which do not have a fixed page height, allowing the user to fit the content on a page as they see fit. (link)
- Allow the user to override the default endpoint for all AI providers, not just Ollama. Also display the default endpoint for each provider in the AI settings page.
- Updated the chip input component, to allow the user to add, edit, remove or reorder keywords for skills and other sections.
- Improved RTL support across the app, thanks to @obreo for the contribution. (link)
- Updates to the translation configuration to remove line numbers from the translation files, as this was causing unnecessary diffs.
- Updated the video on the homepage to be lighter and faster to load, while still maintaining the same quality.
- Increased the screenshot TTL for resumes, to avoid regenerating screenshots unnecessarily unless the resume has been updated recently (in the last hour).
- Update dependencies and translations to the latest versions.
- Added an agent skill
skills/resume-builderfor agentic AI assistants to build resumes for Reactive Resume through conversational AI. - Added a new guide on how to fit content on a page, to avoid issues when exporting to PDF. (link)
- Display an alert when the content is too tall for a page, to help the user fit the content on a page.
- Fix an issue with the Ditgar template, where the page was not respecting the
fullWidthsetting. - Updated the JSON Schema to conform to a proper format.
- Updated the Discord Server invite link to a new one.
- Updated dependencies to the latest versions.
- Updated translations from Crowdin.
- Added a Community Spotlight section to the documentation.
- Remove
-r require-metadatafrom the Dockerfile as it was not needed. - Fixed inconsistencies in the docker compose examples in the documentation.
- Fixed an issue with usernames not allowing hyphens in them.
- Fixed issues with the printer service, when using the
getResumeScreenshotorprintResumeAsPDFendpoints.
This has been a major overhaul from the previous version of Reactive Resume. The app has been completely redesigned and rebuilt from scratch, to be more intuitive and user-friendly.Here are some of the key changes from the previous version:
- 2 new templates: Ditgar and Lapras
- Authentication via Passkeys
- New user interface and refreshed design
- API Access and Reference Documentation
- AI Integration with OpenAI, Google, Anthropic, and Ollama
- A better font selector, with real-time preview of the font
- More comprehensive documentation, with guides for specific features
- An improved templates gallery, with clear overview of each template
- Ability to import resumes from PDF or DOCX (requires AI Integration)
- Reliable server infrastructure, with improved performance and scalability
- Ability to move items between sections and pages, for better organization
- A more powerful CSS Editor, with better autocomplete and syntax highlighting
- Extended Custom Sections to include a type, for better customization and organization
- Ability to choose the kind of icons to display for level indicators (stars, circles, custom icons, etc.)
- Ability to resize how wide/narrow the sidebar should be on the resume, or convert a page to be full width