Skip to content

Releases: jorritvanderheide/new-leaf

New Leaf 0.8.0

New Leaf 0.8.0 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 12 Oct 11:53
e65303a
  • The bar with the language, the look and the pages floats over the
    preview, and the PDF scrolls under it. On a phone the PDF shows up to the
    version's header; on a larger screen it is cut off at the bar.
  • The CV menu shows the CV's photo instead of its initials, when it has one.

New Leaf 0.7.3

New Leaf 0.7.3 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 09 Oct 17:59
379068e
  • On a phone, a zoomed preview reaches the edges of the screen, and the bar
    with the language and the look keeps its space while the PDF scrolls
    under it.
  • Keyboard shortcuts are shown as Ctrl (Ctrl+K, Ctrl+Z) instead of ⌘, in
    the editor and the README. Ctrl works on a Mac too, as does ⌘.
  • Questions before something that can't be undone (stopping sharing,
    deleting a CV or a shared version, replacing your CV with a backup or a
    resume, removing your photo, discarding a new item), and the section for a
    new item, are asked in dialogs like the editor's others, instead of the
    browser's own. A tap outside one closes just that dialog.
  • A new item in a section with single dates, such as publications, closes
    without asking to discard it when nothing was typed in it yet.
  • A backup has the CV's share links again. Since 0.7.0 they were left out,
    so restoring a backup on a server took the CV's links offline.

New Leaf 0.7.2

New Leaf 0.7.2 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 09 Oct 06:27
a123439
  • Sections can be dragged into a new order on a touchscreen too, by their
    handle.
  • The "Add an item to another section" box has room before its "+".
  • The rainbow button for a colour of your own is gone from Look for now; it
    didn't work as it should. An accent you already picked stays.
  • A name over two lines has them about as long, and closer together, in the
    PDF and on share pages.
  • On a phone, pinching the preview zooms the PDF rather than the whole
    editor, and the pages are drawn sharp again once you let go.

New Leaf 0.7.1

New Leaf 0.7.1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 09 Oct 06:27
40ccb40
  • A new share link's address is 12 random characters, without the version's
    name: that told whoever got a link what the version was made for, such as
    another company's application. Links you already shared keep their address.

New Leaf 0.7.0

New Leaf 0.7.0 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 08 Oct 18:57
d059358
  • A backup is checked as fully as opening the CV would: one with versions
    that can't be read is refused, instead of restoring and then never
    opening.
  • A backup may unpack to at most 100 MB and 5,000 files, so a small zip
    can't fill the disk.
  • A photo may be at most 40 megapixels. A small file can claim to be a huge
    image, which would take the server gigabytes to open; one already there is
    left out of PDFs and share pages.
  • An item named after a long organisation, over 64 characters, can be saved:
    its id is shortened. JSON Resume imports with one failed altogether.
  • A JSON Resume job with only an end date is imported as ending then, not as
    going on until now.
  • Two small races: deleting two CVs at once could remove the last one, and a
    restore could briefly take the CV's share pages offline.
  • One share page per link, with every language on it. It opens in the
    language you choose when sharing (the version's, unless you pick another),
    and visitors switch with the language buttons, on the same page and without
    script. Addresses you already shared keep working: /<slug>/<lang>/ sends
    visitors on. A link is one file now, links/<slug>.md, with name, lang
    and expires.
  • One default accent. A version or link saved without an accent was teal,
    from before green was the default; the migration writes teal into those, so
    green is the default everywhere.
  • The CV format is now 2; CVs and backups move over when opened or restored.
  • The NixOS option manageInEditor is now manage, as the flag -manage. The
    old name keeps working, with a warning, until 2.0.
  • new-leaf serve needs -public-url: it used to default to
    https://cv.example.com, which made share links point there. The NixOS
    module and the container always set it.
  • The container image is also tagged X.Y and X, so you can follow a major
    version; release candidates no longer move latest.

New Leaf 0.6.1

New Leaf 0.6.1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 08 Oct 18:59
063dcbe
  • Security: behind tailscale serve, a tailnet user could sign in as
    another
    by sending an X-Real-IP header with their address. That
    affects the NixOS module's tailscaleServe and the container; nginx was
    safe. Update if you use either.
  • Security: a restored backup could take over another CV's share page. A
    restored share link now keeps its address only if no other CV uses it.
  • Security: on your own computer, New Leaf only answers this computer,
    also when -listen is set to an address the network can reach. Before, a
    request from elsewhere that claimed to be for localhost got in.
  • With ownersOnly, a cv.json that can't be read closes its CV instead of
    opening it to everyone.
  • Configured CVs (users) can be given as a full tailnet login, for exactly
    that login, which matters with ownersOnly on a tailnet with people from
    other domains.

New Leaf 0.6.0

New Leaf 0.6.0 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 08 Oct 17:16
7ef008b

Changes

  • A format version for CVs. The profile's shared fields (name, contact
    details, links, languages and the defaults for new versions) are now in
    content/_index.md, with format: 1, and _index.<lang>.md only holds the
    text. CVs and backups from before are moved over when they're opened or
    restored. A New Leaf from before this release shows a CV that has been moved
    over without its name and contact details, so download a backup before going
    back to one.
  • Share links end in the server's time zone, instead of always in
    Europe/Amsterdam. Set it with -timezone (NEW_LEAF_TIMEZONE, or
    services.new-leaf.timeZone, which follows time.timeZone). The container
    image's own time zone is UTC.
  • PDFs that machines read well. The name, sections and items are tagged
    as headings, the sections are bookmarks, and the photo has alt text, so
    screen readers and applicant tracking systems get the CV's structure. The
    PDFs look exactly as before.
  • JSON Resume, in and out. Import one on the Profile page to start from a
    CV made elsewhere, or download yours in one of its languages. Sections that
    JSON Resume doesn't have go out as projects, and come back where they were.
  • CVs for their owners only, as an option for a tailnet shared with people
    who shouldn't edit each other's CVs: -owners-only, or
    services.new-leaf.ownersOnly. You own the CVs you make, and a configured
    CV is owned by the person it's named after. A CV without owners stays open
    to everyone until someone adds themselves.
  • /healthz on the editor, for monitoring: ok, or 503 and what's
    wrong. It needs no tailnet identity.
  • A stricter content security policy for the editor, without
    unsafe-eval: Alpine is now its CSP build. A CV's text can't be run as
    script anyway, and now no expression can be evaluated from a string either.
  • Better with a screen reader. In the preview, each item is a group
    named after it, with Edit and Hide buttons that show when they have focus,
    and the pages are named. In the outline, Alt+↑/↓ on a section's handle says
    where the section went, the All and None buttons say which section they're
    for, and a missing translation is read out.
  • The title of an item being edited now also shows for a CV without English
    or Dutch.
  • A new logo.

New Leaf 0.5.0

New Leaf 0.5.0 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 08 Oct 14:18
cc9b951

New Leaf 0.5.0

The first public release, and a pre-release. New Leaf keeps one CV and turns it into a version for every application: its own items, section order, language and look, with the PDF next to it as you work. It runs on your own computer, or on a server for everyone on your Tailscale network, with share links on the web.

What it does

  • Items, once. Everything you have done is an item, with its dates, organisation, place and a Markdown description. Fix a typo once and every version has it.
  • A version per application. Tick the items it shows, drag the sections into the order that suits it, and pick its language and look. New items join the versions that show everything, not the ones you tailored.
  • The PDF next to it. Click anything in the preview to edit it or hide it from this version. The item list shows where each page starts, and the page count says how many lines you are over, or how much room is left. Fit on sets the spacing as generous as still fits on the pages you pick.
  • Looks. An accent colour, a sans-serif or serif typeface, the photo's shape and the spacing, for the PDF and the share page alike. A look can be the starting point for new versions.
  • One language or two. English, Dutch, German, French, Spanish, Italian or Portuguese, chosen per CV. With two, each item has text in both, and a warning shows what is still missing.
  • Share links (on a server). A web page with the PDF, in each of your languages, at an address nobody can guess. It follows the version as you change it, until a date you choose or until you stop sharing.
  • Also: light and dark mode, more than one CV, backups you can restore on another computer or a server, undo for a version's choices, ⌘K to find anything, and a layout that works on a phone.

Installation

On your own computer: download the archive for your system below, unpack it and run new-leaf (new-leaf.exe on Windows). Typst, which makes the PDFs, is in the archive. The programs are not signed: on macOS, right-click new-leaf and choose Open the first time; on Windows, choose More info and Run anyway.

With Nix: nix run git+https://codeberg.org/BW20/new-leaf.

On a server: see Self-hosting. The NixOS module sets it up either with Tailscale alone (no domain, web server or open port) or with nginx on your own domains. There is a Docker setup too, with the image at ghcr.io/jorritvanderheide/new-leaf:0.5.0.

What it writes

Your CV is a folder of Markdown files with YAML front matter, plus a JSON file per version, in ~/.local/share/new-leaf on Linux, ~/Library/Application Support/new-leaf on macOS and %AppData%\new-leaf on Windows. On your own computer New Leaf only answers on localhost, connects to nothing, and runs Typst in a temporary folder that can't see your other files. On a server it asks Tailscale who a visitor is, and nothing else; share links are static files.

This is a pre-release

Everything is tested, but some of it only on my own machines:

  • The German, French, Spanish, Italian and Portuguese words New Leaf adds to a CV (section titles, months) haven't been read by native speakers yet. Corrections are very welcome.
  • The Tailscale-only setup and the Docker setup haven't yet run against a real tailnet with Funnel.

Please open an issue if something doesn't work.

Checking your download

Every archive and the container image come with a signed build provenance attestation:

gh attestation verify new-leaf-0.5.0-linux-amd64.tar.gz --repo jorritvanderheide/new-leaf