FlashTeX v0.1.5
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/\subparagraphare 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 --versionreports the release, not 0.1.0 by @GoKubar in #420 - render-pipeline: a formula opening with
\displaystyleis set in display style by @GoKubar in #427 - compiler: a paragraph records the
\baselineskipits\parread by @GoKubar in #436 - render-pipeline: a paragraph's leading follows the size declaration its
\parran under by @GoKubar in #437 - render-pipeline:
\lim,\max,\detare\mathops, so they take display limits by @GoKubar in #438 - render-pipeline:
\dotsin 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:
\lstsetis a listings command, not six preamble errors by @GoKubar in #456 - render-pipeline:
\limsupand\liminfhave 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:
\lstsetand thelstlistingkeys — 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:
\ldotsand\cdotsare three Punct dots inside a\mathinnerby @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\jotopens up\lineskip, not only\baselineskipby @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\newcommandbody 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 testcan 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
\notslash 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:
\notbefore any relation, as the zero-width\mathrelit 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