Skip to content

FlashTeX v0.1.5

Choose a tag to compare

@github-actions github-actions released this 16 Sep 02:11
8d073aa

Downloads

Asset What
FlashTeX.dmg / FlashTeX-0.1.5-macos-arm64.dmg The Mac app (macOS 14+, Apple Silicon). Same file under both names; install.sh on the website fetches FlashTeX.dmg.
flashtex-cli-0.1.5-macos-arm64.tar.gz The flashtex CLI (flashtex build main.tex, check, watch, supported, worker, fonts) plus flashtex-render/compiler/pdf helpers, with the bundled fonts/metrics.
flashtex-cli-0.1.5-linux-x86_64.tar.gz Command-line tools for Linux x86_64 (built: flashtex-cli render-pipeline compiler pdf).
SHA256SUMS sha256sum -c SHA256SUMS after downloading.

Signing

This build is ad-hoc signed (no Developer ID certificate configured in CI). macOS Gatekeeper will refuse the first launch from a browser download: right-click FlashTeX.app > Open, or install with the website's install.sh which strips the quarantine attribute after verifying the checksum.

FlashTeX.dmg sha256: 98dc7828173cf57207601733b2d2799a9c2ec584db4fefa8ac9dffb73d0de283

What's Changed

  • ios: show where a capture will land and how it will be wrapped by @GoKubar in #352
  • render-pipeline: \paragraph/\subparagraph are run-in headings by @GoKubar in #404
  • visual-oracle: group candidate words with the reference's own rule (fixes the #331 "regression") by @GoKubar in #415
  • render-pipeline: a hyphenated word's fragments are measured in their own units, not the whole word's by @GoKubar in #421
  • mac editor: ⌥⇧↓ / ⌥⇧↑ copy the line, the way Overleaf does by @GoKubar in #419
  • cli: flashtex --version reports the release, not 0.1.0 by @GoKubar in #420
  • render-pipeline: a formula opening with \displaystyle is set in display style by @GoKubar in #427
  • compiler: a paragraph records the \baselineskip its \par read by @GoKubar in #436
  • render-pipeline: a paragraph's leading follows the size declaration its \par ran under by @GoKubar in #437
  • render-pipeline: \lim, \max, \det are \mathops, so they take display limits by @GoKubar in #438
  • render-pipeline: \dots in text is three kerned periods, not one ellipsis glyph by @GoKubar in #439
  • mac editor: the Vim status line sits at the bottom of the editor, not the window by @GoKubar in #442
  • compiler: only a unique closest match becomes an applicable fix (#277) by @GoKubar in #444
  • mac editor: Tab accepts the fix at the caret (#277) by @GoKubar in #445
  • docs: remove the web-authored docs/examples that describe a different codebase by @jay3332 in #233
  • mac: fix the WordCount full-suite load flake with a recomputeExecutor seam by @d-q222 in #418
  • mac: LaTeX-aware Re-indent Lines (⌃I) and Re-indent Document — verbatim bodies untouched, one undo step by @d-q222 in #413
  • render-pipeline: preamble page-geometry and paragraph lengths reach the page frame and MediaBox by @d-q222 in #433
  • cli tests: cover --color, --diagnostics short, -j, --interval, --strict, --timing by @d-q222 in #431
  • compiler tests: observable-output coverage for 21 kernel commands (Table 2, A) by @d-q222 in #428
  • compiler: \includeonly preamble selection for \include by @d-q222 in #424
  • mac: File ▸ Print… (⌘P) prints the compiled PDF, Print Source… prints the buffer by @d-q222 in #425
  • compiler: 6 kernel \capital text-accent aliases by @d-q222 in #416
  • mac: code folding — environments and sections fold from the gutter or Editor menu by @d-q222 in #423
  • compiler: cleveref — \cref, \Cref, ranges, \cpageref, \labelcref and \crefname (rebase of #434) by @GoKubar in #460
  • render-pipeline: a run of math characters keeps its last italic correction by @GoKubar in #461
  • vendor: re-pin render-pipeline's compiler mirror to main faa7d48, and catch the pipeline up to it by @GoKubar in #451
  • mac tests: hosted windows are parked off every display, not just non-activating by @GoKubar in #464
  • compiler: \lstset is a listings command, not six preamble errors by @GoKubar in #456
  • render-pipeline: \limsup and \liminf have a thin space inside them by @GoKubar in #462
  • mac: \cref leaves CommandDocs.beyondCompiler now that the compiler renders it by @GoKubar in #465
  • render-pipeline: \lstset and the lstlisting keys — basicstyle, fixed columns, numbers, caption, frame space by @GoKubar in #453
  • mac tests: EditorFolding and EditorIndentation reach HostedWindowSupport through the HostedWindows module by @GoKubar in #466
  • compiler: stop telling amsmath documents their math was not typeset by @GoKubar in #455
  • render-pipeline: \ldots and \cdots are three Punct dots inside a \mathinner by @GoKubar in #467
  • Remove src/editor/keybindings.rs — dead code at a path this repo does not have by @GoKubar in #469
  • compiler: sync Mac bundled inventory at the end of render_supported_latex.sh by @d-q222 in #408
  • compiler tests: honest \AtBeginDocument expectation, observable \hsize width by @d-q222 in #457
  • compiler: fix four \includeonly correctness regressions by @d-q222 in #454
  • compiler: mathtools colon relations (rebase of #417 onto current main) by @GoKubar in #472
  • compiler: preamble \setlength, \addtolength and TeX length assignments (rebase of #432 onto current main) by @GoKubar in #473
  • render-pipeline: \openup\jot opens up \lineskip, not only \baselineskip by @GoKubar in #475
  • compiler: accept \paragraph/\subparagraph instead of erroring on them (rebase of #407, + inventory sync and duplicate-attribute fixes) by @GoKubar in #474
  • render-pipeline tests: un-ignore the \odot pipeline test after the #386 re-pin (and fix its word-grouping assumption) by @d-q222 in #391
  • mac UI/UX pass 1: design system, render loop, tool-window shell, tree/tabs, preview by @GoKubar in #471
  • render-pipeline: paint \hrulefill and \dotfill leaders (#319), on top of #451 by @d-q222 in #414
  • mac UI/UX pass 2: problems + fix-its, outline, palette scopes, completion, settings, states by @GoKubar in #476
  • class-geometry: model letter.cls, so a letter stops being laid out as an article by @GoKubar in #297
  • render-pipeline: re-pin vendor/compiler to main (6a47ed4), implement CleverReference, default math-class-override by @GoKubar in #477
  • compiler: implement the letter document class by @GoKubar in #316
  • render-pipeline: typeset letter.cls — class \parskip, \opening/\closing skips, page-1 @Texttop by @GoKubar in #482
  • compiler: report \\[<dimen>]'s optional argument on Inline::LineBreak by @GoKubar in #478
  • render-pipeline: an alignment right after a heading has no line above it by @GoKubar in #483
  • render-pipeline: \maketitle sets the author tabular even with no author (stacked on #483) by @GoKubar in #484
  • render-pipeline: \\[<dimen>] inside a \newcommand body is a real skip (needs the #478 re-pin) by @GoKubar in #479
  • render-pipeline: an amsthm theorem is a \trivlist — it has \topsep by @GoKubar in #480
  • mac tests: \encl{text} joined the completion inventory with letter.cls by @GoKubar in #487
  • mac: accept the compiler's help.replacement shape, so a suggested fix stops killing the preview frame by @GoKubar in #488
  • mac tests: the partial-output fixture has one package warning now, not two by @GoKubar in #489
  • WordCountModel: test that a cancelled debounce item never publishes by @d-q222 in #406
  • nearby-client: lock PairFile state with NSLock; Sendable conformances by @d-q222 in #410
  • mac: Problems lists author errors first, then warnings, then FlashTeX gaps (ordering only, on #476) by @d-q222 in #411
  • mac tests: bound published() wait, make last-wins prove the generation guard by @d-q222 in #452
  • mac tests: capture acceptance asserts the caret-aware contract it actually has by @GoKubar in #491
  • mac: Go to Line (⌘L) — line, line:column, relative, and :N in the palette by @d-q222 in #412
  • mac: line commands — duplicate, move, delete, join, sort and trim, in one Editor menu by @d-q222 in #426
  • mac: Change Environment… (⌃⌘E) and linked \begin/\end name editing by @d-q222 in #429
  • project-files: open rooted files non-blocking so a FIFO can't hang discovery by @d-q222 in #518
  • compiler tests: coverage for 20 kernel commands (Table 2, B) by @d-q222 in #430
  • docs: design proposal — incremental cross-references (for Commander decision) by @d-q222 in #575
  • coordination: task board refreshed (FT-060..071, PR dispositions, new lanes) by @jay3332 in #246
  • diagnostics: rustc-style caret alignment breaks on wide characters (#277) by @d-q222 in #598
  • tex-expansion: registers::scale_decimal loses precision vs. pdftex (GH-SCALE-DECIMAL-EXACT) by @d-q222 in #600
  • tests: un-ignore a resolved render-pipeline test, refresh a stale HW2 ignore reason by @d-q222 in #524
  • compiler: accept \tabcolsep, \arrayrulewidth, \doublerulesep, \extrarowheight assignments (#56) by @d-q222 in #526
  • render-pipeline: paint \prime with Latin Modern Math's unraised ssty prime; pin #278 geometry oracle by @d-q222 in #528
  • compiler: \coloneqq is \vcentcolon\mkern-1.2mu= under mathtools (#468; needs render-pipeline re-pin) by @d-q222 in #529
  • docs: user guide matches current main by @d-q222 in #531
  • compiler: 3x faster large-document compile — shaping memo, glyph-table index, lent cleveref config (#65) by @d-q222 in #535
  • compiler: \newcounter{c}[within] must recognize kernel counters (GH-NEWCOUNTER-WITHIN, #594) by @d-q222 in #605
  • render-pipeline: measure cross-reference invalidation (step 0 of #575; no behaviour change) by @d-q222 in #613
  • render-pipeline: \frac is an Ord atom, not Inner (ps-calculus +1.82 bp quad/text gap) by @d-q222 in #622
  • compiler + math-layout: \tag and \text can contain math — a TextRun nucleus with nested $…$ (#441, PR 1 of 2) by @d-q222 in #470
  • compiler: feed a bare \refstepcounter into the following \label by @d-q222 in #486
  • compiler: \xspace conditional trailing space by @d-q222 in #506
  • compiler: boxed arguments and letter \ps no longer leave phantom paragraph leadings by @d-q222 in #517
  • render-pipeline: mathtools' \vcentcolon family sits on the math axis (#468) by @d-q222 in #530
  • render-pipeline: long arrows are pdfTeX joins; heading spaces after \normalfont are medium (#66) by @d-q222 in #536
  • render-pipeline: \lstlistoflistings, report chapter gaps in LoF/LoT, lists after the last material by @d-q222 in #543
  • render-pipeline: explicit glue keeps the space factor (min-hrulefill 0.554 bp -> 0.004 bp) by @d-q222 in #548
  • math: \shoveleft / \shoveright in multline are unsupported (#522) by @d-q222 in #552
  • pdf: exact route rounds colours to xcolor's 5 decimals and paints TikZ path_stroke/path_fill by @d-q222 in #527
  • render-pipeline: per-chapter figure/table numbers, object-stream PDF sizing, float.sty [H] (#69) by @d-q222 in #537
  • compiler: a braced ] does not end lstlisting's options; \lstlistoflistings is listings' by @d-q222 in #542
  • render-pipeline: a macro body's font declarations apply to its arguments (min2-preamble-switches 419 bp -> 0.005 bp) by @d-q222 in #547
  • math-layout: TeX's math font kerns (make_ord §752) from TFM lig/kern programs; render-pipeline forwarding behind math-font-kerns by @d-q222 in #560
  • compiler: \fnsymbol{footnote} inside \footnote errors (#564) by @d-q222 in #572
  • render-pipeline: \chapter in an \include'd file is a chapter (book-include 5 -> 7 pages) by @d-q222 in #538
  • pdf: exact route paints TikZ opacity through pgf's /pgf@CA and /pgf@ca ExtGStates (stacked on #527) by @d-q222 in #533
  • compiler: page and paragraph control commands as penalty, discretionary and parameter nodes (#64) by @d-q222 in #568
  • compiler, tex-expansion: a runaway document is expanded once per compile (stacked on #601) by @d-q222 in #610
  • compiler+render-pipeline: enumitem style=nextline breaks description bodies to their own line (GH-ENUMITEM-NEXTLINE) by @d-q222 in #624
  • compiler: \AtBeginDocument's hook typesets ahead of the body instead of being dropped by @d-q222 in #499
  • compiler: punctuation after a style group survives macro expansion (GH-MACRO-BODY-COMMA) by @d-q222 in #576
  • compiler: carry rubber lengths on Block::VSpace (GH-VSKIP-GLUE-STRETCH slice 1) by @d-q222 in #606
  • cli tests: prove --color=never precedence and pin short-vs-full excerpt diff by @d-q222 in #459
  • render-pipeline: \dotfill dots follow the current inline font style and size by @d-q222 in #493
  • compiler tests: kernel_untested_b matches Block::VSpace's new rubber fields (unbreaks main) by @GoKubar in #636
  • compiler: vertical \pagebreak is a bare penalty, amsmath \nobreakdash (#64; stacked on #568) by @d-q222 in #583
  • compiler: em/ex follow the active font, \hspace keeps its trailing space, \global length prefixes by @d-q222 in #587
  • bridge: fix flaky compiler-spawn CI failure (ETXTBSY race) and name the OS error in validation_launch by @GoKubar in #632
  • coordination: authority passes to orchestrator-astra on linux-primary by @GoKubar in #633
  • render-pipeline: page chrome carries no source (null, not byte 0..0) by @GoKubar in #634
  • compiler: \ref in a heading or caption resolves, instead of typesetting its key by @GoKubar in #635
  • compiler: \pagebreak right after \noindent, \indent or \textbf{ is horizontal (GH-PAGEBREAK-MIDPARAGRAPH; stacked on #583) by @d-q222 in #616
  • compiler: em/ex for slanted and small-caps fonts from real TFM fontdimens (stacked on #587) by @d-q222 in #618
  • compiler: mathtools mathllap/mathrlap/mathclap zero-width boxes (GH-MATH-LAP) by @d-q222 in #549
  • render-pipeline: adapt is linear again — index list/theorem nesting once, memoise setlength (18 s → 0.19 s warm edit on #535) by @d-q222 in #623
  • project-files: probe, list, rename and unlink only through the pinned root (stacked on #518) by @d-q222 in #539
  • render-pipeline: macro-body text takes the body's fonts; declaration groups add no italic correction (stacked on #547) by @d-q222 in #556
  • render-pipeline: a float on its own lines inside a paragraph does not end the paragraph (GH-FLOAT-IN-PARAGRAPH) by @d-q222 in #608
  • render-pipeline: list_style_nextline reads the index, not the source (unbreaks main) by @GoKubar in #638
  • cli: did-you-mean suggestions in output, and flashtex check --fix [--dry-run] with symlink-safe atomic writes by @d-q222 in #362
  • compiler: the full expansion stops on the output token limit; 18502's peak back to 1746 MB (stacked on #610) by @d-q222 in #619
  • compiler: mathtools rcases as a right-brace mirror of cases (GH-RCASES) by @d-q222 in #540
  • compiler: \ifthenelse (ifthen package) is unsupported (#521) by @d-q222 in #550
  • integration: enumitem indexnoop, size environments, aboxed (#570, #573, #574) by @GoKubar in #641
  • render-pipeline: layout cache keys tag each kind by its own discriminant (salvage of #182) by @GoKubar in #639
  • render-pipeline: a heading after an empty contents list takes its \addvspace; no page break between two heads by @d-q222 in #580
  • integration: comment environment and tabbing (#553, #551) by @GoKubar in #642
  • integration: compiler queue (#554, #555, #558, #559, #562) by @GoKubar in #645
  • integration: \Box, math accents, \underbar, frame environment (#532, #534, #541, #544) by @GoKubar in #644
  • integration: render-pipeline queue (#525, #546, #578, #589, #596, #597) by @GoKubar in #646
  • mac tests: paragraph/page control commands and frame/comment environments joined the inventory by @GoKubar in #647
  • integration: parser dispatch outlining and \hskip (#615, #620) by @GoKubar in #643
  • mac: re-arm OutputBoundsTests against the self-bounding compiler by @GoKubar in #637
  • ci: pipefail, so a failing swift test can actually fail the mac job by @GoKubar in #490
  • FT-070: engine performance harness, committed baseline and a >5% regression gate by @GoKubar in #206
  • compiler + math-layout: amsmath \sideset with pdflatex geometry — a left-scripts slot (stacked on #470) by @d-q222 in #581
  • vector-graphics + render-pipeline: carry TikZ patterns to the display list (feature tikz-patterns; pairs with #621) by @d-q222 in #626
  • integration: compiler queue (#602, #604, #629, #630) by @GoKubar in #648
  • render-pipeline: refuse an over-limit compile_result without serialising it (perf C) by @GoKubar in #651
  • FT-070 memory: measure the breakdown, derive the per-glyph carets (Cluster 160 -> 88 B) by @GoKubar in #232
  • render: paint the \not slash across the relation, not in the space before it by @GoKubar in #295
  • vim: normal/visual mode consume every unmapped key instead of typing it by @GoKubar in #654
  • FT-070: a negotiated page window — the fix for a 500 KB document that has no reply by @GoKubar in #294
  • compiler: \not before any relation, as the zero-width \mathrel it is by @GoKubar in #296
  • ci: a run on main is never superseded, so main is actually measured by @GoKubar in #663
  • render-pipeline tests: math_symbols reads Page::items through the accessor (unbreaks main) by @GoKubar in #664
  • vim: the shared status line follows the preference, not a live observer by @GoKubar in #657
  • mac tests: measure the wall-clock budgets everywhere, enforce them where the clock is ours by @GoKubar in #661
  • mac: the opened file keeps its real name as the entry document by @GoKubar in #655
  • integration: render-pipeline queue (#611, #625, #628, #614, #593, #612) by @GoKubar in #649
  • mac: consume display-list-v2-window — the Mac side of FT-070's page window by @GoKubar in #665
  • Appearance overhaul: JetBrains-class IDE shell — Islands palette, AppKit structure, JetBrains Mono editor by @GoKubar in #653
  • Appearance review follow-ups: one title bar of flat JetBrains controls, a Canvas-clean preview by @GoKubar in #666
  • perf baseline: re-record the output digests against current main (digests only) by @GoKubar in #668
  • integration: compiler + pdf + v2 queue (#579, #640, #440, #621, #358) by @GoKubar in #658
  • vim: - + _ | Enter BS ge gE g_ # motions, H/L counts, register + gv fixes by @GoKubar in #656

Full Changelog: v0.1.4...v0.1.5