Skip to content

v0.12.20

Compare
Choose a tag to compare
@Myriad-Dreamin Myriad-Dreamin released this 20 Feb 18:47
0260bfb

We massively changed the internal world implementation. This unblocks many new features:

  • It computes dependencies of compilation accurately. It was not correct because compilations and analyzers runs on a same world at the same time.
  • It only compiles documents when file changes really affect the compilation, because we now tracks dependencies correctly.
  • It now adds new project model with a tinymist.lock to help manage documents and their dependencies on large multiple-files projects. This is still experimental and disabled by default.
  • The tinymist.lock along with the browsing preview is expected to greatly help people work on large and complex projects using any of their faviorite editors.

For tinymist.lock feature, please check the tinymist.projectResolution = "lockDatabase". This is still experimental for multiple-files projects.

CLI

  • Added CLI compile command in #1193 and #1218

    • The compile command is mainly used for compiling documents with updating lock file. Using:
    tinymist compile --save-lock tinymist.lock
    
    • This could also be used for comparing the coompile performance of tinymist-cli and typst-cli.
  • Generating shell build script according to the lock file in #1219

Compiler

  • (Fix) Fixed a panic when getting font index which is hit by comemo in #1213
    • This could be true when the fonts are hot reloaded.
  • (Fix) Emiting latest status and artifact with correct signals (#1294) in #1330
    • Because of this, the compile status bar was not updated correctly.
  • (Perf) Detecting compilation-related vfs changes in #1199
  • (Perf) Scatter-gathering the editor diagnostics in #1246
  • Moved world implementation to tinymist in #1177, #1183, #1185, #1186, and #1187
  • Reduced size of the watch entry in #1190 and #1191
  • Tracking fine-grained revisions of font, registry, entry, and vfs in #1192
    • This prepares for better configuration hot reloading in future.
  • Triggering project compilations on main thread in #1197

Editor

  • Showing name of the compiling file in the status bar in #1147
    • You can customize it by setting tinymist.statusBarFormat in the settings.

Drop and Paste

  • Added support to drag and drop .xlsx files by @hongjr03 in #1100 and #1166
  • Added support to drag and drop .ods files by @hongjr03 in #1217
  • Added more known image extensions to the drop provider in #1308
    • Added .avif, .jpe, .psd, .tga, .tif, and .tiff, which are copied from the markdown extension.
  • Added support to paste media files (images, audios, and videos) into typst documents in #1306
  • Canceling codelens if any picker is cancelled in #1314
2025-02-17.22-38-22.mp4

Label View

  • (Fix) Making label view work when there's exactly one label by @tmistele in #1158

Typlite

Preview

  • (Fix) Logging error on channel closed instead of panicking in #1347
    • This may happen when the preview is broadcasting and the clients hasn't connected to the server.
  • Rescaling with Ctrl+=/- in browser (in addition to ctrl+wheel) by @tmistele in #1110
  • Prevented malicious websites from connecting to http / websocket server by @tmistele and @Myriad-Dreamin in #1157 and #1337
  • Browsing preview in #1234
2025-02-18.20-13-00.mp4

Code Analysis

  • (Fix) Capturing docs before check init in #1195
  • (Fix) Considering interpret mode when classifying dot accesses in #1302
  • Added depended_{paths,{source_,}files} methods in #1150
  • Preferring to select the previous token when cursor is before a marker in #1175
  • Support more path types and add path parameters (#1312) in #1331
    • Completes mutiple paths on bibliography and completes wasm files on plugin.

Crityp (New)

  • Added micro benchmark support in #1160
    • For example, the benchmark shows that fib(20) on rust (16us) is 40 times faster than that on typst (940us).
    • Check crityp for usage.

Codelens

  • Moved less used codelens into a single "more" codelens in #1315

Wasm

  • Building tinymist-world on web in #1184 and #1243

tinymist.lock

  • Copied flock implementation from cargo in #1140
  • Generating and updating declarative project lock file in #1133, #1149, #1151, #1152, #1153, #1154
  • Modeling project tasks in #1202
  • Associating tinymist.lock with toml language in #1143
  • Initiating lockDatabase project resolution in #1201
  • Resolving projects by lockDatabase in #1142
  • Executing export and query on the task model in #1214

Misc

Full Changelog: v0.12.18...v0.12.20

Download Binary

Install tinymist 0.12.20

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/Myriad-Dreamin/tinymist/releases/download/v0.12.20/tinymist-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy ByPass -c "irm https://github.com/Myriad-Dreamin/tinymist/releases/download/v0.12.20/tinymist-installer.ps1 | iex"

Download tinymist 0.12.20

File Platform Checksum
tinymist-aarch64-apple-darwin.tar.gz Apple Silicon macOS checksum
tinymist-x86_64-apple-darwin.tar.gz Intel macOS checksum
tinymist-aarch64-pc-windows-msvc.zip ARM64 Windows checksum
tinymist-x86_64-pc-windows-msvc.zip x64 Windows checksum
tinymist-aarch64-unknown-linux-gnu.tar.gz ARM64 Linux checksum
tinymist-loongarch64-unknown-linux-gnu.tar.gz LOONGARCH64 Linux checksum
tinymist-x86_64-unknown-linux-gnu.tar.gz x64 Linux checksum
tinymist-armv7-unknown-linux-gnueabihf.tar.gz ARMv7 Linux checksum
tinymist-aarch64-unknown-linux-musl.tar.gz ARM64 MUSL Linux checksum
tinymist-loongarch64-unknown-linux-musl.tar.gz LOONGARCH64 MUSL Linux checksum
tinymist-riscv64gc-unknown-linux-musl.tar.gz RISCV MUSL Linux checksum
tinymist-x86_64-unknown-linux-musl.tar.gz x64 MUSL Linux checksum
tinymist-arm-unknown-linux-musleabihf.tar.gz ARMv6 MUSL Linux (Hardfloat) checksum
tinymist-armv7-unknown-linux-musleabihf.tar.gz ARMv7 MUSL Linux checksum
Download VS Code Extension

Download tinymist VS Code Extension 0.12.20

File Platform Assets
tinymist-win32-x64.vsix x64 Windows Binary, Debug Symbols
tinymist-win32-arm64.vsix ARM64 Windows Binary, Debug Symbols
tinymist-linux-x64.vsix x64 Linux Binary, Debug Symbols
tinymist-linux-arm64.vsix ARM64 Linux Binary, Debug Symbols
tinymist-linux-armhf.vsix ARMv7 Linux Binary, Debug Symbols
tinymist-darwin-x64.vsix Intel macOS Binary, Debug Symbols
tinymist-darwin-arm64.vsix Apple Silicon macOS Binary, Debug Symbols
tinymist-alpine-x64.vsix x64 Alpine Linux Binary, Debug Symbols
tinymist-alpine-arm64.vsix ARM64 Alpine Linux Binary, Debug Symbols
tinymist-web.vsix Browser (Web)
tinymist-universal.vsix Other Platforms (Universal)