docs/changelog/index.mdx
Local development now uses PORT=3000 for Vite and SERVER_PORT=3001 for the Hono server. This should not affect
production deployments.
</Note>
apps/server app that mounts auth, RPC, MCP, OpenAPI, uploads, schema JSON, SEO endpoints, health checks, and the built web app from one Node.js process. ecc1fd9a8, 9033da082web and server, runs node apps/server/dist/index.mjs, and keeps /api/health pointed at the production server port. ecc1fd9a8SERVER_PORT for local development. Vite serves the web app on PORT and proxies API, MCP, upload, well-known, and schema routes to the Hono server on SERVER_PORT.apps/web/dist, apps/server/dist, server package dependencies, and migrations into the runtime image. The production start command is now node apps/server/dist/index.mjs.compose.yml to use the published image by default and load app configuration through .env instead of embedding the main app environment block inline.compose.dev.yml to expose both 3000 and 3001, add an app profile, and health-check the Hono server port.OAUTH_DYNAMIC_CLIENT_REDIRECT_HOSTS. Dynamic OAuth client registration now allows the app origin and loopback callbacks by default.FLAG_ALLOW_UNSAFE_OAUTH_REDIRECT_URI for trusted self-hosted deployments that intentionally need arbitrary redirect URIs, including custom schemes, private hosts, or non-loopback http:// callbacks. Keep this disabled on public or multi-tenant instances. 445359ebeBETTER_AUTH_URL and BETTER_AUTH_SECRET override path. Auth metadata, JWKS, and OAuth callback URLs are now derived from APP_URL and AUTH_SECRET.CROWDIN_PERSONAL_TOKEN to CROWDIN_API_TOKEN.apps/server.apps/web/dist, with the Hono server serving the built app and static fallback responses.robots.txt, sitemap.xml, llms.txt, structured data helpers, and server-owned SEO responses. 8fcf0ec64turbo.json files to enforce browser, server, domain, adapter, and infra ownership.@reactive-resume/docx, @reactive-resume/mcp, and @reactive-resume/resume.packages/scripts to tooling so workspace packages contain app/runtime code rather than private repo tooling.packages/api/src/features/*.snapshot_data on agent actions. Legacy actions without snapshots remain non-restorable.agent_actions.snapshot_data and drops agent_actions.inverse_operations.web_search behavior instead of app-owned URL fetching.FLAG_ALLOW_UNSAFE_AI_BASE_URL, with public HTTPS provider URLs remaining the default safe path.apps/web/src/features/resume/preview and public resume viewer code into apps/web/src/features/resume/public.@reactive-resume/pdf/browser and @reactive-resume/pdf/server generation adapters.Full Changelog: v5.1.4...v5.1.5 </Update>
<Update label="v5.1.4" description="14th May 2026"> <Note> **Self-hosters using AI features:** saved AI providers now require `ENCRYPTION_SECRET`, and the new AI Agent workspace also requires `REDIS_URL`. Agent attachments require S3-compatible storage for private objects; local filesystem storage still works for the rest of the app, but rejects private agent attachments. </Note>New AI Agent workspace. Added a dedicated full-screen Agent workspace for working on isolated AI draft copies of resumes. Threads include a sidebar, chat, tool activity, file attachments, and a read-only resume preview with PDF download support. #3062
Reviewable and reversible agent edits. Agent-applied resume patches now appear as expandable tool activity, with raw JSON Patch details, operation summaries, revert support, and clear conflict handling when the resume has changed. #3062
Public resumes now render with PDF.js. Public resume pages now use the PDF.js-based viewer path, improving parity between the public page, builder preview, and exported PDF. #3061
FLAG_ALLOW_UNSAFE_AI_BASE_URL for trusted self-hosted deployments that need private or local AI provider URLs, while still restricting provider URLs to http or https. Thanks to @SirSKillz. #3059Times New Roman, Cambria, Arial, Garamond, and Calibri, including Carlito as the Calibri-compatible target. #3057Full Changelog: v5.1.3...v5.1.4 </Update>
<Update label="v5.1.3" description="13th May 2026"> ## HighlightsNew Scizor resume template. Added the new Scizor layout to the template lineup, including builder support, schema/docs updates, and localization strings. 00dafd0c6, 5f63dc876
Smarter page settings in the builder. Empty sections are now hidden from page settings to reduce noise and make layout management easier. #3052
Faster, smoother preview loading. Improved resume preview loading behavior and added focused tests for preview components. 92a0e3ddb
Full Changelog: v5.1.2...v5.1.3 </Update>
<Update label="v5.1.2" description="10th May 2026"> <Note> **Self-hosters using local storage:** the official Docker image now sets `LOCAL_STORAGE_PATH=/app/data` and validates that the directory is writable at startup. If you override the container environment, keep `LOCAL_STORAGE_PATH` pointed at an absolute writable path. </Note>LOCAL_STORAGE_PATH instead of relying on the runtime working directory. #3004.env.example, the Dockerfile, Compose configuration, and Docker self-hosting docs for the new local storage path behavior. #3004Full Changelog: v5.1.1...v5.1.2 </Update>
<Update label="v5.1.1" description="8th May 2026"> ## HighlightsGET /resumes/{id}/pdf endpoint so API clients can generate and download a resume PDF directly. The OpenAPI spec has been updated with the new route. 5042ad9d.env from the workspace root for server-side code, improving local and self-hosted configuration behavior. #2987/app/data in the official container image and clarified the Docker storage documentation. #2990Full Changelog: v5.1.0...v5.1.1 </Update>
<Update label="v5.1.0" description="7th May 2026"> <Note> **Self-hosters, please read before upgrading.**printer, Browserless, or headless Chrome service alongside Reactive Resume. PDF generation is now performed entirely in your browser via @react-pdf/renderer. The BROWSERLESS_TOKEN, PRINTER_ENDPOINT, PRINTER_APP_URL, and FLAG_DEBUG_PRINTER environment variables are no longer read and can be removed from your .env.@react-pdf/renderer now produces the exported PDF directly in your browser, and the in-builder live preview is rendered with pdfjs, so what you see in the preview is exactly what you'll download.pdfjs against the same document tree used for export, eliminating the long-standing "looks fine in the preview but breaks in the PDF" class of bugs.react-hook-form and @hookform/* packages have been removed.@react-pdf/renderer, replacing the Puppeteer-specific printMarginTemplates workaround.printer: service block. The minimum stack is now just Reactive Resume + PostgreSQL (with optional S3-compatible storage and SMTP)./api/health simplified. The health endpoint now reports database and storage only, returning HTTP 503 if either dependency is unhealthy. There is no longer a printer field to monitor.@react-pdf/renderer, raw CSS no longer applies to the exported PDF. A structured customization API will return in a future release.PRINTER_* and BROWSERLESS_* environment variables, the printer/{resumeId} route, the getByIdForPrinter server function, and the printer-token signing code are all gone.Full Changelog: v5.0.20...v5.1.0 </Update>
<Update label="v5.0.20" description="27th April 2026"> ## Features & Improvements - Added the new **Meowth** resume template (compact ATS-friendly layout with an inline three-column entry header), thanks to [@JamesGoslings](https://github.com/JamesGoslings). [#2923](https://github.com/amruthpillai/reactive-resume/pull/2923) - Added support for custom icon colors on section items, thanks to [@Ruzenie](https://github.com/Ruzenie). [#2928](https://github.com/amruthpillai/reactive-resume/pull/2928) - Improved account-related email UX with better templates for password reset and email verification. [b87f2007](https://github.com/amruthpillai/reactive-resume/commit/b87f2007) - Consolidated separate settings pages into a single **Integrations** page for a more streamlined configuration flow. [5d8126d4](https://github.com/amruthpillai/reactive-resume/commit/5d8126d4)Skills section title (zh-CN). #2931Full Changelog: v5.0.19...v5.0.20 </Update>
<Update label="v5.0.19" description="25th April 2026"> ## Highlights - Added **OpenRouter** as an AI provider, thanks to [@iagodemacedo](https://github.com/iagodemacedo). [#2906](https://github.com/amruthpillai/reactive-resume/pull/2906) - Added Chinese font options, thanks to [@Platinum1154](https://github.com/Platinum1154). [#2905](https://github.com/amruthpillai/reactive-resume/pull/2905) - Added text color support to the rich text editor, including DOCX export handling for colored text, thanks to [@Platinum1154](https://github.com/Platinum1154). [#2903](https://github.com/amruthpillai/reactive-resume/pull/2903) - Fixed MCP tool names for Claude Desktop compatibility. [#2885](https://github.com/amruthpillai/reactive-resume/pull/2885) - Improved Docker-based local development support and refreshed self-hosting setup guidance. [849aad64](https://github.com/amruthpillai/reactive-resume/commit/849aad64), [c0387298](https://github.com/amruthpillai/reactive-resume/commit/c0387298)getByIdForPrinter, thanks to @shaxbozaka.SECURITY.md. 9e1e593dFull Changelog: v5.0.17...v5.0.19 </Update>
<Update label="v5.0.18" description="14th April 2026"> ## Features & Improvements - Re-enabled **Passkeys** across authentication flows, including passkey sign-in on the login page and passkey management in account settings.Location, Position, and Period are mapped and displayed correctly.JobCard component into its own file for better code organization.routeTree.gen.ts to .gitignore.willChange styles on animation components.@typescript/native-preview, vite-plus, and others.chat/completions for resume import and AI features.FLAG_DISABLE_IMAGE_PROCESSING (allows disabling image processing site-wide).CLAUDE.md.originWith to withHostname to preserve localhost/127.0.0.1 sibling trust.fullWidth property.fullWidth setting.Highlights:
And much more! Explore the new version and share your feedback via contact or GitHub issues. </Update>