# Package compatibility (2026-10-09) TeX Live 2026: **103 combinations inspected**, **101 PASS**, **2 BLOCKED_BASELINE**, **0 wiseref test failures**. Passing configurations include the explicit thmtools workaround below. The two blocked tagged-PDF baselines are not compatibility passes. These counts describe this test set, not a percentage of CTAN packages or real-world documents. On 2026-10-10, after the document-name interface change, a focused rerun passed 33/33 combinations: cleveref before/after wiseref, thmtools shared counters, ntheorem and its before/after stress fixtures, caption/enumitem, subfig, listings/longtable, xr, and xr-hyper, each with all three engines. This is a rerun of those scenarios, not a new run of the entire 103-case matrix. The CI portable suite was subsequently checked locally on TeX Live 2026: 78/78 combinations passed. The tagging suite produced two basic-fixture passes and two `KNOWN_BASELINE_FAILURE` records matching the paragraph-hook error below. | Scenario | Engines | Combinations | Result | | --- | --- | ---: | --- | | unicode-math, Latin Modern Math / TeX Gyre Termes Math, before/after wiseref | Lua, Xe | 8 | PASS | | mathtools, before/after wiseref | Lua, Xe, pdf | 6 | PASS | | mathtools + unicode-math | Lua, Xe | 2 | PASS | | mathtools showonlyrefs, including unicode-math | Where supported | 5 | PASS | | cleveref, before/after wiseref, after hyperref | Lua, Xe, pdf | 6 | PASS | | varioref | Lua, Xe, pdf | 3 | PASS | | zref-clever, separate standard and zref labels | Lua, Xe, pdf | 3 | PASS | | thmtools, independent theorem counters | Lua, Xe, pdf | 3 | PASS | | thmtools sibling counter, public first-aid hook workaround | Lua, Xe, pdf | 3 | PASS | | thmtools sibling counter + cleveref, same workaround | Lua, Xe, pdf | 3 | PASS | | ntheorem shared counter, automatic detection | Lua, Xe, pdf | 3 | PASS | | ntheorem shared counter, explicit lemma type | Lua, Xe, pdf | 3 | PASS | | ntheorem before/after wiseref, named/custom/unnumbered/nested environments | Lua, Xe, pdf | 6 | PASS | | caption/subcaption + enumitem, Roman item references | Lua, Xe, pdf | 3 | PASS | | subfig | Lua, Xe, pdf | 3 | PASS | | listings + longtable | Lua, Xe, pdf | 3 | PASS | | algorithm + algorithmicx/algpseudocode | Lua, Xe, pdf | 3 | PASS | | algorithm2e | Lua, Xe, pdf | 3 | PASS | | xr/xr-hyper, external types, tags, appendices and ranges, loading order | Lua, Xe, pdf | 12 | PASS | | biblatex numeric/authoryear, actual Biber builds | Lua, Xe, pdf | 6 | PASS | | minted, actual latexminted highlighting | Lua, Xe, pdf | 3 | PASS | | tcolorbox numbered theorem | Lua, Xe, pdf | 3 | PASS | | mdframed numbered theorem | Lua, Xe, pdf | 3 | PASS | | thmtools restatable theorem | Lua, Xe, pdf | 3 | PASS | | Tagged PDF: basic figures/tables/equations/references | Lua, pdf | 2 | PASS | | Tagged PDF: comprehensive package fixture | Lua, pdf | 2 | BLOCKED_BASELINE | ## Checks and configuration Each case has an ordinary-reference baseline, the same document with wiseref loaded, and a build that actually calls wref. Observation must preserve standard labels, PDF text and character positions, and links, including other packages' own references. Nameref and refcount are also exercised through hyperref. Actual references assert types, equation tag/tag* formats, multi-line and subequation references, compressed ranges, shared counters, subfigures, list items and footnotes. Links must reach valid destinations; starred references have no links. Showonlyrefs tests require distinct numbers and reference marks for equations used only by wref, rather than accepting a stale hidden number. External tests include normal/tag/tag* equations, appendices, endpoint links and range compression. References from different PDFs are not compressed into a single range. Tagged-PDF comparisons use structural destination identity and role, not PdfReader memory addresses in indirect-object representations. The fixtures explicitly configure additional counters: ```latex \wiserefsetup{ lstlisting={prefix={Listing~}}, algorithm={prefix={Algorithm~}}, algocf={prefix={Algorithm~}}, listing={prefix={Listing~}}, tcb@cnt@wisebox={prefix={Boxed~}}, } ``` These are integration tests of the real counters, not built-in translations for every counter supplied by another package. Math font files are selected by their TeX Live filenames, avoiding a local XeTeX font-name lookup failure that also occurred in the baseline. ## Fixes prompted by the tests - **mathtools showonlyrefs:** wref marks all equation labels in a call through the public `\noeqref` command, including intermediate labels in compressed ranges. Recompilation gives equations used only by wref visible, distinct numbers. No private mathtools state is read or replaced. - **cleveref:** a generic trailing hook on its optional-argument refstepcounter dispatcher disturbed argument scanning. Wiseref clears unnumbered-target state on the underlying counter step, excluding page shipping, and preserves the dispatcher. - **listings:** macro-based label names are expanded consistently with standard auxiliary writing before metadata lookup, preventing permanent rerun warnings. - **ntheorem:** a signature-checked before hook records the actual theorem environment and backing counter. Nested equation and footnote labels retain their types, unnumbered theorem styles remain unnumbered, and optional titles do not replace type names. Explicit `\wisereftype` remains available. - **External types:** public LaTeX record properties carry type and tag mode under `