Update dependency typst/typst to v0.14.0 #12193
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
0.13.1->0.14.0Release Notes
typst/typst (typst/typst)
v0.14.0: Version 0.14.0 (October 24, 2025)Compare Source
Read the announcement blog post
View changelog with links into the documentation on typst.app/docs
Highlights
html.div) with individually typed attributestitleelement for displaying the document titlefrac.styleproperty for producing skewed and inline fractionsPDF export
PDF export was fully rewritten to use the new
krillalibrary, fixing various bugs and enabling many improvements. Known fixes are listed below, but there will likely be other changes in how the output behaves. If you spot any regressions, please report them on GitHub. (Thanks to @LaurenzV for creating krilla!)pdf.artifactfunction for marking content as not semantically meaningfulpdf.header-cell,pdf.data-cell, andpdf.table-summaryfunctions for enhancing accessibility of documents with complex tables. These functions are guarded by thea11y-extrasfeature. They do not have a final interface and will be removed in the future, either through integration into table functions or through full removal.pdf.embedtopdf.attach(the old name will remain as a deprecated alias until Typst 0.15)mimeproperty ofpdf.attachis now checked for syntactical correctness (Minor breaking change)dataargument ofpdf.attachHTML export
imageelementfootnoteandfootnote.entryelementoutlineandoutline.entryelementbibliographyelementsmartquoteelementsubandsuperelementsunderline,overline,strike, andhighlightelementssmallcapselementlowerandupperfunctionshtml.div) with individually typed attributesvideoelement you can now write#html.video(width: 400, src: "sunrise.mp4")instead of#html.elem("video", attrs: (width: "400", src: "sunrise.mp4")). Note how thewidthattribute takes an integer instead of a string.linktargetsrawelementrawelements now emit both a<code>and a<pre>tagrawelements is now preserved as adata-langattribute on the<code>tagauthorsandkeywordsproperties of thedocumentfunction now yield corresponding HTML<meta>tagshtml.elemfunction now supports custom HTML element nameshtml.frame<div hidden></div>)h(0pt, weak: true)) does not cause a "was ignored during HTML export" warning anymore, so it can be used to destruct surrounding spaces without producing any output, as in paged export<pre>and<textarea>elements that start with a newlinehtml.framemeasurein HTML exporthtml.framesboxwithout a body was ignored in HTML exportSVG export
<g>grouping elements that are generatedPNG export
Visualize
hayrolibrary. PDFs will be embedded directly in PDF export, rasterized in PNG export, and turned into SVGs in SVG and HTML export. (Thanks to @LaurenzV for creating hayro!)curve.lineLayout
par.justification-limitsproperty. This is an impactful microtypographical technique that can significantly improve the appearance of justified text.Math
frac.styleproperty with new options for skewed and inline fractionsmath.equation.altproperty for setting an alternative description for an equation√produced bysqrt) can now be targeted by text show rulesscrfunction for roundhand script font styledotlessparameter toaccent(typically for rendering a dotless accented i or j)text.strokein mathvecandcases, making it consistent withmataugmentline can now exist at the start and end of a matrix, not only in between columns and rows$x>=(y)/z$(Minor breaking change)midelement does not force the"large"math class upon its contents anymore and instead defaults to"relation"..isn't followed by anythingThanks to @mkorje for his work on math!
Model
titleelement for displaying the document titlefigure.altproperty for setting an alternative description for a figurelinkfunction will now produce an error when passed an empty string as a URL (Minor breaking change)numberargument ofenum.itemnow takesautoinstead ofnonefor automatic numbering (Minor breaking change)quotes: falsewas ignored for inline-level quotesfootnote.entryshow rules breaking links from footnote to entryBibliography
"chicago-fullnotes"to"chicago-notes"(the old name remains as a deprecated alias)"modern-humanities-research-association"to"modern-humanities-research-association-notes"(the old name remains as a deprecated alias)chapterfield corresponding to CSLchapter-numberand BibLaTeXchapter%comment syntaxlanguagefieldgenreandserial-numberstrong,emph, andsmallcapsto express CSL font styling instead of directly adjusting thetextstyle, making styling easieribidandibid-with-locatorpositionsibidandibid-with-locatorpositions in styleslocationconditional in CSL styles for citations with no locator<number>elementsText
subandsuperfunctions now use thesubsandsupsOpenType font features instead of special Unicode characters for typographic scripts, fixing semantical, sizing, and positioning issuesrawelementrawtext to make the colors more accessiblerawsyntax highlighting themerawsyntax contains an unescaped trailing backslashrawtext with CRLF line terminatorstext.font(Minor breaking change)Scripting
inoperator can now be used to check whether a definition is present in a moduledefaultparameter toarray.first,array.lastarray.joinstr.first, andstr.lastmethodsbyparameter toarray.sortedfor sorting with a comparison functionstr.normalizefunction for Unicode normalizationfrom,to, andsignmethods todirectiontypepluginsystem was updated and now supports SIMDtomlfunction is now guaranteed to return a dictionary andtoml.encodemust receive a dictionary (it already errored before when passed something else, but the new function signature makes the error clearer)bytesin human-readable formats now usesreprcountparametercontextexpression is an anonymous functionraw.lineelementsreprof labels being potentially syntactically invalidreprof functions modified throughwithIntrospection
query,locate, etc. without having a label):par,table,enum,list,terms,title,figure.caption,footnote.entry,outline.entry,image,emph,strong,link,cite,raw,underline,overline,strike, andhighlightgridgridcells that span multiple pagesStyling
Performance
Command Line Interface
typst infosubcommand for emitting build and environment informationtypst completionssubcommand for retrieving shell completionsTYPST_IGNORE_SYSTEM_FONTSenvironment variable--ignore-embedded-fontsflag andTYPST_IGNORE_EMBEDDED_FONTSenvironment variable for disabling the use of fonts embedded into the Typst binary--no-pdf-tagsflag for disabling the automatic generation of accessibility tags. These are emitted when no particular standard like PDF/UA-1 is selected to provide a baseline of accessibility.--targetparameter totypst query--depsand--deps-formatparameters for emitting a list of files compilation depends on. Supports the three formatsjson,zero, andmake.--make-depsflag in favor of--depswith--deps-format makepage.fill)Tooling and Diagnostics
evalare now correctly emittedcalc.round)×instead ofxto indicate a repeated valueSymbols
symoremoji. That said, they still don't render consistently in Typst due to how font fallback works.symbolfunction can now be used to create symbols that comprise not just one character, but one full grapheme clusterDeprecations
pdf.embedin favor of the new namepdf.attach"chicago-fullnotes"bibliography style in favor of"chicago-notes""modern-humanities-research-association"bibliography style in favor of"modern-humanities-research-association-notes"--make-depsCLI flag in favor of--depswith--deps-format makeDevelopment
Defaultimpl forLibraryhad to be removed for crate splitting and trait coherence reasons, but you can get a drop-in replacement viause typst::LibraryExtPdfOptionsstruct has a newtaggedfield, which defaults totrueWorld::fontimplementations. DownstreamWorldimplementations might need to apply the same fix.typstThanks to everyone who contributed to this release: @saecki, @MDLC01, @YDX-2147483647, @Andrew15-5, @mkorje, @mewmew, @bluebear94, @PgBiel, @eltos, @LaurenzV, @wrzian, @frozolotl, @Daaiid, @Marcono1234, @breezykermo, @cAttte, @hpcfzl, @3w36zj6, @EpicEricEE, @IgKh, @T0mstone, @isuffix, @tingerrr, @Myriad-Dreamin, @adriandelgado, @jassielof, @jbirnick, @magistau, @mi2ebi, @7ijme, @Astra3, @AzurIce, @Bequen, @Bugg4, @Emm54321, @F2011, @Fevol, @Flibbo, @G1gg1L3s, @JKRhb, @JeppeKlitgaard, @Krasjet, @LinusU, @NiklasEi, @OverflowCat, @PatrickMassot, @Pipcount, @Ri-Nai, @SIGSTACKFAULT, @SharzyL, @SillyFreak, @TwoF1nger, @WannesMalfait, @Wolf-SO, @aindriu80, @alerque, @alluring-mushroom, @andis854, @aodenis, @arbrauns, @asibahi, @blinkerfluessigkeit, @deivisCode, @diquah, @eduardosm, @elegaanz, @hooyuser, @istudyatuni, @kamack38, @kimushun1101, @kristoferssolo, @lvgrr, @lzm0, @markus-langgeng, @martinetd, @mattfbacon, @mgazeel, @michaelfortunato, @mtoohey31, @noamzaks, @patrik64, @pog102, @pohlrabi404, @samuelireson, @sebaseb98, @selfisekai, @siddhantdev, @ssemigr, @tjbcg, @tovrstra, @ultimatile, @uwni, @wkordalski, @xkevio, @zefr0x.
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.