Version 3.3.0 (February 1st, 2021)
----------------------------------
**Backwards incompatible changes**
* clean escapes HTML comments even when strip_comments=False
**Security fixes**
* Fix bug 1621692 / GHSA-m6xf-fq7q-8743. See the advisory for details.
v1.6.0
* XML data bindings and code generators are now considered stable
* Add arguments 'max_depth' and 'extra_validator' to validation methods
* Enhance decoding with 'value_hook' argument
3.3.4 (2021-04-06)
------------------
* The async_to_sync type error is now a warning due the high false negative
rate when trying to detect coroutine-returning callables in Python.
3.3.3 (2021-04-06)
------------------
* The sync conversion functions now correctly detect functools.partial and other
wrappers around async functions on earlier Python releases.
2.12.2 (18.02.2021)
~~~~~~~~~~~~~~~~~~~
* Fix: Pin django-treebeard to <4.5 to prevent migration conflicts (Matt Westcott)
2.12.1 (16.02.2021)
~~~~~~~~~~~~~~~~~~~
* Fix: Ensure aliases are published when the source page is published (Karl Hobley)
* Fix: Make page privacy rules apply to aliases (Karl Hobley)
* Fix: Prevent error when saving embeds that do not include a thumbnail URL (Cynthia Kiser)
* Fix: Ensure that duplicate embed records are deleted when upgrading (Matt Westcott)
* Fix: Prevent failure when running `manage.py dumpdata` with no arguments (Matt Westcott)
2.12 (02.02.2021)
~~~~~~~~~~~~~~~~~
* Added a distinct 'choose' permission for images and documents (Robert Rollins)
* StreamField values can now be modified in-place (Matt Westcott)
* Added support for custom admin color themes (Joshua Marantz)
* Added support for Python 3.9
* Added `WAGTAILIMAGES_IMAGE_FORM_BASE` and `WAGTAILDOCS_DOCUMENT_FORM_BASE` settings to customise the forms for images and documents (Dan Braghis)
* Switch pagination icons to use SVG instead of icon fonts (Scott Cranfill)
* Added string representation to image Format class (Andreas Nüßlein)
* Support returning None from `register_page_action_menu_item` and `register_snippet_action_menu_item` to skip registering an item (Vadim Karpenko)
* Fields on a custom image model can now be defined as required / `blank=False` (Matt Westcott)
* Add combined index for Postgres search backend (Will Giddens)
* Add `Page.specific_deferred` property for accessing specific page instance without up-front database queries (Andy Babic)
* Add hash lookup to embeds to support URLs longer than 255 characters (Coen van der Kamp)
* Fix: Stop menu icon overlapping the breadcrumb on small viewport widths in page editor (Karran Besen)
* Fix: Make sure document chooser pagination preserves the selected collection when moving between pages (Alex Sa)
* Fix: Gracefully handle oEmbed endpoints returning non-JSON responses (Matt Westcott)
* Fix: Fix unique constraint on WorkflowState for SQL Server compatibility (David Beitey)
* Fix: Reinstate chevron on collection dropdown (Mike Brown)
* Fix: Prevent delete button showing on collection / workflow edit views when delete permission is absent (Helder Correia)
2.11.5 (18.02.2021)
~~~~~~~~~~~~~~~~~~~
* Fix: Pin django-treebeard to <4.5 to prevent migration conflicts (Matt Westcott)
2.11.4 (16.02.2021)
~~~~~~~~~~~~~~~~~~~
* Fix: Prevent delete button showing on collection / workflow edit views when delete permission is absent (Helder Correia)
* Fix: Ensure aliases are published when the source page is published (Karl Hobley)
* Fix: Make page privacy rules apply to aliases (Karl Hobley)
2.11.3 (10.12.2020)
~~~~~~~~~~~~~~~~~~~
* Fix: Updated project template migrations to ensure that initial homepage creation runs before addition of locale field (Dan Braghis)
* Fix: Restore ability to use translatable strings in `LANGUAGES` / `WAGTAIL_CONTENT_LANGUAGES` settings (Andreas Morgenstern)
* Fix: Allow `locale` / `translation_of` API filters to be used in combination with search (Matt Westcott)
* Fix: Prevent error on `create_log_entries_from_revisions` when checking publish state on a revision that cannot be restored (Kristin Riebe)
2.11.2 (17.11.2020)
~~~~~~~~~~~~~~~~~~~
* Add custom finder to support Instagram oEmbed API (Luis Nell)
* Add custom finder to support Facebook oEmbed API (Cynthia Kiser)
* Fix: Improve performance of permission check on translations for edit page (Karl Hobley)
* Fix: Gracefully handle missing Locale records on `Locale.get_active` and `.localized` (Matt Westcott)
* Fix: Handle `get_supported_language_variant` returning a language variant not in `LANGUAGES` (Matt Westcott)
* Fix: Reinstate missing icon on settings edit view (Jérôme Lebleu)
* Fix: Avoid performance and pagination logic issues with a large number of languages (Karl Hobley)
* Fix: Allow deleting the default locale (Matt Westcott)
2.11.1 (06.11.2020)
~~~~~~~~~~~~~~~~~~~
* Fix: Ensure that cached `wagtail_site_root_paths` structures from older Wagtail versions are invalidated (Sævar Öfjörð Magnússon)
* Fix: Avoid circular import between wagtail.admin.auth and custom user models (Matt Westcott)
* Fix: Prevent error on resolving page URLs when a locale outside of `WAGTAIL_CONTENT_LANGUAGES` is active (Matt Westcott)
2.11 LTS (02.11.2020)
~~~~~~~~~~~~~~~~~~~~~
* Add support for multi-lingual content (Karl Hobley)
* Add support for aliased pages (Karl Hobley)
* Add support for hierarchical/nested Collections (Robert Rollins)
* Extend treebeard's `fix_tree` method with the ability to non-destructively fix path issues and add a --full option to apply path fixes (Matt Westcott)
* Add `before_edit_snippet`, `before_create_snippet` and `before_delete_snippet` hooks and documentation (Karl Hobley. Sponsored by the Mozilla Foundation)
* Add `register_snippet_listing_buttons` and `construct_snippet_listing_buttons` hooks and documentation (Karl Hobley. Sponsored by the Mozilla Foundation)
* Add `wagtail --version` to available Wagtail CLI commands (Kalob Taulien)
* Add `hooks.register_temporarily` utility function for testing hooks (Karl Hobley. Sponsored by the Mozilla Foundation)
* Remove `unidecode` and use `anyascii` in for Unicode to ASCII conversion (Robbie Mackay)
* Add `render` helper to `RoutablePageMixin` to support serving template responses according to Wagtail conventions (Andy Babic)
* Specify minimum Python version in setup.py (Vince Salvino)
* Show user's full name in report views (Matt Westcott)
* Improve Wagtail admin page load performance by caching SVG icons sprite in localStorage (Coen van der Kamp)
* Support SVG icons in ModelAdmin menu items (Scott Cranfill)
* Support SVG icons in admin breadcrumbs (Coen van der Kamp)
* Serve PDFs inline in the browser (Matt Westcott)
* Make document `content-type` and `content-disposition` configurable via `WAGTAILDOCS_CONTENT_TYPES` and `WAGTAILDOCS_INLINE_CONTENT_TYPES` (Matt Westcott)
* Slug generation no longer removes stopwords (Andy Chosak, Scott Cranfill)
* Add check to disallow StreamField block names that do not match Python variable syntax (François Poulain)
* The `BASE_URL` setting is now converted to a string, if it isn't already, when constructing API URLs (thenewguy)
* Preview from 'pages awaiting moderation' now opens in a new window (Cynthia Kiser)
* Add document extension validation if `WAGTAIL_DOCS_EXTENSIONS` is set (Meghana Bhange)
* Use `django-admin` command in place of `django-admin.py` (minusf)
* Add `register_snippet_action_menu_item` and `construct_snippet_action_menu` hooks to modify the actions available when creating / editing a snippet (Karl Hobley)
* Moved `generate_signature` and `verify_signature` functions into `wagtail.images.utils` (Noah H)
* Implement `bulk_to_python` on all structural StreamField block types (Matt Westcott)
* Add natural key support to `GroupCollectionPermission` (Jim Jazwiecki)
* Implement `prepopulated_fields` for `wagtail.contrib.modeladmin` (David Bramwell)
* Change `classname` keyword argument on basic StreamField blocks to `form_classname` (Meghana Bhange)
* Replace page explorer pushPage/popPage with gotoPage for more flexible explorer navigation (Karl Hobley)
* Fix: Make page-level actions accessible to keyboard users in page listing tables (Jesse Menn)
* Fix: `WAGTAILFRONTENDCACHE_LANGUAGES` was being interpreted incorrectly. It now accepts a list of strings, as documented (Karl Hobley)
* Fix: Update oEmbed endpoints to use https where available (Matt Westcott)
* Fix: Revise `edit_handler` bind order in ModelAdmin views and fix duplicate form instance creation (Jérôme Lebleu)
* Fix: Properly distinguish child blocks when comparing revisions with nested StreamBlocks (Martin Mena)
* Fix: Correctly handle Turkish 'İ' characters in client-side slug generation (Matt Westcott)
* Fix: Page chooser widgets now reflect custom ``get_admin_display_title`` methods (Saptak Sengupta)
* Fix: `Page.copy()` now raises an error if the page being copied is unsaved (Anton Zhyltsou)
* Fix: `Page.copy()` now triggers a `page_published` if the copied page is live (Anton Zhyltsou)
* Fix: The Elasticsearch `URLS` setting can now take a string on its own instead of a list (Sævar Öfjörð Magnússon)
* Fix: Avoid retranslating month / weekday names that Django already provides (Matt Westcott)
* Fix: Fixed padding around checkbox and radio inputs (Cole Maclean)
* Fix: Fix spacing around the privacy indicator panel (Sævar Öfjörð Magnússon, Dan Braghis)
* Fix: Consistently redirect to admin home on permission denied (Matt Westcott, Anton Zhyltsou)
* Allow child form class to be overridden in the `formsets` Meta property of ClusterForm (Helder Correia)
* Add prefetch_related support to ParentalManyToManyField (Andy Chosak)
* Implement `copy_child_relation` and `copy_all_child_relations` methods on ClusterableModel (Karl Hobley)
* Fix: Fix behavior of ParentalKeys and prefetch_related() supplied with a lookup queryset (Juha Yrjölä)
20.1.0 - 2021-02-12
document WEB_CONCURRENCY is set by, at least, Heroku
capture peername from accept: Avoid calls to getpeername by capturing the peer name returned by accept
log a warning when a worker was terminated due to a signal
fix tornado usage with latest versions of Django
add support for python -m gunicorn
fix systemd socket activation example
allows to set wsgi application in configg file using wsgi_app
document --timeout = 0
always close a connection when the number of requests exceeds the max requests
Disable keepalive during graceful shutdown
kill tasks in the gthread workers during upgrade
fix latency in gevent worker when accepting new requests
fix file watcher: handle errors when new worker reboot and ensure the list of files is kept
document the default name and path of the configuration file
document how variable impact configuration
document the $PORT environment variable
added milliseconds option to request_time in access_log
added PIP requirements to be used for example
remove version from the Server header
fix sendfile: use socket.sendfile instead of os.sendfile
reloader: use absolute path to prevent empty to prevent0 InotifyError when a file is added to the working directory
Add –print-config option to print the resolved settings at startup.
remove the --log-dict-config CLI flag because it never had a working format (the logconfig_dict setting in configuration files continues to work)
** Breaking changes **
minimum version is Python 3.5
remove version from the Server header
** Others **
miscellaneous changes in the code base to be a better citizen with Python 3
remove dead code
fix documentation generation
Release 3.5.3 (released Mar 20, 2021)
=====================================
Features added
--------------
* using UNIX path separator in image directive confuses Sphinx on Windows
Release 3.5.2 (released Mar 06, 2021)
=====================================
Bugs fixed
----------
* i18n: Crashed by broken translation messages in ES, EL and HR
* LaTeX: A custom LaTeX builder fails with unknown node error
* Exceptions raised in a Directive cause parallel builds to hang
Release 3.5.1 (released Feb 16, 2021)
=====================================
Bugs fixed
----------
* autodoc: AttributeError is raised on assigning __annotations__ on
read-only class
* html: minified js stemmers not included in the distributed package
* html: AttributeError is raised if CSS/JS files are installed via
:confval:`html_context`
* viewcode: ExtensionError is raised on incremental build after
unparsable python module found
Release 3.5.0 (released Feb 14, 2021)
=====================================
Dependencies
------------
* LaTeX: ``multicol`` (it is anyhow a required part of the official latex2e
base distribution)
Incompatible changes
--------------------
* Update Underscore.js to 1.12.0
* html: The config variable ``html_add_permalinks`` is replaced by
:confval:`html_permalinks` and :confval:`html_permalinks_icon`
Deprecated
----------
* pending_xref node for viewcode extension
* ``sphinx.builders.linkcheck.CheckExternalLinksBuilder.anchors_ignore``
* ``sphinx.builders.linkcheck.CheckExternalLinksBuilder.auth``
* ``sphinx.builders.linkcheck.CheckExternalLinksBuilder.broken``
* ``sphinx.builders.linkcheck.CheckExternalLinksBuilder.good``
* ``sphinx.builders.linkcheck.CheckExternalLinksBuilder.redirected``
* ``sphinx.builders.linkcheck.CheckExternalLinksBuilder.rqueue``
* ``sphinx.builders.linkcheck.CheckExternalLinksBuilder.to_ignore``
* ``sphinx.builders.linkcheck.CheckExternalLinksBuilder.workers``
* ``sphinx.builders.linkcheck.CheckExternalLinksBuilder.wqueue``
* ``sphinx.builders.linkcheck.node_line_or_0()``
* ``sphinx.ext.autodoc.AttributeDocumenter.isinstanceattribute()``
* ``sphinx.ext.autodoc.directive.DocumenterBridge.reporter``
* ``sphinx.ext.autodoc.importer.get_module_members()``
* ``sphinx.ext.autosummary.generate._simple_info()``
* ``sphinx.ext.autosummary.generate._simple_warn()``
* ``sphinx.writers.html.HTMLTranslator.permalink_text``
* ``sphinx.writers.html5.HTML5Translator.permalink_text``
Features added
--------------
* autodoc: autodata and autoattribute directives does not show right-hand
value of the variable if docstring contains ``:meta hide-value:`` in
info-field-list
* autodoc: Default values of overloaded functions are taken from actual
implementation if they're ellipsis
* autodoc: Support type union operator (PEP-604) in Python 3.10 or above
* autodoc: Allow to extend :confval:`autodoc_default_options` via
directive options
* html: kbd role generates customizable HTML tags for compound keys
* html: Allow to change the order of JS/CSS via ``priority`` parameter
for :meth:`Sphinx.add_js_file()` and :meth:`Sphinx.add_css_file()`
* html: Allow to add JS/CSS files to the specific page when an extension
calls ``app.add_js_file()`` or ``app.add_css_file()`` on
:event:`html-page-context` event
* html: Allow to use HTML permalink texts via
:confval:`html_permalinks_icon`
* html: Add permalink icons to glossary terms
* html search: performance issue with massive lists
* html search: Update JavaScript stemmer code to the latest version of
Snowball (v2.1.0)
* i18n: Allow to translate heading syntax in MyST-Parser
* imgconverter: Skip availability check if builder supports the image
type
* napoleon: Allow to change the style of custom sections using
:confval:`napoleon_custom_styles`
* napoleon: Type definitions in Google style docstrings are rendered as
references when :confval:`napoleon_preprocess_types` enabled
* mathjax: Include mathjax.js only on the document using equations
* py domain: Support type union operator (PEP-604)
* std domain: cross-reference for a rubric having inline item is broken
* std domain: Optimize case-insensitive match of term
* viewcode: Support incremental build
* Add :confval:`project_copyright` as an alias of :confval:`copyright`
* Now :confval:`highlight_language` supports multiple languages
* :rst:dir:`code-block` and :rst:dir:`literalinclude` supports automatic
dedent via no-argument ``:dedent:`` option
* C++, also hyperlink operator overloads in expressions and alias declarations.
* Allow production lists to refer to tokens from other production groups
* Show what extension (or module) caused it on errors on event handler
* C++: add ``maxdepth`` option to :rst:dir:`cpp:alias` to insert nested
declarations.
* C, add ``noroot`` option to :rst:dir:`c:alias` to render only nested
declarations.
* C++, add ``noroot`` option to :rst:dir:`cpp:alias` to render only nested
declarations.
Bugs fixed
----------
* apidoc: namespace module file is not generated if no submodules there
* autodoc: inherited-members doesn't work for instance attributes on super
class
* autodoc: ``:meta public:`` does not effect to variables
* autodoc: empty __all__ attribute is ignored
* autodoc: Failed to resolve struct.Struct type annotation
* autodoc: All variable comments in the module are ignored if the module
contains invalid type comments
* autodoc: Default values for overloaded functions are rendered as string
* autodoc: crashes when mocked decorator takes arguments
* autodoc: Uninitialized attributes in superclass are recognized as
undocumented
* autodoc: Failed to generate document if target module contains an
object that raises an exception on ``hasattr()``
* autosummary: mocked modules are documented as empty page when using
:recursive: option
* graphviz: Image node is not rendered if graph file is in subdirectory
* html: kbd role produces incorrect HTML when compound-key separators (-,
+ or ^) are used as keystrokes
* html: A type warning for html_use_opensearch is shown twice
* html: kbd role with "Caps Lock" rendered incorrectly
* html search: fix searching for terms containing + (Requires a custom
search language that does not split on +)
* html theme: Could not override globaltoc_maxdepth in theme.conf
* html: consecutive spaces are displayed as single space
* i18n: crashes with KeyError when translation message adds a new auto
footnote reference
* linkcheck: Fix race condition that could lead to checking the
availability of the same URL twice
* linkcheck: The docname for each hyperlink is not displayed
* sphinx-quickstart: questionare got Mojibake if libreadline unavailable
* texinfo: image files on the different directory with document are not
copied
* todo: Cross references in todolist get broken
* viewcode: module pages are generated for epub on incremental build
* viewcode: anchors are generated in incremental build after singlehtml
* viewcode: highlighted code is generated even if not referenced
* :confval:`highlight_options` is not working
* C, fix intersphinx lookup types for names in declarations.
* C, C++: in general fix intersphinx and role lookup types.
* :confval:`html_last_updated_fmt` does not support UTC offset (%z)
* :confval:`html_last_updated_fmt` generates wrong time zone for %Z
* ``download`` role creates duplicated copies when relative path is
specified
* (fifth item): LaTeX: footnotes from captions are not clickable,
and for manually numbered footnotes only first one with same number is
an hyperlink
* LaTeX with French babel and memoir crash: "Illegal parameter number
in definition of ``\FNH@prefntext``"
* LaTeX (docs): A potential display bug with the LaTeX generation step
in Sphinx (how to generate one-column index)
* LaTeX: Directive :rst:dir:`hlist` not implemented in LaTeX
* LaTeX: The :rst:role:`index` role and the glossary generate duplicate
entries in the LaTeX index (if both used for same term)
* LaTeX: wrong internal links in pdf to captioned code-blocks when
:confval:`numfig` is not True
* LaTeX: some indexed terms are ignored when using xelatex engine
(or pdflatex and :confval:`latex_use_xindy` set to True) with memoir class
* LaTeX: URLs as footnotes fail to show in PDF if originating from
inside function type signatures
* LaTeX: long words in narrow columns may not be hyphenated
* LaTeX: ``\titleformat`` last argument in sphinx.sty should be
bracketed, not braced (and is anyhow not needed)
* LaTex: code-block printed out of margin (see the opt-in LaTeX syntax
boolean :ref:`verbatimforcewraps <latexsphinxsetupforcewraps>` for use via
the :ref:`'sphinxsetup' <latexsphinxsetup>` key of ``latex_elements``)
* LaTeX: Remove substitution_reference nodes from doctree only on LaTeX
builds
* LaTeX: Restructure the index nodes inside title nodes only on LaTeX
builds
* LaTeX: potentially critical low level TeX coding mistake has gone
unnoticed so far
* C, :rst:dir:`c:alias` skip symbols without explicit declarations
instead of crashing.
* C, :rst:dir:`c:alias` give a warning when the root symbol is not declared.
* C, ``expr`` role should start symbol lookup in the current scope.
Release 3.4.3 (released Jan 08, 2021)
=====================================
Bugs fixed
----------
* autodoc: Failed to generate document if target module contains an
object that raises an exception on ``hasattr()``
Release 3.4.2 (released Jan 04, 2021)
=====================================
Bugs fixed
----------
* autodoc: Classes that inherit mocked class are not documented
* autodoc: The ``autodoc-process-docstring`` event is emitted to the
non-datadescriptors unexpectedly
* autodoc: AttributeError is raised on non-class object is passed to
autoclass directive
Release 3.4.1 (released Dec 25, 2020)
=====================================
Bugs fixed
----------
* autodoc: AttributeError is raised when using forward-reference type
annotations
* autodoc: TypeError is raised on checking slots attribute
* autodoc: Instance attributes are incorrectly added to Parent class
* autodoc: The ``autodoc-process-docstring`` event is emitted to the
alias classes unexpectedly
* autodoc: Unnecessary object comparision via ``__eq__`` method
* linkcheck: Fix PriorityQueue crash when link tuples are not
comparable
Release 3.4.0 (released Dec 20, 2020)
=====================================
Incompatible changes
--------------------
* autodoc: the signature of class constructor will be shown for decorated
classes, not a signature of decorator
Deprecated
----------
* The ``follow_wrapped`` argument of ``sphinx.util.inspect.signature()``
* The ``no_docstring`` argument of
``sphinx.ext.autodoc.Documenter.add_content()``
* ``sphinx.ext.autodoc.Documenter.get_object_members()``
* ``sphinx.ext.autodoc.DataDeclarationDocumenter``
* ``sphinx.ext.autodoc.GenericAliasDocumenter``
* ``sphinx.ext.autodoc.InstanceAttributeDocumenter``
* ``sphinx.ext.autodoc.SlotsAttributeDocumenter``
* ``sphinx.ext.autodoc.TypeVarDocumenter``
* ``sphinx.ext.autodoc.importer._getannotations()``
* ``sphinx.ext.autodoc.importer._getmro()``
* ``sphinx.pycode.ModuleAnalyzer.parse()``
* ``sphinx.util.osutil.movefile()``
* ``sphinx.util.requests.is_ssl_error()``
Features added
--------------
* autodoc: Allow to determine whether a member not included in
``__all__`` attribute of the module should be documented or not via
:event:`autodoc-skip-member` event
* autodoc: Parameters for generic class are not shown when super class is
a generic class and show-inheritance option is given (in Python 3.7 or above)
* autodoc: Add ``Documenter.config`` as a shortcut to access the config object
* autodoc: Add Optional[t] to annotation of function and method if a default
value equal to None is set.
* autodoc: Add ``:no-value:`` option to :rst:dir:`autoattribute` and
:rst:dir:`autodata` directive to suppress the default value of the variable
* autodoc: Support custom types defined by typing.NewType
* napoleon: Add :confval:`napoleon_attr_annotations` to merge type hints
on source code automatically if any type is specified in docstring
* napoleon: Support numpydoc's "Receives" section
* Add a new event :event:`warn-missing-reference` to custom warning
messages when failed to resolve a cross-reference
* Emit a detailed warning when failed to resolve a ``:ref:`` reference
* linkcheck: The builder now handles rate limits. See
:confval:`linkcheck_retry_on_rate_limit` for details.
Bugs fixed
----------
* autodoc: autodoc does not respect __signature__ of the class
* autodoc: the location of the warning is incorrect for inherited method
* autodoc: the signature of class constructor is incorrect if the class
is decorated
* autodoc: :confval:`autodoc_type_aliases` does not effect to variables
and attributes
* autodoc: autodata directive can't create document for PEP-526 based
type annotated variables
* autodoc: autoattribute directive can't create document for PEP-526
based uninitalized variables
* autodoc: autoattribute could not create document for __slots__
attributes
* autodoc: autoattribute could not create document for a GenericAlias as
class attributes correctly
* autodoc: autoattribute could not create document for a commented
attribute in alias class
* autodoc: autodoc_type_aliases doesn't work when autodoc_typehints is
set to "description"
* autodoc: autodoc_type_aliases doesn't work for the type annotation to
instance attributes
* autodoc: autodata and autoattribute directives do not display type
information of TypeVars
* autodoc: references to builtins not working in class aliases
* autodoc: ``__bool__`` method could be called
* autodoc: A typehint for the instance variable having type_comment on
super class is not displayed
* autodoc: a __slots__ attribute is not documented even having docstring
* autodoc: inherited-members doesn't work for instance attributes on super
class
* autosummary: non utf-8 reST files are generated when template contains
multibyte characters
* autosummary: summary extraction splits text after "el at." unexpectedly
* html: Wrong url_root has been generated on a document named "index"
* html search: Do not load ``language_data.js`` in non-search pages
* i18n: ``-D gettext_compact=0`` is no longer working
* graphviz: The layout option for graph and digraph directives don't work
* linkcheck: Use GET when HEAD requests cause Too Many Redirects, to
accommodate infinite redirect loops on HEAD
* Makefile: ``make clean`` with empty BUILDDIR is dangerous
* py domain: ``:type:`` and ``:rtype:`` gives false ambiguous class
lookup warnings
* std domain: Failed to parse an option that starts with bracket
* LaTeX: Prevent page brake in the middle of a seealso
* C, fix copying of AliasNode.
Release 3.3.1 (released Nov 12, 2020)
=====================================
Bugs fixed
----------
* autodoc: autoclass directive became slower than Sphinx-3.2
* autosummary: raise PycodeError when documenting python package
without __init__.py
* autosummary: autosummary_mock_imports causes slow down builds
* C, properly initialize attributes in empty symbols.
* i18n: Put system locale path after the paths specified by configuration
Release 3.3.0 (released Nov 02, 2020)
=====================================
Deprecated
----------
* ``sphinx.builders.latex.LaTeXBuilder.usepackages``
* ``sphinx.builders.latex.LaTeXBuilder.usepackages_afger_hyperref``
* ``sphinx.ext.autodoc.SingledispatchFunctionDocumenter``
* ``sphinx.ext.autodoc.SingledispatchMethodDocumenter``
Features added
--------------
* html: Show a better error message for failures on copying
html_static_files
* C: added a ``maxdepth`` option to :rst:dir:`c:alias` to insert
nested declarations.
* LaTeX: Allow to add LaTeX package via ``app.add_latex_package()`` until
just before writing .tex file
* manpage: Add :confval:`man_make_section_directory` to make a section
directory on build man page
* epub: Allow to suppress "duplicated ToC entry found" warnings from epub
builder using :confval:`suppress_warnings`.
* sphinx-quickstart: Add :option:`sphinx-quickstart --no-sep` option
* sphinx.testing: Register public markers in sphinx.testing.fixtures
* napoleon: use the obj role for all See Also items
* napoleon: Apply :confval:`napoleon_preprocess_types` to every field
* C and C++, show line numbers for previous declarations when duplicates are
detected.
* Remove substitution_reference nodes from doctree only on LaTeX builds
Bugs fixed
----------
* i18n: Add support for having single text domain
* i18n: Failed to override system message translation
* autodoc: AttributeError is raised when False value is passed to
autodoc_default_options
* autodoc: functools.cached_property is not considered as a property
* autodoc: parsing error is raised if some extension replaces docstring
by string not ending with blank lines
* autodoc: Wrong constructor signature for the class derived from
typing.Generic
* autodoc: TypeError is raised when annotation has invalid __args__
* autodoc: Tuple in default value is wrongly rendered
* autodoc: type aliases break type formatting of autoattribute
* autodoc: can't detect overloaded methods defined in other file
* autodoc: single-string __slots__ is not handled correctly
* autodoc: autodoc_typehints='none' does not effect to overloaded functions
* napoleon: description is disappeared when it contains inline literals
* napoleon: Potential of regex denial of service in google style docs
* LaTeX: pxjahyper loaded even when latex_engine is not platex
* LaTeX: 'oneside' classoption causes build warning
* intersphinx: Potential of regex denial of service by broken inventory
* sphinx-build: missing and redundant spacing (and etc) for console
output on building
* imgconverter: Check availability of imagemagick many times
* py domain: number in default argument value is changed from hexadecimal
to decimal
* html: Prevent arrow keys changing page when button elements are focused
* html search: Fix unnecessary load of images when parsing the document
* html theme: Line numbers misalign with code lines
* The highlight warning has wrong location in some builders (LaTeX,
singlehtml and so on)
* Eliminate Fancyhdr build warnings for oneside documents
* Failed to refer a token in productionlist if it is indented
* linkcheck: Report HTTP errors when ``linkcheck_anchors`` is ``True``
* linkcheck: take source directory into account for local files
* linkcheck: ``tel:`` schema hyperlinks are detected as errors
* linkcheck: An exit status is incorrect when links having unsupported
schema found
* C, add missing items to internal object types dictionary,
e.g., preventing intersphinx from resolving them.
* C, fix anon objects in intersphinx.
* C++, properly reject functions as duplicate declarations if a
non-function declaration of the same name already exists.
* C, fix references to function parameters.
Link to the function instead of a non-existing anchor.
* figure numbers are unexpectedly assigned to uncaptioned items
* make "inline" line numbers un-selectable
Testing
--------
* Support parallel build in sphinx.testing
Release 3.2.1 (released Aug 14, 2020)
=====================================
Features added
--------------
* napoleon: Add :confval:`napoleon_preprocess_types` to enable the type
preprocessor for numpy style docstrings
* C and C++, parse function attributes after parameters and qualifiers.
Bugs fixed
----------
* napoleon: Crashes during processing C-ext module
* napoleon: "Inline literal start-string without end-string" warning in
Numpy style Parameters section
* autodoc: KeyError is raised on documenting an attribute of the broken
class
* autodoc: AttributeError is raised on documenting an attribute on Python
3.5.2
* autodoc: NameError is raised when target code uses ``TYPE_CHECKING``
* C++, fix parsing of template template paramters
Release 3.2.0 (released Aug 08, 2020)
=====================================
Deprecated
----------
* ``sphinx.ext.autodoc.members_set_option()``
* ``sphinx.ext.autodoc.merge_special_members_option()``
* ``sphinx.writers.texinfo.TexinfoWriter.desc``
* C, parsing of pre-v3 style type directives and roles, along with the options
:confval:`c_allow_pre_v3` and :confval:`c_warn_on_allowed_pre_v3`.
Features added
--------------
* autodoc: Allow overriding of exclude-members in skip-member function
* autodoc: ``:private-member:`` can take an explicit list of member names
to be documented
* autosummary: Add :confval:`autosummary_filename_map` to avoid conflict
of filenames between two object with different case
* autosummary: Support instance attributes as a target of autosummary
directive
* html: Add :confval:`html_codeblock_linenos_style` to change the style
of line numbers for code-blocks
* C and C++, support parameterized GNU style attributes.
* napoleon: Add aliases Warn and Raise.
* napoleon: parse type strings and make them hyperlinks as possible. The
conversion rule can be updated via :confval:`napoleon_type_aliases`
* napoleon: Create a hyperlink for each the type of parameter when
:confval:`napoleon_use_params` is False
* C, added :rst:dir:`c:alias` directive for inserting copies
of existing declarations.
* html: inventory is broken if the docname contains a space
* html search: Allow searching for numbers
* html theme: Add a new option :confval:`globaltoc_maxdepth` to control
the behavior of globaltoc in sidebar
* i18n: Optimize the dependencies check on bootstrap
* i18n: :confval:`figure_language_filename` supports ``docpath`` token
* linkcheck: Support checks for local links
* setuptools: Link verbosity to distutils' -v and -q option
* doctest: Add ``:trim-doctest-flags:`` and ``:no-trim-doctest-flags:``
options to doctest, testcode and testoutput directives
* add ``:noindexentry:`` to the Python, C, C++, and Javascript domains.
Update the documentation to better reflect the relationship between this option
and the ``:noindex:`` option.
* C, add possibility of parsing of some pre-v3 style type directives and
roles and try to convert them to equivalent v3 directives/roles.
Set the new option :confval:`c_allow_pre_v3` to ``True`` to enable this.
The warnings printed from this functionality can be suppressed by setting
:confval:`c_warn_on_allowed_pre_v3`` to ``True``.
The functionality is immediately deprecated.
* C, add support for named variadic macro arguments.
* Allow to suppress "self referenced toctrees" warning
Bugs fixed
----------
* autodoc: TypeError is raised on mocking generic-typed classes
* autodoc: function signature is not shown when the function has a
parameter having ``inspect._empty`` as its default value
* autodoc: type annotations for overloaded functions are not resolved
* autodoc: An instance attribute cause a crash of autofunction directive
* autodoc: ``private-members`` option does not work for class attributes
* autodoc: Generator type annotation is wrongly rendered in py36
* autodoc: An uninitialized annotated instance variable is not documented
when ``:inherited-members:`` option given
* autodoc: A type hint for the instance variable defined at parent class
is not shown in the document of the derived class
* autodoc: An annotated instance variable on super class is not
documented when derived class has other annotated instance variables
* autosummary: cannot handle umlauts in function names
* autosummary: Failed to extract summary line when abbreviations found
* autosummary: Failed to extract correct summary line when docstring
contains a hyperlink target
* autosummary: "Module attributes" header is not translatable
* apidoc: An extra newline is generated at the end of the rst file if a
module has submodules
* napoleon: decorated special methods are not shown
* napoleon: parameters are not escaped for combined params in numpydoc
* napoleon: multiple paramaters declaration in numpydoc was wrongly
recognized when napoleon_use_params=True
* LaTeX: ``numfig_secnum_depth > 1`` leads to wrong figure links
* html theme: XML-invalid files were generated
* gettext: Wrong source info is shown when using rst_epilog
* linkcheck: HEAD requests are not used for checking
* i18n: Failed to add an explicit title to ``:ref:`` role on translation
* py domain: failed to resolve a type annotation for the attribute
* py domain: failed to parse a type annotation containing ellipsis
* std domain: option directive does not generate old node_id compatible
with 2.x or older
* i18n: The content of ``math`` directive is interpreted as reST on
translation
* i18n: The ``root`` element for :confval:`figure_language_filename` is
not a path that user specifies in the document
* texinfo: TypeError is raised for nested object descriptions
* texinfo: a warning not supporting desc_signature_line node is shown
* :rst:role:`abbr` role without an explanation will show the explanation
from the previous abbr role
* graphviz: graphviz.css was copied on building non-HTML document
* C and C++, removed ``noindex`` directive option as it did
nothing.
* Duplicated node IDs are generated if node has multiple IDs
* Symbols sections are appeared twice in the index page
* Fix circular import in sphinx.addnodes
* CSS: make "highlight" selector more robust
* C++, parse non-type template parameters starting with
a dependent qualified name.
* C, don't deepcopy the entire symbol table and make a mess every time an
enumerator is handled.
Release 3.1.2 (released Jul 05, 2020)
=====================================
Incompatible changes
--------------------
* autodoc: the signature of base function will be shown for decorated
functions, not a signature of decorator
Bugs fixed
----------
* autodoc: Failed to detect module when relative module name given
* autodoc: AttributeError is raised when non-class object is given to
the autoclass directive
* autodoc: KeyError is raised for invalid mark up when autodoc_typehints
is 'description'
* autodoc: crashed if the target name matches to both an attribute and
module that are same name
* autodoc: function signature becomes ``(*args, **kwargs)`` if the
function is decorated by generic decorator
* autosummary: generates broken stub files if the target code contains
an attribute and module that are same name
* viewcode: Failed to resolve viewcode references on 3rd party builders
* html theme: List items have extra vertical space
* html theme: Undesired interaction between "overflow" and "float"
Release 3.1.1 (released Jun 14, 2020)
=====================================
Incompatible changes
--------------------
* napoleon: a type for attribute are represented as typed field
Features added
--------------
* autodoc: Show detailed warning when type_comment is mismatched with its
signature
Bugs fixed
----------
* autodoc: Warnings raised on variable and attribute type annotations
* autodoc: EOFError is raised on parallel build
* autodoc: TypeError is raised for overloaded C-ext function
* autodoc: an object which descriptors returns is unexpectedly documented
* autodoc: wrong signature is shown for the function using contextmanager
* autosummary: generates broken stub files if the target code contains
an attribute and module that are same name
* napoleon: Warnings raised on variable and attribute type annotations
* sphinx.util.inspect causes circular import problem
Release 3.1.0 (released Jun 08, 2020)
=====================================
Dependencies
------------
* mathjax: Update to 2.7.5
Incompatible changes
--------------------
* imgconverter: Invoke "magick convert" command by default on Windows
Deprecated
----------
* The first argument for sphinx.ext.autosummary.generate.AutosummaryRenderer has
been changed to Sphinx object
* ``sphinx.ext.autosummary.generate.AutosummaryRenderer`` takes an object type
as an argument
* The ``ignore`` argument of ``sphinx.ext.autodoc.Documenter.get_doc()``
* The ``template_dir`` argument of ``sphinx.ext.autosummary.generate.
AutosummaryRenderer``
* The ``module`` argument of ``sphinx.ext.autosummary.generate.
find_autosummary_in_docstring()``
* The ``builder`` argument of ``sphinx.ext.autosummary.generate.
generate_autosummary_docs()``
* The ``template_dir`` argument of ``sphinx.ext.autosummary.generate.
generate_autosummary_docs()``
* The ``ignore`` argument of ``sphinx.util.docstring.prepare_docstring()``
* ``sphinx.ext.autosummary.generate.AutosummaryRenderer.exists()``
* ``sphinx.util.rpartition()``
Features added
--------------
* LaTeX: Make the ``toplevel_sectioning`` setting optional in LaTeX theme
* LaTeX: Allow to override papersize and pointsize from LaTeX themes
* LaTeX: Add :confval:`latex_theme_options` to override theme options
* Allow to suppress "circular toctree references detected" warnings using
:confval:`suppress_warnings`
* C, added scope control directives, :rst:dir:`c:namespace`,
:rst:dir:`c:namespace-push`, and :rst:dir:`c:namespace-pop`.
* autodoc: Suppress default value for instance attributes
* autodoc: consider a member public if docstring contains
``:meta public:`` in info-field-list
* autodoc: Allow to generate docs for singledispatch functions by
py:autofunction
* autodoc: Support final classes and methods
* autodoc: Support signatures defined by ``__new__()``, metaclasses and
builtin base classes
* autodoc: Support multiple signatures on docstring
* autodoc: Support GenericAlias in Python 3.7 or above
* autodoc: Support overloaded functions
* autodoc: Support TypeVar
* autosummary: headings in generated documents are not translated
* autosummary: Add ``:caption:`` option to autosummary directive to set a
caption to the toctree
* autosummary: Support module attributes
* autosummary: Add ``:recursive:`` option to autosummary directive
to generate stub files recursively
* autosummary: Add :confval:`autosummary_context` to add template
variables for custom templates
* html: Support nested <kbd> elements
* html theme: Add right margin to footnote/citation labels
* html theme: CSS spacing for code blocks with captions and line
numbers
* html theme: Add new options :confval:`globaltoc_collapse` and
:confval:`globaltoc_includehidden` to control the behavior of globaltoc in
sidebar
* html theme: Avoid clashes between sidebar and other blocks
* html theme: Relbar breadcrumb should contain current page
* html theme: A canonical URL is not escaped
* html theme: Avoid whitespace at the beginning of genindex.html
* html theme: Add a "clearer" at the end of the "body"
* html theme: Make admonition/topic/sidebar scrollable
* html theme: Add top and bottom margins to tables
* html theme: Add viewport meta tag for basic theme
* html theme: classic: default codetextcolor/codebgcolor doesn't override
Pygments
* C and C++: allow semicolon in the end of declarations.
* C++, parse parameterized noexcept specifiers.
* C++, parse expressions with user-defined literals.
* C++, parse trailing return types.
* py domain: Add ``:final:`` option to :rst:dir:`py:class:`,
:rst:dir:`py:exception:` and :rst:dir:`py:method:` directives
* py domain: Change a type annotation for variables to a hyperlink
* std domain: :rst:dir:`option` directive support arguments in the form
of ``foo[=bar]``
* napoleon: a type for attribute are represented like type annotation
* napoleon: overescaped trailing underscore on attribute
* linkcheck: Add :confval:`linkcheck_request_headers` to send custom HTTP
headers for specific host
* setuptools: Support ``--verbosity`` option
* Add ``allowed_exceptions`` parameter to ``Sphinx.emit()`` to allow
handlers to raise specified exceptions
* C++, parse (trailing) requires clauses.
Bugs fixed
----------
* autodoc: incremental build does not work for imported objects
* autodoc: annotations not to be shown for descriptors
* autodoc: Decorated inherited method has no documentation
* autodoc: The change of autodoc-process-docstring for variables is
cached unexpectedly
* autodoc: misdetects a sync function is async
* autodoc: failed to detect a classmethod on Enum class
* autodoc: a typehint contains spaces is wrongly rendered under
autodoc_typehints='description' mode
* autodoc: failed to import nested class
* autodoc: does not render correct signatures for built-in functions
* autodoc: ``Optional[Union[foo, bar]]`` is presented as
``Union[foo, bar, None]``
* autodoc: autofunction emits an unfriendly warning if an invalid object
specified
* autodoc: undecorated signature is shown for decorated functions
* autodoc: typo in the default value of autodoc_member_order
* autodoc: wrong value for :member-order: option is ignored silently
* autodoc: member-order="bysource" does not work for C module
* autodoc: member-order="bysource" does not work for a module having
__all__
* autodoc: wrong retann value is passed to a handler of
autodoc-proccess-signature
* autodoc: fails with ValueError when processing numpy objects
* autodoc: TypeError is raised on documenting singledispatch function
* autosummary: a nested class is indexed as non-nested class
* autosummary: autosummary directive emits warnings twices if failed to
import the target module
* autosummary: The template variable "members" contains imported members
even if :confval:`autossummary_imported_members` is False
* autosummary: The location of import failure warning is missing
* sphinx-autogen: crashes when custom template uses inheritance
* sphinx-autogen: crashes when template uses i18n feature
* sphinx-build: Wrong error message when outdir is not directory
* sphinx-quickstart: Fix multiple directory creation for nested relpath
* html: Bad alignment of equation links
* html theme: some themes does not respect background color of Pygments
style (agogo, haiku, nature, pyramid, scrolls, sphinxdoc and traditional)
* html theme: inconsistent padding in admonitions
* napoleon: bad parsing of inline code in attribute docstrings
* imgconverter: runs imagemagick once unnecessary for builders not
supporting images
* incorrectly renders consecutive backslashes for docutils-0.16
* handle errors on event handlers
* LaTeX: EN DASH disappears from PDF bookmarks in Japanese documents
* LaTeX: Anonymous indirect hyperlink target causes duplicated labels
* LaTeX: pdflatex crashed when URL contains a single quote
* py domain: The default value for positional only argument is not shown
* coverage: Add :confval:`coverage_show_missing_items` to show coverage
result to console
* C++, fix rendering and xrefs in nested names explicitly starting
in global scope, e.g., ``::A::B``.
* C, fix rendering and xrefs in nested names explicitly starting
in global scope, e.g., ``.A.B``.
* C and C++, don't crash during display stringification of unary
expressions and fold expressions.
Release 3.0.4 (released May 27, 2020)
=====================================
Bugs fixed
----------
* autodoc: parametrized types are shown twice for generic types
* autodoc: system defined TypeVars are shown in Python 3.9
* html: Updated jQuery version from 3.4.1 to 3.5.1 for security reasons
* md5 fails when OpenSSL FIPS is enabled
* release package does not contain ``CODE_OF_CONDUCT``
Release 3.0.3 (released Apr 26, 2020)
=====================================
Features added
--------------
* C, parse array declarators with static, qualifiers, and VLA specification.
Bugs fixed
----------
* autodoc: crashes if target object raises an error on accessing
its attributes
Release 3.0.2 (released Apr 19, 2020)
=====================================
Features added
--------------
* C, parse attributes and add :confval:`c_id_attributes`
and :confval:`c_paren_attributes` to support user-defined attributes.
Bugs fixed
----------
* py domain: fails with IndexError for empty tuple in type annotation
* py domain: keyword-only arguments are documented as having a default of
None
* std domain: :rst:role:`term` role could not match case-insensitively
* autodoc: empty tuple in type annotation is not shown correctly
* autodoc: Sphinx builds has been slower since 3.0.0 on mocking
* C++, fix spacing issue in east-const declarations.
* LaTeX: Xindy language options were incorrect
* sphinx crashes with ImportError on python3.5.1
Release 3.0.1 (released Apr 11, 2020)
=====================================
Incompatible changes
--------------------
* std domain: :rst:dir:`term` role becomes case sensitive
Bugs fixed
----------
* py domain: a reference to class ``None`` emits a nitpicky warning
* py domain: a return annotation ``None`` in the function signature is
not converted to a hyperlink when using intersphinx
* std domain: duplication warning for glossary terms is case insensitive
* C++, fix merging overloaded functions in parallel builds.
* autodoc: fails with ValueError when using autodoc_mock_imports
* autodoc: ``autodoc_typehints='description'`` doesn't suppress typehints
in signature for classes/methods
* autodoc: fails with AttributeError when an object returns non-string
object as a ``__doc__`` member
* crashed when giving a non-string object to logger
* html theme: Do not include xmlns attribute with HTML 5 doctype
* html theme: Escape some links in HTML templates
Release 3.0.0 (released Apr 06, 2020)
=====================================
Dependencies
------------
3.0.0b1
* LaTeX: drop dependency on :program:`extractbb` for image inclusion in
Japanese documents as ``.xbb`` files are unneeded by :program:`dvipdfmx`
since TeXLive2015
* babel-2.0 or above is available (Unpinned)
Incompatible changes
--------------------
3.0.0b1
* Drop features and APIs deprecated in 1.8.x
* autosummary: stub files are overwritten automatically by default. see
:confval:`autosummary_generate_overwrite` to change the behavior
* autodoc: the members of ``object`` class are not documented by default
when ``:inherited-members:`` and ``:special-members:`` are given.
* py domain: ``meta`` fields in info-field-list becomes reserved. They
are not displayed on output document now
* py domain: doctree of desc_parameterlist has been changed. The
argument names, annotations and default values are wrapped with inline node
* The structure of ``sphinx.events.EventManager.listeners`` has changed
* Due to the scoping changes for :rst:dir:`productionlist` some uses of
:rst:role:`token` must be modified to include the scope which was previously
ignored.
* Internal data structure of Python, reST and standard domains have
changed. The node_id is added to the index of objects and modules. Now they
contains a pair of docname and node_id for cross reference.
* C++ domain: Non intended behavior is removed such as ``say_hello_``
links to ``.. cpp:function:: say_hello()``
* js domain: Non intended behavior is removed such as ``parseInt_`` links
to ``.. js:function:: parseInt``
* rst domain: Non intended behavior is removed such as ``numref_`` links
to ``.. rst:role:: numref``
* py domain: Non intended behavior is removed such as ``say_hello_``
links to ``.. py:function:: say_hello()``
* py domain: Drop special cross reference helper for exceptions,
functions and methods
* The C domain has been rewritten, with additional directives and roles.
The existing ones are now more strict, resulting in new warnings.
* The attribute ``sphinx_cpp_tagname`` in the ``desc_signature_line`` node
has been renamed to ``sphinx_line_type``.
* double backslashes in domain directives are no longer replaced by
single backslashes as default. A new configuration value
:confval:`strip_signature_backslash` can be used by users to reenable it.
3.0.0 final
* ``sphinx.util.inspect.unwrap()`` is renamed to ``unwrap_all()``
Deprecated
----------
3.0.0b1
* ``desc_signature['first']``
* ``sphinx.directives.DescDirective``
* ``sphinx.domains.std.StandardDomain.add_object()``
* ``sphinx.domains.python.PyDecoratorMixin``
* ``sphinx.ext.autodoc.get_documenters()``
* ``sphinx.ext.autosummary.process_autosummary_toc()``
* ``sphinx.parsers.Parser.app``
* ``sphinx.testing.path.Path.text()``
* ``sphinx.testing.path.Path.bytes()``
* ``sphinx.util.inspect.getargspec()``
* ``sphinx.writers.latex.LaTeXWriter.format_docclass()``
Features added
--------------
3.0.0b1
* autosummary: Add :confval:`autosummary_generate_overwrite` to overwrite
old stub file
* autodoc: ``:inherited-members:`` option takes a name of anchestor class
not to document inherited members of the class and uppers
* autodoc: consider a member private if docstring contains
``:meta private:`` in info-field-list
* autodoc: Support Annotated type (PEP-593)
* autodoc: Support singledispatch functions and methods
* autodoc: :confval:`autodoc_typehints` accepts ``"description"``
configuration. It shows typehints as object description
* apidoc: Propagate ``--maxdepth`` option through package documents
* glossary: emit a warning for duplicated glossary entry
* domain: Register hyperlink target for index page automatically
* std domain: emit a warning for duplicated generic objects
* py domain: Add new event: :event:`object-description-transform`
* py domain: Do not emit nitpicky warnings for built-in types
* py domain: Support lambda functions in function signature
* py domain: Allow to make a style for arguments of functions and methods
* py domain: Emit a warning on describing a python object if the
entry is already added as the same name
* py domain: type annotations in singature are converted to cross refs
* Support priority of event handlers. For more detail, see
:py:meth:`.Sphinx.connect()`
* Implement the scoping for :rst:dir:`productionlist` as indicated
in the documentation.
* Support backslash line continuation in :rst:dir:`productionlist`.
* config: Allow to show an error message from conf.py via ``ConfigError``
* html: :confval:`html_scaled_image_link` will be disabled for images having
``no-scaled-link`` class
* Add CSS class indicating its domain for each desc node
* latex: Use babel for Chinese document when using XeLaTeX
* LaTeX: Support LaTeX Theming (experimental)
* LaTeX: Add LaTeX styling macro for :rst:role:`kbd` role
* genindex: Show "main" index entries at first
* linkcheck: writes all links to ``output.json``
* html search: full text search can be disabled for individual document
using ``:nosearch:`` file-wide metadata
* html search: Allow to override JavaScript splitter via
``SearchLanguage.js_splitter_code``
* html theme: Add a theme option: ``pygments_dark_style`` to switch the
style of code-blocks in dark mode
* The C domain has been rewritten adding for example:
- Cross-referencing respecting the current scope.
- Possible to document anonymous entities.
- More specific directives and roles for each type of entitiy,
e.g., handling scoping of enumerators.
- New role :rst:role:`c:expr` for rendering expressions and types
in text.
* Added ``SphinxDirective.get_source_info()``
and ``SphinxRole.get_source_info()``.
* sphinx-build: Emit a warning if multiple files having different file
extensions for same document found
3.0.0 final
* Added ``ObjectDescription.transform_content()``.
Bugs fixed
----------
3.0.0b1
* C++, fix cross reference lookup in certain cases involving
function overloads.
* C++, fix cross reference lookup when a directive contains multiple
declarations.
* C++, suppress warnings for directly dependent typenames in cross references
generated automatically in signatures.
* autodoc: Incorrect handling of nested class names on show-inheritance
* autodoc: error message for invalid directive options has wrong location
* autodoc: info-field-list is wrongly generated from type hints into the
class description even if ``autoclass_content='class'`` set
* autodoc: a cython-function is not recognized as a function
* inheritance_diagram: Incorrect handling of nested class names
* ``code-block:: guess`` does not work
* html: source_suffix containing dot leads to wrong source link
* html: Resizing SVG image fails with ValueError
* html search: Fix use of ``html_file_suffix`` instead of
``html_link_suffix`` in search results
* html theme: ``bizstyle`` does not support ``sidebarwidth``
* singlehtml: Path to images broken when master doc is not in source root
* std domain: Fix whitespaces are suppressed on referring GenericObject
* console: use bright colors instead of bold
* C, parse array types.
* C, parse function pointers even in complex types.
* sphinx-build: Sphinx crashes if output directory exists as a file
* sphinx-build: Ignore bdb.BdbQuit when handling exceptions
* napoleon: Attributes and Methods sections ignore :noindex: option
3.0.0 final
* autosummary: crashed when :confval:`autosummary_generate` is False
* autosummary: raises UnboundLocalError when unknown module given
* C++, alternate operator spellings are now supported.
* C, alternate operator spellings are now supported.
* C++, comma operator in expressions, pack expansion in template
argument lists, and more comprehensive error messages in some cases.
* C, C++, fix crash and wrong duplicate warnings related to anon symbols.
* Escape first "!" in a cross reference linking no longer possible
* py domain: The index entry generated by ``py:function`` directive is
different with one from ``index`` directive with "builtin" type
* capital characters are not allowed for node_id
* epub: duplicated node_ids are generated
* html: a width of table was ignored on HTML builder
* Incorrect argument is passed for :event:`env-get-outdated` handlers
* autodoc: a signature of cython-function is not recognized well
* autodoc: ``__wrapped__`` functions are not documented correctly
* intersphinx: ValueError is raised when an extension sets up
:confval:`intersphinx_mapping` on :event:`config-inited` event
* Sphinx builds has been slower since 2.4.0 on debug mode
2.4.0 (2021-02-06)
Added support for --session cookie expiration based on Set-Cookie: max-age=<n>.
Show a --check-status warning with --quiet as well, not only when the output is redirected.
Fixed upload with --session
Fixed a missing blank line between request and response
2.3.0 (2020-10-25)
Added support for streamed uploads
Added support for multipart upload streaming
Added support for body-from-file upload streaming (http pie.dev/post @file).
Added --chunked to enable chunked transfer encoding
Added --multipart to allow multipart/form-data encoding for non-file --form requests as well.
Added support for preserving field order in multipart requests
Added --boundary to allow a custom boundary string for multipart/form-data requests.
Added support for combining cookies specified on the CLI and in a session file
Added out of the box SOCKS support with no extra installation
Added --quiet, -q flag to enforce silent behaviour.
Fixed the handling of invalid expires dates in Set-Cookie headers
Removed Tox testing entirely
2.2.0 (2020-06-18)
Added support for custom content types for uploaded files
Added support for $XDG_CONFIG_HOME
Added support for Set-Cookie-triggered cookie expiration
Added --format-options to allow disabling sorting, etc.
Added --sorted and --unsorted shortcuts for (un)setting all sorting-related --format-options.
Added --ciphers to allow configuring OpenSSL ciphers
Added netrc support for auth plugins. Enabled for --auth-type=basic and digest, 3rd parties may opt in
Fixed built-in plugins-related circular imports
2.1.0 (2020-04-18)
Added --path-as-is to bypass dot segment (/../ or /./) URL squashing
Changed the default Accept header value for JSON requests from application/json, */* to application/json, */*;q=0.5 to clearly indicate preference
Fixed --form file upload mixed with redirected stdin error handling
2.0.0 (2020-01-12)
Removed Python 2.7 support (EOL Jan 2020).
Added --offline to allow building an HTTP request and printing it but not actually sending it over the network.
Replaced the old collect-all-then-process handling of HTTP communication with one-by-one processing of each HTTP request or response as they become available. This means that you can see headers immediately, see what is being sent even if the request fails, etc.
Removed automatic config file creation to avoid concurrency issues.
Removed the default 30-second connection --timeout limit.
Removed Python’s default limit of 100 response headers.
Added --max-headers to allow setting the max header limit.
Added --compress to allow request body compression.
Added --ignore-netrc to allow bypassing credentials from .netrc.
Added https alias command with https:// as the default scheme.
Added $ALL_PROXY documentation.
Added type annotations throughout the codebase.
Added tests/ to the PyPi package for the convenience of downstream package maintainers.
Fixed an error when stdin was a closed fd.
Improved --debug output formatting.
Version 2.8.1
-------------
(released March 7, 2021)
- Fix issue with LaTeX formatter and ``minted``
Version 2.8.0
-------------
(released February 14, 2021)
- Added lexers:
* AMDGPU
* CDDL
* Futhark
* Graphviz/DOT
- Updated lexers:
* AutoIt: Support single quoted strings
* C/C++ & related: Fix mishandling '*/'
* Cocoa: Add builtin types
* Console
* Eiffel: Fix performance issues
* Fortran: Improve combined keyword detection
* J: Fix operator ``?`` lexing
* JavaScript/TypeScript: Fix escapes in backtick strings
* Kotlin: Improve string interpolation, modifier keyword handling, and various small issues
* LESS: Support single-line comments
* Matlab:
- Add support for class properties
- Update builtin functions
- Various cleanups
* Python: Improve handling of raw f-strings
* Ruby: Better method name handling
* Stata: Updated keywords
- Added styles:
* Material
* Zenburn
- The `pygmentize` script now uses `argparse`, all options should work
as before
- Add `pygmentize -C` option to guess a lexer from content
- With this release, Pygments moves to a new internal testing system
See ``Contributing.md`` for details. The main advantage of this new change
is a much better test coverage of all existing example lexers. It also makes
it much easier to add new test snippets.
- Make guessing prefer Python 3 lexer
- Do not guess MIME or SQL without reason
- Changed setuptools to use a declarative config through ``setup.cfg``.
Building Pygments now requires setuptools 39.2+.
- Add markdown to MarkdownLexer aliases
- Change line number handling
* In ``<table>`` based output, the ``td.linenos`` element will have either a
``normal`` or ``special`` class attached. Previously, only ``special`` line
numbers got a class. This prevents styles from getting applied twice -
once via ``<pre>``, once via ``<span class="special">``. This also means
that ``td.linenos pre`` is no longer styled, instead, use
``td.linenos .normal`` and ``td.linenos .special``.
* In the "inline" style, the DOM element order was changed. The line number
is added first, then the line is wrapped is wrapped by the highlighter.
This fixes lines not being fully highlighted.
* The visual output for inline and non-inline line numbers & highlighting,
as well as class-based and inline styling is now consistent.
* Line number styles are set to ``background-color: transparent`` and
``color: inherit`` by default. This works much better with dark styles
which don't have colors set for line numbers.
- Remove "raw" alias from RawTokenLexer, so that it cannot be
selected by alias.
- Fix RawTokenLexer to work in Python 3 and handle exceptions.
- Add prompt colors to the Solarized theme
- Image formatter supports background colors now
- Add support for anchors in conjunction with inline line numbers
- Modernize the codebase using ``pyupgrade``
- Add support for line numbers to the ``terminal256`` formatter
- Improve ``analyze_text`` logic for ``ECL``
- Improve ``analyze_text`` logic for ``CBM Basic V2``
- Improve LaTeX formatter
Version 2.7.4
-------------
(released January 12, 2021)
- Updated lexers:
- Apache configurations: Improve handling of malformed tags
- CSS: Add support for variables
- Crystal
- Coq
- Fortran: Add missing keywords
- Ini
- JavaScript and variants
- Markdown
- Shell
- Lex trailing whitespace as part of the prompt
- Add missing ``in`` keyword
- SQL - Fix keywords
- Typescript: Fix incorrect punctuation handling
- Fix infinite loop in SML lexer
- Fix backtracking string regexes in JavaScript/TypeScript, Modula2
and many other lexers
- Limit recursion with nesting Ruby heredocs
- Fix a few inefficient regexes for guessing lexers
- Fix the raw token lexer handling of Unicode
- Revert a private API change in the HTML formatter
please note that private APIs remain subject to change!
- Fix several exponential/cubic-complexity regexes found by
Ben Caller/Doyensec
- Fix incorrect MATLAB example
Thanks to Google's OSS-Fuzz project for finding many of these bugs.
Version 2.7.3
-------------
(released December 6, 2020)
- Updated lexers:
* Ada
* HTML
* Java
* JavaScript
* JSON
* Lean
* LLVM
* Mason
* MySQL
* Rust
* Turtle
- Deprecated JsonBareObjectLexer, which is now identical to JsonLexer
- The ``ImgFormatter`` now calculates the exact character width, which fixes some issues with overlapping text
- Documentation fixes
- Fixed duplicated Juttle language alias
- Added support for Kotlin scripts
- Removed CSS rule which forced margin to 0
Version 2.7.2
-------------
(released October 24, 2020)
- Updated lexers:
* Latex
* LLVM
* SPARQL
- Fix Python console/traceback lexer problems with custom exceptions without messages
- Allow loading ttc fonts on Mac/image formatter
- Improve ``analyze_text`` across a variety of lexers
- Remove CSS rule which forced the vertical padding to 0 for line numbers
- Fix ``TNTLexer`` crashing on unexpected EOL
- ``regexlint`` can be now run locally as part of ``tox`` tests
- Fix typos
- Add Python 3.9 as a supported version
Version 2.7.1
-------------
(released September 16, 2020)
- Fixed a regression in the JSON lexer
Version 2.7.0
-------------
(released September 12, 2020)
- Added lexers:
* Arrow
* BARE
* Devicetree
* F*
* GDScript
* Pointless
* PromQL
* PsySH
* Singularity
* TiddlyWiki5
* TNT
* YANG
- Updated lexers:
* APL
* C++
* Chapel
* CMake
* CSound
* Cython
* Dart
* Fennel
* Fortran
* GAS
* HTTP
* Inform 6
* Javascript
* JSON
* Lean
* Matlab
* Markdown
* MySQL
* NASM
* Nim
* PostgreSQL
* PowerShell
* Protobuf
* Robot
* SQL
* SystemVerilog
* TeraTerm
* XML
- Added a new filter for math symbols
- The Kconfig lexer will match Kconfig derivative names now
- Improved HTML formatter output
- ``.markdown`` is now recognized as an extension for Markdown files
- Fixed line number colors for Solarized
- Improvements to exception handling
- Improvements to tests
- Various code cleanups
Version 2.6.1
-------------
(released March 8, 2020)
- This release fixes a packaging issue. No functional changes.
Version 2.6
-----------
(released March 8, 2020)
- Running Pygments on Python 2.x is no longer supported.
(The Python 2 lexer still exists.)
- Added lexers:
* Linux kernel logs
* LLVM MIR
* MiniScript
* Mosel
* Parsing Expression Grammar
* ReasonML
* Ride
* Sieve
* USD
* WebIDL
- Updated lexers:
* Apache2
* Chapel
* CSound
* D
* Haskell
* Idris
* Perl6/Raku lexer
* Python3
* Rust: Updated lexer to cover more builtins (mostly macros) and miscellaneous
new syntax
* SQL: Add temporal support keywords
- The 256-color/true-color terminal formatters now support the italic attribute
in styles
- Support HTTP 2/3 header
- Support missing reason in HTTP header
- Boogie/Silver: support line continuations and triggers, move contract keywords
to separate category
- GAS: support C-style comments
- Fix names in S lexer
- Fix numeric literals in Ada
- Recognize ``.mjs`` files as Javascript
- Recognize ``.eex`` files as Elixir
- Fix ``re.MULTILINE`` usage
- Recognize ``pipenv`` and ``poetry`` dependency & lock files
- Improve font search on Windows
- Remove unused script block
Hackable, minimal, fast TUI file explorer, stealing ideas from nnn and fzf.
Though xplr strives to be fast and minimalist, its speciality is its
hackability.
Once you read the documentation, you should be able to configure the key
bindings, different run modes, and also the way it looks by modifying one
single configuration file.
[5.9.3] - 2021-03-03
New Commands
slcli file|block disaster-recovery-failover
Improvements
Unit testing for large integers
Add Multi factor authentication to users list
Add pagination to object storage list accounts.
Add username lookup to slcli object-storage credential
Add IOPs data to slcli block volume-list.
Add 2FA and classic APIKeys fields to slcli user list as default values
Add a flags in the report bandwidth
Add the option network component by router to slcli hw create.
Add slcli vs create by router data.
Add testing and support for python 3.9.
Checking for TermLength on prices
[5.9.2] - 2020-12-03
New Commands
slcli account orders
slcli order lookup
Improvements
Ordering price information improvements.
refactor vsi create-option
Add Invoice Item id as parameter in slcli account item-detail command
Added order lookup command to block and file orders.
Add prices to vs create-options.
Allow orders without a location if needed
Refactor file and block commands to use the username resolver
Fix create subnet static for ipv4 price.
moved snapcraft readme
Update snapcraft.yaml
Updated documentation on how to deal with KeyError
Fix order item-list --prices location
Removed Nessus scanner from docs and examples
Fix subnet list.
Fixed analysis/flake8 tests
Remove the -a option from slcli user create. Only the user themselves can create an API key now.
[5.9.1] - 2020-09-15
Fix the ha option for firewalls, add and implement unit test
BluePages_Search and IntegratedOfferingTeam_Region don't need SoftLayer_ prefix
Fix new TOX issues
Add more unit test coverage
Set notes for network storage
Some improvements to the dns commands
dns zone-list: added resourceRecordCount, added automatic pagination for large zones
dns record-list: fixed an issue where a record (like SRV types) that don't have a host would cause the command to fail
Renamed managers.storage.refresh_dep_dupe to SoftLayer.managers.storage.refresh_dupe 1342 to support the new API method. CLI commands now use this method.
added disk upgrade options for virtual guests
[5.9.0] - 2020-08-03
Notification Management
slcli user notifications
slcli user edit-notifications
Added networking options to slcli hw create-options
Refactored slcli hw create to use the ordering manager
Added --network option to slcli hw create for more granular network choices.
Deprecated --port-speed and --no-public . They still work for now, but will be removed in a future release.
Fix Unhandled exception in CLI - vs detail
Fix the empty lines in slcli vs create-options
Ability to list VirtualHost capable guests
slcli hardware guests
slcli vs list will show guests on VirtualHost servers
added option to reload bare metal servers with LVM enabled
Added Migrate command
Added support for filteredMask
Update docs links
Fix lots of whitespace slcli vs create-options
Support for STDIN on creating and updating tickets.
add Drive number in guest drives details using the device number
add vs list hardware and all option
[5.8.9] - 2020-07-06
Automated Snap publisher
Tag Management
slcli tags cleanup
slcli tags delete
slcli tags details
slcli tags list
slcli tags set
slcli tags taggable
Vlan editing functionality
Edit IP note and add ipAddress table in detail view
Subnet Tagging
Storage documentation updates
add system operation referenceCode in create-option
[5.8.8] - 2020-05-18
Fixed ticket upload with REST endpoint
add the redundant/degraded option to hardware
Added iter option for ordering manager functions
Add Account planned, unplanned and announcement events
fixed pylint 2.5.0 errors
Fix AttributeError: 'NoneType' object has no attribute 'keys
Adding more github action tests, removing travis CI tests
fix Response shows additional new lines (\n) in ticket details
Storage feature for virtual and hardware servers
Hardware and Virtual billing info
VPN subnet access to a use
added account billing-items/item-details/cancel-item commands
[5.8.7] - 2020-03-26
Get load balancer (LBaaS) by name
Added version checker
Updated unit test suite for TravisCI to run properly
Add note about using multiple colon symbols not working when setting tags.
Support ordering Dependent Duplicate Volumes
Refactored File/Block managers to reduce duplicated code.
Added Refresh functions for Dependent Duplicate Volumes
Added support for JSON styled parameters and object filters
Added ability to change which datacenters an image template was stored in
[5.8.6] - Skipped
[5.8.5] - 2020-01-29
Fixed an issue with slcli vs dns-sync --ptr. Added slcli hw dns-sync
Fix File Storage failback and failover.
Fix issue where the summary command fails due to None being provided as the datacenter name.
Added The following commands:
slcli block volume-limits
slcli file volume-limits
Add testing/CI for python 3.8.
Fix vs detail erroring on servers pending cancellation.
support subnet ACL management through cli
slcli block subnets-list
slcli block subnets-assign
slcli block subnets-remove
Added documentation for all SLCLI commands.
[5.8.4] - 2019-12-20
Fix block storage failback and failover.
Order a virtual server private.
[5.8.3] - 2019-12-11
Fixed unicode errors in image list (for windows)
Fixed ordering virtual server dedicated from the CLI
Fixed capacity restriction when ordering storage quotes
Fixed hardware detail bandwidth allocation errors.
[5.8.2] - 2019-11-15
Fixed a unit test that could fail if the test took too long to run.
Added a check to ensure subnet and vlan options are properly added to the order for virtual servers.
Fixed a readme misspelling.
Fixed vs reboot unable to resolve vs names.
Handle missing Fixtures better for unit tests.
[5.8.1] - 2019-10-11
Drop python 2.7 support
Added CS# to ticket listing
Fixed issue looking up OS keyName instead of referenceCode
Autoscale support
slcli autoscale detail
slcli autoscale edit
slcli autoscale list
slcli autoscale logs
slcli autoscale scale
slcli autoscale tag
[5.8.0] - 2019-09-04
Upgrade to prompt_toolkit >= 2
Bandwidth Feature
slcli summary
slcli report bandwidth
slcli vs bandwidth
slcli hw bandwidth
Added bandwidth to VS and HW details page
DOCS: replace 'developer' with 'sldn' links
property 'contents' is not valid for 'SoftLayer_Ticket' when creating a ticket
cannot create static subnet with slcli
Refactor cdn network.
IBMID auth support
Transient VSI support
Removed legacy LoadBalancer command, added Citrix and IBM LBaaS commands.
slcli lb cancel
slcli lb detail
slcli lb health
slcli lb l7pool-add
slcli lb l7pool-del
slcli lb list
slcli lb member-add
slcli lb member-del
slcli lb ns-detail
slcli lb ns-list
slcli lb order
slcli lb order-options
slcli lb pool-add
slcli lb pool-del
slcli lb pool-edit
Remove VpnAllowedFlag.
Improve hardware cancellation to deal with additional cases
[5.7.2] - 2019-05-03
Added exception to handle json parsing error when ordering
Support for -1 when changing port speed
Fixed docs about placement groups
File storage endurance iops upgrade
Handle the new user creation exceptions
Fix order place quantity option
Invoice commands
account invoices
account invoice-detail
account summary
Event Notification Management commands
account events
account event-detail
Two PCIe items can be added at order time
Fix object storage apiType for S3 and Swift.
Event Log performance improvements.
column 'name' was renamed to 'hostname'
Fix object storage credentials.
Fixed unexpected errors in slcli subnet create
Change encrypt parameters for importing of images. Adds root-key-crn
Quote ordering commands
order quote
order quote-detail
order quote-list
VS usage information command
virtual usage
made sure config_tests dont actually make api calls.
[5.7.1] - 2019-02-26
removed legacy SL message queue commands
Support for Hardware reflash firmware CLI/Manager method
[5.7.0] - 2019-02-15
Support for security group Ids
event-log cli command
Virtual Placement Group Support
slcli vs placementgroup --help
Commands:
create Create a placement group.
create-options List options for creating a placement group.
delete Delete a placement group.
detail View details of a placement group.
list List placement groups.
Rest Transport improvements. Properly handle HTTP exceptions instead of crashing.
removed power_state column option from "slcli server list"
- ipv6 support for creating virtual guests
Refactored virtual guest creation to use Product_Order::placeOrder instead of Virtual_Guest::createObject, because createObject doesn't allow adding IPv6
Added table which shows the status of each url in object storage
Update provisionedIops reading to handle float-y values
fixed issue with config setup
Fix file volume-cancel
Support for SoftLayer_Hardware_Server::toggleManagementInterface
slcli hw toggle-ipmi
Many many changes including
Oneway ANOVA-type analysis
~~~~~~~~~~~~~~~~~~~~~~~~~~
Several statistical methods for ANOVA-type analysis of k independent samples
have been added in module :mod:`~statsmodels.stats.oneway`. This includes
standard Anova, Anova for unequal variances (Welch, Brown-Forsythe for mean),
Anova based on trimmed samples (Yuen anova) and equivalence testing using
the method of Wellek.
Anova for equality of variances or dispersion are available for several
transformations. This includes Levene test and Browne-Forsythe test for equal
variances as special cases. It uses the `anova_oneway` function, so unequal
variance and trimming options are also available for tests on variances.
Several functions for effect size measures have been added, that can be used
for reporting or for power and sample size computation.
Multivariate statistics
~~~~~~~~~~~~~~~~~~~~~~~
The new module :mod:`~statsmodels.stats.multivariate` includes one and
two sample tests for multivariate means, Hotelling's t-tests',
:func:`~statsmodels.stats.multivariate.test_mvmean`,
:func:`~statsmodels.stats.multivariate.test_mvmean_2indep` and confidence
intervals for one-sample multivariate mean
:func:`~statsmodels.stats.multivariate.confint_mvmean`
Additionally, hypothesis tests for covariance patterns, and for oneway equality
of covariances are now available in several ``test_cov`` functions.
New exponential smoothing model: ETS (Error, Trend, Seasonal)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Class implementing ETS models :class:`~statsmodels.tsa.exponential_smoothing.ets.ETSModel`.
- Includes linear and non-linear exponential smoothing models
- Supports parameter fitting, in-sample prediction and out-of-sample
forecasting, prediction intervals, simulation, and more.
- Based on the innovations state space approach.
Forecasting Methods
~~~~~~~~~~~~~~~~~~~
Two popular methods for forecasting time series, forecasting after
STL decomposition (:class:`~statsmodels.tsa.forecasting.stl.STLForecast`)
and the Theta model
(:class:`~statsmodels.tsa.forecasting.theta.ThetaModel`) have been added.
See 0.12.0-0.12.2 at https://www.statsmodels.org/stable/release/
for the full story, including deprecations.
these were disabled in the pkgsrc infrastructure some time ago because
they cannot be built cleanly with older compilers while gcc6 can.
this all seems to be separate from the ada bits in gcc-5-aux which may
still be useful.
Changes since v1.44
v1.46 - 02.04.2021
- Fixed: Audio settings weren't correctly loaded from config in v1.45
v1.45 - 01.04.2021
- Fixed possible crash when starting the program on M1 Macs (thanks kode54)
- Fixed possible mouse cursor corruption when hovering over text boxes on
Linux.
- Fixed possibly buggy string operations
- Refactored some code that was doing unnecessary/wrong stuff
- Minor code cleanup
- Updated help text