Skip to content

0.5.0

Choose a tag to compare

@github-actions github-actions released this 14 Aug 15:11
· 13 commits to main since this release
987c839

Added

  • Live preview that updates as you type. The preview pane can now render through tinymist's own preview engine
    instead of exporting a PDF and displaying it. Edits appear in the pane within a few milliseconds of the keystroke — no
    save, no export, and only the changed part of the page is redrawn. A Live / PDF toggle in the preview toolbar
    chooses the renderer per editor tab, so several .typ files can be open in different modes; the new Default preview
    mode
    setting picks what a freshly opened tab starts in. Live preview is the default. If it cannot start — an old
    tinymist, a refused port — the pane falls back to the PDF renderer on its own and says so in the Typst Output console.
    Compile and Export write a PDF and report to the console whichever renderer the pane is using, and never
    switch it: a pane in PDF mode reloads, a pane in Live mode carries on rendering live (issue #109).
  • Editors showing the same document share one live preview. With a main entry pinned, every open chapter compiles
    through that main, so they all display the same document — one render serves them all, started when the first such tab
    opens and stopped when the last one closes. With no main entry pinned, every file gets its own live preview, as do
    .typ files outside the project (issue #109).
  • The live preview follows the cursor. It scrolls to the part of the document you are editing, keeps up as you move
    around, and re-syncs when you switch back to a tab — so the preview shows the passage you are working on rather than
    wherever you last left it. Turn it off with Scroll the live preview to follow the cursor in Settings > Tools >
    Typst. Two things to know: editors sharing one live preview scroll together, because the scroll belongs to the shared
    render rather than to a pane; and a file opened for the very first time has its cursor at the start, so the preview
    begins at the top of the document until you move it (issue #109).
  • Click the preview to jump to the source. Clicking a spot in the live preview takes the editor to the matching
    place in the .typ file that produced it, opening the file if it is not already open — useful in a multi-file
    project, where the passage you are looking at often lives in a chapter you do not have in front of you (issue #109).
  • Pin a main entry file for multi-file projects. In a project where main.typ #includes a tree of chapter files,
    opening a chapter on its own used to compile it in isolation, so every cross-file reference (@ch:cases pointing at a
    label declared elsewhere) reported "label does not exist" — errors that vanished only when main.typ was reopened.
    Right-click a .typ file and choose Pin as Typst Main File (or set it in Settings > Tools > Typst > Project
    Overrides) and the whole project is compiled through that entry instead: cross-references resolve, the editor stops
    reporting phantom errors, and the preview shows the complete document while you edit any chapter. Unpin Typst Main
    File
    reverts to compiling whichever file is focused. The pin is re-applied automatically whenever the language
    server restarts (issue #97).

Fixed

  • tinymist is no longer re-downloaded after every plugin update. The managed binary was kept inside the plugin's
    own installation folder, which an update deletes and replaces, so each upgrade silently threw it away and downloaded
    it again. It now lives alongside the IDE's other cached data and survives updates. Upgrading to this version
    downloads it once more, into the new location.
  • The preview no longer gets stuck on "Compiling…" after a compile fails. A failed compile now keeps its error pane on
    screen until the next successful compile, instead of being painted over by the waiting splash and hiding the
    diagnostic (issue #98).
  • .typ files outside the project are compiled as themselves even when a main entry is pinned, rather than being
    redirected to the project's document (issue #99).
  • Several reliability problems on the compile path (issue #101):
    • Compiling no longer fails with "failed to persist temporary file: Access is denied" when several editor tabs refresh
      at once; simultaneous compiles of the same document are now merged into one.
    • Compile requests are no longer sent to the wrong language server, which reported "file not found" for files that
      exist — most visibly after a file was created or replaced outside the IDE.
    • Applying a project setting no longer leaves out-of-project .typ files without a language server until their editor
      is closed and reopened.
    • Compile now saves modified files first, so it no longer produces a PDF of the previously saved text while
      reporting success.
    • A language server that stops unexpectedly is restarted automatically, instead of leaving the preview waiting
      indefinitely.

Changed

  • Saving no longer writes a PDF while the preview is in Live mode. Previously the preview refreshed by exporting, so
    every save left an updated PDF in the export directory (target/ by default) as a side effect. A live preview renders
    without producing a file, so with the new default the PDF on disk is written only when you ask for one — Compile
    (Ctrl+Shift+T) or Export. If you relied on save-writes-a-PDF (a build script watching
    target/, an external viewer open on the file), switch the preview toolbar toggle to PDF, or set Default preview
    mode
    to PDF to restore the previous behaviour everywhere.
  • The preview follows your typing rather than your saves. In Live mode the pane no longer waits for
    Ctrl+S. It can be put back on a save cadence with the Update live preview on every keystroke setting
    without leaving Live mode.
  • A compile error leaves the Live preview showing the last good version, not an error page. The live renderer keeps
    the most recent successful render, so a document that has never compiled shows an empty pane instead of a message.
    The errors themselves are unaffected — they appear in the editor gutter and in the Typst Output console as
    before. Switch the pane to PDF for the previous behaviour, where a failed compile replaces the preview with an
    error page.
  • Jumping from the preview to the source does not move the keyboard focus when the target file is already open in
    front of you: the line is highlighted, but the cursor stays where it was and typing still goes to the preview. Click
    into the editor to carry on. Jumping to a file that is not already open behaves normally, placing the cursor and
    moving focus with it. This is the IDE's handling of the language server's request rather than a limit of Typst
    itself, and it is being tracked for a follow-up.
  • The bundled tinymist language server is now pinned to v0.15.2 (from v0.14.18). Users who already have an
    auto-downloaded tinymist keep their existing binary — the new pin applies to fresh downloads.