Skip to content

Releases: HelgeSverre/fence

0.7.0

Choose a tag to compare

@HelgeSverre HelgeSverre released this 12 Oct 13:53
e4196fa

Added

  • Mermaid diagrams have Source and Actual size controls, plus an expanded
    view with mouse, trackpad and keyboard pan/zoom. Wide diagrams start at
    actual size when fitting would make their labels too small to read.
  • Polar Night, Deep Tide, JetBrains Dark/Light and JetBrains Islands
    Dark/Light themes.
  • Syntax highlighting for C, C++, YAML, TOML, Ruby, Java, C#, Swift, Scala,
    shell scripts and Dockerfiles.
  • Cmd/Ctrl+D duplicates the current line or selected text.
  • Native context menus in the editor and preview, with clipboard commands
    and actions for links and images.
  • Hovering a preview link shows its destination.

Changed

  • Mermaid diagrams use ELK layout for supported graph types and follow the
    document's colors, font and text size. Nodes have rounded corners, edge
    labels have pill backgrounds, and ordinary arrows use open chevrons.
  • Code blocks and inline code use backgrounds slightly darker than the
    document in every theme, with readable comment colors in light themes.
  • Wide preview tables scroll horizontally instead of being clipped.
  • Measuring caret columns on long ASCII lines is faster.
  • Internal refactor, no user-facing changes: split electron/main.js into
    export.js, session.js, menu.js and validate.js; split src/Main.elm
    into Decoders, PreviewSync, Settings and Splits, and gave Find and
    Palette their own update/view; unified the two dirName implementations.
  • Consolidated e2e test helpers, replaced timing-based waits with polling,
    fixed brittle test locators, and added macOS to CI.

Fixed

  • Dragging an expanded diagram pans without selecting its labels. Expanded
    diagrams update after source and appearance changes, and close when their
    source becomes invalid or the originating block is removed.
  • Switching between dark themes, changing fonts or using the editor font in
    the preview updates Mermaid diagrams. Cached and expanded SVGs have unique
    IDs so their markers and styles do not interfere with other diagrams.
  • Diagram exports always include the drawing, even when Source is shown,
    and omit preview controls and duplicate source. Plain-text clipboard
    exports omit SVG styles.
  • Caret placement, selections and soft wrapping account for combining marks,
    wide characters, emoji and joined Unicode sequences.
  • Malformed Markdown and unsupported HTML are contained to the affected
    block or segment instead of blanking the whole preview.
  • An unresponsive renderer no longer traps the window open.
  • Cmd+Q on macOS completes after resolving unsaved-document prompts and
    saving, instead of leaving Fence running after its window closes.

0.6.0

Choose a tag to compare

@github-actions github-actions released this 11 Sep 18:14
v0.6.0

Fence v0.6.0

0.5.0

Choose a tag to compare

@HelgeSverre HelgeSverre released this 10 Sep 20:52

Added

  • Save As, including saving untitled documents and creating a copy without
    changing the original. Use Cmd/Ctrl+Shift+S or File > Save As.
  • Local Markdown links open documents inside Fence and support heading fragments.
  • Restart restores the last document, caret, and scroll position, clamping them
    when the file has changed on disk.
  • CLI help, version output, and errors for invalid options or missing paths.

Fixed

  • Opening a file or workspace checks unsaved work with Save, Discard, and Cancel.
    Navigation waits for pending saves and preserves edits made during a write.
  • Closing checks the current editor state even when the last edit's dirty-state
    notification has not arrived yet.
  • Choosing Save when closing an untitled document opens Save As; cancelling
    keeps the document open.
  • Switching workspaces clears the old editor after resolving unsaved work.
  • Renaming a parent folder updates descendant editor paths and recovery drafts.
  • Exports wait for the current Markdown, images, and Mermaid diagrams to render.
  • Settings scrolls within the available window height so every control remains
    accessible in short windows or at larger UI font sizes.

0.4.2

Choose a tag to compare

@HelgeSverre HelgeSverre released this 10 Sep 14:53

Added

  • Homebrew installs a global fence launcher. Open a file with fence README.md or a folder with fence ..

Fixed

  • Removed the white square at the editor's scrollbar intersection.
  • Opening settings no longer shifts the toolbar button or dropdown sideways.

Full changelog

0.4.1

Choose a tag to compare

@HelgeSverre HelgeSverre released this 10 Sep 14:29

Fixed

  • Local Markdown and HTML images resolve relative to the open document, fixing the broken screenshot in Fence's own README.
  • Images follow file switches and source edits correctly, including encoded filenames and late loading responses.
  • Exports embed local images so they remain visible outside Fence.

Changed

  • Refreshed the README screenshot with the native window frame, Sema's embedding guide, and an active search for “interpreter”.

Full changelog

0.4.0

Choose a tag to compare

@HelgeSverre HelgeSverre released this 10 Sep 13:16

Added

  • Editor-only, split, and preview-only layouts, with toolbar controls and a
    configurable keyboard shortcut. Switching layouts preserves your work and
    scroll positions.
  • Find in the rendered preview, including match navigation and case-sensitive
    search. Replace brings the editor back into view.
  • Invalid Mermaid diagrams show a readable error with expandable source;
    other diagrams continue rendering, and correcting the source clears the error.

Fixed

  • Saving a scrolled document no longer blanks the editor or clears the caret,
    selection, and undo history when its own filesystem notification arrives.
  • External reloads preserve the viewport and reject stale responses after
    edits or file switches. Opening another file synchronizes the editor's
    virtual rows with the browser's scroll position.
  • When external edits remove the caret's line, it moves to the new end of
    the document. Selections and scroll positions clamp safely, including empty
    files and long final lines with wrapping disabled.
  • Rapid external edits immediately after saving are no longer lost in the
    filesystem watcher's notification throttle.
  • HTML compatibility preprocessing leaves fenced code intact, preserving
    Mermaid ampersand operators and literal HTML examples.
  • Mermaid diagrams update correctly after source edits and theme changes.

0.3.0

Choose a tag to compare

@HelgeSverre HelgeSverre released this 06 Sep 01:49

Added

  • Soft wrap, enabled by default with a persistent toggle in Settings.
    Long lines fit the editor width without adding newlines to saved files or
    copied text. Caret movement, selection, search highlights, and preview
    synchronization follow the wrapped rows.

Changed

  • Wrapped editing keeps rendering limited to visible rows and reuses cached
    layout and syntax highlighting. Resize measurements are coalesced per frame.
  • Stylesheets are organized by theme and component, with shared control,
    focus, and layout rules. Editor syntax styles are scoped to the editor.
  • Outline navigation scrolls the editor to the selected heading and keeps
    the preview synchronized. Settings use a more compact layout and track
    keyboard focus when controls receive focus.

Fixed

  • The window and initial HTML use a dark background while the app loads,
    preventing the default white startup flash.
  • Markdown comparisons such as <2ms at the start of a line no longer cause
    the preview to show the welcome screen. Unrecoverable parse errors display
    the document source instead of an empty preview.

0.2.0

Choose a tag to compare

@github-actions github-actions released this 06 Sep 00:08
v0.2.0

Release v0.2.0

0.1.6

Choose a tag to compare

@github-actions github-actions released this 05 Sep 14:59
v0.1.6

Release v0.1.6

0.1.5

Choose a tag to compare

@github-actions github-actions released this 02 Sep 23:49
v0.1.5

Release v0.1.5