Changelog

September 24, 2026

Site DOI registration takes shape

Site DOI registration is taking shape: the configuration a site needs is in place, with Crossref validating a prefix and its depositor role before it is saved, while registering DOIs for submissions on top of it is still in progress. Tags update instantly on the submission details page, and readers on openRxiv Labs get an advanced edge cache in front of every article artifact.

Curvenote SCMS

Site admins get the groundwork for site DOI registration: a per-site DOI config, admin-only site:doi:* scopes, and a validated Crossref lookup client that checks the prefix (and the depositor role bound to it) before anything is saved. On top of that foundation, a Site → DOI Registration setup flow arrives — pick a Curvenote-managed or your own Crossref prefix, bind the depositor role, and see Crossref validate the prefix before it commits. System admins get separate link, unlink, and reset actions in an advanced card. What ships now is the configuration a site needs before DOIs can be registered; registering them for submissions is still being built, so expect this area to keep moving over the coming weeks.

The Site → DOI Registration page before setup: a site registers DOIs under Curvenote’s prefix, included with every site and needing no Crossref account, or under its own prefix and Crossref membership on an enterprise plan.

Figure 1:The Site → DOI Registration page before setup: a site registers DOIs under Curvenote’s prefix, included with every site and needing no Crossref account, or under its own prefix and Crossref membership on an enterprise plan.

Alongside the DOI work, submission tags get two quality-of-life passes: the Tags catalog page now shows a Submissions count per tag and states the count on the delete-confirmation dialog, so an editor sees how many submissions a delete will affect; and tag assignments on the submission details page now update optimistically — chips flip immediately, and errors surface a specific toast while the request is still in flight. For extension authors, jobs expose a new onJobPatch hook on PATCH /api/v1/jobs/:id so external ingestion pipelines can map milestone updates onto work-version metadata without touching core loaders, and a build-tooling fix lets extensions that carry their own database schema pick up schema edits on rebuild.

Curvenote Sites

Site admins pick up the DOI Registration setup flow as a new Site → DOI Registration route with cards for status, account (owning prefix + depositor email), registration-method choice, and role admin, plus system-admin-only link, unlink, and reset actions in a separate advanced card that stays hidden on Curvenote-managed sites. Enterprise sites get an “own DOI prefix” unlock on Site → Advanced. The route sets registration up rather than performing it — depositing DOIs for submissions comes in a later release. On the submissions side, tag changes on the details page now update optimistically — chips flip immediately, errors surface a specific toast while the request is still in flight, and tag-not-found messages are reworded for the UI. The Tags catalog page shows a Submissions column and states the count on the delete dialog so editors know what a delete will affect.

Curvenote Reader

openRxiv Labs — Curvenote Reader

openRxiv Labs — public partner site

The openRxiv Reader is a Curvenote-Reader-powered surface for openRxiv Labs.

Readers on openRxiv Labs get an advanced edge cache in front of every article artifact. A setting now flips both the file and image routes from proxying every byte through the app to redirecting the browser to a short-lived signed URL on an edge in front of private storage; the image route also reads its original through the edge, so the “big original fetched repeatedly to produce small thumbnails” pattern collapses to one storage read per rotation window. Containers stay private, signatures are short-lived, and browsers can cache the redirected URLs — signatures are quantized to a rotation window rather than minted per request, so every server produces the same URL for the same blob and repeat visits never reach origin. Individual routes can be kept on the proxying path if their address-bar host bothers people; turning either redirect off does not turn off the edge for image conversion sources, so the biggest saving survives. Inert until the ops config is set, so this ships as an unlock — rollout is on ops’s schedule.

Curvenote CLI

The curvenote@0.17.4 release is a transitive dependency bump only, on the back of a public-API shape change in @curvenote/common. No new user-facing CLI behavior.