Releases: infinite-pm/vscode-infinite-pm
Releases · infinite-pm/vscode-infinite-pm
Release list
v0.4.3
Immutable
release. Only release title and notes can be modified.
- A third smaller download. 0.4.2 packaged the two demo recordings the README
shows — 2 MB of GIF that nothing in the extension reads — into every platform
.vsix; they now stay in the repository, where the Marketplace page renders
them from anyway. 4.56 MB → 2.90 MB for linux-x64, and similarly elsewhere.
Nothing else changed: same code, same bundled server as 0.4.2.
Bundled ipm-rpc built from ipm-tools@cc2443cbb9dc.
One .vsix per platform — install the one matching your machine:
code --install-extension vscode-infinite-pm-<target>-0.4.3.vsixSHA256SUMS covers every asset. Provenance: gh attestation verify <file> -R infinite-pm/vscode-infinite-pm.
v0.4.2
Immutable
release. Only release title and notes can be modified.
ipm-rpc --versionand the "Show Server Info" command report the bundled
server's release version. 0.4.1 shipped a server that reported a
v0.0.0-<time>-<sha>pseudo-version instead of the tag it was built from.- A new extension icon: the infinite.pm logo, the mark over the project name.
- The Marketplace summary leads with the project name, and names diagnostics
alongside ipmt language support and embed-on-save. - The
.ipmteditor title bar carries the same two preview buttons a Markdown
editor does, wearing the same icons: "Open Preview to the Side"
($(open-preview)) and "Open as Preview" ($(preview)), the latter
replacing the tab you are in. Both buttons were there before, but the second
one wore preview-shaped artwork that looks like the first at 16px, so the
pair read as one control duplicated. - ipmt fences in the markdown preview stay colored while you type. Two
things went wrong before: live-refresh used a resetting debounce, so typing
without a 300 ms pause never refreshed anything, and tokens are looked up by
exact block source, so each keystroke missed the cache and the whole block
fell back to plain black text. Colors now refresh on every change through a
tokensOnlyserver call that skips diagram layout (0.5–2 ms on a normal
document), paced by a single-flight so a slow document simply refreshes less
often instead of queueing calls. Diagrams keep the existing idle debounce —
ipm.liveRefreshDebounceMsnow describes that half only. - That refresh rate limits itself rather than adding a setting to tune: each
color refresh waits out a cooldown as long as the call that preceded it
(capped at 250 ms), which holds the server's share of wall time near 50%
whatever the machine. Measured while typing continuously: no change at all
on a normal document or on a 95-block one, and 63% → 46% busy on a
simulated slow machine with no loss of colored frames. ipm.liveRefresh: falseno longer leaves every ipmt fence in the markdown
preview black. The setting is about diagrams re-rendering from the unsaved
buffer, but it gated everyipm.embedBuffercall — and those tokens are the
preview's only source of color, so switching it off took the fence
highlighting with it, saved files included. It now gates the diagram swap
alone; colors refresh either way.- The preview no longer forces a full webview reload on the typing path; it
lets VS Code's own preview refresh pick the new tokens up. - A slow in-flight render can no longer overwrite a newer diagram: responses
for a superseded document revision are discarded. - Saving a
.mdno longer blanks every ipmt block in the preview. The save
path evicted the whole live cache including the semantic tokens, and nothing
re-fired the server, so the blocks stayed uncolored until the next
keystroke. It now evicts only the rendered SVGs, which is all the on-disk
renders replace. - Preview keybindings matching Markdown's:
Shift+Ctrl+V(Shift+Cmd+V)
opens the preview in place andCtrl+K V(Cmd+K V) opens it to the side,
both only while an.ipmteditor is focused. Unlike Markdown, the first
chord also works inside the preview, where it returns you to the source —
the two actions are exact mirrors, so one chord toggles the tab either way.
Bundled ipm-rpc built from ipm-tools@cc2443cbb9dc.
One .vsix per platform — install the one matching your machine:
code --install-extension vscode-infinite-pm-<target>-0.4.2.vsixSHA256SUMS covers every asset. Provenance: gh attestation verify <file> -R infinite-pm/vscode-infinite-pm.
v0.4.1
Immutable
release. Only release title and notes can be modified.
First public release.
- ipmt language support: syntax highlighting for
.ipmtfiles and for
```ipmtfences inside Markdown — TextMate grammars for cold start,
LSP semantic tokens (from the bundledipm-rpcserver) once connected.
The editor pane and the markdown preview share the same Go-side
tokenizer, so both paint identical colors. - Semantic token palette generated from the source of truth in ipm-tools
(pkg/ipmtokens/palette.json): 10 token types, 7 modifiers, drift check
wired into build and test. - Fence-meta aware highlighting:
```ipmtfences with meta tokens
(embed=false,unresolved,key=value) are highlighted;
```ipmt-invalidfences are deliberately not. - Inline ipmt highlighting in prose: an
<!--ipmt-->(or
<!--ipmt:as-token:NAME-->) marker before a backtick code span paints that
span with the same token colors in the markdown preview. - Diagnostics in the Problems panel (parse errors + IPMV* validation
findings) and hover documentation for kind markers and arrows. - Embed-on-save: saving a
.mdfile with ipmt blocks refreshes its
committed SVGs under_ipm/and their marker hashes (ipm.embed). Saving a
shared.ipmtfile re-embeds the markdown files that include it via
<!-- ipm-include -->, scoped to its git repository. - Live SVG refresh as you type: in-memory renders via
ipm.embedBuffer
swap the preview images todata:URLs until the next save; the preview
recovers automatically ifipm-rpcdies mid-refresh. .ipmtpreview pane with pan + zoom (in-place and to-the-side), plus
Copy Path / Copy Relative Path / Reveal in Explorer on the preview.- Force re-embed commands: current file, whole workspace, current repo.
ipm-rpcresolution orderipm.serverPath→PATH→ bundled
per-platform binary, with LSP auto-restart when the binary changes.
ipm.serverPathismachine-overridable, so a workspace cannot choose
which executable gets spawned.- A platform-specific
.vsixfor each of the nine targets VS Code resolves:
linux x64/arm64/armhf, alpine x64/arm64, darwin x64/arm64 and win32
x64/arm64. VS Code has no target-platform fallback, so an unbuilt platform
would be uninstallable rather than degraded. - Restricted workspaces are supported limited: highlighting works, but the
server does not start and nothing is written to disk until the folder is
trusted (the server then starts without a reload). Virtual workspaces are
declared unsupported — the server is a local child process.
Bundled ipm-rpc built from ipm-tools@ce87f78718cf.
One .vsix per platform — install the one matching your machine:
code --install-extension vscode-infinite-pm-<target>-0.4.1.vsixSHA256SUMS covers every asset. Provenance: gh attestation verify <file> -R infinite-pm/vscode-infinite-pm.