v2.4
RenderCV is back on track!
This is a major release that closes 24 issues and includes a full refactor of the codebase. A large amount of technical debt has been eliminated, resulting in a cleaner, more predictable system. Many parts of RenderCV now behave more consistently and are easier to extend.
The README and full documentation have been fully rewritten. Make sure to explore them. There’s a lot of new guidance, clearer explanations, and updated examples.
If you use VS Code, check this out: Set Up VS Code for RenderCV.
Typst templates have been greatly simplified, and RenderCV now ships with its own official Typst package. When upgrading to v2.4, review your updated Typst files to see the improved structure.
If you're interested in learning how a project like RenderCV is designed, managed, and built, the Developer Guide now serves as an educational resource that explains the architecture, technologies, and workflows behind it.
Full Changelog: https://github.com/rendercv/rendercv/compare/v2.3...v2.4
Added
- A new optional
cv.headlinefield has been added to display a position title at the top of the CV (#442). - Built-in locale defaults for 11 languages have been added: French, German, Hindi, Italian, Japanese, Korean, Mandarin Chinese, Portuguese, Russian, Spanish, and Turkish. Users can now use these locales without writing all the translations themselves.
- Nested bullet points are now supported in highlights (#177).
- WhatsApp has been added as a social network type (#319).
- The
cv.custom_connectionsfield has been added to allow users to define custom header connections with a placeholder (displayed text), optional URL, and Font Awesome icon name (#408). - Support for multiple email addresses, websites, and phone numbers has been added (#541).
--quietoption has been addedrendercv rendercommand to suppress all messages (#394).
Changed
- RenderCV now uses its own Typst package, making Typst templates much clearer and simpler. The package is maintained at rendercv/rendercv-typst.
- The documentation has been completely rewritten, including the user guide and developer guide.
- The
designfield structure has been completely redesigned for better clarity and organization. - The
rendercv_settingsfield has been renamed tosettings. - The
rendercv_settings.datefield has been renamed tosettings.current_date.
Fixed
- Image paths are now correctly handled when providing a full image path for the photo field (#361).
- The less than symbol
<no longer causes an "unclosed label" error (#364). - Typst commands with parentheses (e.g.,
#h(1cm)) are now properly recognized and not escaped (#383). C++and other strings ending with++or special characters are now formatted correctly (#388, #446).- Rendering issues when modifying
design.entry_typestemplates have been fixed (#413). - The
--watchoption now correctly triggers re-rendering when the YAML file changes (#513). bold_keywordsare now properly applied toPublicationEntryauthors (#516).- Calling
rendercvwith invalid arguments now displays help text instead of raising a TypeError (#526). - Page margin parsing issues in v2.3 have been resolved (#531).
- Arbitrary keys in entries are now correctly recognized and substituted in templates (#334, #376, #534).