Sphinx 4.0

Version 4.0.3 (veröffentlicht am 05. Juli 2021)

Hinzugefügte Funktionen

  • C, fügt C23-Schlüsselwörter _Decimal32, _Decimal64 und _Decimal128 hinzu.

  • #9354: C, fügt c_extra_keywords hinzu, um benutzerdefinierte Schlüsselwörter während der Analyse zu ermöglichen.

  • Macht die Entfernung von sphinx.util:force_decode() rückgängig, damit einige Drittanbieter-Erweiterungen während 5.0 wieder verfügbar sind.

Behobene Fehler

  • #9330: changeset-Domäne: versionchanged mit Inhalten, die eine Liste sind, führt zu einem Fehler während des PDF-Builds.

  • #9313: LaTeX: Komplexe Tabellen mit zusammengeführten Zellen sind seit 4.0 defekt.

  • #9305: LaTeX: Backslash kann bei japanischen Engines zu einem „Improper discretionary list“ PDF-Build-Fehler führen.

  • #9354: C, entfernt spezielle Makronamen aus der Schlüsselwortliste. Siehe auch c_extra_keywords.

  • #9322: KeyError wird bei PropagateDescDomain-Transformation ausgelöst.

Version 4.0.2 (veröffentlicht am 20. Mai 2021)

Abhängigkeiten

  • #9216: Unterstützt jinja2-3.0.

Inkompatible Änderungen

  • #9222: Aktualisiert Underscore.js auf 1.13.1.

  • #9217: Manpage: Stoppt standardmäßig die Erstellung eines Verzeichnisses für Abschnitte beim Erstellen von Manpages (siehe man_make_section_directory).

Behobene Fehler

  • #9210: Viewcode: Absturz, wenn nicht importierbare Module während des parallelen Builds gefunden werden.

  • #9240: Unknown node error für pending_xref_condition wird ausgelöst, wenn eine Erweiterung, die den Knoten nicht unterstützt, einen Handler für fehlende Referenzen installiert.

Version 4.0.1 (veröffentlicht am 11. Mai 2021)

Behobene Fehler

  • #9189: Autodoc: Absturz, wenn ValueError beim Generieren der Signatur aus einer Eigenschaft der Klasse ausgelöst wird.

  • #9188: Autosummary: Warnung wird ausgegeben, wenn ein Listenwert für autosummary_generate gesetzt ist.

  • #8380: HTML-Suche: Tags für Suchergebnisse sind defekt.

  • #9198: i18n: Babel gibt Fehler aus, wenn compile_catalog ausgeführt wird.

  • #9205: py-Domäne: Die Option :canonical: verursacht eine Warnung „mehr als ein Ziel für Querverweise“.

  • #9201: Websupport: UndefinedError wird ausgelöst: „css_tag“ ist undefiniert.

Version 4.0.0 (veröffentlicht am 09. Mai 2021)

Abhängigkeiten

4.0.0b1

  • Unterstützung für Python 3.5 eingestellt.

  • Unterstützung für Docutils 0.12 und 0.13 eingestellt.

  • LaTeX: Abhängigkeit von tex-gyre Schriftart hinzugefügt.

4.0.0b2

  • Unterstützt Docutils 0.17. Bitte beachten Sie, dass sich die Ausgabe des HTML-Builders dadurch ändert. Einige Themes unterstützen dies nicht, und Sie müssen Ihr benutzerdefiniertes CSS aktualisieren, um es zu aktualisieren.

Inkompatible Änderungen

4.0.0b1

  • #8539: autodoc: Info-Feldliste wird in die Klassenbeschreibung generiert, wenn autodoc_typehints='description' und autoclass_content='class' gesetzt sind.

  • #8898: extlinks: „%s“ wird zum erforderlichen Schlüsselwort in der Link-Beschriftungszeichenfolge.

  • Domäne: Die Klasse Index wird zu Unterklassen von abc.ABC, um Methoden anzuzeigen, die in den konkreten Klassen überschrieben werden müssen.

  • #4826: py-Domäne: Die Struktur von Python-Objekten wurde geändert. Ein boolescher Wert wurde hinzugefügt, um anzuzeigen, dass das Python-Objekt kanonisch ist.

  • #7425: MathJax: MathJax wurde von Version 2 auf 3 aktualisiert. Benutzer, die eine benutzerdefinierte MathJax-Konfiguration verwenden, müssen möglicherweise den alten MathJax-Pfad festlegen oder ihre Konfiguration für Version 3 aktualisieren. Siehe sphinx.ext.mathjax.

  • #7784: i18n: Die msgid für den Alternativtext von Bildern wurde geändert.

  • #5560: Napoleon: napoleon_use_param beeinflusst auch den Abschnitt „andere Parameter“.

  • #7996: Manpage: Erstellt standardmäßig ein Verzeichnis für Abschnitte beim Erstellen von Manpages (siehe man_make_section_directory).

  • #7849: HTML: Die Standardeinstellung für html_codeblock_linenos_style wurde auf 'inline' geändert.

  • #8380: HTML-Suche: Suchergebnisse werden mit <p> anstelle von <div> umschlossen.

  • HTML-Theme: Verschiebt ein Skript-Tag für documentation_options.js in basic/layout.html in die Variable script_files.

  • HTML-Theme: Verschiebt CSS-Tags in basic/layout.html in die Variable css_files.

  • #8915: HTML-Theme: Gibt eine Warnung für sphinx_rtd_theme 0.2.4 oder älter aus.

  • #8508: LaTeX: uplatex wird zur Standardeinstellung von latex_engine für japanische Dokumente.

  • #5977: py-Domäne: Felder :var:, :cvar: und :ivar: erstellen keine Querverweise.

  • #4550: Das Attribut align der Knoten figure und table wird standardmäßig auf None anstelle von 'default' gesetzt.

  • #8769: LaTeX-Refactoring: Teilt sphinx.sty in mehrere Dateien auf und benennt einige Hilfsdateien um, die im latex-Build-Ausgabeverzeichnis erstellt werden.

  • #8937: Verwendet expliziten Titel anstelle von <kein Titel>.

  • #8487: Die Option :file: für die csv-table-Direktive erkennt nun einen absoluten Pfad als relativen Pfad vom Quellverzeichnis an.

4.0.0b2

Veraltet

  • html_codeblock_linenos_style

  • Variablen favicon und logo in HTML-Vorlagen.

  • sphinx.directives.patches.CSVTable

  • sphinx.directives.patches.ListTable

  • sphinx.directives.patches.RSTTable

  • sphinx.ext.autodoc.directive.DocumenterBridge.filename_set

  • sphinx.ext.autodoc.directive.DocumenterBridge.warn()

  • sphinx.registry.SphinxComponentRegistry.get_source_input()

  • sphinx.registry.SphinxComponentRegistry.source_inputs

  • sphinx.transforms.FigureAligner

  • sphinx.util.pycompat.convert_with_2to3()

  • sphinx.util.pycompat.execfile_()

  • sphinx.util.smartypants

  • sphinx.util.typing.DirectiveOption

Neu hinzugefügte Funktionen

4.0.0b1

  • #8924: Autodoc: Unterstützt das Argument bound für TypeVar.

  • #7383: Autodoc: Unterstützt Type-Hints für Eigenschaften.

  • #5603: Autodoc: Ermöglicht die Bezugnahme auf eine Python-Klasse über ihren kanonischen Namen, wenn die Klasse zwei verschiedene Namen hat; einen kanonischen Namen und einen Alias-Namen.

  • #8539: Autodoc: Fügt autodoc_typehints_description_target hinzu, um das Verhalten von autodoc_typehints=description zu steuern.

  • #8841: Autodoc: autodoc_docstring_signature sucht weiterhin nach mehreren Signaturzeilen ohne Backslash-Zeichen.

  • #7549: Autosummary: autosummary_generate ist standardmäßig aktiviert.

  • #8898: Extlinks: Ermöglicht %s in der Link-Beschriftungszeichenfolge.

  • #4826: py-Domäne: Fügt die Option :canonical: zu Python-Direktiven hinzu, um den Speicherort zu beschreiben, an dem das Objekt definiert ist.

  • #7199: py-Domäne: Fügt python_use_unqualified_type_names hinzu, um den Modulnamen der Python-Referenz zu unterdrücken, wenn er aufgelöst werden kann (experimentell).

  • #7068: py-Domäne: Fügt die Direktive py:property hinzu, um eine Eigenschaft zu beschreiben.

  • #7784: i18n: Der Alternativtext für Bilder wird standardmäßig übersetzt (ohne die Einstellung gettext_additional_targets).

  • #2018: HTML: html_favicon und html_logo akzeptieren nun URLs für die Bilder.

  • #8070: HTML-Suche: Unterstützt die Suche nach 2-Zeichen-Wörtern.

  • #9036: HTML-Theme: Ermöglicht das Erben der Suchseite.

  • #8938: imgconverter: Zeigt den Fehler der Verfügbarkeitsprüfung des Befehls an.

  • #7830: Fügt Debug-Protokolle für die Änderungsverfolgung von Quellen und Vorlagen hinzu.

  • #8201: Gibt eine Warnung aus, wenn toctree duplizierte Einträge enthält.

  • #8326: master_doc wird jetzt in root_doc umbenannt.

  • #8942: C++, fügt Unterstützung für den C++20-Spaceship-Operator <=> hinzu.

  • #7199: Ein neuer Knoten, sphinx.addnodes.pending_xref_condition, wurde hinzugefügt. Er kann verwendet werden, um basierend auf Bedingungen den geeigneten Inhalt der Referenz auszuwählen.

4.0.0b2

  • #8818: Autodoc: Eine Superklasse mit Any-Argumenten verursacht eine nitpicky-Warnung.

  • #9095: Autodoc: TypeError wird bei der Verarbeitung einer fehlerhaften Metaklasse ausgelöst.

  • #9110: Autodoc: Metadaten von GenericAlias werden in py37+ nicht als Referenz gerendert.

  • #9098: HTML: Der Kopierschutz für Doctests funktioniert in Safari nicht.

  • #9103: LaTeX: imgconverter: Konvertierung läuft, auch wenn sie nicht benötigt wird.

  • #8127: py-Domäne: Ellipse in Info-Feldliste verursacht nitpicky-Warnung.

  • #9121: py-Domäne: Doppelte Warnung wird ausgegeben, wenn sowohl die kanonische als auch ihre Alias-Objekte im Dokument definiert sind.

  • #9023: Mehr CSS-Klassen für Domänenbeschreibungen, siehe Doctree-Knotenklassen, die von Sphinx hinzugefügt wurden für Details.

  • #8195: MathJax: Benennt mathjax_config in mathjax2_config um und fügt mathjax3_config hinzu.

Behobene Fehler

4.0.0b1

  • #8917: Autodoc: Gibt eine Warnung aus, wenn eine Funktion einen falschen __globals__-Wert hat.

  • #8415: Autodoc: Ein TypeVar, der aus einem anderen Modul importiert wurde, wird nicht aufgelöst (in Python 3.7 oder höher).

  • #8992: Autodoc: Fehler beim Auflösen der Typannotation types.TracebackType.

  • #8905: HTML: html_add_permalinks=None und html_add_permalinks="" werden ignoriert.

  • #8380: HTML-Suche: Absätze in Suchergebnissen werden nicht als <p> identifiziert.

  • #8915: HTML-Theme: Die Übersetzung von sphinx_rtd_theme funktioniert nicht.

  • #8342: Gibt eine Warnung aus, wenn eine unbekannte Domäne für eine Direktive oder Rolle angegeben wird (z.B. :unknown:doc:).

  • #7241: LaTeX: Keine Umbrüche für cpp:enumerator.

  • #8711: LaTeX: Backticks in Code-Blöcken lösen bei Verwendung von TeXLive 2019 eine Warnung (und Schriftartänderung) beim LaTeX-PDF-Build aus.

  • #8253: LaTeX: Abbildungen ohne definierte Größe werden überdimensioniert (im Vergleich zu Bildern mit explizit gesetzter Größe in Pixeln) (nur behoben für 'pdflatex'/'lualatex').

  • #8881: LaTeX: Die Tiefe des Lesezeichen-Panels im PDF reicht nicht für die Navigation aus.

  • #8874: LaTeX: Die Korrektur von zwei kleineren Ausgabeproblemen des Pygments LaTeXFormatter ignoriert den Pygments-Stil.

  • #8925: LaTeX: Die Einstellung verbatimmaxunderfull von 3.5.0 funktioniert nicht wie erwartet.

  • #8980: LaTeX: Fehlender Zeilenumbruch in \pysigline.

  • #8995: LaTeX: Das Legacy-Makro \pysiglinewithargsret berechnet den verfügbaren horizontalen Platz nicht korrekt und sollte einen ragged-right-Stil verwenden.

  • #9009: LaTeX: Der Wert „release“ mit Unterstrich führt zu ungültigem LaTeX.

  • #8911: C++: Entfernt das längste übereinstimmende Präfix in cpp_index_common_prefix anstelle des ersten passenden.

  • C, lehnt Funktionsdeklarationen ordnungsgemäß ab, wenn ein Schlüsselwort als Parametername verwendet wird.

  • #8933: Viewcode: Fehler beim Erstellen von Rückverweisen bei parallelem Build.

  • #8960: C und C++, korrigiert das Rendern von (Member-)Funktionszeigertypen in Funktionsparameterlisten.

  • C++, korrigiert die Verknüpfung von Namen in Array-Deklaratoren, Zeigern auf Member-(Funktions-)Deklaratoren und im Argument von sizeof....

  • C, korrigiert die Verknüpfung von Namen in Array-Deklaratoren.

4.0.0b2

  • C, C++, korrigiert KeyError, wenn eine alias-Direktive die erste C/C++-Direktive in einer Datei mit einer anderen C/C++-Direktive später ist.

4.0.0b3

  • #9167: HTML: Fehler beim Hinzufügen von CSS-Dateien zu einer bestimmten Seite.