Skip to content

Release: server 2.71.0 with the 2.71.0 browser artifact - #32

Merged
adibhanna merged 3 commits into
mainfrom
release/2.71.0
Oct 19, 2026
Merged

adibhanna merged 3 commits into
mainfrom
release/2.71.0

Conversation

@adibhanna

Copy link
Copy Markdown
Contributor

Pins web-2.71.0-web.h851a4e72d0ad429c (built from ZenNotes/zennotes 603fc6dc, the v2.71.0 release commit; published as a pre-release) and sets release.json to 2.71.0. The browser app gains Mermaid with Pele, D2 diagrams, and the fixes for ZenNotes/zennotes#949, #952 and #953. With b18fd97 and 50e4c19, the server's demo tour matches desktop 2.71.0 (22 notes, a sample drawing and a Reading List database), and Remove Demo Tour Notes now clears the database's folder too. The CSP already allows D2's blob: worker; no header, route or Go dependency changed.

Local: prepare-web (draft archive and published URL give the same tree), go vet, go test ./..., go test -tags=embed_web ./..., and an embed_web binary on a scratch vault: v2.71.0, 200 for the app, 401 without the token, the tour generates and removes cleanly, and in a browser the D2 and Mermaid tour notes draw with no diagram error.

The server writes its own copy of the desktop's demo tour. Desktop 2.71.0
draws ```d2 fences and adds "05c D2 Diagrams" to the tour, linked from
Start Here, the Mermaid and Math Diagrams notes, and the tour graph in
Wiki Links and Tags.

demo-tour.json is regenerated from the desktop's
packages/shared-domain/src/demo-tour-data.ts at c4a38631, the same way as
before: JSON.stringify of the notes and assets, which reproduces the
current file byte for byte from the data before this change. A server
whose pinned web build predates 2.71.0 shows the new note's fences as
code.
The server writes its own copy of the desktop's demo tour, and desktop
2.71.0 rewrote it: 22 notes, four of them new (Tasks Calendar and Kanban;
Templates, Drawings, and Databases; Workflows; Cloud, CLI, and AI Agents),
the rest brought up to date.

demo-tour.json is regenerated from the desktop's
packages/shared-domain/src/demo-tour-data.ts at 776112f8, the same way as
before: compact JSON.stringify of the notes and assets.

The tour now ships files inside its folder, a drawing and a sample
database, and the database is a folder of its own (Reading List.base).
RemoveDemoTour walked up only from the folders of the notes it removed, so
the empty database folder stayed behind and kept inbox/demo with it. It now
walks up from each removed file's folder too. The new test removes a
freshly generated tour and fails without that change.
The browser app moves to web-2.71.0-web.h851a4e72d0ad429c, built from
ZenNotes/zennotes 603fc6dc (the v2.71.0 release commit): Mermaid fences
draw with Pele, ```d2 fences draw D2 diagrams, finished task notes stay in
their Done column (ZenNotes/zennotes#949), Preview lands on the list item
(#953), and nested lists line up in a proportional font (#952). With the
two demo commits before this one, the server's tour matches desktop 2.71.0.

The D2 compiler arrives as one async chunk with its WebAssembly inside and
runs in a blob: module worker, which the existing Content-Security-Policy
already allows (worker-src 'self' blob:, script-src 'unsafe-eval'), so no
header changes. The web client's bridge gained only optional desktop
methods for the tray, it calls no new route, and no Go dependency moved,
so vendorHash stays.

Local: prepare-web verified the draft archive into a clean web/dist (582
files; the archive's SHA-256 matches its provenance and GitHub's digest),
and installing from the published URL gives the same tree. go vet, go
test ./... and go test -tags=embed_web ./... pass. A server built like
the release on a scratch vault with a scratch config reports v2.71.0,
serves the app (200) and answers 401 without the token; the demo tour
generates 22 notes with the drawing and the Reading List database, and
Remove leaves no inbox/demo. In a browser, 05c D2 Diagrams draws its five
diagrams and 05 Mermaid Diagrams its six with Pele, with no diagram error
and no CSP report, and headless Chrome registers the service worker.
@adibhanna
adibhanna merged commit 66021bf into main Oct 19, 2026
10 checks passed
@adibhanna
adibhanna deleted the release/2.71.0 branch October 19, 2026 00:42
@adibhanna
adibhanna deployed to server-release October 19, 2026 00:43 — with GitHub Actions Active
@adibhanna
adibhanna deployed to server-docker-publisher October 19, 2026 00:45 — with GitHub Actions Active

This branch was successfully deployed

2 active deployments
server-docker-publisher — 66021bfb Deployed Oct 19, 2026 by adibhanna via Build and push multi-arch image #19
server-release — 66021bfb Deployed Oct 19, 2026 by adibhanna via draft #18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant