Skip to content

Releases: Myriad-Dreamin/typst.ts

v0.5.0-rc8

21 Oct 15:57
Compare
Choose a tag to compare
v0.5.0-rc8 Pre-release
Pre-release

Full Changelog: v0.4.1...v0.5.0-rc8

This is the final rc version before v0.5.0.

New Contributors

Security Notes

No new security note.

Package: @myriaddreamin/typst.node (New)

  • feat: add typst.node in #460
  • dev(pkg::node): add more api and comments in #463
  • fix(pkg::node): remove additional fields added by napi prepublish in #464
  • fix: entry state mutation in node compiler by @seven-mile in #550
  • feat: add pdf options to typst.node in #552
  • dev: simplify node api in #558

Package: rehype-typst (New)

Package: @myriaddreamin/typst.react (New)

  • feat(pkg::react): support react 18 by @sinchang in #438
  • chore(pkg::react): update to React 18 client rendering APIs by @sinchang in #442

Package: @myriaddreamin/typst.vue3 (New)

Package: @myriaddreamin/typst.solid (New)

Package: hexo-renderer-typst

  • feat: hexo-renderer-typst use typst.node in #471
  • fix(hexo): delete unused variables in processor in #592

CLI

  • feat(cli): support reading input from stdin in #495

Compiler API

  • feat: use random main file path for svg by mainContent in #491
  • feat(pkg::compiler): expose incremental api in #445

Renderer API

  • fix(pkg::core): unify inconsistent pixel per pt in #450
  • dev: break change: use sys.args to control layout in #540
  • dev: replace inline svg with html command in #541
  • feat: add query interface and export customize points for scripts in #576
  • feat(pkg::compiler): expose incremental api in #445

Compiler, Rust Part

  • dev(svg): use span based text selection in #447
  • fix(upstream): ensure thread-safe when using comemo macros in #451
  • dev: add debug loc definitions in #456
  • feat(core): rework vector IR and create passes in #459
  • fix(core): consider text elements which doesn't have source location in #461
  • fix(compiler): correctly detect not found packages in #465
  • revert: "fix(compiler): correctly detect not found packages" in #467
  • feat(compiler): resolve spans in granularity of char in #468
  • feat(compiler): api for mapping src to element positions in #469
  • dev: remove last use of unsafe spans in #476
  • feat(compiler): run in wasm32 unknown in #484
  • feat: export diagnostics objects in #492
  • feat(compiler): allow specifying input arguments in #494
  • feat: pull list of packages for world in #499
  • fix: blocking receiving http requests on another thread in #500
  • dev: generialze font resolver in #506
  • dev: shrink options for font resolver in #508
  • feat: let world take entry into consideration in #509
  • dev(compiler): add debug information on fonts in #510
  • dev: update benchmark and use naive reparsing in #520
  • dev: make file watching friendly in #522
  • fix: restore from "file not found" error after restoring deleted file in #523
  • feat: calculate color transforms at compile time in #528
  • feat: full support to world snapshot in #545
  • dev: improve impl of EntryState in #557
  • dev: update compiler docs in #559
  • docs: update get-started and revise compilers in #564
  • feat: allow setting targets or layout widths in #562
  • fix(core): reset diff group state in #454
  • fix(core): convert colors from different color spaces to rgb in #501
  • fix: edge cases for strokes in #578

Dom Renderer (new)

  • feat(exporter::dom): init in #470
  • dev(dom): make higher render priority on visible pages in #474
  • dev: update dom export and all css for   escaping in #489
  • fix: dom viewport width calculation by @seven-mile in #504
  • feat: better fallback emit by @seven-mile in #480
  • dev: replace legacy pdf js usages by sema export in #531
  • feat: improve the rerendering performance on multiple-page documents in #536
  • dev: sync compile actor implementation in #546

Renderer Common

  • dev: improve performance on text selection in #439
  • dev(svg): use span based text selection in #447
  • Removed   escapes in svg export by @winstonewert in #482
  • fix: render zero-sized text elements correctly in #556
  • feat: add span rules to avoid user overriden by simply span selector. in #575
  • docs: add guide to use rendering techniques in #579

Incremental Rendering

  • fix(pkg::core): reset render state on reset call in #452

Svg Renderer

  • fix(export::svg): reuse reference in a transformed item in #443
  • dev(export::svg): localize clip path definitions in #444
  • fix(exporter::svg): set width to zero if data is not available in #449
  • dev(exporter::svg): memorize glyph hash builder in #457

Canvas Renderer

  • fix: incorrect value reference in canvas rendering in #441

  • feat: compute bbox of canvas elements in #532

  • feat: compute tight bbox of canvas path elements in #533

  • feat: render canvas with damage tracking in #534

  • feat: clip-based canvas rerendering in #535

Misc

Read more

v0.5.0-rc7

25 Aug 08:39
Compare
Choose a tag to compare
v0.5.0-rc7 Pre-release
Pre-release
fix(ci): chromedriver 404 not found

v0.5.0-rc6

15 Jul 22:39
Compare
Choose a tag to compare
v0.5.0-rc6 Pre-release
Pre-release

Prerelease testing.

v0.4.1

05 Dec 02:41
58f88e9
Compare
Choose a tag to compare

See the CHANGELOG for more details.

v0.4.1

Changelog since v0.4.1

Full Changelog: v0.4.0...v0.4.1

Security Notes

No new security note.

Bug fix

  • compiler: compile race condition in browser in #393

  • pkg::core: add a missing await in #394

Changes

  • cli: improve TYPST_FONT_PATHS (typst#2746) in #432

  • compiler: use fontdb to load system fonts in #403

  • compiler: compile with env on stack in #409

  • compiler: replace diag features by CompileReporter in #413

External Feature

  • build: build: upgrade to typst v0.10.0 in #432

  • pkg::parser: init in #401

  • pkg::core: expose render canvas api in #404 and #405

  • cli: manual generation in #408

  • cli: export pdf with timestamp in #423

  • compiler: add query, getSemanticTokens api in #398

  • compiler: add offset encoding option for getSemanticTokens in #400

  • compiler: compile with env on stack in #409

  • compiler: post process handler for dyn layout in #428

  • exporter::text: add text exporter in #422

  • exporter::svg: layout and shape text in browser in #416 and #420

  • exporter::svg: basic left-to-right text flow detection in #421

  • exporter::svg: pull better location handler from preview in #419

  • exporter::svg: update location handler for semantic labels in #426

Internal Feature

  • proj: add cetz-editor in #395

  • proj: init highlighter in #402

  • core: add DynGenericExporter and DynPolymorphicExporter in #411

  • core: implement ligature handling in #414

  • core: add PageMetadata::Custom in #425

  • core: add getCustomV1 api in #427

  • compiler: export destination path to module in #430

  • compiler: add intern support in #429

v0.4.0

01 Nov 10:06
Compare
Choose a tag to compare

See the CHANGELOG for more details.

v0.4.0

This is a major upgrade of typst.ts, so we decide to increment the minor version number. The most important change is that we have stabilized the API for TypstRenderer. We have also added guidance to typst.ts in #391.

One of the best features since v0.4.0 is that we provide a more user-friendly way to start exploring typst.ts, the all-in-one library apis:

<script type="module" src="/@myriaddreamin/typst.ts/dist/esm/contrib/all-in-one.bundle.js"></script>
<script>
  document.ready(() => {
    const svg = await $typst.svg({ mainContent: 'Hello, typst!' });
  });
</script>

See All-in-one Library sample for sample that previewing document in less than 200 LoCs and a single HTML.

We have reworked vector format (IR) in #317, #324, and #342. As a result, there are several notable changes:

  • Removed legacy artifact exporting in #319. You can no longer get JSON output from typst.ts. Instead, use typst.ts query or typst-ts-cli query (v0.4.0+, #286).

  • Refactored Renderer API in #336 and #338. Existing APIs still work but will be removed in v0.5.0.

  • Reworked canvas renderer with vector IR in #318 and #325. The new canvas renderer no longer needs to preload fonts (#330).

Changelog since v0.4.0

What's Changed

Full Changelog: v0.3.1...v0.4.0

Security Notes

No new security note.

Bug fix


Since v0.4.0-rc3

Changes

  • build: setup typescript monorepo with turbo in #312

    • You don't have to face the error-prone yarn link anymore.
  • core: remove legacy artifact exporting in #319

  • compiler: remove deprecated resolve_with in #328

  • pkg::core: refactor render api in #336 and #338


Since v0.4.0-rc3

External Feature

  • typst: sync to 0.8.0 in https://github.com/Myriad-Dreamin/typst.ts/pull/xxx

  • pkg::core: adapt and export render session

  • pkg::react: expose setWasmModuleInitOptions in #311

  • pkg::compiler: allow set dummy access model

  • cli: add query command in #286

  • cli: add interactive query command by Me and @seven-mile in #289

  • cli: specify fonts via an environment variable TYPST_FONT_PATHS in #305

  • compiler: add set_{layout_widths,extension,target} in #299, #304, and in #308

  • compiler: embed emoji fonts for browser compiler, which will increase much bundle size

  • docs: init typst.ts documentation in #340


Since v0.4.0-rc3

  • more convenient way to integrate projects in #388

  • exporter::svg: embed transparent html elements in #379

  • pkg::core: all-in-one library support in 17d86f8

  • pkg::core: let typst.ts work with node.js (nodenext) in #366

  • pkg::core: add option of assetUrlPrefix in https://github.com/Myriad-

  • pkg::compiler: load font asset from remote in #368

  • pkg::compiler: export to pdf api in #372

  • pkg::compiler: fetch package support in #373

  • compiler: new font distribute strategy in #362

    You can install typst-ts-cli by cargo since this PR:

    cargo install --locked --git https://github.com/Myriad-Dreamin/typst.ts typst-ts-cli
    
  • compiler: add actor for watch compiler in #371

Internal Feature

  • core: rework vector format (IR) in #317, #324, and #342

  • compiler: pollyfill time support in browser

  • exporter::canvas: rework with vector ir in #318 and #325

  • corpora: auto add std test cases in #331


Since v0.4.0-rc3

  • test: add incremental compilation fuzzer in #370

v0.4.0-rc3

13 Sep 15:33
c6ed3f0
Compare
Choose a tag to compare

See the CHANGELOG for more details.

v0.4.0-rc3

This is a major upgrade of typst.ts, so we decide to increment the minor version number. The most important change is that we have stabilized the API for TypstRenderer. We have added extensive documentation (https://www.npmjs.com/package/@myriaddreamin/typst.ts?activeTab=code), but are still working on more docs, so this release is 0.4.0-rc3 rather than 0.4.0.

We have reworked vector format (IR) in #317, #324, and #342. As a result, there are several notable changes:

  • Removed legacy artifact exporting in #319. You can no longer get JSON output from typst.ts. Instead, use typst.ts query or typst-ts-cli query (v0.4.0+, #286).

  • Refactored Renderer API in #336 and #338. Existing APIs still work but will be removed in v0.5.0.

  • Reworked canvas renderer with vector IR in #318 and #325. The new canvas renderer no longer needs to preload fonts (#330).

Changelog since v0.4.0-rc3

Full Changelog: v0.3.1...v0.4.0-rc3

Security Notes

No new security note.

Bug fix

Changes

  • build: setup typescript monorepo with turbo in #312

    • You don't have to face the error-prone yarn link anymore.
  • core: remove legacy artifact exporting in #319

  • compiler: remove deprecated resolve_with in #328

  • pkg::core: refactor render api in #336 and #338

External Feature

  • typst: sync to 0.8.0 in #346

  • pkg::core: adapt and export render session

  • pkg::react: expose setWasmModuleInitOptions in #311

  • pkg::compiler: allow set dummy access model

  • cli: add query command in #286

  • cli: add interactive query command by Me and @seven-mile in #289

  • cli: specify fonts via an environment variable TYPST_FONT_PATHS in #305

  • compiler: add set_{layout_widths,extension,target} in #299, #304, and in #308

  • compiler: embed emoji fonts for browser compiler, which will increase much bundle size

  • docs: init typst.ts documentation in #340

Internal Feature

  • core: rework vector format (IR) in #317, #324, and #342

  • compiler: pollyfill time support in browser

  • exporter::canvas: rework with vector ir in #318 and #325

  • corpora: auto add std test cases in #331

v0.3.1

07 Aug 21:02
1d32f95
Compare
Choose a tag to compare

See the CHANGELOG for more details.

v0.3.1

Changelog since v0.3.1

Full Changelog: v0.3.0...v0.3.1

Known Issues

  • exporter::svg: tyring to fix baseline of bitmap glyph, but untested in #249

Security Notes

  • compiler: safer path_for_id in #271

    Before this commit, a malicious package can access any file in the system.

Bug fix

  • compiler: reparse with empty content in #236
  • exporter::svg: memorize image_item rendering in #247
  • exporter::svg: correct group class name in #251
  • exporter::svg: remove unused prev correctly in #264
  • exporter::svg: correct reuse target in #268
  • compiler: ignore inotify events from output in #261
  • cli: correct logger setting in #262
  • pkg::core: link script in #275
  • compiler: only download packages in @Preview in #276
  • compiler: datetime offset in #278

Changes

  • cli: distinguish svg and svg-html export in #259

External Feature

  • exporter::svg: experimental svg minifier in #252
  • exporter::svg: page-level partial rendering in #263
  • pkg::renderer: add renderer_build_info in #273
  • build(typst): update to v0.7.0 in #277

Internal Feature

  • core: calculate bbox for vector items in #239
  • compiler: expose shadow files apis in #253

v0.3.0

06 Jul 07:45
34c3459
Compare
Choose a tag to compare

See the CHANGELOG for more details.

Changelog since v0.3.0

Full Changelog: v0.2.3...v0.3.0

Security Notes

No new security note.

Bug fix

  • exporter::svg: animation only transist on fill changes in #206

Changes

  • exporter::svg: attach defs tag by class attribute instead of id attribute in #227

External Feature

  • typst: sync to 0.6.0 in #198

  • target: support riscv64-linux in #207 and #223

  • cli: list packages in #202

  • cli: link/unlink packages in #203

  • cli: generate documentation site for packages in #204

  • hexo-renderer-typst uses Dynamic SVG exporter by Me and @seven-mile in #197

Internal Feature

  • compiler: add package::Registry model in #199

  • compiler: add overlay access model in #218

  • test: init heap profiling in #221

v0.2.3

30 Jun 06:51
a2d62bd
Compare
Choose a tag to compare

Note: There will be large changes in the next version because Typst will introduce experimental package management in v0.6.0, so this version is the last version of the 0.2.x series.

See the CHANGELOG for more details.

Changelog since v0.2.3

Full Changelog: v0.2.2...v0.2.3

Security Notes

No new security note.

Bug fix

  • compiler: correct order of searching fonts in #175
  • compiler: reset today for each compilation in #171

Changes

  • cli: add embedded font again in #176
  • compiler: emit plain text if out isn't a TTY in #170
  • compiler: ignore utf-8 bom in #172
  • compiler: loose relevance check for watching fs changes in #193

External Feature

  • exporter::svg: A new SVG exporter is introduced in #127

    • with typst semantics, responsive link in #128, text selection in #137.
    • with incremental rendering by Me, @seven-mile and @Enter-tainer in #129
    • with dynamic (responsive) layout in #141
    • with source mapping from svg elements to typst ones in #154, #161, and #162
  • cli: generate and watch svg with dynamic layout in #142 and #179

  • compiler: incremental parsing in #186

v0.2.2

10 Jun 03:30
da8f9fb
Compare
Choose a tag to compare

See the CHANGELOG for more details.

Changelog since v0.2.2

Full Changelog: v0.2.1...v0.2.2

Security Notes

No new security note.

Changes

  • cli: remove web_socket exporter in #118

External Feature

  • cli: use human-panic in #120
  • pkg::core: sema layer with link annotations in #124
  • upstream: upgrade typst to v0.5.0 in #125