Skip to content

0.1.29 - 2026-07-07

Choose a tag to compare

@github-actions github-actions released this 07 Jul 06:15
05abacc

Release Notes

Added

  • rw serve --open (short -o) opens the site in your default browser once the
    server is ready. It opens the actual bound port (so it's correct even after a
    port fallback) and uses localhost when listening on 0.0.0.0. Off by
    default; if the browser can't be launched, rw serve warns and keeps serving.
  • rw serve now falls back to the next free port when its default (7979) is
    busy — it tries 7980, 7981, … and prints the port it settled on — so a
    second rw serve just works. A port set explicitly (--port or
    [server].port in rw.toml) stays a hard requirement and still fails with
    "port N is already in use".
  • Diagram code fences accept a {#id} attribute block to set a stable
    data-diagram-id on the rendered <figure class="diagram">
    (e.g. ```mermaid {#architecture}). Diagrams without one get an auto
    data-diagram-id="diagram-<n>". An explicit id survives diagram reordering;
    auto ids do not. format is also set inside the block ({format=png}).
  • Diagrams can now be opened in a fullscreen zoom popup. Every rendered diagram
    shows an "Expand diagram" button on hover (always visible on touch) that opens
    a modal where you can zoom (wheel, pinch, or on-screen controls) and drag to
    pan, making large diagrams legible. It opens at natural size, scaled down only
    to fit the screen, and keeps its proportions; Escape or the close button
    dismisses it. While it's open, editing the diagram's source re-renders it live
    on the next reload without losing your zoom or pan; a momentarily-broken edit
    keeps the last good render until you fix it.

Changed

  • Fenced code blocks now match the page theme instead of always rendering as a
    dark box: a faint light-tinted surface in light theme, a subtly darker panel in
    dark theme. Inline code and syntax highlighting are unchanged.
  • Breaking (pre-1.0): the bare format=png diagram fence form (outside the
    braces) is removed. Set the format inside the attribute block: ```mermaid {format=png}.
  • The embedded-preview shell (rw serve --embedded, a Backstage-like host
    wrapper for testing embedded rendering) is now compiled into every build,
    instead of needing the embedded-preview Cargo feature. The flag stays hidden
    from rw --help.

Fixed

  • Inline comments now re-anchor to their passage in more cases after it's edited,
    instead of dropping to the page timeline. The fuzzy re-anchor now uses a Myers
    bit-vector matcher with no length limit (previously quotes over 32 characters
    couldn't be matched at all) and ranks candidates by edit distance and
    surrounding context, so edited quotes and moderate word substitutions
    re-highlight (with the dashed "re-anchored" underline). Passages that are
    genuinely gone or too ambiguous still drop to the timeline.
  • An inline comment on a short passage (e.g. a section heading) no longer drops
    to the page timeline when the text next to it is edited — for instance
    inserting a paragraph between a heading and its list. As long as the passage is
    still unique on the page and one side of its context still matches, the comment
    stays anchored; previously a short passage needed both sides unchanged.
  • Mermaid diagrams no longer render as solid black shapes with unreadable labels
    in the fullscreen zoom popup. Mermaid scopes its embedded stylesheet under the
    SVG's root id; the popup renames the clone's ids but left the stylesheet
    selectors behind, orphaning every rule. Selectors and
    aria-labelledby/aria-describedby references are now renamed in lockstep.
    PlantUML/C4 diagrams were never affected.
  • Inline comments no longer attach to rendered diagrams. A diagram is inlined as
    an SVG whose labels are real text, so selecting one used to offer "Add comment"
    and create a comment that couldn't be reliably re-found. Selecting text inside
    a diagram (or across one) now shows no "Add comment" button, and a prose
    comment can no longer jump onto a same-worded diagram label on re-render. On
    the CLI, rw comment add --quote for text that appears only inside a diagram
    now reports the quote as not found.
  • Live-reloading the homepage (editing docs/index.md or the README.md
    homepage) no longer sometimes jumps your scroll position to the top. It
    refreshed non-silently, so a reload slower than ~300ms briefly showed the
    loading skeleton and collapsed the page height; the homepage now refreshes
    silently like every other page.
  • Comment keyboard navigation (n/p/r) now works on non-Latin keyboard
    layouts (Cyrillic, Greek, and similar). The shortcuts matched the typed
    character, so on a Russian layout the physical keys produced letters that never
    matched; they now fall back to the physical key position while still honoring
    the labeled key on Dvorak/AZERTY. As a side effect they're now case-insensitive.
  • Resolving an inline comment no longer makes the thread's position counter jump
    to the end (e.g. "1 / 6" → "6 / 6"). The resolved comment stays in its slot with
    its passage highlighted; the counter updates (to "1 / 5") only when you step to
    the next comment.
  • rw serve no longer keeps showing broken diagrams from cache after you fix a
    Kroki problem. A change to kroki_url, dpi, or the PlantUML include
    directories now invalidates cached pages, and a page whose diagrams failed to
    reach Kroki (network error or 5xx) isn't cached at all, so it recovers on the
    next request. A genuinely broken diagram (Kroki returns 400) still caches, so it
    doesn't re-hit Kroki on every request.

Install rw 0.1.29

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/rwdocs/rw/releases/download/v0.1.29/rw-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy Bypass -c "irm https://github.com/rwdocs/rw/releases/download/v0.1.29/rw-installer.ps1 | iex"

Install prebuilt binaries via Homebrew

brew install rwdocs/tap/rw

Download rw 0.1.29

File Platform Checksum
rw-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
rw-x86_64-apple-darwin.tar.xz Intel macOS checksum
rw-x86_64-pc-windows-msvc.zip x64 Windows checksum
rw-aarch64-unknown-linux-gnu.tar.xz ARM64 Linux checksum
rw-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum
rw-x86_64-unknown-linux-musl.tar.xz x64 MUSL Linux checksum