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.lockto help manage documents and their dependencies on large multiple-files projects. This is still experimental and disabled by default. - The
tinymist.lockalong with the browsing preview is expected to greatly help people work on large and complex projects using any of their faviorite editors.
- build: update
ccversion (#1162) in #1258 - build: downgrade
tempfileto 3.15.0 in #1259 - build: upgrade typstyle to v0.12.15 by @Eric-Song-Nop in #1260 and #1324
CLI
- feat: add CLI compile command and bench script in #1193
Compiler
- dev: move package to reflexo_world part in #1177
- feat: move world implementation in #1183, #1185, #1186, #1187
- perf: reduce size of the watch entry in #1190
- perf: remove meta watch in #1191
- feat: track fine-grained revisions of
font,registry,entry, andvfsin #1192 - feat: trigger project compilations on main thread in #1197
- feat: detect compilation-related vfs changes in #1199
- fix: try getting font index which is hit by comemo in #1213
- perf: scatter-gather the editor diagnostics in #1246
- fix: invalidate and increment revision in vfs correctly (#1292) in #1329
- fix: emit latest status and artifact with correct signals (#1294) in #1330
- fix: the path to join is shadowed by a local variable (#1322) in #1335
- fix: don't remove path mapping when invalidating vfs cache (#1316) in #1333
Editor
- feat: show name of the compiling file in the status bar in #1147
- feat: support convert to typst table from xlsx file by @hongjr03 in #1100
- fix: update xlsx-parser package version to 0.2.3 by @hongjr03 in #1166
- feat: support drag-and-drop feature for .ods format by @hongjr03 in #1217
- feat: add more known image extensions to the drop provider in #1308
- refactor: rename source file name of the drop feature in #1309
- feat: add support to paste image into typst documents in #1306
- feat: cancel codelens if the any picker is cancelled in #1314
Code Analysis
- feat: add
depended_{paths,{source_,}files}methods in #1150 - feat: prefer to select the previous token when cursor is before a marker in #1175
- fix: capture docs before check init in #1195
- fix: consider interpret mode when classifying dot accesses in #1302
- feat: support more path types and add path parameters (#1312) in #1331
Label View
Crityp (New)
- feat: micro benchmark support in #1160
Typlite
- feat: evaluate table and grid by @hongjr03 in #1300
- feat: embed Markdown codes by @hongjr03 in #1296
- feat(typlite): render context block contextually by @hongjr03 in #1305
- fix(typlite): correct the wrong path by @hongjr03 in #1323
Preview
- feat: Rescaling with Ctrl+=/- in browser (in addition to ctrl+wheel) by @tmistele in #1110
- fix: Prevent malicious websites from connecting to http / websocket server by @tmistele and @Myriad-Dreamin in #1157
- fix: respect that the port of the
expected_origincan be zero (#1295) in #1337 - feat: browsing preview in #1234
Codelens
- feat: move less used codelens into a single "more" codelens in #1315
Wasm
tinymist.lock
- feat: copy flock implementation from cargo in #1140
- Generating and updating declarative project lock file in #1133, #1149, #1151, #1152, #1153, #1154
- feat: model and document project tasks in #1202
- feat: associate lock file with toml language in #1143
- feat: initiate
lockDatabaseproject resolution in #1201 - feat: resolve projects by
lockDatabasein #1142 - feat: execute export and query on the task model in #1214
- feat: CLI compile documents with lock updates in #1218
- feat: CLI generate shell build script in #1219
Misc
- docs: revise neovim's install section by @SylvanFranklin in #1090
- docs: add release instruction by @ParaN3xus and @Myriad-Dreamin in #1163, #1169, #1173, and #1212
- docs: documenting
sync-lspcrate in #1155 - fix(ci): use deploy-pages v4 in #1249
- fix(ci): use upload-pages-artifact and configure-pages in #1251
- docs: documenting Myriad-Dreamin's workspace setting in #1264
- docs: fix typo by @YDX-2147483647 in #1276
- feat: add release crates action in #1298
Full Changelog: v0.12.18...v0.12.20-rc2
Download Binary
Install tinymist 0.12.20-rc2
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/Myriad-Dreamin/tinymist/releases/download/v0.12.20-rc2/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-rc2/tinymist-installer.ps1 | iex"Download tinymist 0.12.20-rc2
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-rc2
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)