Compatibility and concurrency fixes
- Complete bundled font and graphic resources for XCharter, STIX2 math scripts, ccicons, Lato, Bera, FdSymbol, doclicense, twemojis, and duckuments, including license notices and corresponding sources.
- Fix BibTeX scanning of backslash-containing field names and escaped braces; malformed fields report an error instead of stalling.
- Bound image embedding to four execution slots, including the caller, and perform work inline if a worker cannot start. Memory limits are unchanged.
- Acquire each job's cache lock before creating its directory, outside the directory that garbage collection can remove. Locks owned by live processes no longer expire during long compilations.
- Provision complete independent-reference dependencies, expose compiler diagnostics on fixture failures, and correct macOS architecture detection in CI. Archive and installed-distribution checks remain mandatory.
Verification
The published Linux binary was run on the same frozen 1,000-project corpus, without editing its sources:
| Compilation outcome | Projects |
|---|---|
| Ratex v0.4.3 | 942 |
| Genuine latexmk, default bibliography rules | 883 |
| Genuine latexmk, additionally using eight existing shipped bibliographies | 891 |
| Successful with latexmk but failing with Ratex | 0 |
| Successful only with Ratex | 51 |
| Failing with both | 58 |
All 927 previous Ratex successes are retained; 15 additional projects compile. All 22,987 original source files are byte-for-byte unchanged. These are compilation results, not a claim of whole-corpus visual parity or complete font embedding for every corpus document.
The workspace passes 791 Rust tests. The official Linux archive, an installation from that archive, and both built AUR packages each pass all 39 isolated font/graphics fixtures, with external fonts and networking blocked and independent Poppler/pdf.js rendering checks. All tagged Linux, Windows, macOS Intel, macOS Apple Silicon, and native/WebAssembly library release jobs passed. Cache ownership regressions fail before the fix and pass afterward; the same debugger-controlled two-compiler schedule now produces two valid PDFs instead of deleting the first compiler's pending cache.
The attached corpus-compatibility-v0.4.3.json records every project outcome, reference failure classifications, source manifest fingerprint, and tested binary checksum. cache-startup-regression.json records the concurrent-cache reproduction.