Skip to content

0.7.4

Choose a tag to compare

@github-actions github-actions released this 17 Jul 13:38
· 303 commits to main since this release

Installation

latexml-oxide ships as a single self-contained executable. It also calls a few external tools when they are on your PATH:

  • a TeX distribution (TeX Live, MacTeX, or MiKTeX) — for the packages, classes, and fonts your documents load.
  • graphics tools (ImageMagick, Ghostscript, MuPDF, Poppler, dvipng, dvisvgm) — to convert figures.

Per-platform install instructions are in the README Installation guide.

Download the asset for your platform (each has a matching .sha256 to verify file integrity):

  • Linux (x86-64) — latexml-oxide_0.7.4-1_amd64.deb, or the portable latexml-oxide-0.7.4-x86_64-unknown-linux-gnu.tar.gz
  • Linux (aarch64 / arm64) — latexml-oxide_0.7.4-1_arm64.deb, or the portable latexml-oxide-0.7.4-aarch64-unknown-linux-gnu.tar.gz
  • macOS (Apple Silicon) — latexml-oxide-0.7.4-aarch64-apple-darwin.tar.gz
  • macOS (Intel) — latexml-oxide-0.7.4-x86_64-apple-darwin.tar.gz
  • Windows (x86-64) — latexml-oxide-0.7.4-x86_64-pc-windows-msvc.zip (unzip; latexml_oxide.exe is self-contained, no installer)

Changelog

[0.7.4] (Windows target; third-party license notices; crates.io)

  • Installable from crates.iocargo install latexml builds the CLI from
    source, and latexml is usable as a library via the batteries-included
    latexml::api (convert_to_xml / convert_to_html). The forked dependencies
    are published alongside it (marpa-asf, libmarpa-asf-sys, pericortex).
    Caveat: a from-source install has no precompiled kernel dumps (generated at
    release time, too large for a crate), so it rebuilds kernel state at every
    startup. One-time fix — the "build the formats once" step TeX does with
    fmtutil: cd ~/.cargo && latexml_oxide --init=plain.tex && latexml_oxide --init=latex.ltx. See the README.
  • New target: Windows (x86_64-pc-windows-msvc) — a single fully-static
    latexml_oxide.exe (no VC++ redistributable), shipped as a .zip.
  • Third-party notices now complete and identical in every download.
    Attributed the third-party material a manifest-level audit cannot see, because
    the manifest describes the wrapper rather than what ships: libmarpa (MIT,
    with LGPL-3.0/LGPL-2.1 parts), mimalloc (MIT, Microsoft — its crate's own
    LICENSE names a different holder), libkpathsea (LGPL-2.1, statically linked
    into every released binary), the W3C/Mozilla SVG schema, rustdoc's Ayu
    palette, and unidecode's table (generated from Sean M. Burke's
    Text::Unidecode) — and ship the verbatim copyleft texts the static LGPL links
    oblige, plus the exact source commits to relink from. Previously only the
    x86_64-Linux tarball carried the full file; the .debs carried sections 1–4,
    and the Windows download and container images carried nothing at all.
    latexml-oxide's own source remains CC0-1.0; see THIRD-PARTY-NOTICES
    and docs/release/LICENSE_INVENTORY.md.
  • Three --help options are now functional (--inputencoding,
    --sourcedirectory, --sitedirectory). All three were declared for Perl
    CLI parity but silently ignored — parsed, then dropped. Now:
    --inputencoding seeds the Mouth's byte decoder (Perl PERL_INPUT_ENCODING,
    Core.pm L60-61); --sourcedirectory and --sitedirectory feed the
    post-processor's resource resolution and site-relative resource URLs (Perl
    sourceDirectory/siteDirectory, LaTeXML.pm L429-430). A new source-scan
    test (98_cli_options_consumed) fails the build if any option shown in
    --help is parsed but never consumed, closing the Debug-masks-dead_code
    blind spot that let these three slip through.

What's Changed

  • chore(deps): Update imagesize requirement from 0.14 to 0.15 by @dependabot[bot] in #277
  • Release preparation, July 10 by @dginev in #276
  • Windows (x86_64-pc-windows-msvc) support by @dginev in #278
  • macOS: ad-hoc signing, auto-publish, Homebrew-primary onboarding by @dginev in #279
  • docs(release): F1 closed — pericortex relicensed CC0-1.0 by @dginev in #280
  • Release infra: 0.7.4-rc1 draft mode + Windows single-.exe leg by @dginev in #281
  • Fix --whatsin=math: port \ensuremathfollows/\ensuremathpreceeds (automath) by @dginev in #283
  • Windows release: self-contained, fast, robust .exe across all TeX configs (supersedes #285) by @dginev in #286
  • release: kpathsea 0.3.3 (fix Windows LNK2005), slim release notes, docs → 0.7.4-rc3 by @dginev in #287
  • Stop silently losing references and document tails by @dginev in #288
  • Attribute the vendored native libs, and ship complete notices with every download by @dginev in #289
  • release: 0.7.4-rc4 — crates.io publishable, Perl-faithful latexmlmath, CLI parity by @dginev in #290

Full Changelog: 0.7.3...0.7.4