Features & Improvements
- Added Job Listings with AI-Powered Resume Tailoring, a major new feature that integrates job search (via JSearch API) directly into the dashboard with AI-driven resume tailoring to match job descriptions. #2788
- Search for jobs with filters for location (city, state, country), employment type, remote status, and more.
- View detailed job listings in a slide-out panel with apply links and tags.
- Tailor your resume to a specific job posting using AI — rewrites skills, experience, and references for optimal fit.
- Per-user API quota management with usage tracking in settings.
- Pagination with 30 results per page.
- Added DOCX resume export — generate and download tailored resumes as Word documents. #2788
- Migrated the entire project toolchain to Vite+ (
vpCLI), unifying Vite, Vitest, Oxlint, and Oxfmt under a single developer experience. - Migrated from Biome to Oxlint/Oxfmt for linting and formatting, with a new autofix CI workflow. #2822
- Added Slovenian locale support.
- Added a new
ProgressUI component.
Fixes
- Fixed type issues in auth client and configuration.
- Used RTL-friendly CSS classes across the app for improved bidirectional layout support.
- Removed dead code and unused imports.
- Updated route tree generation and added
routeTree.gen.tsto.gitignore. - Improved animation performance with
willChangestyles on animation components.
Maintenance & Dependencies
- Updated dependencies across the board, including
@typescript/native-preview,vite-plus, and others. - Added database migrations for missing indexes.
- Synced translations from Crowdin. #2820, #2824
- Updated French translation for ‘Volunteer’ to ‘Bénévolat’. #2823
- Multiple translation and language updates across all locales.
New Contributors
- @lukadfagundes
- @Hephaisto-dev
Features & Improvements
- Refactored the component system to
@base-ui/reactacross the app for standardized UI behavior (dialogs, menus, accordions, comboboxes, switches, etc.). - Improved auth infrastructure with Better Auth dashboard/sentinel integration and expanded IP/header handling for proxied deployments.
- Added a dedicated
src/server.tsserver entry usingFastResponsefor better runtime compatibility. - Sidebar button list now scrolls internally on overflow.
Fixes
- Printer endpoint now resolves to IP when using chromedp, improving compatibility with proxied deployments.
- Switched OpenAI integration to
chat/completionsfor resume import and AI features. - AI PDF/DOCX resume parsing is now more robust via direct file send (multimodal input).
- Resume import normalization hardened: section defaults merged, required fields enforced, missing IDs/flags autogenerated.
- Fixed UI migration regressions (accordion behavior, button interaction, right sidebar scrollbar).
- Fixed multi-page PDF crashes and Gemini API ingestion errors.
- Fixed role title styling, role spacing, and issues with skills item rendering and template headings.
Maintenance & Dependencies
- Updated dependencies and lockfile.
- Synced translation strings across locales, including multiple contributions from Crowdin.
- General dependency and code style improvements, plus removal of redundant indexes and plugins.
New Contributors
- @yang-summer
- @FrancocDev
- @obitton
- @jondycz
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 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
- Added feature flag:
FLAG_DISABLE_IMAGE_PROCESSING(allows disabling image processing site-wide). - Updated Discord invite link in the app and documentation.
- Added comprehensive codebase and architecture documentation in
CLAUDE.md. - Synced latest translations from Crowdin (multiple language updates and additions).
Maintenance & Other
- Refactored auth utility from
originWithtowithHostnameto preserve localhost/127.0.0.1 sibling trust. - Updated dependencies and improved code style.
- Updated documentation and README files.
Features & Improvements
- Added Computer Modern web fonts to the font selector, allowing users to choose from LaTeX-style “Computer Modern” fonts for a classic scientific look.
- Updated dependencies to the latest versions.
Fixes
- Removed Passkey support from the authentication system due to provider compatibility issues.
- Updated dependencies to the latest versions.
Features & Improvements
- Introduced a new MCP (Model Context Protocol) server for managing and editing resumes from MCP-compatible AI tools (Claude Desktop, Cursor, Codex, and others). Supports listing, reading, creating, deleting, locking/unlocking, and patching resumes via natural language. (guide)
- Added an AI Chat panel to the resume builder, allowing conversational resume modifications through tool-calling (JSON Patch operations applied to the resume in real time with visual feedback).
- Added a system prompt and
patch_resumetool for structured, minimal-diff resume edits via RFC 6902 JSON Patch. - Chat history is now persisted per resume in localStorage.
Fixes
- Fixed rendering issues in the Lapras and Onyx resume templates.
- Improved Combobox and ScrollArea UI components.
- Fixed skills item rendering in shared resume components.
- Updated authentication configuration and route handling.
- Updated JSON Schema to match the latest resume data model.
Maintenance
- Updated dependencies to latest versions.
Features & Improvements
- Implemented Atomic Resume Patching API for fine-grained, partial updates to resumes via a new PATCH endpoint. #2692
- API endpoint
PUT /resume/{id}now returns the updated resume object rather than void, with explicit DTOs for input/output. #2688 - Added error logging for API server errors (server-side only) to improve debugging and reliability.
- Refactored and cleaned up imports/exports for clarity and maintainability.
- Added
.devcontainerconfiguration for improved contributor development environment. - Added build status badge and documentation link to README.
Fixes
- General bug fixes and minor improvements.
- Synced latest translations from Crowdin (notably: French, other languages).
- Updated dependencies to latest versions.
Features & Improvements
- Implemented Cover Letter functionality as a custom section in the resume builder. (link)
- Added full-screen mode to the rich text editor for distraction-free writing.
- Introduced a new custom section type:
summary, enabling users to add extra summary sections. - Added
useFormBlockerhook to prevent dialogs from being closed with unsaved form changes.
Fixes
- Fixed keyword spacing issue in the interests section. #2631
- Fixed AI connection test and improved error reporting for AI provider issues.
Features & Improvements
- Brought back Undo/Redo functionality in the resume builder for an improved editing experience.
- Sidebar builder now arranges dynamically based on the section type in each template. #2564
- Added PWA (Progressive Web App) support and updated PDF example file links in documentation.
Fixes
- Removed extra spacing when proficiency is empty. #2607
- Fixed Pikachu template: header/page picture rendering, and respect for
fullWidthproperty. - General template improvements for layout and rendering consistency.
- Fixed GitHub OAuth login for users migrated from previous versions.
- Improved printer service communication and reduced resource usage for more reliable PDF generation.
- Fixed “empty” Git merge remnants in codebase.
Maintenance
- Synced translations from Crowdin (Afrikaans, Persian, Portuguese/Brazilian, others).
- Updated translation sources and configuration.
- Updated package dependencies and fixed self-hosting guide links in README.
- Removed dead code and updated screenshots.
- Other bug fixes and minor improvements (#2542, #2573, #2598).
Features & Improvements
- Added support for printing Free-Form PDFs (no fixed page height), allowing for custom-fit page content. (link)
- Allow overriding the default endpoint for all AI providers, not just Ollama; default endpoint now visible in AI settings.
- Updated the chip input component: supports adding, editing, removing, and reordering keywords for skills and other sections.
- Improved RTL support across the app, thanks to @obreo. (link)
Fixes
- Updated translation configuration to remove line numbers, reducing unnecessary diffs.
- Homepage video optimized for faster loading without quality loss.
- Increased screenshot TTL for resumes to reduce unnecessary regenerations.
- Updated dependencies and translations to latest versions.
Features & Improvements
- Added an agent skill
skills/resume-builderfor agentic AI assistants, enabling resume construction through conversational AI. - Added a guide for how to fit content on a page when exporting to PDF. (link)
- Alert user when content is too tall for a page for easier export troubleshooting.
Fixes
- Ditgar template now respects
fullWidthsetting. - Updated JSON Schema for proper format.
- Updated Discord server invite link.
- Updated dependencies to latest versions.
Maintenance & Fixes
- Updated translations from Crowdin.
- Added Community Spotlight section to the documentation.
- Removed
-r require-metadatafrom the Dockerfile (was not needed). - Fixed inconsistencies in Docker compose documentation examples.
- Fixed username validation to allow hyphens.
- Fixed issues with the printer service when using
getResumeScreenshotorprintResumeAsPDFendpoints.
This release is a major overhaul of Reactive Resume. The app has been completely redesigned and rebuilt from scratch for a more intuitive, user-friendly experience.Highlights:
- 2 new resume templates: Ditgar and Lapras
- Passkeys for authentication
- Entirely new user interface and refreshed design
- API access and reference docs
- AI Integration with OpenAI, Google, Anthropic, and Ollama
- Improved font selector with real-time preview
- Expanded and improved documentation, with more how-to guides
- Redesigned template gallery with detailed views
- Resume import from PDF/DOCX (requires AI Integration)
- Stronger infrastructure for better reliability and scalability
- Drag-and-drop for moving items between sections and pages
- Powerful new CSS Editor with autocompletion and highlighting
- Custom sections now support typed extension for finer control
- Icon style selector for indicators (stars, circles, custom, etc.)
- Sidebar width adjustment and full-width page support