Version 5
5.6
5.6.0 (3.6.2026)
- Veröffentliche Version 5.6.0.
5.5
5.5.25 (1.6.2026)
- Bilder in rotierten Td-Zellen rutschten nach oben aus der Zelle. ↗
Das von LuaTeX vor einem Bild emittierte cm enthält in neuen Versionen keinen y-Shift von -image_height mehr — frühere LuaTeX-Versionen fügten ihn automatisch hinzu. Bei <Td rotate="..."/>, das um die obere Zellkante rotiert, wurde das Bild dadurch über dem Pivot gezeichnet und ragte nach oben aus der Zelle. Das Bild wird jetzt in ein save/restore eingewickelt, das es vorher um die Inhaltshöhe nach unten verschiebt, sodass die Rotation um die obere Bildkante pivotiert. Text in rotierten Zellen ist nicht betroffen, weil seine Position über eine absolute Tm-Matrix gesetzt wird, die den CTM-Shift überschreibt. - Lateinische Glyphen werden bei bidi=“no” nicht mehr gespiegelt. ↗
Bei bidi="no" in Kombination mit direction="rtl" wurde die Segmentrichtung auf rtl forciert und an HarfBuzz weitergereicht, das pflichtbewusst lateinische (oder andere LTR-Skript-)Glyphen spiegelte — ein Lorem-Ipsum-Block las sich rückwärts. HarfBuzz bekommt für die Segmentrichtung jetzt nil, damit sie aus dem Skript abgeleitet wird; die absatzbezogene maindirection steuert weiterhin die Zeilenrichtung. - Options/startpage wurde durch den Default überschrieben. ↗
Der in einem 5.5.x-Cleanup eingeführte Default 1 für publisher.options.startpage sorgte dafür, dass ein nachgelagerter Codepfad current_pagenumber immer wieder auf 1 zurücksetzte — und damit den vom <Options startpage="..."/>-Handler gerade gesetzten Wert überschrieb. Der Handler schreibt den eingelesenen Wert jetzt zusätzlich nach publisher.options.startpage zurück, sodass die nachgelagerte Prüfung die Wahl des Anwenders sieht.
5.5.24 (30.5.2026)
- Neue Option jardir, mit der Paket-Maintainer den Publisher auf systemweit installierte Java-JARs verweisen können. ↗
Der Publisher liefert Saxon-HE, jing und xmlresolver als JAR-Dateien im lib-Verzeichnis mit. Maintainer von Betriebssystem-Paketen (Auslöser war der FreeBSD-Port textproc/saxon-he, #685) müssen gegen die systemweiten Kopien in /usr/local/share/java/classes/ linken, statt eine private Zweitkopie auszuliefern. Eine neue Konfigurationsoption jardir (setzbar über publisher.cfg oder --option jardir=...) überschreibt das Suchverzeichnis für die JARs. Die Saxon-JAR wird jetzt per Glob saxon-he-*.jar gefunden statt über einen festen Dateinamen, sodass die System-Version nicht exakt mit der mitgelieferten Point-Release übereinstimmen muss.
5.5.23 (26.5.2026)
- matches()-XPath-Funktion lehnte mit dem neuen Parser ein drittes (Flag-)Argument ab. ↗
Die XPath-2.0-Signatur matches(input, pattern, flags) war mit dem neuen XPath-Parser kaputt: Ein Aufruf mit drei Argumenten brach mit function matches() requires 1 to 2 arguments, 3 supplied ab (#692). Der publisher-seitige Wrapper in layout_functions_lxpath.lua überschrieb die lxpath-Default-Registrierung mit der falschen Min/Max-Argumentzahl (1/2 statt 2/3) und ignorierte das dritte Argument stillschweigend. Der Wrapper akzeptiert jetzt 2-3 Argumente und reicht die Flags (i, m, s) per Inline-Präfix (?flags) an Gos regexp-Engine weiter — analog zum Verhalten des Legacy-Parsers. Das x-Flag wird weiterhin nicht unterstützt und löst eine Warnung aus. - Breite von HSpace in Tabellenzellen wird nicht mehr überschrieben. ↗
fix_justification ersetzte die Breite von subtype=0-Glues durch die Wortzwischenraum-Breite der umgebenden Schrift, sobald die Zeile gestretcht wurde. Damit ging die explizite Breite von <HSpace width="..."/> in Tabellenzellen verloren, weil der linksbündige Zellabsatz fast immer durch parfillskip gestretcht wird. HSpace-Glues mit fester Breite werden jetzt mit einer Property markiert und in fix_justification übergangen.
5.5.22 (16.5.2026)
- page/line-Kontext aus Run-Abschluss-Logs entfernt. ↗
Die Run-Abschluss-Zeilen Start processing, Stop processing data, N errors occurred und Duration: ... liefen durch main.log, das automatisch die aktuelle page, line_layout und line_data als strukturierte Felder anhängt. Bei Warnungen/Fehlern während des Laufs sind diese Felder sinnvoll, bei einer Run-Zusammenfassungszeile aber nur die zufällige Position, an der der Publisher gestoppt ist — irreführend, wenn die Ausgabe mehrerer Läufe aggregiert wird. Die vier Zeilen rufen jetzt direkt splib.log auf, sodass die Protokoll-Einträge schlank sind (<entry level="info" msg="0 errors occurred"/>). - CJK-Shaping-Crash behoben: publisher.prohibited_at_end war nil. ↗
Der Satz von CJK-Text (Chinesisch, Japanisch) brach mit attempt to index a nil value (field 'prohibited_at_end') in nodes.lua:1453 ab. Die Tabellen prohibited_at_end und prohibited_at_beginning in spinit.lua wurden als nackte globale Variablen definiert, in nodes.lua aber als publisher.prohibited_at_end angesprochen. Das funktionierte, bis der _G.publisher-Table mit __index = _G entfernt wurde — seither lief der Zugriff ins Leere. Die Tabellen hängen jetzt korrekt am publisher-Namespace. Ein kleiner Regressionstest unter qa/harfbuzz/cjk/ deckt den CJK-Codepfad ab.
5.5.21 (13.5.2026)
- Crash in ForAll bei leerer Auswahl mit dem neuen XPath-Parser behoben. ↗
Wenn der neue XPath-Parser für einen select-Ausdruck ohne Treffer nil lieferte (z. B. <ForAll select="foo/bar/*"/>, wenn foo/bar keine Kinder hat), brach ForAll mit einem Fehler auf #selection ab. Der Legacy-Parser-Zweig hatte diese Absicherung bereits; der Newxpath-Zweig zieht jetzt nach, sodass eine leere Sequenz wieder ein stilles No-Op ist (#691). - cgo-Brücke XML-zu-Lua robuster: binärsichere Strings und typisierte Key/Value-Helfer. ↗ ↗
Zwei zusammengehörige Änderungen in splib. (1) pushString nutzt jetzt lua_pushlstring mit expliziter Länge, sodass eingebettete NUL-Bytes erhalten bleiben; lua_pushstring hätte am ersten \0 stillschweigend abgeschnitten, was XML-CDATA oder binäre Attributwerte beschädigen konnte. Der C-seitige malloc/free-Umweg über C.CString entfällt — Lua kopiert die Bytes intern, der Go-String kann direkt übergeben werden. (2) Der any-typisierte Helfer addKeyValueToTable, der seine Argumente in Interfaces boxte und bei unerwartetem Typ panic warf, wird durch drei typisierte Helfer ersetzt (addStringValueToTable, addIntValueToTable, addBoolValueToTable); alle Aufrufstellen in Streaming-Parser, Tree-Renderer und CSS-zu-Lua-Renderer wählen die passende Variante statisch. Kein für Anwender sichtbares Verhalten geändert.
5.5.20 (13.5.2026)
- splib: lua_checkstack vor jedem Push der XML-Daten nach Lua aufrufen. ↗
Die Streaming-Brücke XML-zu-Lua (für Layout- und Datendateien, inkl. xi:include-Auflösung) und der rekursive Tree-Renderer pushten Werte auf den Lua-Stack, ohne je lua_checkstack aufzurufen. Lua garantiert nur LUA_MINSTACK (20) freie Slots; jeder weitere Push ohne explizite Reservierung ist undefiniertes Verhalten. Bei tief verschachtelten oder großen Dokumenten konnte sich das als nicht-deterministische STATUS_HEAP_CORRUPTION- / STATUS_BAD_STACK-Crashes unter Windows äußern (Issue #691). Die Brücke reserviert jetzt vor der Document-Tabelle und in jeder Token-Iteration ausreichend Stack-Platz; der Tree-Renderer reserviert Platz in RenderToLua, in pushElement und um jeden Kind-Push.
5.5.19 (11.5.2026)
- Falsche Position von Tablerules in gestretchten vboxes bei tablerulefix=yes behoben. ↗
tablerulefix="yes" sammelt Linien-Whatsits beim Page-Shipout und gibt sie an absoluten (curx, cury)-Positionen wieder aus. Beim Cursor-Update für Glue-Knoten wurde nur die natürliche Breite verwendet, die effektive Breite nach Stretch/Shrink der umgebenden Box wurde ignoriert. Dadurch landeten Linien, die in einer vlist hinter gestretchter Glue standen, zu hoch. Die effektive Glue-Breite wird jetzt aus glue_sign, glue_set und glue_order des Parent-Boxes berechnet, bevor der Cursor weiterläuft. - lxpath: $a*$b wurde fälschlich als Wildcard-QName geparst. ↗
Der QName-Scanner von lxpath akzeptierte * als reguläres Namenszeichen, sodass Ausdrücke wie $a*$b als einzelner QName verschluckt statt als Multiplikation geparst wurden. * wird jetzt nur noch am Anfang eines QName oder direkt nach dem Namespace-Doppelpunkt akzeptiert, wo es als legitime Wildcard steht. - Crashes im Legacy-XPath-Parser bei fehlenden Attributen/Elementen/Variablen behoben. ↗
Issue #691 meldete zwei Crashes im Legacy-XPath-Parser bei Ausdrücken auf ungebundene Werte: Arithmetik mit nil in eval_addition (über SetVariable/select) und ein Vergleich mit nil in eval_comparison (über Switch/Case). get_argument_number behandelt jetzt den nilmarker-Sentinel wie ein echtes nil, sodass der bestehende „Evaluating to 0"-Fallback greift, und tex.sp wird in pcall gewickelt, um bei von LuaTeX abgelehnten Eingaben auf 0 zurückzufallen. eval_comparison hat einen zusätzlichen Guard nach tonumber, der die nilmarker-Konvention spiegelt: nil verglichen mit irgendetwas ist false, außer != ist true. lxpath bleibt der empfohlene Parser; dies repariert nur den Legacy-Fallback.
5.5.18 (9.5.2026)
- Lua-Stack-Overflow und massiven Slowdown durch Origin-Referenzen auf Tr/Tablehead/Tablefoot behoben. ↗
Tr, Tablehead und Tablefoot legten ihre layoutxml und dataxml seit 5.5.10 (Commit ea433dc7, für das neue eval-on-split) direkt auf der Zeilen-Wert-Tabelle ab. Wenn ein SetVariable eine Variable überschrieb, die eine solche Struktur enthielt, lief flush_table rekursiv durch den gesamten Layout- und Daten-XML-Baum. Bei tief geschachtelten Daten überlief der Lua-Stack, bei flacheren Daten brach die Performance dramatisch ein (120s → 1000s in einem Bericht). Die Referenzen werden jetzt in einer schwach referenzierten Origin-Map gehalten, sodass die Wert-Tabellen sauber bleiben und flush_table sie nicht mehr verfolgt (#690).
5.5.17 (7.5.2026)
- Crash bei sp –help / –version und bei frühen Startup-Fehlern behoben. ↗
sp --help und sp --version liefen mit einem Nil-Pointer-Crash auf einen Absturz, weil der Help-Pfad exitProgram aufrief, bevor die Konfiguration geladen wurde — exitProgram ruft seinerseits showDuration auf, das eine Option aus der noch nicht initialisierten Konfiguration liest. Derselbe Crash konnte die eigentliche Fehlermeldung bei frühen Startup-Fehlern verschlucken (z. B. wenn unter Windows die mitgelieferte sdluatex-Binary nicht ausführbar ist). Der Help-Pfad beendet jetzt direkt, und ConfigData.String ist gegen einen Nil-Receiver abgesichert (#689).
5.5.16 (5.5.2026)
- Platzhalterbilder über placeholder://-URL. ↗
Mit file="placeholder://WxH" auf Image wird zur Laufzeit ein graues Rechteck mit Diagonalkreuz in der natürlichen Größe W × H bp erzeugt — praktisch für die Layoutentwicklung, wenn die finalen Bilder noch nicht vorliegen. Skalierung und Seitenverhältnis funktionieren wie bei einer regulären Bilddatei. - Absolute Positionierung von Objekten in Gruppen behoben. ↗
PlaceObject mit absoluten column/row-Angaben innerhalb einer Group landete immer in der oberen linken Ecke der Gruppe statt an den angegebenen Koordinaten. Im Gruppen-Pfad wurden die falschen Felder aus der Parameter-Tabelle gelesen. - background-text in Tabellenzellen wieder funktionsfähig. ↗
background-text an einem Td brach den Lauf seit dem Lua-Modularisierungs-Refactor in 5.5.x mit einem Lua-Fehler ab. Drei Bugs sind behoben: eine falsche Aufrufsignatur für mknodelist, ein fälschliches %d für einen Float-Wert im Format-String und die Geometrie des Wasserzeichens (die rotierte Bounding-Box ist asymmetrisch um den Drehpunkt, Descender bei Glyphen wie ( ) g y wurden ignoriert). Bestehende Wasserzeichen können leicht versetzt erscheinen, weil sie jetzt korrekt zentriert werden.
5.5.15 (4.5.2026)
- Falsche Schrift in langen Dokumenten mit Schriftwechsel behoben. ↗ ↗
In Dokumenten, die innerhalb eines Absatzes die Schrift wechseln — etwa einem nicht-lateinischen Fließtext mit lateinischen Vers- oder Fußnotenzahlen — konnte Text in späteren Output-Blöcken nach einem Spalten- oder Seitenumbruch in der falschen Schrift gesetzt werden, sodass Zeichen ersetzt wurden oder ganz von der Seite verschwanden. Eine interne Schrift-Status-Variable lief zwischen unbeteiligten Teilen des Layouts aus; beide Stellen, an denen das auftrat, sind jetzt korrekt gekapselt.
5.5.14 (3.5.2026)
- Crash und übermäßige Warnungen beim Satz komplexer Schriftsysteme behoben. ↗
Indexierungs-Crash in hbglyphlist vermieden, wenn ein backgemappter Codepoint nicht in der characters-Tabelle der Schrift vorhanden ist (z.B. ausgelöst durch Khmer-Subscript-Konsonantenstapel). HarfBuzz-Sentinel-Glyphen (Codepoint 0xFFFF mit x_advance=0), die beim komplexen Reordering entstehen, werden übersprungen. „Glyph is missing from the font"-Warnungen werden dedupliziert: Jede (Font, Codepoint)-Kombination wird nur beim ersten Auftreten gemeldet, am Laufende folgt eine Zusammenfassung mit der Häufigkeit. - sp-filter-Skripte laufen jetzt auf Lua 5.4. ↗
Die Lua-VM für sp filter-Skripte wurde von yuin/gopher-lua (Lua 5.1) auf speedata/go-lua (Lua 5.4) umgestellt — näher am LuaTeX-Stack und mit konsolidiertem Lua-Tooling. Enthält ein neues, hauseigenes luahttp-Modul als Ersatz für cjoudrey/gluahttp.
5.5.13 (27.4.2026)
- Publishing API v1. ↗
Neue Server-API Version 1 mit verbesserten Endpunkten für Publishing-Läufe, Statusabfragen und PDF-Abruf. - Fortschritt anzeigen mit sp –progress. ↗
Neue Kommandozeilenoption --progress, die den Satzfortschritt während eines Publishing-Laufs anzeigt.
5.5.12 (27.4.2026)
- Aktualisiere auf LuaTeX Version 1.24.0.
- Unterstützung für variable Schriftarten. ↗
Variable Fonts laden und Designachsen (Gewicht, Breite, optische Größe usw.) per Harfbuzz-Subsetting auf feste Werte setzen. Neue Attribute weight und width sowie das Kind-Element Axis bei LoadFontfile. - Speicherverbrauch bei großen Daten-XML-Dateien um ca. 50% reduziert. ↗
Der Streaming-SAX-Parser erzeugt Lua-Tabellen direkt ohne Go-Zwischenbaum, lässt im Datenmodus ungenutzte Metadaten-Felder weg, behandelt ignoreeol bereits beim Parsen und nutzt korrekte createTable-Größenhinweise, um wiederholte Hash-Tabellen-Resizes zu vermeiden. - XPath 3.1 Arrays, Maps, Lookup-Operator und String-Verkettung. ↗
Arrays ([1,2,3], array { 1 to 3 }), Maps (map { 'key': value }), der Lookup-Operator (?) und der ||-Operator zur String-Verkettung wurden in XPath hinzugefügt. Enthält array:- und map:-Funktionsbibliotheken (size, get, put, append, keys, contains, merge, usw.).
5.5.11 (23.4.2026)
- fn:serialize() in XPath implementiert. ↗
Die XPath-Funktion fn:serialize() wandelt ein Node-Set in seine XML-Stringdarstellung um. - HTML/CSS-Verarbeitung von Inline-Styles korrigiert. ↗ ↗
Fehlerhaftes Quoting von HTML-Attributen bei der Rekonstruktion behoben (Luas %q erzeugte Backslashes vor Zeilenumbrüchen) und Elementerkennung in Copy-of und SetVariable korrigiert.
5.5.10 (22.4.2026)
- colspan="*" in Tabellenzellen erlauben. ↗
Mit colspan="*" auf einem Td-Element werden automatisch alle verbleibenden Spalten ab der aktuellen Position überdeckt, ohne die Spaltenanzahl fest angeben zu müssen. - Entferne Erzeugung der Debian-Pakete. ↗
Es ist zu viel Arbeit, die Debian-Pakete aktuell zu halten. - Abstand bei Listenmarkern per CSS einstellbar. ↗
Der Abstand zwischen Listenmarker und Text ist nun per li::marker { padding-right: … } in CSS konfigurierbar. Der Standardwert bleibt 5pt. - Alternierende Zeilenfarben starten auf jeder Seite neu. ↗
Hintergrundfarben in Tabellenzellen werden nun erst nach dem Seitenumbruch gesetzt. Das neue Tabellen-Attribut eval-on-split ermöglicht es, alternierende Zeilenfarben auf jeder neuen Seite korrekt neu zu beginnen. - Haarlinien-Artefakte zwischen Tabellenzellen behoben. ↗
Wenn alle Zellen einer Zeile dieselbe Hintergrundfarbe haben, wird der Hintergrund nun als einzelnes Rechteck gezeichnet. Das beseitigt Haarlinien-Artefakte zwischen benachbarten Zellen in einigen PDF-Betrachtern. - Leere Zeilen zwischen HTML-Blockelementen behoben. ↗
Leerraum zwischen HTML-Blockelementen (z.B. zwischen zwei Absätzen) wird nicht mehr als leere Zeile dargestellt. - Leerzeichendarstellung in einigen Schriften korrigiert. ↗
Die Font-Backmap bevorzugt jetzt druckbare Zeichen, wenn mehrere Codepoints dieselbe Glyph-ID haben. Das korrigiert fehlerhafte Leerzeichendarstellung in einigen Schriften wie HelveticaNeue-Bold. - Bessere Fehlerbehandlung bei undefinierten Farben. ↗
Das Layout zeigt nun eine Warnung statt mit einem Lua-Fehler abzubrechen, wenn Probleme wie undefinierte Farben auftreten. - Sicherheit: Go-Abhängigkeiten aktualisiert. ↗
Aktualisierung von golang.org/x/net und golang.org/x/image zur Behebung von CVEs (XSS, HTTP-Proxy-Bypass, OOM durch manipuliertes TIFF). - Windows-DLL-Crash beim Aufräumen behoben. ↗
Umgehung eines Go-Runtime-Problems, bei dem das Aufräumen der DLL unter Windows eine Zugriffsverletzung (0xc0000005) verursachte, obwohl die PDF-Erzeugung erfolgreich war.
5.5.9 (20.4.2026)
- Dokumentation: Umstellung auf Hugo, Struktur neu organisiert.
- Erlaube Textblock in Td für bessere Kontrolle bei Rotation.
- Unterstützung für CSS ::marker.
Das CSS-Pseudoelement ::marker wird nun für die Listengestaltung unterstützt, einschließlich eigener Inhalte und Farben. - Bilder werden bei trace objects=“yes” gezeichnet.
- Fehlerkorrektur HTML Rahmen Breitenberechnung.
5.5.8 (14.4.2026)
- Berücksichtige Box-Höhe in Zeilen (Zeilenhöhe).
- Box-Rahmen.
- Vertikale Ausrichtung für Box im Absatzmodus.
- Bilder: vertikale Ausrichtung im Absatz.
- Action-Befehl entfernt.
- Suppressinfo für Metadaten.
- Prüfsummenunterschied in sp compare anzeigen.
- Neues Attribut match bei Record.
5.5.7 (2.4.2026)
- Fehlerkorrektur Tabellenstauch-Algorithmus.
5.5.6 (2.4.2026)
- Fehlerkorrektur PDF copy/paste hyphen minus.
5.5.5 (1.4.2026)
- Korrigiere minimale Breite in Tabellen mit colspan und rowspan.
- Korrigiere CSS Vererbung bei td/tr.
5.5.4 (1.4.2026)
- HTML-Tabellen: beachte rowspan und colspan. Verhindere rowspan am Ende der Seite.
5.5.3 (9.3.2026)
- Servermodus: Endpunkt zum Abrufen der publisher-protocol.xml hinzugefügt.
5.5.2 (6.3.2026)
- Viele Rechtschreibkorrekturen in der Dokumentation.
- Barrierefreiheit für Output/Text (#614).
- PDF/UA Strukturbaum.
- Korrektur PDF/UA und InsertPages / SavePages (#613).
- Suchpfad hinzufügen, Dateien nicht duplizieren.
- Bessere Fehlermeldungen für Funktionsaufrufe und alten XPath-Parser.
- Fehlerkorrektur letter-spacing und Silbentrennung.
- Filter: Klassenpfad für Saxon korrekt setzen, einschließlich aller benötigten JAR-Dateien.
5.5.1 (2.3.2026)
- Fehlerkorrektur für Bildeinbindung (Transparenz), Attribut Kontext und Creator Version.
5.5.0 (26.2.2026)
- Fehlerkorrektur letter-spacing in Tabellen.
5.4
5.4.3 (4.3.2026)
- Fehlerkorrektur letter-spacing und Silbentrennung.
- Bessere Fehlermeldungen für Funktionsaufrufe und alten XPath-Parser.
- Filter: Klassenpfad für Saxon korrekt setzen, einschließlich aller benötigten JAR-Dateien.
5.4.2 (27.2.2026)
- Fehlerkorrektur Attribut Kontext.
- Fehlerkorrektur Bildeinbindung (Transparenz).
- Fehlerkorrektur Creator/Producer Version in PDF-Metadaten.
5.4.1 (26.2.2026)
- Fehlerkorrektur letter-spacing in Tabellen.
5.4.0 (24.2.2026)
- Veröffentliche stabile Version 5.4.
5.3
5.3.24 (23.2.2026)
- Neuer Befehl Section, um Layoutdateien zu organisieren (ohne Auswirkung auf Formatierung).
5.3.23 (19.2.2026)
- Fehlerkorrektur: ForAll behält Kontext.
5.3.22 (18.2.2026)
- Massive Geschwindigkeitsverbesserungen.
- Optischer Randausgleich Wert ist 1/1000 em.
5.3.21 (5.2.2026)
- Fehlerkorrektur: Silbentrennung funktioniert jetzt korrekt mit letter-spacing.
5.3.20 (29.1.2026)
- Fehlerkorrektur: Berechnung der verbleibenden Höhe in PlaceObject / absolute Positionierung.
5.3.19 (29.1.2026)
- Korrigiere Programmabbruch bei sp –help / –version.
5.3.18 (26.1.2026)
- Füge letter-spacing Attribut zu DefineTextformat hinzu (in 1/1000 em).
- Korrigiere Endlosschleife in post_linebreak.
5.3.17 (23.1.2026)
- Korrigiere Endlosschleife in HTML-Tabellen.
- Verbessere das Beenden von Kindprozessen in sp.
5.3.16 (20.1.2026)
- HTML-Tabellen mit nur Header oder Footer (leerer Body) werden jetzt korrekt ausgegeben.
5.3.15 (19.1.2026)
- Fehlerkorrektur für leere HTML-Tabellen.
- Implementiere Until für den neuen XPath-Parser.
- HTML-Verbesserungen (einschließlich Dokumentation).
5.3.14 (15.1.2026)
- HTML kann nun auf mehrere Seiten umbrechen.
5.3.13 (14.1.2026)
- Löse Endlosschleife in HTML-Tabellen.
5.3.12 (5.12.2025)
- Füge globale html-Option im Options-Befehl und –option html=off Kommandozeilen-Flag hinzu, um HTML-Parsing zu steuern.
5.3.11 (4.12.2025)
- Beschleunigt den Schriftsatz mit frühen Abbrüchen, gecachten Zugriffen und schlankerer Attributbehandlung in mknodes.
- Modularisiert publisher.lua in die Module color, links und metadata, um die Datei zu verkleinern.
- Aktualisiert qrencode auf die aktuelle Upstream-Version.
5.3.10 (30.11.2025)
- Behebt Verlangsamung im CSS/HTML-Rendering.
5.3.9 (25.11.2025)
- Ermögliche Textformaten, für HTML-Inhalte die in CSS definierte Schriftgröße zu verwenden.
- Korrigiere die Verarbeitung relativer (em) Schriftgrößen auf Basis der aktuellen Schriftgröße.
- Korrigiere die Darstellung von HTML-Rahmen im normalen Absatzmodus.
- Aktualisiere auf die neuste Saxon HE Version.
- Lösche Rust Quellcode.
5.3.8 (21.11.2025)
- Korrigiere HTML Border und currentcolor in Tabellenlinien.
5.3.7 (19.11.2025)
- HTML Border überarbeitet.
- Styles in HTML-Tabellen.
5.3.6 (11.11.2025)
- Fehlerkorrektur: UL-Zähler zurücksetzen.
5.3.5 (10.11.2025)
- Korrigiere @font-face in CSS (fataler Absturz).
5.3.4 (10.11.2025)
- HTML: Unterstützung für weitere Nummerierungsarten in Listen hinzugefügt (lower-alpha, upper-alpha usw.).
- Setze Exit-Code ungleich Null, wenn Fehler aufgetreten sind.
- Compare-Tool: Überarbeitung für mehr Stabilität und verbesserten HTML-Report (Prüfsummen, Build-Fehler, Vorschaubilder, Sortierung).
- HTML-zu-Lua-Rendering-Pipeline überarbeitet für strukturierte Ausgabe und klarere Trennung von CSS-Berechnung.
5.3.3 (4.11.2025)
- Führe alte Syntax mit geschweiften Klammern wieder ein bei Value/select und dem alten XPath parser (#680) .
- Entferne die Rust-Bibliothek aus dem Build-Prozess (#678).
5.3.2 (1.11.2025)
- Korrigiere Einrückung nach einem br.
5.3.1 (21.10.2025)
- Korrigiere Windows/Rust laden.
5.3.0 (21.10.2025)
- Alternative Rust-Bibliothek für dynamische Bindung.
5.2
5.2.0 (14.10.2025)
- Veröffentliche Version 5.2.
5.1
5.1.29 (14.10.2025)
- Go-XML-Parser tlw. neu geschrieben.
5.1.28 (5.10.2025)
- Korrigiere PDF-Metadaten / ISO-Datumsformat.
5.1.27 (4.10.2025)
- Fehlerkorrektur: XPath-Funktion doc() gibt den Wurzelknoten zurück statt des Dokumentknotens.
5.1.26 (23.9.2025)
- Neue XPath-Funktion translate().
- Dokumentation: Verwendung von px (Pixel) präzisiert.
- tabular.lua in ein Modul umgewandelt (interne Änderung).
- Absicherung für fehlenden Dateinamen in AttachFile.
- Neue XPath-Funktion distinct-values().
5.1.25 (15.9.2025)
- Publisher führt mehrere Läufe nun auch bei Fehlern aus.
- Unterstützung für japanischen Schriftsatz.
- Fehlerbehebung beim Fallback mit mehrzeichigen Sequenzen.
5.1.24 (15.9.2025)
- Warnung bei leerem Hyperlink.
- Verbesserte Fehlermeldung bei leerer Gruppe/Trace.
- Verbesserte Fehlermeldungen bei doppelten Dateien und Fehlern beim Schreiben der Aux-Datei.
- XPath: Neu: format-number() und round-half-to-even().
- Neuer Attributtyp „rawstring“ ohne {}-Maskierung.
5.1.23 (10.9.2025)
- Optionaler resizehandler für DPI-Einstellung (Konfigurationsdatei).
- CSS font-family darf nun mehrere Einträge haben.
5.1.22 (25.8.2025)
- Mehr HTML/CSS Features (Pseudoklassen, Padding in Tabellen und Rahmen).
5.1.21 (23.8.2025)
- NoBreak mit Hintergrundfarbe.
- NoBreak in Tabellenzellen (#670).
- Fehlerkorrektur Bildkonvertierung mit gleichem Dateinamen und unterschiedlicher Dateiendung.
- Erweitere grundlegende HTML Eigenschaften (Eigene Schriftarten, Rahmen, rem-Größen).
5.1.20 (19.8.2025)
- Setze trapped auf false im PDF für Preflight.
- Schutzmaßnahmen gegen Go/Lua Thread-Fehler.
5.1.19 (18.8.2025)
- Erlaube Absatzform in Gruppen.
- Fehlerkorrektur: Datei löscht sich selbst beim kopieren (#668).
- PDF Producer Eintrag in Metadaten.
5.1.18 (1.8.2025)
- Fehlerkorrektur: PlaceObject/rotate und vreference.
5.1.17 (30.7.2025)
- Fehlerkorrektur lxpath Modus und neuer XPath Parser.
- HTML Modus neu implementiert.
- Log-Level im Server-Modus.
5.1.16 (15.7.2025)
- Korrigiere sd:format-number (#664).
5.1.15 (14.7.2025)
- Korrekte XML-Kodierung von Metadaten bei ZUGFeRD Anhängen.
5.1.14 (10.7.2025)
- Fehlerkorrektur HTML und großgeschriebene Tags.
5.1.13 (3.7.2025)
- Ignoriere DEL (Dezimal 127) Zeichen in der Eingabe (#663).
5.1.12 (25.6.2025)
- Korrigiere (XPath)-Boolean-Wert von Attributen.
5.1.11 (18.6.2025)
- Kein fataler Fehler wenn ein Http-Bild fehlt.
5.1.10 (6.6.2025)
- Bessere Log-Meldungen.
- Neue XPath-Funktion sd:symbol() um eine Glyph-ID einzugeben.
- Lösche alte XPath-Dokumentation.
5.1.9 (23.5.2025)
- Neue Option ‘addlocalpath’ in der Konfigurationsdatei, damit das Arbeitsverzeichnis nicht rekursiv durchsucht wird.
- Neue Option mpcolorwarning um die Farb-Warnungen von MetaPost zu zeigen (Voreinstellung ist ’true’) .
5.1.8 (22.5.2025)
- Fehlerkorrektur Layoutfunktion sd:current-framenumber() und neuer XPath parser.
5.1.7 (18.5.2025)
- cache=none funktioniert auch bei SVG Konvertierung (#622).
5.1.6 (15.5.2025)
- Neuer Befehl
sp checkversion, um auf Aktualisierungen zu prüfen (#660).
5.1.5 (5.5.2025)
- Aktualisiere auf neue LuaTeX binaries (1.22.0).
- Ändere Systemfonts-Verzeichnissuche für Windows.
5.1.4 (5.5.2025)
- Fehlerkorrektur: Tabellenumbruch in AtPageShipout (#659).
- Absolute Positionierung innerhalb einer Gruppe.
5.1.3 (7.4.2025)
- Korrigiere Leerzeichen im imagehandler.
5.1.2 (7.4.2025)
- Ändere die Breite und Höhe für vertikale Linien. Sollte keine Auswirkungen auf das Erscheinungsbild haben.
5.1.1 (7.4.2025)
- Lua Präprozessor: runtime.execute liefert den Erfolg bzw. den Exit-Code zurück.
5.1.0 (4.4.2025)
- Setze Hintergrundfarbe für jede Seite.
5.0
5.0.2 (4.4.2025)
- Fehlerkorrektur: Dateiname image hander bei automatischer Umwandlung.
5.0.1 (1.4.2025)
- Fehlerkorrektur: Rundungsfehler in manchen Rasterkonfigurationen.
5.0.0 (11.3.2025)
- Veröffentliche Version 5.0.