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 ObsidianVersionMetadataProperties
| Property | Type | Description |
|---|---|---|
| available? | boolean | Whether the version's assets are available (present only when false). |
| changelogUrl? | string | URL of the version's changelog. |
| channel? | string | The release channel: 'public', 'catalyst', or 'public+catalyst'. |
| downloads? | ObsidianVersionDownloads | The 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? | string | The 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? | string | The 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? | string | The recommended-minimum installer version (Obsidian's own "installer too old, reinstall" guidance). Present only on older versions. |
| minRunnableInstallerVersion? | string | The 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? | ObsidianRuntimeVersions | The 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: