- 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