Skip to content

Releases: Sovichea/typstry

Typstry v0.3.0

Typstry v0.3.0 Pre-release
Pre-release

Choose a tag to compare

@Sovichea Sovichea released this 10 Jul 14:40

Typstry v0.3.0 establishes the project’s new direction as a complex-script-first Typst writing environment, with Khmer as the first deeply supported language.

Highlights

  • Replaced SVG preview injection with a virtualized PDF.js viewer, substantially reducing memory usage for long documents.
  • Added detachable preview windows and improved docked-preview behavior.
  • Added binary image previews with interactive viewing.
  • Added pinned main-document support for multi-file projects.
  • Added workspace ZIP export.
  • Improved render-on-type, render-on-save, external file reload, zoom, and preview recovery.
  • Improved Linux PDF rendering and release-build compatibility.
  • Strengthened complex-script font fallback throughout the editor UI.
  • Improved Khmer composition diagnostics, spellcheck revision handling, and autocomplete.
  • Improved diagnostics with per-file tracking, separate error and warning counts, deduplication, and log filtering.
  • Unsupported files can now be opened using an external application.
  • Disabled the unfinished WYSIWYM editor while the code-based research workflow is stabilized.

Preview and synchronization

  • PDF pages are rendered incrementally instead of keeping an entire SVG document mounted.
  • Visible pages rerender at the appropriate resolution after zoom or display-scale changes.
  • Obsolete render work is cancelled to reduce blank-page and zoom races.
  • Inverse synchronization uses compiler source positions instead of unreliable PDF text matching.
  • Preview failures now provide clearer developer diagnostics.
  • External source changes can trigger preview updates without reopening the workspace.

Complex-script editing

  • Added broader complex-script fallback-font coverage across editor surfaces.
  • Improved incomplete Khmer composition detection.
  • Prevented stale spellcheck results from clearing or remapping unrelated issues.
  • Improved Typst syntax filtering for spellcheck and autocomplete.
  • Added stronger editing-policy tests to protect Khmer behavior as additional scripts are introduced.

Project workflow

  • Main files can be pinned as the full-document preview root.
  • Included files remain part of the same project workflow.
  • Workspace restoration and explorer refresh behavior have been improved.
  • Temporary rendering files receive safer automatic cleanup.
  • Typstry cache files remain isolated from normal workspace content.

Typstry v0.2.2

Typstry v0.2.2 Pre-release
Pre-release

Choose a tag to compare

@Sovichea Sovichea released this 07 Jul 15:08
  • Added script-aware editing policies with improved Khmer cursor movement, deletion, and composition boundaries.
  • Added preview render-on-type and render-on-save modes.
  • Improved preview toolbar, pane resizing, sidebar controls, and default layout restoration.
  • Reduced startup time through lazy LSP, language-provider, and font initialization.
  • Added Spellcheck/LSP/Developer log filtering and navigable unknown-word counts.
  • Added persistent ignored words with informational blue underlines.
  • Improved autocomplete dismissal and Khmer prefix spellcheck behavior.
  • Improved Ctrl-hover links for complete #include and #import paths.
  • Restricted spelling corrections to the context menu and disabled unreliable Khmer correction ranges.
  • Renamed // @allow-preview to // @standalone-preview.
  • Fixed assorted editor alignment, completion, and preview interaction issues.

Typstry v0.2.1

Typstry v0.2.1 Pre-release
Pre-release

Choose a tag to compare

@Sovichea Sovichea released this 07 Jul 07:07

Bug fix release focused on live preview stability, release-build preview loading, and preview usability.

Fixes

  • Fixed docked live preview failing to load in release builds.
  • Fixed intercepted Tinymist preview resources failing to resolve from Typstry’s blob: preview iframe.
  • Fixed Tinymist preview WASM loading by routing loopback preview resources through Typstry and synthesizing a valid WASM response when needed.
  • Fixed preview WebSocket connection failures in the intercepted preview by proxying the Tinymist data-plane WebSocket with a valid loopback origin.
  • Fixed a release-build preview startup issue caused by duplicate synthetic load events.
  • Added explicit + and zoom buttons to the live preview pane.
  • Removed unreliable Ctrl + mouse wheel preview zoom handling.
  • Preview zoom now uses Tinymist’s own keyboard zoom behavior.
  • Added a visible zoom percentage indicator in the preview toolbar.
  • Improved preview pane resizing responsiveness and avoided iframe pointer capture during resize.

Notes

This release keeps DOM-based inverse sync available in release builds while improving live preview reliability and interaction responsiveness.

Typstry v0.2.0

Typstry v0.2.0 Pre-release
Pre-release

Choose a tag to compare

@Sovichea Sovichea released this 06 Jul 02:37

Typstry v0.2.0 is a major beta update focused on complex-script writing, Khmer language tooling, live preview reliability, and release readiness.

Highlights

  • Added modular language tools with bundled English Hunspell support.
  • Added downloadable Hunspell dictionaries from a starter catalog, including several complex-script languages.
  • Improved Khmer spellcheck and word suggestions with safer provider boundaries.
  • Split spellcheck and typing word suggestions into separate settings.
  • Added personal dictionary support for unknown words.
  • Improved autocomplete behavior, including keyboard navigation and better selected-row contrast.
  • Fixed autocomplete duplication issues.
  • Improved Khmer grapheme/cursor handling and deletion behavior.
  • Improved live preview iframe handling and DOM interception for more accurate inverse sync.
  • Added developer-mode preview/inverse-sync logging.
  • Improved docked preview reliability in release builds.
  • Added experimental Khmer render preparation setting, default off and hidden outside dev mode.
  • Improved settings UI layout for language tools.
  • Updated README into a release-focused landing page with direct download links.
  • Added documentation pages for install, development, settings, roadmap, and troubleshooting.
  • Bumped app version to v0.2.0.

Notes

Typstry remains beta software. Windows and Linux builds are the most actively tested. macOS builds are still experimental.

Typstry v0.1.2

Typstry v0.1.2 Pre-release
Pre-release

Choose a tag to compare

@Sovichea Sovichea released this 01 Jul 05:21

Typstry v0.1.2 Release Notes

Welcome to Typstry v0.1.2—a lightweight, local-first Typst editor built with Tauri v2, Bun, and CodeMirror 6.

Typstry follows a Unicode-First Philosophy, ensuring complex scripts such as Khmer, Arabic, and Lao align, and wrap correctly alongside code without cursor-offset issues.


What’s New in v0.1.2

Tab & Workspace Management

  • Temporary (Preview) Tabs: Opening files from the explorer now opens a temporary tab (shown with an italic name). Double-clicking, editing, or jumping to its outline headings will promote it to a permanent tab.
  • Exit Protection for Unsaved Changes: If you have unsaved changes in any tabs, closing the window (via the titlebar, Alt+F4, or menu) will prompt for confirmation before exiting to prevent data loss.
  • Tab Context Menus: Added right-click context menu options to Close and Close Others on editor tabs.
  • Restart Workspace: Added a "Restart Workspace" action to the File menu to reload the compiler context on demand.

Advanced Code Navigation (LSP)

  • Ctrl+Click Jump to Definition: Hold Ctrl (or Cmd on macOS) to underline variables, references, or functions and click to jump directly to their definitions.
  • Fallback to References: If no direct definition is found, Ctrl+Click automatically jumps to the first usage reference.
  • Robust LocationLink Parsing: Standardized the LSP client to handle both Location and LocationLink specifications, preventing crashes when jumping across files.

Outline & Preview Enhancements

  • Recursive Outline Propagation: Outlines from #include or #import documents now recursively propagate to the main document outline, allowing cross-file navigation from the sidebar.
  • Smart Preview Hiding: Hides rather than destroys persistent live-preview iframes when switching to temporary tabs (which use fast-path SVG preview). This fixes layout overlap and split-screen bugs.

Typography & Writable Examples

  • Document Typography Rules: Added toolbar toggles to enable or disable Latin and complex-script typography rules independently.
  • Consent-based Font Recommendations: Recommends installing compatible fonts only after script-detection and user consent.
  • Bundled Writable Examples: Added an "Open Examples" welcome item that installs a writable playground of Unicode-focused documents and templates under the user's Documents directory.

Key Features

Unicode-Aligned Editing and Rendering

  • Unified Font Fallback Engine: Detects Unicode scripts and recommends compatible MiSans or Noto Sans families with explicit user consent.
  • Precise Cursor and Wrap Alignment: Prevents cursor offsets and broken wrapping when Latin and non-Latin scripts appear together.
  • System Font Discovery: Lists installed monospace fonts for code and other installed families for Unicode fallback.
  • Bundled Core Fonts: Includes MiSans Latin for the interface and Fira Mono for code editing.

IDE-Grade Editor Experience

  • LSP-Powered Autocompletion: Context-aware completion powered by Tinymist.
  • Ctrl+Click Navigation: Hold Ctrl (Cmd) to underline and click variables, references, or functions to jump to definition.
  • Smart Bracket Colorizer: Applies rainbow bracket matching to code punctuation while ignoring strings and comments.
  • Escaped Symbol Protection: Prevents automatic closing when symbols are preceded by a backslash, such as \$.
  • Typst Syntax Highlighting: Supports functions, variables, numbers, headings, labels, code expressions, and scientific notation.
  • Interactive Document Outline: Displays collapsible headings and navigates to their editor and preview locations.

Native Workspace and Layout Management

  • Persistent Tab State: Remembers open files, selections, scroll positions, folds, and split ratios.
  • Temporary (Preview) Tabs: peeks files in italics without cluttering the tab bar.
  • Scrollable Tab Bar: Provides VS Code-style navigation when open tabs overflow.
  • Dynamic File Explorer: Uses lazy directory loading and updates when workspace files change externally.
  • Lucide Icon Set: Provides consistent icons throughout the application.
  • Custom Frameless Title Bar: Offers a compact native desktop layout.
  • Exit Confirmation: Safeguards unsaved document changes during exit.
  • Integrated Log Console: Displays diagnostics, preview errors, and toolchain status.

Managed Toolchain and Live Preview

  • Managed Tinymist Toolchain: Downloads and manages stable Tinymist releases without requiring a separate Typst installation.
  • Live Tinymist Preview: Updates documents while typing and supports editor-to-preview synchronization.
  • Imported Document Policy: Imported files update on save by default. Add //@allow-preview as the first line to enable independent live preview.
  • Cached Preview Sessions: Preserves mounted preview sessions when switching between tabs.
  • PDF Export: Uses Tinymist’s embedded Typst compiler.

Keyboard Shortcuts

  • Ctrl + N: New file
  • Ctrl + K, Ctrl + O: Open workspace
  • Ctrl + B: Toggle explorer sidebar
  • Ctrl + ,: Open settings
  • Alt + Z: Toggle word wrap
  • Ctrl + ~: Toggle log console
  • Ctrl + S: Save file
  • Ctrl + E: Export PDF
  • Ctrl + Click / Cmd + Click: Go to definition/reference

Typstry v0.1.1

Typstry v0.1.1 Pre-release
Pre-release

Choose a tag to compare

@Sovichea Sovichea released this 30 Jun 08:07

Welcome to Typstry v0.1.1—a lightweight, local-first Typst editor built with Tauri v2, Bun, and CodeMirror 6.

Typstry follows a Unicode-First Philosophy, ensuring complex scripts such as Khmer, Arabic, and Lao align, and wrap correctly alongside code without cursor-offset issues.


What’s New in v0.1.1

Preview and LSP Reliability

  • Fixed live on-type preview updates on Windows.
  • Fixed forward synchronization between the editor and preview.
  • Fixed Windows path mismatches caused by \\?\ verbatim path prefixes.
  • Improved case-insensitive path matching on Windows.
  • Restored the active document and preview after restarting Tinymist.
  • Added clearer preview startup and forward-sync error logging.

Editor Fixes

  • Fixed syntax highlighting for nested code expressions.
  • Fixed highlighting for indented Typst lists.
  • Improved LSP diagnostic path matching across Windows, Linux, and macOS.

Release Packaging

  • Added automated release builds through GitHub Actions.
  • Windows releases are provided as .msi installers.
  • Linux releases include:
    • .AppImage with bundled runtime dependencies.
    • .deb with WebKitGTK installed automatically through APT.
  • Added an initial macOS build pipeline for compatibility testing.

Key Features

Unicode-Aligned Editing and Rendering

  • Unified Font Fallback Engine: Detects Unicode scripts and recommends compatible MiSans or Noto Sans families with explicit user consent.
  • Precise Cursor and Wrap Alignment: Prevents cursor offsets and broken wrapping when Latin and non-Latin scripts appear together.
  • System Font Discovery: Lists installed monospace fonts for code and other installed families for Unicode fallback.
  • Bundled Core Fonts: Includes MiSans Latin for the interface and Fira Mono for code editing.

IDE-Grade Editor Experience

  • LSP-Powered Autocompletion: Context-aware completion powered by Tinymist.
  • Smart Bracket Colorizer: Applies rainbow bracket matching to code punctuation while ignoring strings and comments.
  • Escaped Symbol Protection: Prevents automatic closing when symbols are preceded by a backslash, such as \$.
  • Typst Syntax Highlighting: Supports functions, variables, numbers, headings, labels, code expressions, and scientific notation.
  • Interactive Document Outline: Displays collapsible headings and navigates to their editor and preview locations.

Native Workspace and Layout Management

  • Persistent Tab State: Remembers open files, selections, scroll positions, folds, and split ratios.
  • Scrollable Tab Bar: Provides VS Code-style navigation when open tabs overflow.
  • Dynamic File Explorer: Uses lazy directory loading and updates when workspace files change externally.
  • Lucide Icon Set: Provides consistent icons throughout the application.
  • Custom Frameless Title Bar: Offers a compact native desktop layout.
  • Integrated Log Console: Displays diagnostics, preview errors, and toolchain status.

Managed Toolchain and Live Preview

  • Managed Tinymist Toolchain: Downloads and manages stable Tinymist releases without requiring a separate Typst installation.
  • Live Tinymist Preview: Updates documents while typing and supports editor-to-preview synchronization.
  • Imported Document Policy: Imported files update on save by default. Add //@allow-preview as the first line to enable independent live preview.
  • Cached Preview Sessions: Preserves mounted preview sessions when switching between tabs.
  • PDF Export: Uses Tinymist’s embedded Typst compiler.

Keyboard Shortcuts

  • Ctrl + N: New file
  • Ctrl + K, Ctrl + O: Open workspace
  • Ctrl + B: Toggle explorer sidebar
  • Ctrl + ,: Open settings
  • Alt + Z: Toggle word wrap
  • Ctrl + ~: Toggle log console
  • Ctrl + S: Save file
  • Ctrl + E: Export PDF

Typstry v0.1.0

Typstry v0.1.0 Pre-release
Pre-release

Choose a tag to compare

@Sovichea Sovichea released this 29 Jun 16:07

Welcome to the initial release of Typstry (v0.1.0) — a lightweight, local-first Typst editor built on Tauri v2, Bun, and CodeMirror 6.

Typstry is engineered with a Unicode-First Philosophy, ensuring that complex scripts (such as Khmer, Arabic, and Laos) render, align, and wrap seamlessly alongside your code without cursor offset issues.


Key Features in this Release

Unicode-Aligned Editing & Rendering

  • Unified Font Fallback Engine: Typstry automatically detects and recommends script-specific fonts (like MiSans and Noto Sans) with explicit user consent.
  • Precise Cursor & Wrap Alignment: Fixed standard editor bugs where non-ASCII characters caused horizontal cursor offsets or broken word wraps.

IDE-Grade Editor Experience

  • LSP-Powered Autocompletion: Context-aware autocompletions using Tinymist's sortText priority matching. Autocomplete triggers are optimized to suppress pops on bracket insertions or space inputs.
  • Smart Bracket Colorizer: Implements colorized rainbow bracket matching restricted to code punctuation, completely ignoring strings, comments, and inline equations.
  • Escaped Symbol Protection: Custom input interceptors prevent auto-closing symbols if they are preceded by a backslash (e.g. \$ for literal dollar signs).
  • Robust Syntax Rules: Built-in support for highlighting nested functions without requiring the # prefix inside code blocks.

Native Workspace & Layout Management

  • Persistent Tab State: Remembers open files, tab selection order, scroll offsets, and editor split-screen ratios across sessions.
  • Dynamic File Explorer: Built-in lazy-loading sidebar showing project trees with clean Material icons, supported by secure backend Rust commands for directory creation, renaming, and copying.
  • Custom Frameless Titlebar: A premium, minimalist window design with native-feeling header buttons.
  • Integrated Log Console: Instant diagnostic logs and compile-status output reachable via shortkey or status bar.

Managed Toolchain & Live Preview

  • No External Dependencies: No need to install typst or node system-wide. Typstry downloads and manages stable Tinymist binaries locally.
  • Instant Bidirectional Previews: Live preview utilizing Tinymist compilation with loopback websocket exemption, allowing real-time update syncs without mixed-content preview blocks.

Keyboard Shortcuts

  • Ctrl + N: New File
  • Ctrl + K, Ctrl + O: Open Workspace
  • Ctrl + B: Toggle Explorer Sidebar
  • Ctrl + ,: Open Settings
  • Alt + Z: Toggle Word Wrap
  • Ctrl + ~: Toggle Log Console