Skip to content

ObsidianVersionMetadata

The subset of a metadata.json per-version entry this library reads.

Every field is optional — an entry carries only the thresholds that apply to that version (e.g. only old versions carry minRecommendedInstallerVersion).

Import:

import type { ObsidianVersionMetadata } from 'obsidian-integration-testing';

Signature:

export interface ObsidianVersionMetadata

Properties

PropertyTypeDescription
available?booleanWhether the version's assets are available (present only when false).
changelogUrl?stringURL of the version's changelog.
channel?stringThe release channel: 'public', 'catalyst', or 'public+catalyst'.
downloads?ObsidianVersionDownloadsThe pre-resolved asset download URLs for the version, baked from the upstream obsidian-versions.json catalog. Absent for versions not present in the catalog (the caller then falls back to hand-rolled resolution).
ecmaScriptVersion?stringThe highest ECMAScript edition (e.g. 'ES2022') fully supported by this version's bundled Chromium, derived from ObsidianRuntimeVersions.chrome (see deriveEcmaScriptVersion). Baked alongside runtimeVersions, so a consumer pinning this installer knows offline which ES level a serialized evalInObsidian closure may safely use. Absent when the version has no collected runtime versions.
minRecommendedElectronVersion?stringThe app's hardcoded required-minimum Electron version (e.g. '28.2.3'). An Electron version, not an installer version — comparing against it needs the installer's bundled Electron, which is not derivable offline.
minRecommendedInstallerVersion?stringThe recommended-minimum installer version (Obsidian's own "installer too old, reinstall" guidance). Present only on older versions.
minRunnableInstallerVersion?stringThe empirically-measured run floor: the oldest installer version whose Electron shell can actually boot this app version's asar. Below it the renderer dead-boots.
runtimeVersions?ObsidianRuntimeVersionsThe concrete JS runtime versions this version's Electron shell ships, read empirically from process.versions. Absent until collected (see ObsidianRuntimeVersions and scripts/collect-runtime-versions.ts).

Links to this page: