--- title: "Changelog" description: "List of all notable changes and updates to Reactive Resume" rss: true --- - **Fixes** - Show section titles for summary-type custom sections in the resume builder. [#2744](https://github.com/amruthpillai/reactive-resume/pull/2744) - Prevent browser password managers and Edge autofill/save prompts from appearing on AI settings API key fields. [#2719](https://github.com/amruthpillai/reactive-resume/pull/2719) - Replace deprecated Tailwind CSS classes: use `inset-s-*`/`inset-e-*` instead of `start-*`/`end-*`. - Fix PDF downloader to work correctly in offline mode. [#2743](https://github.com/amruthpillai/reactive-resume/pull/2743) - Make bold formatting visible for `` in the resume rich text editor (uses plain `font-weight: bold` fallback if the CSS variable is unset). Fixes [#2730](https://github.com/amruthpillai/reactive-resume/issues/2730) - Prevent credentials sign-in from dropping `session_token` Set-Cookie, improves login reliability. [#2718](https://github.com/amruthpillai/reactive-resume/pull/2718) - Remove redundant `resume-` prefix from download filename; add spacing between pages in shared view. [#2709](https://github.com/amruthpillai/reactive-resume/pull/2709) - Normalize autocomplete tokens for login and register forms. [#2714](https://github.com/amruthpillai/reactive-resume/pull/2714) - Fix improper chips reordering and update dependency/translations. [#2711](https://github.com/amruthpillai/reactive-resume/issues/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_at` on 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). - **Other** - Refactor: rename auth utility from `originWith` to `withHostname`, preserve localhost/127.0.0.1 sibling trust. - General dependency updates and code style improvements. - Documentation and README updates. - 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)](/guides/using-the-mcp-server) - 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_resume` tool 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](https://github.com/amruthpillai/reactive-resume/pull/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](https://github.com/amruthpillai/reactive-resume/pull/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 `.devcontainer` configuration 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)](/guides/adding-a-cover-letter) - 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 `useFormBlocker` hook 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](https://github.com/amruthpillai/reactive-resume/pull/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](https://github.com/amruthpillai/reactive-resume/pull/2603) - Remove extra spacing when proficiency is empty. [#2607](https://github.com/amruthpillai/reactive-resume/pull/2626) - Fix rendering in Pikachu template: conditionally render header and page picture using `isFirstPage`, and respect the `fullWidth` property 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)](/guides/selecting-page-format) - 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)](https://github.com/amruthpillai/reactive-resume/pull/2583) - 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-builder` for 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)](/guides/fitting-content-on-a-page) - 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 `fullWidth` setting. - 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-metadata` from 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 `getResumeScreenshot` or `printResumeAsPDF` endpoints. 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 There's still a lot more that I'm forgetting, but I'm sure you'll find out soon enough as you explore the new version. I hope you enjoy building your resume now, better than ever. If you have any feedback, please feel free to [contact me](https://amruthpillai.com/#contact) or [open an issue](https://github.com/amruthpillai/reactive-resume/issues) on GitHub.