Releases: Scorpse/markview
Release list
MarkView 1.4.0 — Semantic Tension Language viewer
Highlights
- Open .stl Semantic Tension Language files directly in MarkView.
- Read declarations, relations, paths, modifiers, and nested blocks in a structured, domain-neutral view.
- Future STL domains and relation types remain viewable without requiring viewer updates.
- Switch to original source and retain readable content when diagnostics are present.
- .stl support works through the file picker, folder browser, drag and drop, and command-line/file-association paths.
Verification
- 14 test files passed
- 140 tests passed on Windows and Linux
- Windows x64 NSIS and MSI production bundles built successfully
- Linux x86-64 .deb, .rpm, and AppImage bundles built successfully in an isolated Ubuntu 24.04 container
Downloads
Windows:
- NSIS installer
- MSI installer
Linux:
- .deb for Debian/Ubuntu
- .rpm for Fedora/RHEL/openSUSE
- AppImage for other distributions
Windows SmartScreen may warn because the Windows files are not code-signed.
See CHANGELOG.md for the complete release notes.
MarkView 1.3.0 — community continuation: structured viewers, WaveDrom, working diagrams
First release of the community continuation of MarkView.
Upstream became feature-frozen in August 2026 and now points here for new releases and binaries. This repository carries the project forward under the same MIT license, and this release consolidates upstream's final state together with everything the fork added.
Structured files
MarkView now opens the data and config files that sit next to your Markdown, in the same window, tabs and theme.
| Format | Extensions | View |
|---|---|---|
| JSON | .json |
Collapsible tree, copy value or path, source toggle |
| YAML | .yaml, .yml |
Collapsible tree, multi-document aware, source toggle |
| JSONL | .jsonl, .ndjson |
Sortable table when records share a shape, tree otherwise |
| CSV / TSV | .csv, .tsv |
Sortable table, sticky header, row count, source toggle |
| Config | .toml, .ini, .env, .conf, .properties |
Read-only highlighted source |
A malformed file never blanks the window: the parse problem is reported above the content and the raw source stays readable. The CSV parser follows RFC 4180, so quoted fields containing commas, newlines and doubled quotes survive. Tables cap at 5,000 rows and say how many were left out.
MarkView deliberately does not register as the system handler for these types — it stays the default for Markdown only, so .json still opens in your editor.
Diagrams
- WaveDrom timing diagrams join Mermaid, Vega-Lite, Graphviz/DOT, D2 and Markmap. Sources are JavaScript object literals, so they are parsed with JSON5 rather than
eval— document content never reaches an interpreter. - Hover controls on every rendered diagram to copy the source or switch between the rendered output and its source. The render-error fallback carries a copy control too.
Reading
- Four-step width cycle — narrow, wide, extra wide, full width. Remembered between sessions; an existing readable-line-length preference migrates automatically.
- Click-to-zoom for images.
- Relative links and images resolve against the open document's directory. Relative
.mdlinks open in a new tab; other local targets open in the system handler.
Fixes
- Diagrams did not render at all in packaged builds. Rendering happened by mutating the DOM after React committed, and that path produced nothing in a release build — every diagram silently stayed as source with no error. All formats now render in the Markdown pipeline before the HTML reaches React, so a diagram travels with its tab's HTML.
- Relative images never loaded, because the path was handed to the asset resolver before being resolved against the document's directory.
- Mermaid labels containing a line break were rejected by the SVG sanitiser. Mermaid serialises
htmlLabelsinside<foreignObject>as HTML, so a line break emits a void<br>that fails a strict XML parse. Parsing now happens in HTML mode through an inert<template>; the active-content stripping is unchanged. (This fix was also contributed upstream and merged there.) - Markmap rendered blank — it measures its SVG to lay out the tree, which returns zero against an inert tree. It now renders offscreen in the live document and is then detached, and its labels follow the theme instead of its own default.
- Inline base64 images were silently dropped;
data:is now allowed forsrc.javascript:remains rejected. - The structured source view was unreadable in dark mode.
devtoolswas gated on an undeclared Cargo feature, so the inspector hook was compiled out of every build while release bundles still carried inspector support. It is now a real opt-in feature, and the release build is warning-free.
Notes
- Startup cost is unchanged: the ordinary application chunk stays at 499.38 kB (176.91 kB gzip). Every renderer and viewer is lazy-loaded, so a plain README pulls in none of them.
- Automated checks: 24 → 100.
- Distribution is through GitHub Releases only. The Microsoft Store, Snap and Flathub listings belong to the upstream project, are frozen at 1.0.5, and are not updated here.
Install
Builds are not code-signed. On Windows, SmartScreen will warn: More info → Run anyway, or right-click the file → Properties → Unblock.
| Platform | File |
|---|---|
| Windows installer | MarkView_1.3.0_x64-setup.exe |
| Windows MSI | MarkView_1.3.0_x64_en-US.msi |
| Debian / Ubuntu | MarkView_1.3.0_amd64.deb |
| Fedora / RHEL | MarkView-1.3.0-1.x86_64.rpm |
| Any distro | MarkView_1.3.0_amd64.AppImage |
On Linux, open the About panel and click "Set MarkView as default .md handler" to bind .md files system-wide.