Highlights
- Dedicated Hono server runtime. Reactive Resume now builds a separate
apps/serverapp that mounts auth, RPC, MCP, OpenAPI, uploads, schema JSON, SEO endpoints, health checks, and the built web app from one Node.js process. ecc1fd9a8, 9033da082 - Clearer self-hosting runtime model. The Docker image now builds both
webandserver, runsnode apps/server/dist/index.mjs, and keeps/api/healthpointed at the production server port. ecc1fd9a8 - Safer Agent restore behavior. Agent edits now store a resume snapshot before applying a patch, so restoring an action can roll the draft back to the exact prior state and mark later agent patches as rolled back. d961e6535
Self-Hosting & Environment
- Added
SERVER_PORTfor local development. Vite serves the web app onPORTand proxies API, MCP, upload, well-known, and schema routes to the Hono server onSERVER_PORT. - Updated the production Dockerfile to copy
apps/web/dist,apps/server/dist, server package dependencies, and migrations into the runtime image. The production start command is nownode apps/server/dist/index.mjs. - Updated
compose.ymlto use the published image by default and load app configuration through.envinstead of embedding the main app environment block inline. - Updated
compose.dev.ymlto expose both3000and3001, add an app profile, and health-check the Hono server port. - Startup checks now run from the server process, including database migrations and local storage writability validation when S3-compatible storage is not configured.
- Removed
OAUTH_DYNAMIC_CLIENT_REDIRECT_HOSTS. Dynamic OAuth client registration now allows the app origin and loopback callbacks by default. - Added
FLAG_ALLOW_UNSAFE_OAUTH_REDIRECT_URIfor trusted self-hosted deployments that intentionally need arbitrary redirect URIs, including custom schemes, private hosts, or non-loopbackhttp://callbacks. Keep this disabled on public or multi-tenant instances. 445359ebe - Removed the documented
BETTER_AUTH_URLandBETTER_AUTH_SECREToverride path. Auth metadata, JWKS, and OAuth callback URLs are now derived fromAPP_URLandAUTH_SECRET. - Removed Cloudflare URL extraction environment variables. Live Agent web research now depends on the selected AI provider and model supporting native web search.
- Renamed the Crowdin token example from
CROWDIN_PERSONAL_TOKENtoCROWDIN_API_TOKEN.
App Runtime & Architecture
- Moved API/auth/MCP/OpenAPI/static route ownership out of the web app and into
apps/server. - Changed the web app build to a Vite/TanStack Router SPA output under
apps/web/dist, with the Hono server serving the built app and static fallback responses. - Added
robots.txt,sitemap.xml,llms.txt, structured data helpers, and server-owned SEO responses. 8fcf0ec64 - Added package-boundary rules to Turborepo and per-workspace
turbo.jsonfiles to enforce browser, server, domain, adapter, and infra ownership. - Split focused domains into new packages:
@reactive-resume/docx,@reactive-resume/mcp, and@reactive-resume/resume. - Moved development-only scripts from
packages/scriptstotoolingso workspace packages contain app/runtime code rather than private repo tooling. - Reorganized API implementation into feature-owned modules under
packages/api/src/features/*.
AI & Agent Workflows
- Replaced stored inverse JSON patches with
snapshot_dataon agent actions. Legacy actions without snapshots remain non-restorable. - Added a migration that adds
agent_actions.snapshot_dataand dropsagent_actions.inverse_operations. - Updated Agent UI and docs from "Revert" language to "Restore" language to clarify that restoring an older action rolls back that action and later applied agent patches.
- Updated Agent tool documentation to describe provider-native
web_searchbehavior instead of app-owned URL fetching. - Kept unsafe/private AI provider base URLs behind
FLAG_ALLOW_UNSAFE_AI_BASE_URL, with public HTTPS provider URLs remaining the default safe path.
Resume Rendering & Exports
- Moved browser PDF preview code into
apps/web/src/features/resume/previewand public resume viewer code intoapps/web/src/features/resume/public. - Added direct PDF.js canvas preview and thumbnail rendering through legacy PDF.js entrypoints, with tests that prevent browser preview code from importing the modern PDF.js runtime. 7cade6980
- Added explicit
@reactive-resume/pdf/browserand@reactive-resume/pdf/servergeneration adapters. - Simplified shared sidebar summary handling for PDF templates and added focused coverage for featured summary behavior. 17f351171
Docs & Maintenance
- Added new use-case docs for free, open-source, self-hosted, privacy-focused, export/share, AI, and API/MCP resume workflows.
- Rewrote contributor architecture docs around the new monorepo runtime, package ownership model, and boundary checks.
- Updated self-hosting Docker and SSO docs for the Hono runtime, removed environment variables, OAuth redirect safety, provider-native Agent web research, and local development ports.
- Added and updated architecture notes, plans, and specs for the Hono migration, monorepo reorganization, Docker tagging, manifest-only PWA behavior, unsafe OAuth redirect policy, and Agent snapshot restore design.
- Updated Knip configuration so server runtime dependencies that are imported by the built server bundle are treated as intentional dependencies.
Full Changelog: v5.1.4...v5.1.5