Skip to content

Releases: ethanffu/open-powershell-here

0.4.1

Choose a tag to compare

@ethanffu ethanffu released this 10 Aug 05:25

0.4.1 — address marketplace review warnings

Fixes the two warnings from the Obsidian marketplace review (no behavior changes):

  • Source code: the Promise rejection reason in version-probe.ts is now always an Error instance (review lint no-promise-reject-errors).
  • CSS: dropped !important from the "Hide the ribbon button" rule (review CSS lint) and raised selector specificity via .workspace-ribbon instead. Hiding is still enforced by both the CSS rule and the JS inline-style layer in main.ts.

The Style Settings "Hide the ribbon button" toggle, the ribbon entry, and the single-folder context menu are unchanged and verified in real Obsidian (1.13.6).

Assets: main.js, manifest.json, styles.css, versions.json, plus the open-powershell-here-0.4.1.zip install bundle.

0.4.0

Choose a tag to compare

@ethanffu ethanffu released this 10 Aug 05:12

v0.4.0 — first release under the new identity

Rebranded. This is the first release under the new plugin identity:

  • Display name: Open PowerShell Here (was "Vault PowerShell")
  • Plugin id: open-powershell-here (was vault-powershell) — the install folder, enabled-plugins entry, and Style Settings storage key all use the new id
  • Author: ethanffu (was the former username ethanfu0124-bit)
  • Repository: renamed to ethanffu/open-powershell-here (old URLs redirect)

Upgrade note (one-time): if you installed any earlier version, remove the old .obsidian/plugins/vault-powershell/ folder after installing this one, then restart Obsidian. The plugin keeps no settings, so nothing is lost; only the Style Settings "Hide the ribbon button" toggle resets to its default.

Included features (verified in real Obsidian 1.13.6):

  • Ribbon button → opens PowerShell 7+ at the vault root (hideable via Style Settings → Open PowerShell Here → Hide the ribbon button; hiding is enforced by CSS and JS, so it works regardless of theme/DOM changes)
  • Single-folder context menu → Open PowerShell here opens pwsh in the right-clicked folder's real absolute path (vault root folder works too; no item for files or multi-selection)
  • Windows Terminal hosting with pwsh.exe fallback; semicolon paths show a clear notice and start no process

Repo / docs housekeeping:

  • Repository is public; README (English default + 简体中文), "Who is this for?" section, contributing docs, issue/PR templates, CODE_OF_CONDUCT, badges, BRAT beta-install note
  • CI: lint + typecheck + 87 tests + build + main.js sync check

Scope & constraints (unchanged):

  • Windows + PowerShell 7+ only (5.1 not supported); local file system vaults only
  • No commands, hotkeys, settings page, batch/file context menus, or embedded terminal
  • No telemetry, no network, no vault modification; never invokes cmd.exe / powershell.exe / conhost.exe / shell:true; real sessions never use -NoProfile / -NonInteractive / -Command

Assets: main.js, manifest.json, styles.css, versions.json, plus the open-powershell-here-0.4.0.zip install bundle.

v0.3.0

Choose a tag to compare

@ethanffu ethanffu released this 10 Aug 03:39

⚠️ Legacy release (renamed plugin). This release predates the 2026-08-10 rename: it installs as plugin id vault-powershell with the old display name "Vault PowerShell". Newer releases use id open-powershell-here / name Open PowerShell Here — after upgrading, remove the old .obsidian/plugins/vault-powershell/ folder (the plugin keeps no settings, so nothing is lost).


v0.3.0 — Style Settings: hide the ribbon button

New: with the Style Settings plugin installed, Settings → Style Settings → Vault PowerShell → Hide the ribbon button now hides the left ribbon button. Toggleable, verified working in real Obsidian (1.13.6). The single-folder context-menu entry is unaffected.

  • The Style Settings block contains a single flat toggle (no extra group headings).
  • How it works (and what was fixed): for class-toggle settings, Style Settings applies the setting id as the class on <body> (addClass is ignored — this mismatch was why the toggle appeared to do nothing in the earlier revoked attempts). The setting id is now the body class, the CSS uses two selectors (the plugin's stable vault-powershell-ribbon class plus a tooltip aria-label fallback) with display: none !important, and the plugin additionally enforces the hide via inline style through a MutationObserver on the body class — so hiding works regardless of theme CSS or ribbon DOM changes.
  • The ribbon element carries an icon-independent vault-powershell-ribbon class.

Also in this release:

  • 87 automated tests (up from 84), including DOM-enforcement tests for the hide toggle.
  • Docs updated: README (zh/en), MANUAL_TESTS.md (item #34), AGENTS.md.
  • Install docs corrected: Option B (build from source) must copy styles.css together with main.js/manifest.json.

Scope & constraints (unchanged):

  • Windows + PowerShell 7+ only (5.1 not supported); local file system vaults only
  • Entry points: ribbon (hideable via Style Settings) + single-folder context menu; no commands, hotkeys, batch/file context menus, or embedded terminal
  • No telemetry, no network, no vault modification; never invokes cmd.exe / powershell.exe / conhost.exe / shell:true; real sessions never use -NoProfile / -NonInteractive / -Command

Assets: main.js, manifest.json, styles.css, versions.json, plus the vault-powershell-0.3.0.zip install bundle.

v0.2.0

Choose a tag to compare

@ethanffu ethanffu released this 09 Aug 13:51

v0.2.0 — Open PowerShell from the folder context menu

New: right-click a single folder in the Obsidian file explorer → Open PowerShell here (terminal icon) → opens PowerShell 7+ in that folder's real Windows absolute path. The vault root folder is supported too.

  • The ribbon still opens the vault root; both entries share one launch pipeline, one pwsh verification cache and one single-flight lock.
  • The menu item never appears for plain files, multi-selection, non-Windows platforms, or non-local (remote) vaults. No files-menu batch entry, no commands, no hotkeys, no settings page.
  • Behavior change (semicolon paths): paths containing ; are no longer launched at all — Windows Terminal splits on ; (verified). The plugin now shows PowerShell cannot be opened for paths containing a semicolon (;). and creates no process (not even the version probe). The wt.exe-missing fallback to a direct pwsh.exe spawn is unchanged.

Also in this release:

  • 84 automated tests (up from 63) covering the context menu, the shared cache/single-flight, reload without duplicate handlers, and the zero-process semicolon guard.
  • Docs updated: README (zh/en), MANUAL_TESTS.md, AGENTS.md.

Manually verified in real Obsidian:

  • Ribbon → vault root (2026-08-08)
  • Folder context menu → right-clicked folder's absolute path (2026-08-09, core flow)
  • Pending manual acceptance: semicolon-folder notice, root-folder right-click, file right-click, reload dedup (see MANUAL_TESTS.md #28–#33).

Scope & constraints (unchanged):

  • Windows + PowerShell 7+ only (5.1 not supported); local file system vaults only
  • No commands, settings, keybindings, batch/file context menus, or embedded terminal
  • No telemetry, no network, no vault modification; never invokes cmd.exe / powershell.exe / conhost.exe / shell:true; real sessions never use -NoProfile / -NonInteractive / -Command

Assets: main.js, manifest.json, versions.json (no styles.css — the plugin ships no CSS), plus the vault-powershell-0.2.0.zip install bundle.

v0.1.1

Choose a tag to compare

@ethanffu ethanffu released this 06 Aug 15:53

v0.1.1 — Windows Terminal-hosted interactive PowerShell

Fix (important): the PowerShell window flash-closed when Obsidian was launched from Explorer (GUI process without a console). The formal session is now hosted in Windows Terminal (wt.exe) purely as the console window host, so pwsh receives real console handles. Falls back to a direct pwsh.exe spawn when wt.exe is missing or the vault path contains ; (wt splits on semicolons).

Also in this release:

  • npm run install:test now registers the plugin in the test vault's enabled-plugins list (community-plugins.json) — no manual enable needed.
  • Full CI (npm run verify) on Windows: lint, typecheck, 63 automated tests, build, main.js sync check.

Manually verified in real Obsidian (2026-08-08):

  • Interactive PowerShell window opens from the ribbon; input/output work
  • Get-Location equals the vault root; $PSVersionTable.PSVersion.Major >= 7
  • Session survives closing Obsidian; plugin auto-loads on vault open

Scope & constraints:

  • Windows + PowerShell 7+ only (Windows PowerShell 5.1 is not supported)
  • Ribbon button is the only entry point (no commands, settings, or embedded terminal)
  • No telemetry, no network access, no vault modification; the plugin never invokes cmd.exe / powershell.exe / conhost.exe / shell:true

Assets: main.js, manifest.json, versions.json (no styles.css — the plugin ships no CSS).