Changelog

Follow every submission from one status card

Authors can follow a submission from a single status card and timeline, and submit to a venue from a searchable dialog. The Curvenote theme behind curvenote start gains in-page compute and a welcome screen, Crossref confirms DOIs sooner, and curvenote@0.18.0 installs lighter.

Curvenote SCMS

One status card and a timeline. Authors see a submission as one status card and a timeline instead of a versions table. The status tracker’s stops follow the collection’s own workflow, and a single sentence says where the submission stands. Activity and checks are grouped by version, the DOI is linked, and authors see that a status changed without seeing which editor changed it. A failed publish no longer shows up as a status change.

The submission detail page leads with a status card that tracks the submission through the collection’s workflow — Submitted, Pending, Published — above a per-version timeline that links the DOI and groups each version’s activity.

The submission detail page leads with a status card that tracks the submission through the collection’s workflow — Submitted, Pending, Published — above a per-version timeline that links the DOI and groups each version’s activity.

Submit to a venue from a searchable dialog. Submitting opens a dialog with the venues and a search box that has focus as it opens, so typing filters the list right away. It sends the latest completed version and says which version that is. Site logos follow dark mode too.

The Submit to a venue dialog names the version it will send and opens with focus in the search box, so typing filters the venues right away — with already-submitted venues marked and out of reach.

The Submit to a venue dialog names the version it will send and opens with focus in the search box, so typing filters the venues right away — with already-submitted venues marked and out of reach.

Uploads you can see into. A PDF’s upload preview opens on an image of its first page, with a toggle for the extracted text and structure. On the submission page, the Web Article package expands to list its Abstract and each page, with a page count. Check My Work reads titles and authors from PDFs again in hosted deployments.

Large publications publish in full. Publishing a work version now copies every file to the public CDN. It used to stop after the first 1,000 files and still report success. Uploads that don’t complete now fail the submit instead of passing quietly.

Public sites’ published content can be read from other websites: the site, its works, collections, kinds, published works and DOI lookups answer read-only requests from any origin, while private sites stay same-origin. Web Version previews, conversion progress and Retry follow their own scopes. Hover cards in the works list no longer open after the pointer has moved on.

Curvenote Sites

Crossref confirms DOIs sooner. When Crossref calls back about a deposit, the next status check moves forward, so registrations confirm sooner. A Crossref job that fails for good now fails its DOI attempt, where admins can see it.

The DOI lock covers the version it resolves to. A DOI resolves to the latest published version, so only that version is locked, and earlier versions can be taken offline. Every status change is confirmed in an in-app dialog that uses the transition’s own wording. A system admin who overrides the lock sees the DOI, why it will stop resolving, and the steps left to do by hand.

The submissions listing shows the same version as the details page, so a newer unpublished, rejected or retracted version no longer hides the latest published one. Draft and incomplete versions stay out of a submission’s details, and the status filter’s presets read “Active” rather than “(2) Active”.

Curvenote Theme

A local Curvenote theme with in-page compute. The theme that curvenote start serves now runs notebook and figure compute for projects that set jupyter, and cross-reference hover previews load as they do on a deployed site. Figures from notebooks that haven’t run yet no longer stay on “Loading dependencies…”.

Welcome screen, Settings and unbranded previews. The theme opens on a centered welcome screen with the Curvenote wordmark. Settings holds Early Access options, and Exit or Clear settings returns to the welcome screen. When a project sets a site_id, you can preview it without the site’s branding and switch back with one button. The top bar is full height, articles are styled like the platform, and the theme is called Curvenote in the browser and the terminal. It runs on Windows, installs nothing extra, and serves projects from older CLIs with a notice to update.

Article listings in cards, masonry and magazine layouts. The cn:articles directive takes layout: cards, masonry or magazine, plus an optional title. The layouts use the primary and secondary colors set on a site’s Website settings page, which now reach the theme. The list layout reads as a listing on the page, and the directive shows its placeholder instead of failing when no listing has loaded.

Curvenote CLI

curvenote@0.18.0 installs lighter. The package now depends only on the two libraries its bundled CLI loads, so installing it no longer pulls in about a thousand unused packages, and none of them are deprecated. It needs Node.js 20.19, 22.12 or 24.

Predictable site templates are here. The CLI follows a site.template only when it’s a local folder or a github.com zip. Anything else falls back to the latest Curvenote theme, with a warning that names the ignored value. curvenote init, clone and pull write curvenote@latest.

More reliable uploads. Files whose type can’t be worked out from their extension, such as .nojekyll, upload instead of failing. Incomplete uploads and failed copies on the server now fail the command, and each file is hashed from its bytes, so two binary files can’t be mistaken for one cached copy.

Register Journal Article DOIs under your journal

Sites marked as a Journal can now register Journal Article DOIs inside their own journal at Crossref. Registered DOIs resolve at doi.curvenote.com on their own, and safeguards keep a live DOI from being taken offline. The submissions list now opens on the work in play, and the CLI uses the Curvenote theme by default.

Curvenote SCMS

A live DOI keeps its submission online. When a submission has a DOI that’s registered or being registered, unpublishing and retracting it are refused everywhere: on the site, through the API, through the jobs endpoint, from the CLI, and for jobs that were already queued. The refusal names the DOI, so it’s clear which record is affected. A DOI that’s still being registered appears only to members who can see DOIs. Other members still see the timeline events, without the DOI or failure details.

The submissions list gets a multi-select status filter. It opens on Pending + Published, offers Active and Inactive presets in the dropdown, and adds a Retracted option. Extensions can use the same control through the shared component library. SCMS also ships with a default product-analytics setup, which pauses session recording on system-admin pages and never shows API tokens in replays.

The All Submissions list opens on the Active preset — Pending plus Published — with a multi-select status filter that adds Approved, Unpublished, Retracted, and Rejected.

The All Submissions list opens on the Active preset — Pending plus Published — with a multi-select status filter that adds Approved, Unpublished, Retracted, and Rejected.

Curvenote Sites

Journal Article DOIs, inside your journal. On Site → DOI Registration, a new Site type card lets a Site Admin mark the Site as a Journal and set up the journal its articles are registered under. If Crossref already has the journal, setup picks it up from Crossref. Otherwise, enter it as a new journal, and Crossref creates it with the first article. Submission Kinds can then deposit as Journal Articles inside that journal, with its ISSNs. After the first article reaches Crossref, the journal locks, and edits pause while a registration is in flight, so the journal record and its articles stay in step. If something blocks registration, such as a missing journal, a missing ISSN, or a Site without a domain, the notice says exactly what’s missing and where to fix it. ISSNs are compared in normalized form, and a mismatch points at the field that differs.

Registered DOIs resolve on their own. When Crossref confirms a DOI, it’s added to doi.curvenote.com automatically, with retries until the service accepts it. Platform admins get a Test connection button for the DOI service. It shows the result inline and says in one sentence which setting blocks registration, if any.

Live DOIs protect the Site. A Site with live DOIs can’t be made private, and a private Site doesn’t offer DOI registration. On a submission with a live DOI, Unpublish and Retract are greyed out, with the reason shown on hover. Clicking either opens a help dialog that names the DOI and offers a way to contact Curvenote support. DOI setup copy is clearer too:

  • A rejected prefix’s error stays under the prefix field until the next save.

  • Site names and Crossref prefix owners are set apart instead of being built into sentences.

  • Rejected submissions explain DOI eligibility instead of asking the admin to publish.

Curvenote CLI

curvenote@0.17.6 slims the install: the blog and person extensions now share the CLI’s common library instead of pulling in older copies and an extra copy of React.

Predictable site templates are merged and arrive in the next minor release. The CLI follows a site.template only when it’s a local template folder or a github.com zip. Anything else falls back to the latest Curvenote theme, with a warning that names the ignored value. Use curvenote or curvenote@<ref> (a tag, branch, or commit) to pin the theme. A GitHub repository link resolves to its main zip, or to the ref you add with @<ref>. curvenote init, clone, and pull write curvenote@latest, init --github replaces a missing or rejected template, and --template on start follows the same rules.

curvenote start opens a local development surface that confirms the content server is up, takes an optional site ID to preview with your site’s branding, and lets you open the project as a landing site or an article view.

curvenote start opens a local development surface that confirms the content server is up, takes an optional site ID to preview with your site’s branding, and lets you open the project as a landing site or an article view.

Build and request logs, right in the theme. You can now watch logs from inside the local preview itself — the theme carries a built-in log viewer so you no longer have to switch back to the terminal to see what the content server is doing.

A built-in log viewer overlays the local preview, streaming build and request logs live with Debug, Info, Warn, and Error filters and a search box so you can watch a project rebuild as you edit.

A built-in log viewer overlays the local preview, streaming build and request logs live with Debug, Info, Warn, and Error filters and a search box so you can watch a project rebuild as you edit.

Register DOIs from inside the submission

DOI registration goes live for submissions: register and retry from the submission detail page, see each Crossref step and failure reason in the DOI row as it works, and watch the registered DOI appear across every submission surface once it lands. Site admins get an Eligible Submission Kinds control to decide which kinds can register DOIs and the content type each one deposits as, Site → Website, Advanced, and Domains pick up a fonts, typography, and redirects design pass, and readers on openRxiv Labs get article files and images that stream through the edge cache without a redirect hop.

Curvenote SCMS

Site admins can register DOIs for submissions directly from the submission detail page. The submission DOI row and timeline refresh on their own while Crossref works, show each step with the specific failure reason or warning when there is one, and keep refreshing through a failed status check so a transient error does not leave the row stuck. Once a DOI registers, it is shown on the submission detail page, in submission lists, on the author’s submission page, in the submission search index, and on the public API payload.

The Register DOI dialog reviews the registration details — authors, content type, publication date, agency, and versioning policy — before a site admin deposits the DOI with Crossref.

The Register DOI dialog reviews the registration details — authors, content type, publication date, agency, and versioning policy — before a site admin deposits the DOI with Crossref.

Admins get a parallel control on Site → DOI Registration — an Eligible Submission Kinds card to pick which Submission Kinds can register DOIs and the Crossref content type each one deposits as, with locked indicators that explain why a kind cannot be moved while it has live DOIs. The Register DOI confirmation dialog now separates blocking metadata problems from non-blocking warnings and shows the exact publication day a submission will be deposited under, so admins know what they must fix versus what they can proceed through.

On the Foundry-imported MyST side, the admin’s work-version timeline shows a Web Version row driven by the task converter: queued and building states while a conversion runs, a failed row with the full converter error in a hover tooltip and a Retry action, and a working View button on success.

Curvenote Sites

Site admins pick up the submission-side DOI registration experience: the submission detail page carries a DOI row with Register and Retry actions, live Crossref state while a deposit is in flight, and the registered DOI shown on the submission timeline once Crossref responds.

Alongside the DOI work, the site admin surface gets a fonts, typography, and redirects design pass. Site → Website picks up a refreshed typography and font picker, footer links, and site skeleton; Site → Advanced reworks the DOI custom-prefix form, font license, site metadata, site settings, and submission settings; and Site → Domains gets a redesigned redirects form with a redirect tester you can try before you save. Theme config now validates and explains issues section-by-section rather than as one wall of errors.

The refreshed typography picker on Site → Website sets body and heading fonts against a live site preview, with search and upload-a-font options alongside the built-in choices.

The refreshed typography picker on Site → Website sets body and heading fonts against a live site preview, with search and upload-a-font options alongside the built-in choices.

Curvenote CLI

The curvenote@0.17.5 release is a transitive dependency bump only, picking up releases of @curvenote/common and @curvenote/cli-plugin from the SCMS Version Packages roll. No new user-facing CLI behavior.