Releases: sphinx-doc/sphinx
Sphinx 8.1.3
Changelog: https://www.sphinx-doc.org/en/master/changes/8.1.html
Bugs fixed
- #13013: Restore support for
cut_lines()
with no object type. Patch by Adam Turner.
Sphinx 8.1.2
Changelog: https://www.sphinx-doc.org/en/master/changes/8.1.html
Bugs fixed
- #13012: Expose
sphinx.errors.ExtensionError
insphinx.util
for backwards compatibility. This will be removed in Sphinx 9, as exposing the exception insphinx.util
was never intentional.ExtensionError
has been part ofsphinx.errors
since Sphinx 0.9. Patch by Adam Turner.
Sphinx 8.1.1
Changelog: https://www.sphinx-doc.org/en/master/changes/8.1.html
Bugs fixed
- #13006: Use the preferred https://www.cve.org/ URL for
the:cve:
role.
Patch by Hugo van Kemenade. - #13007: LaTeX: Improve resiliency when the required
fontawesome
orfontawesome5
packages are not installed.
Patch by Jean-François B.
Sphinx 8.1.0
Changelog: https://www.sphinx-doc.org/en/master/changes/8.1.html
Dependencies
- #12756: Add lower-bounds to the
sphinxcontrib-*
dependencies.
Patch by Adam Turner. - #12833: Update the LaTeX
parskip
package from 2001 to 2018.
Patch by Jean-François B.
Incompatible changes
- #12763: Remove unused internal class
sphinx.util.Tee
.
Patch by Adam Turner. - #12822: LaTeX: for Unicode engines, the
fvset
default is changed to
'\\fvset{fontsize=auto}'
from'\\fvset{fontsize=\\small}'
.
Code-blocks are unchanged as FreeMono is now loaded withScale=0.9
.
An adjustment to existing projects is needed only if they used a custom
fontpkg
configuration and did not setfvset
.
Patch by Jean-François B. - #12875: Disable smartquotes for languages:
zh_CN
andzh_TW
by default.
Patch by A. Rafey Khan.
Deprecated
- #12762: Deprecate
sphinx.util.import_object
.
Useimportlib.import_module()
instead.
Patch by Adam Turner. - #12766: Deprecate
sphinx.util.FilenameUniqDict
andsphinx.util.DownloadFiles
.
Patch by Adam Turner.
Features added
- #11328: Mention evaluation of templated content during production of static
output files.
Patch by James Addison. - #12704: LaTeX: make
contents
,topic
,
andsidebar
directives separately customizable for PDF output.
Patch by Jean-François B. and Bénédikt Tran. - #12474: Support type-dependent search result highlighting via CSS.
Patch by Tim Hoffmann. - #12652: LaTeX: Add
math_numsep
support to latex builder.
Patch by Thomas Fanning and Jean-François B. - #12743: No longer exit on the first warning when
--fail-on-warning
is used.
Instead, exit with a non-zero status if any warnings were generated
during the build.
Patch by Adam Turner. - #12743: Add
sphinx-build --exception-on-warning
,
to raise an exception when warnings are emitted during the build.
Patch by Adam Turner and Jeremy Maitin-Shepard. - #12907: Add
html_last_updated_use_utc
to allow using
universal time (GMT/UTC) instead of local time for the date-time
supplied tohtml_last_updated_fmt
.
Patch by Adam Turner. - #12910: Copyright entries now support the
'%Y'
placeholder
to substitute the current year.
This is helpful for reducing the reliance on Python modules
such astime
ordatetime
inconf.py
.
Patch by Adam Turner. - #11781: Add roles for referencing CVEs (
:cve:
)
and CWEs (:cwe:
).
Patch by Hugo van Kemenade. - #11809: Improve the formatting for RFC section anchors.
Patch by Jakub Stasiak and Adam Turner. - #12852: Support a
.Builder.supported_linkcode
attribute
for builders to enable use ofsphinx.ext.linkcode
-generated
references.
Patch by James Knight. - #12949: Print configuration options that differ from the pickled environment.
This can be helpful in diagnosing the cause of a full rebuild.
Patch by Adam Turner.
Bugs fixed
- #12514: intersphinx: fix the meaning of a negative value for
intersphinx_cache_limit
.
Patch by Shengyu Zhang. - #12722: LaTeX: avoid TeX reporting
Overfull \hbox
from too long
strings in a codeline when the problem has actually been solved thanks
tolatexsphinxsetupforcewraps
.
Patch by Jean-François B. - #12730: The
UnreferencedFootnotesDetector
transform has been improved
to more consistently detect unreferenced footnotes.
Note, the priority of the transform has been changed from 200 to 622,
so that it now runs after the docutilsFootnotes
resolution transform.
Patch by Chris Sewell. - #12778: LaTeX: let
'sphinxsetup'
div.topic_box-shadow
key if used with only one dimension set both
x-offset and y-offset as per documentation.
Patch by Jean-François B. - #12587: Do not warn when potential ambiguity detected during Intersphinx
resolution occurs due to duplicate targets that differ case-insensitively.
Patch by James Addison. - #12639: Fix singular and plural search results text.
Patch by Hugo van Kemenade. - #12645: Correctly support custom gettext output templates.
Patch by Jeremy Bowman. - #12717: LaTeX: let
-q
(quiet) option for
sphinx-build -M latexpdf
ormake latexpdf
(O=-q
)
get passed tolatexmk
. Let-Q
(silent) apply as well to the PDF build phase.
Patch by Jean-François B. - #12744: LaTeX: Classes injected by a custom interpreted text role now give
rise to nested\DUrole
's, rather than a single one with comma separated
classes.
Patch by Jean-François B. - #12831: LaTeX: avoid large voids sometimes occurring at page bottoms.
Patch by Jean-François B. - #11970, #12551: singlehtml builder: make target URIs to be same-document
references in the sense of RFC 3986, §4.4,
e.g.,index.html#foo
becomes#foo
.
(note: continuation of a partial fix added in Sphinx 7.3.0)
Patch by James Addison (with reference to prior work by Eric Norige). - #12735: Fix PEP 695 generic classes LaTeX output formatting.
Patch by Jean-François B. and Bénédikt Tran. - #12782: intersphinx: fix double forward slashes when generating the inventory
file URL (user-defined base URL of an intersphinx project are left untouched
even if they end with double forward slashes).
Patch by Bénédikt Tran. - #12796: Enable parallel reading if requested,
even if there are fewer than 6 documents.
Patch by Matthias Geier. - #12844: Restore support for
:noindex:
for thejs:module
andpy:module
directives.
Patch by Stephen Finucane. - #12916: Restore support for custom templates named with the legacy
_t
suffix duringapidoc
RST rendering (regression in 7.4.0).
Patch by James Addison. - #12451: Only substitute copyright notice years with values from
SOURCE_DATE_EPOCH
for entries that match the current system clock year,
and disallow substitution of future years.
Patch by James Addison and Adam Turner. - #12905: intersphinx: fix flipped use of
intersphinx_cache_limit
,
which always kept the cache for positive values, and always refreshed it for
negative ones.
Patch by Nico Madysa. - #12888: Add a warning when document is included in multiple toctrees
and ensure deterministic resolution of global toctree in parallel builds
by choosing the lexicographically greatest parent document.
Patch by A. Rafey Khan - #12995: Significantly improve performance when building the search index
for Chinese languages.
Patch by Adam Turner. - #12767:
.Builder.write
is typed asfinal
, meaning that the
write-started
event may be relied upon by extensions.
A new.Builder.write_documents
method has been added to
control how documents are written.
This is intended for builders that do not output a file for each document.
Patch by Adam Turner.
Testing
- #12141: Migrate from the deprecated
karma
JavaScript test framework to
the actively-maintainedjasmine
framework. Test coverage is unaffected.
Patch by James Addison.
Sphinx 8.0.2
Sphinx 8.0.1
Sphinx 8.0.0
Changelog: https://www.sphinx-doc.org/en/master/changes.html
Dependencies
- #12633: Drop Python 3.9 support.
Incompatible changes
-
Remove deprecated functions from
sphinx.util
:- Removed
sphinx.util.path_stabilize
(usesphinx.util.osutil.path_stabilize
). - Removed
sphinx.util.display_chunk
(usesphinx.util.display.display_chunk
). - Removed
sphinx.util.status_iterator
(usesphinx.util.display.status_iterator
). - Removed
sphinx.util.SkipProgressMessage
(usesphinx.util.display.SkipProgressMessage
). - Removed
sphinx.util.progress_message
(usesphinx.util.display.progress_message
). - Removed
sphinx.util.epoch_to_rfc1123
(usesphinx.http_date.epoch_to_rfc1123
). - Removed
sphinx.util.rfc1123_to_epoch
(usesphinx.http_date.rfc1123_to_epoch
). - Removed
sphinx.util.save_traceback
(usesphinx.exceptions.save_traceback
). - Removed
sphinx.util.format_exception_cut_frames
(usesphinx.exceptions.format_exception_cut_frames
). - Removed
sphinx.util.xmlname_checker
(usesphinx.builders.epub3._XML_NAME_PATTERN
).
Patch by Adam Turner.
- Removed
-
Removed
sphinx.util.osutil.cd
(usecontextlib.chdir
).
Patch by Adam Turner. -
Removed
sphinx.util.typing.stringify
(usesphinx.util.typing.stringify_annotation
).
Patch by Adam Turner. -
#12593: Raise an error for invalid
html_sidebars
values.
Patch by Adam Turner. -
#12593: Raise an error in
Theme.get_config
for invalid sections.
Patch by Adam Turner. -
#11693: Remove support for old-style
Makefile
andmake.bat
output insphinx-quickstart
. -
#11693: Remove the
--no-use-make-mode
,-M
,
--use-make-mode
, and-m
options
fromsphinx-quickstart
.
Patch by Adam Turner. -
Removed the tuple interface to
sphinx.ext.autodoc.ObjectMember
.
Patch by Adam Turner. -
#12630: Sphinx 8 makes two changes to the
linkcheck
configuration defaults:linkcheck_allow_unauthorized
is nowFalse
by default.linkcheck_report_timeouts_as_broken
is nowFalse
by default.
Patch by James Addison.
-
#12597: Change the default of
show_warning_types
fromFalse
toTrue
.
Patch by Chris Sewell. -
#12083: Remove support for the old (2008--2010) Sphinx 0.5 and Sphinx 0.6
intersphinx_mapping
format.
Patch by Bénédikt Tran and Adam Turner. -
#12096: Do not overwrite user-supplied files when copying assets
unless forced withforce=True
.
Patch by Adam Turner. -
#12646: Remove
sphinx.util.inspect.isNewType
.
Useisinstance(obj, typing.NewType)
instead on Python 3.10 and newer.
Patch by Adam Turner. -
Remove the long-deprecated (since Sphinx 2) alias
toVersionChange
in
sphinx.directives.other
(Deprecated since Sphinx 2).
Usesphinx.domains.changeset.VersionChange
directly.
Patch by Adam Turner.
Deprecated
- #12643: Renamed
sphinx.ext.intersphinx.normalize_intersphinx_mapping
tosphinx.ext.intersphinx.validate_intersphinx_mapping
.
The old name will be removed in Sphinx 10.
Patch by Adam Turner. - #12650, #12686, #12690: Extend the deprecation for string methods on
pathlib.Path
objects to Sphinx 9.
Useos.fspath
to convert :py:class:~pathlib.Path
objects to strings,
orpathlib.Path
's methods to work with path objects.
Patch by Adam Turner.
Sphinx 8.0.0rc1
Changelog: https://www.sphinx-doc.org/en/master/changes.html
Dependencies
- #12633: Drop Python 3.9 support.
Incompatible changes
-
Remove deprecated functions from
sphinx.util
:- Removed
sphinx.util.path_stabilize
(usesphinx.util.osutil.path_stabilize
). - Removed
sphinx.util.display_chunk
(usesphinx.util.display.display_chunk
). - Removed
sphinx.util.status_iterator
(usesphinx.util.display.status_iterator
). - Removed
sphinx.util.SkipProgressMessage
(usesphinx.util.display.SkipProgressMessage
). - Removed
sphinx.util.progress_message
(usesphinx.util.display.progress_message
). - Removed
sphinx.util.epoch_to_rfc1123
(usesphinx.http_date.epoch_to_rfc1123
). - Removed
sphinx.util.rfc1123_to_epoch
(usesphinx.http_date.rfc1123_to_epoch
). - Removed
sphinx.util.save_traceback
(usesphinx.exceptions.save_traceback
). - Removed
sphinx.util.format_exception_cut_frames
(usesphinx.exceptions.format_exception_cut_frames
). - Removed
sphinx.util.xmlname_checker
(usesphinx.builders.epub3._XML_NAME_PATTERN
).
Patch by Adam Turner.
- Removed
-
Removed
sphinx.util.osutil.cd
(usecontextlib.chdir
).
Patch by Adam Turner. -
Removed
sphinx.util.typing.stringify
(usesphinx.util.typing.stringify_annotation
).
Patch by Adam Turner. -
#12593: Raise an error for invalid
html_sidebars
values.
Patch by Adam Turner. -
#12593: Raise an error in
Theme.get_config
for invalid sections.
Patch by Adam Turner. -
#11693: Remove support for old-style
Makefile
andmake.bat
output insphinx-quickstart
. -
#11693: Remove the
--no-use-make-mode
,-M
,
--use-make-mode
, and-m
options
fromsphinx-quickstart
.
Patch by Adam Turner. -
Removed the tuple interface to
sphinx.ext.autodoc.ObjectMember
.
Patch by Adam Turner. -
#12630: Sphinx 8 makes two changes to the
linkcheck
configuration defaults:linkcheck_allow_unauthorized
is nowFalse
by default.linkcheck_report_timeouts_as_broken
is nowFalse
by default.
Patch by James Addison.
-
#12597: Change the default of
show_warning_types
fromFalse
toTrue
.
Patch by Chris Sewell. -
#12083: Remove support for the old (2008--2010) Sphinx 0.5 and Sphinx 0.6
intersphinx_mapping
format.
Patch by Bénédikt Tran and Adam Turner. -
#12096: Do not overwrite user-supplied files when copying assets
unless forced withforce=True
.
Patch by Adam Turner. -
#12650: Remove support for string methods on
pathlib.Path
objects.
Useos.fspath
to convertpathlib.Path
objects to strings,
orpathlib.Path
's methods to work with path objects.
Patch by Adam Turner. -
#12646: Remove
sphinx.util.inspect.isNewType
.
Patch by Adam Turner. -
Remove the long-deprecated (since Sphinx 2) alias
toVersionChange
in
sphinx.directives.other
(Deprecated since Sphinx 2).
Usesphinx.domains.changeset.VersionChange
directly.
Patch by Adam Turner.
Deprecated
- #12643: Renamed
sphinx.ext.intersphinx.normalize_intersphinx_mapping
tosphinx.ext.intersphinx.validate_intersphinx_mapping
.
The old name will be removed in Sphinx 10.
Patch by Adam Turner.
Full Changelog: v7.4.7...v8.0.0rc1