Skip to content

v5.3.0

Latest

Choose a tag to compare

@amruthpillai amruthpillai released this 06 Sep 15:55
· 4 commits to main since this release
86a72be

Highlights

  • Manage cover letters in one shared library. Create, import, search, edit, duplicate, preview, download, and reuse cover letters from the dashboard or resume builder. Letters now keep their own template while still letting you copy sender details and content from a resume. (#3255) 1d4194a20, df2e21ef9, a3784558b
  • MCP connections now use a complete OAuth consent flow. Dynamic client registration works again, signed authorization requests survive login and two-factor authentication, and a new screen asks users to explicitly Allow or Deny access. (#3392) fe9b59e11
  • Import PDF resumes without configuring an AI provider. PDFs with readable text are now parsed locally in the browser and turned into an editable resume, while the existing AI-assisted path remains available when a provider is connected. Thanks to @Syed-Ali-Abbas-Zaidi. (#3334) cce6d64af
  • Do more from the application tracker. Export the current filtered view to CSV, save contact email and phone details, and turn a generated cover letter into a PDF attachment. Thanks to @emanuelet. (#3393) a3585a24e, 1f0844b39, bf27792ca
  • Recover and reorganize resume sections more safely. Restore hidden printable sections, sort dated entries on demand, and choose whether each section heading appears in the exported resume. (#2725, #3060) 5850230f8, b85d285b6, 368858a56
  • Choose how profile photos fit. Cover fills the frame, Contain keeps the whole image visible, and the crop dialog can now upload the original file without cropping. Upload limits are clearer and crop compression is preserved. (#3305) ab67831e4, fa4115072, 40c997a39
  • Resume previews expose a clearer outline to screen readers. Entries and nested roles use consistent heading levels, while paragraphs, lists, emphasis, and safe links retain their meaning in the accessible view. 9f0202eac, acd2a9cfe
  • Public sharing is more configurable. Hide the PDF download button per resume, count successful public downloads correctly, or serve one configured public resume directly from your self-hosted root URL. (#3360, #3366) 14c7c0651, cddb01f03, 744eaa902

Cover Letters & Applications

  • Added a persistent cover-letter library with ownership-safe saves, revision checks, search, import, duplication, PDF preview and download, resume-content copying, and application attachment snapshots. (#3255) 1d4194a20
  • Separated cover-letter templates from resume-based sender details. Refreshing sender information no longer changes the selected letter template, and the resume builder now links directly to its cover letter. df2e21ef9, a3784558b
  • Added one-click PDF generation and attachment for Application Copilot cover letters, with retryable progress states. Thanks to @emanuelet. bf27792ca
  • Added contact email and phone fields to applications. Thanks to @emanuelet. 1f0844b39
  • Added CSV export for the current filtered application list. (#3393) a3585a24e
  • Fixed saved application notes not appearing in the detail view. (#3391) 00a1357de
  • Fixed cover-letter copy failures so errors are reported without leaving stale content behind. Thanks to @emanuelet. ef47baf24
  • Fixed Application Copilot provider failures returning an internal-server error instead of a useful upstream-provider error. Thanks to @santhiprakash. (#3312) c4eb9d860

Resume Builder & Editing

  • Added a Compact resume-library view alongside Grid and List, with the selected view remembered for the browser session. (#3247) 1f308af72
  • Added local PDF resume import for users without an AI provider. Scanned PDFs without readable text now receive a clear error instead of entering a blocked import path. Thanks to @Syed-Ali-Abbas-Zaidi. (#3334) cce6d64af
  • Added hidden-section recovery so printable sections missing from the layout can be restored without disturbing authored placement. 5850230f8
  • Added one-shot ascending or descending date sorting for supported sections. Sorting is explicit and does not keep rearranging later edits. (#2725) b85d285b6
  • Added per-section heading visibility, allowing repeated or unnecessary headings to be hidden without hiding section content. (#3060) 368858a56
  • Added Inline and List presentation options for skill keywords, including controlled line breaks for long skill lists. Thanks to @diego-vega-centeno. (#2785) 8df1b2555, 870388192
  • Added whole-paragraph indentation and kept authored spaces intact through editing and export. (#3397) f468651c7, ea97de5ec
  • Preserved imported tables as editable rich-text tables instead of flattening or losing their structure. 999cd618c
  • Saved pending resume edits before navigation, preventing the last change from being lost when leaving the builder. a4bdc54b2
  • Removed empty custom sections and their now-unused pages after moving the final item elsewhere. (#3180) 97ccb4ba0
  • Preserved explicitly entered http:// links instead of silently rewriting them to HTTPS. (#2735) 2cbb0f63e
  • Kept the color picker preview synchronized with the stylesheet source. (#3291) 735e70092
  • Rendered resume thumbnails at their displayed pixel density for clearer cards without unnecessary work. 2e711fd14
  • Added clearer explanations for content that intentionally overflows an authored page and for unsupported CSS gradients. 0fbeeeb4c, 38832014b
  • Hardened rich-text paste handling and removed an unsafe clipboard parsing pattern. 97f34b7cc

PDF Export & Templates

  • Preserved vertical margins when an item continues onto another page. (#3337) bf71253ca
  • Kept dates aligned when optional fields are empty, constrained Onyx headlines to page margins, and aligned Ditgar item headers with body text. (#3338, #3339, #3068) a2d6bc0c6, a95e63246, 873835a57
  • Added optional German hyphenation to improve line wrapping without changing existing resumes by default. (#3340) 7d809da6f
  • Restored picture borders and soft shadows in PDF output. (#3017) 57fee67d2
  • Fixed skill ratings across templates: grid rows now align, icon opacity reflects the selected level, and Gengar keeps the intended rating order. (#3343, #3352, #2611) 6d39074c5, 93e8d192a, 2a4a1583b
  • Localized default section headings in server-rendered PDFs, applied semantic heading colors, and stopped the first character of headings from being clipped. Thanks to @santhiprakash. (#2804, #3348, #3380) b6842fb76, d53b89ba2, e0c2f6d88
  • Kept unordered-list markers with their first text fragment across page breaks and moved ordered-list markers clear of body text. (#3344) ea2beb845, 8d4cf8a2f
  • Preserved imported rich-text content even when older data lacks semantic descendants. aada38088
  • Improved text placement and font handling by honoring requested font metrics, isolating cached glyph metadata, preserving authored Unicode spaces, and retaining glyph positions in RTL previews. 8354c39c4, d10eb4a55, 05e48a7cb, 5c8338c17
  • Centered the resume preview correctly in RTL interfaces. (#2745) 9fdcec2ec
  • Allowed gaps between level decorations in custom styles. f629ea1ea

Sharing, Authentication & Accessibility

  • Added a per-resume setting to hide the public PDF download button. (#3360) 14c7c0651
  • Counted successful public PDF downloads in resume statistics. (#3366) cddb01f03
  • Added ROOT_RESUME_ID so self-hosters can publish one resume directly at the site root. 744eaa902
  • Replaced resume-specific social preview images with a neutral preview and hid the “build your own resume” signup link when registration is disabled. (#3359, #3401) 0878b256a, 18b5aa474
  • Added password confirmation, labels, and immediate validation to resume sharing, including the documented minimum length. (#3370) 321f2fb43
  • Fixed label targeting for Slug, Tags, Sidebar Width, and related form controls. Thanks to @santhiprakash. (#3369) ea3980cba
  • Added accessible labels to remaining website and picture inputs and restored hover feedback on primary buttons. (#3251) 5a6f5d4d6, ddbbbde80
  • Improved the builder's screen-reader outline with entry and nested-role headings, semantic rich text, safe links, stable section order, and correct handling of hidden content. This advances #2844; public viewer and exported-document accessibility remain separate work. 9f0202eac, acd2a9cfe

Self-Hosting & Integrations

  • Restored MCP OAuth dynamic client registration and resource-aware authorization. A new consent screen shows the signed-in account and requesting client, requires an explicit Allow or Deny decision, and preserves signed requests through login, registration, social authentication, passkeys, and two-factor authentication. Existing OAuth rows survive the upgrade, but previously registered clients must reconnect to establish resource grants. (#3392) fe9b59e11
  • Added the OAuth provider tables required by Better Auth and aligned the account schema with Better Auth 1.7.3 while preserving existing issuer values. fe9b59e11, cea27a97b
  • Supported S3-compatible buckets that have object ACLs disabled. 35cecf9c9
  • Loaded local environment overrides correctly in Docker Compose. (#3361) 53288fcd3
  • Exposed the running application version through the health endpoint. (#3347) cd1c597ff
  • Invalidated cached build tasks when consumed workspace source changes, preventing stale application builds. 7390c81b7
  • Added AI_TEST_TIMEOUT_MS for slower AI-provider health checks. Thanks to @santhiprakash. (#3374) 861ba8bf6
  • Rejected invalid resume writes instead of silently coercing values outside the published schema. (#3368) 779ea5cb4
  • Preserved optional Nodemailer settings in strict TypeScript configurations. 165841af4
  • Refreshed interface and documentation copy, synchronized translation catalogs from Crowdin, and updated workspace dependencies. f29b92e2f, d277518d2, 7fef84078, e272037be

Full Changelog: v5.2.9...v5.3.0