Skip to content

0.8.35

Latest

Choose a tag to compare

@github-actions github-actions released this 08 Sep 09:16
· 2 commits to develop since this release

Features

  • Extension messages are now localizable (vscode.l10n) — the ~43 user-facing strings shown via vscode.window.show*Message (export notifications, copy/warning prompts, activation failure, tag and wikilink errors, …) are routed through the standard l10n API with a new l10n/bundle.l10n.json source bundle and translated bundles for every supported locale (az — continuing #2395 by @jamalkamaladdin — plus zh-cn, zh-tw, ja, ko, es, fr, nl, pt-br, tr); a new test enforces that every bundle ships the exact key set and {placeholder} set of the source bundle and that each package.nls locale has an l10n counterpart, so drift fails CI instead of silently falling back to English. package.nls.az.json also now keeps the backtick example identifiers (#tag-name, #parent/child, [[Note]]) in English, matching every other locale (review nits on #2395). The filesystem-root warning (#2396) gains a localized Open Folder… action button (desktop only) so drive-root workspaces can be replaced with a real folder in one click. This adopts the l10n API (VS Code ≥ 1.73), so engines.vscode moves to ^1.82.0 — the floor already required by the bundled crossnote runtime (cheerio 1.0.0 needs the Node 18.15+ extension host of VS Code ≥ 1.82; on 1.70–1.81 the extension cannot activate at all).

Bug fixes

  • Re-running the preview command now focuses the existing preview panel — when a preview for the file was already open, markdown-preview-enhanced.openPreview and its keybinding only refreshed the content without revealing the panel; the reused panel (and the first matching one in multiple-preview mode) is now revealed and focused exactly like a freshly opened one, while side and locked previews keep the editor focused (#2397 by @Li-Mingshuang).

The following entries are taken verbatim from crossnote 0.9.35, which this release picks up; the first one is the fix for the extension failing to activate with File is not defined on VS Code versions with a Node 18 extension host (e.g. #2394).

  • Keep Crossnote loadable on its supported Node.js 18 runtime — pin Cheerio to 1.0.0 instead of allowing its prerelease range to resolve to Node.js 20-only releases that fail with ReferenceError: File is not defined. The declared minimum is now Node.js 18.17, matching Cheerio's runtime requirement (#493 reported by @qiyu-lu).
  • The hover "…" action button no longer flashes at the preview's top-right corner while moving the pointer between blocks — the button is anchored to the hovered block through a class that the un-hover listener stripped a frame before the button unmounted, so for that frame it re-anchored to the preview container. The highlight and the button now stay on the last hovered block until another block is hovered or the pointer leaves the preview, so scanning the document no longer makes the button strobe on and off.
  • "Open In-preview Editor" stays in the context menu in Zen mode — the item was hidden there, so users in Zen mode had no discoverable path to the feature. Clicking it in Zen mode now shows a notice explaining that the editor is unavailable until Zen mode is disabled (translated in all supported preview languages). Presentation mode still hides the item, as before.

Improvements

The following entries are also taken verbatim from crossnote 0.9.35.

  • Pin development and CI to Node.js 18 — the VS Code extension host runs Node 18, which lacks globals such as File that Node-20-only dependency releases require, so a green test run on Node 20+ proves nothing for real users. All GitHub workflows now install Node 18.17.1 from .tool-versions (previously Node 20), and the Nix dev shell brings nodejs_18 via a pinned nixpkgs-24.11 import, since the rolling nixpkgs channel no longer packages EOL Node 18. The pre-commit toolchain moves with it: lint-staged is held to 15.x, the last line that loads on Node 18 (16.x requires Node ≥ 20.17), and sharp moves to the 0.34.x line — 0.35's prebuilt platform binaries declare Node ≥ 20.9 and get skipped entirely by installs on Node 18, which made graph rasterization fail with Could not load the "sharp" module (#493 reported by @qiyu-lu).
  • Azerbaijani (az) localization for the preview UI — the context menu, footer, top bar, backlinks panel, image helper, in-preview editor strings and notices now ship in Azerbaijani (vscode.env.language: az), joining the existing ten languages.