v2.4.0
* Fix type annotations and going strict on parsers and other public classes
* Add XPathConstructor token class (subclass of XPathFunction)
* Last release for Python 3.6
-Heuristic algorithm to choose the foreground color of matched regions was
improved. Now hgrep generates multiple candidates for the foreground color,
and chooses one of them looking at the color distances from the background
color.
-Add new Material theme. It is a very popular low-contrast color theme. Try it
by hgrep --theme Matrial.
-Add new Carbonight theme. It is a minimal monotone color theme. Some people
feel that too colorful outputs are hard to see. This color theme might fit to
such people.
-Built-in grep allows K/M/G suffix at --max-filesize option to specify a file
size easily.
-Built-in grep adds new flag --invert-match for invert matching. It shows lines
that do not match the given pattern.
-Built-in grep adds new flag --one-file-system. When enabled, the search will
not cross file system boundaries relative to where it started from.
-Built-in grep adds new short flag-. as alias of long flag --hidden.
-Built-in grep adds new flag --no-unicode which disables Unicode-aware search.
-Built-in grep improves the output from --type-list. Now types are printed in
bold texts which is easier to see.
-Syntax assets were updated to the latest. They improve some syntax highlight
detection (for example, vimrc for Vim files) and solve some highlighting
issues.
-Fix a broken pipe error when hgrep command is piped to a pager command like
less. This happened when less exits earlier than hgrep command, for example,
when you immediately quit a pager by q without scrolling the output to the end.
In the case, hgrep still tried to output the result to stdout even if the pipe
had already been closed and it caused a broken pipe error. In v0.2.1, hgrep
correctly ignores such broken pipe errors.
-Fix --no-wrap deprecated flag was not removed at v0.2.0. Use --wrap instead if
you used the flag.
-Fix checksum of downloaded package via Homebrew on arm64 macOS.
-Fix --type-list flag did not print types when a pattern argument is not given.
-(Dev) Move asset-builder tool directory to assets/builder.
-(Dev) The script to update test snapshots is now 25x faster.
-(Dev) CI job to run clippy and rustfmt is now 6x faster.
attempting to include stdbool.h. Solaris 10 has stdbool, but the compiler
defaults to c89 and an error will occur on stdbool inclusion due to the
specified standard not being recent enough.
PR pkg/56488
Release 4.3.0
Dependencies
Support Python 3.10
Incompatible changes
* searchindex.js: the embedded data has changed format to allow objects with the same name in different domains.
* The rendering of Python domain declarations is implemented with more docutils nodes to allow better CSS styling. It may break existing styling.
* the signature of domains.py.PyObject.get_signature_prefix() has changed to return a list of nodes instead of a plain string.
* domains.js.JSObject.display_prefix has been changed into a method get_display_prefix which now returns a list of nodes instead of a plain string.
* The rendering of Javascript domain declarations is implemented with more docutils nodes to allow better CSS styling. It may break existing styling.
* mathjax: Load MathJax via “defer” strategy
Deprecated
sphinx.ext.autodoc.AttributeDocumenter._datadescriptor
sphinx.writers.html.HTMLTranslator._fieldlist_row_index
sphinx.writers.html.HTMLTranslator._table_row_index
sphinx.writers.html5.HTML5Translator._fieldlist_row_index
sphinx.writers.html5.HTML5Translator._table_row_index
Features added
* autodoc: Support asynchronous generator functions
* autodoc: autodoc-process-bases supports to inject reST snippet as a base class
* C, added new info-field retval for c:function and c:macro.
C++, added new info-field retval for cpp:function.
* i18n: Add gettext_allow_fuzzy_translations to allow “fuzzy” messages for translation
* More CSS classes on Python domain descriptions
* More CSS classes on Javascript domain descriptions
* Revert the removal of add_stylesheet() API. It will be kept until the Sphinx-6.0 release
* add intersphinx_disabled_reftypes for disabling interphinx resolution of cross-references that do not have an explicit inventory specification. Specific types of cross-references can be disabled, e.g., std:doc or all cross-references in a specific domain, e.g., std:*.
* Allow to suppress “toctree contains reference to excluded document” warnings using suppress_warnings
Bugs fixed
* autodoc: Failed to build cross references if primary_domain is not ‘py’
* autodoc: Crashed on getting source info from problematic object
* autodoc: mocked object having doc comment is warned unexpectedly
* autodoc: return type field is not generated even if autodoc_typehints_description_target is set to “documented” when its info-field-list contains :returns: field
* autodoc: The base class for a subclass of mocked object is incorrect
* autodoc: Incorrect base class detection for the subclasses of the generic class
* autodoc: memory addresses are shown for aliases
* autodoc: Failed to detect type annotation for slots attribute
* autodoc: Crashed if classmethod does not have __func__ attribute
* autodoc: autodoc_inherit_docstrings does not effect to overriden classmethods
* autodoc: autodoc_preserve_defaults does not support hexadecimal numeric
* autosummary: Failed to build summary table if primary_domain is not ‘py’
* html: Fix download file with special characters
* html: Wrong styles for even/odd rows in nested tables
* html: parameter name and its type annotation are not separated in HTML
* HTML search: when objects have the same name but in different domains, return all of them as result instead of just one.
* intersphinx: references on the file in sub directory are broken
* LaTeX: hlist is rendered as a list containing “aggedright” text
* linkcheck: file extension was shown twice in warnings
* py domain: An index entry with parens was registered for py:method directive with :property: option
* py domain: Literal typehint was converted to a cross reference when autodoc_typehints='description'
* needs_extension failed to check double-digit version correctly
* Fix code` does not recognize :class: option
* Fix for logging handler flushing warnings in the middle of the docs build
* Fix warnings without subtype being incorrectly suppressed
Intersphinx, for unresolved references with an explicit inventory, e.g., proj:myFunc, leave the inventory prefix in the unresolved text.
Add some missing dependencies and test dependencies.
1.1
~~~
Breaking changes:
* Drop support for Python 3.3. (#358)
* Drop support for Python 3.4. (#421)
Deprecations:
* Deprecate the ``html5lib`` sanitizer (``html5lib.serialize(sanitize=True)`` and
``html5lib.filters.sanitizer``). We recommend users migrate to `Bleach
<https://github.com/mozilla/bleach>`. Please let us know if Bleach doesn't suffice for your
use. (#443)
Other changes:
* Try to import from ``collections.abc`` to remove DeprecationWarning and ensure
``html5lib`` keeps working in future Python versions. (#403)
* Drop optional ``datrie`` dependency. (#442)
-BREAKING The default printer is now syntect. It has the following benefits.
I tested it for several weeks and it seems stable. See the section in README
to know the difference between bat printer and syntect printer.
-Performance is 2x to 4x faster
-Output layout and highlighting are optimized; line number highlight and
matched regions at matched line
-Support background color with --background
-Color themes are optimized
-BREAKING The default value of --min-context was changed from 5 to 3. And the
default value of --max-context was changed from 10 to 6. This is because it
turned out that the previous default values were too large for surveying the
search results.
-BREAKING Since themes for syntect printer are now managed by ourselves
(see below), syntect printer no longer looks at BAT_THEME and BAT_STYLE
environment variables. To set the default theme and layout, use shell's
command alias. See the document for more details.
-syntect printer now renders more accurate colors by considering alpha values
of colors by blending them with background colors. In v0.1.9, alpha values
were simply ignored. For example, gutter color with Nord theme was wrongly
very light at v0.1.9.
-Depend on ansi_term crate only when targeting Windows. It reduces number of
dependencies when bat-printer is not enabled.
-Improve a compile error when both feature syntect-printer and bat-printer are
disabled.
-Describe the exit status of hgrep command and versioning of this project in
the readme document.
-Fix rendering ansi theme was broken. The theme is for old terminals which
only supports 16 colors.
-Fix --first-only did not work with bat printer.
-Fix the background color in file header when --background is specified
Version 0.10.0, 2021-10-08
Add "flat" OpenDocument output with -Tfodt. This implements the
OpenDocument v1.3 standard, and is readable at least on LibreOffice.
This further implements -Tfodt change tracking in lowdown-diff(1).
It does not support images or definition lists yet.
4.6.4
Features added
* A new property ``system_url`` was added to DTD entities.
* The ``STATIC_*`` variables in ``setup.py`` can now be passed via env vars.
# Python-Markdown 3.2 Release Notes
Python-Markdown version 3.2 supports Python versions 3.5, 3.6, 3.7, 3.8, and
PyPy3.
### Drop support for Python 2.7
Python 2.7 reaches end-of-life on 2020-01-01 and Python-Markdown 3.2 has dropped
support for it. Please upgrade to Python 3, or use Python-Markdown 3.1.
### `em` and `strong` inline processor changes
In order to fix issue #792, `em`/`strong` inline processors were refactored. This
translated into removing many of the existing inline processors that handled this
logic:
* `em_strong`
* `strong`
* `emphasis`
* `strong2`
* `emphasis`
These processors were replaced with two new ones:
* `em_strong`
* `em_strong2`
The [`legacy_em`](../extensions/legacy_em.md) extension was also modified with new,
refactored logic and simply overrides the `em_strong2` inline processor.
### CodeHilite now always wraps with `<code>` tags
Before, the HTML generated by CodeHilite looked like:
- `<pre><code>foo = 'bar'</code></pre>` if you **were not** using Pygments.
- `<pre>foo = 'bar'</pre>` if you **were** using Pygments.
To make the cases more consistent (and adhere to many Markdown specifications and
HTML code block markup suggestions), CodeHilite will now always additionally wrap
code with `<code>` tags. See #862 for more details.
This change does not alter the Python-Markdown API, but users relying on the old
markup will find their output now changed.
Internally, this change relies on the Pygments 2.4, so you must be using at least
that version to see this effect. Users with earlier Pygments versions will
continue to see the old behavior.
### `markdown.util.etree` deprecated
Previously, Python-Markdown was using either the `xml.etree.cElementTree` module
or the `xml.etree.ElementTree` module, based on their availability. In modern
Python versions, the former is a deprecated alias for the latter. Thus, the
compatibility layer is deprecated and extensions are advised to use
`xml.etree.ElementTree` directly. Importing `markdown.util.etree` will raise
a `DeprecationWarning` beginning in version 3.2 and may be removed in a future
release.
Therefore, extension developers are encouraged to replace
`from markdown.util import etree` with
`import xml.etree.ElementTree as etree` in their code.
## New features
The following new features have been included in the release:
* Some new configuration options have been added to the [toc](../extensions/toc.md)
extension:
* The `anchorlink_class` and `permalink_class` options allow class(es) to be
assigned to the `anchorlink` and `permalink` respectively. This allows using
icon fonts from CSS for the links. Therefore, an empty string passed to
`permalink` now generates an empty `permalink`. Previously no `permalink`
would have been generated. (#776)
* The `permalink_title` option allows the title attribute of a `permalink` to be
set to something other than the default English string `Permanent link`. (#877)
* Document thread safety (#812).
* Markdown parsing in HTML has been exposed via a separate extension called
[`md_in_html`](../extensions/md_in_html.md).
* Add support for Python 3.8.
This is the python 2.7 version of the package.
Markdown is a text-to-HTML conversion tool for web writers. Markdown
allows you to write using an easy-to-read, easy-to-write plain text
format, then convert it to structurally valid XHTML (or HTML).
This package provides a Python implementation.
-Support multiple regions highlighting. In v0.1.8, matched region highlighting
was added but it only highlighted the first match in the line. Now all matched
regions are highlighted. Note that region highlighting is available when using
hgrep in combination of syntect-printer and ripgrep features.
-Add --ascii-lines flag for terminals which does not support rendering unicode
characters well. With this flag, unicode characters like '│' or '─' are replaced
with ASCII characters '|' or '-'. This feature is only supported by
syntect-printer (use -p syntect).
-Add --first-only (-f) flag to show only the first snippet per file. This is
useful when you want to look around the results.
-Fallback to a minimap border color when no gutter background color is found.
-Reduce number of redundant color codes output to stdout by about 21.5% in test
cases. This also improves performance by about 6%. See the commit for details.
-Performance of built-in grep was improved 20~80% when there are so many files
to search. Previously the implementation collected all paths before searching a
pattern in them, but with this improvement, the paths are now streamed.
See the commit for details.
-Use mimalloc as global allocator for better performance. This improves
performance by 0~55% in our benchmarks. See the commit for details.
-(Dev) Running unit tests is about 8.5x faster by caching assets for syntax
highlighting.
4.1.1 - 2021-10-13
------------------
- Fix setup.cfg metadata to reflect lack of support for Python 2 as desired in
4.0
4.1.0 - 2021-10-12
------------------
- Add type annotations to uritemplate and distribute them for others to use
- Update to a modern documentation theme as well
4.0.0 - 2021-10-10
------------------
- Drop support for Python 2.7, 3.4, and 3.5
- Better support number-like types as values for variables in a template
Upstream changes:
2.042 2021-09-16
- This release includes many changes to method names, options, and
documentation aimed at improving approachability, but existing code should
continue to work. See the new Backward Compatibility section in the main
PDF::API2 documentation for details about deprecation timelines and a
suggested workflow for handling upgrades. See the new Migration section
for a consolidated list of deprecated methods/options and their
replacements.
- Renamed several methods in the PDF::API2 base class:
- end -> close
- open_scalar -> from_string
- stringify -> to_string
- pages -> page_count
- importPageIntoForm -> embed_page
- isEncrypted -> is_encrypted
- xmpMetadata -> xml_metadata
- outlines -> outline
- Merged saveas into save.
- Added individual accessors for PDF metadata (title, author, producer,
etc.). Replaced info and infoMetaAttributes with info_metadata for custom
metadata.
- Renamed the following methods in the PDF::API2::Page class:
- gfx -> graphics
- rotate -> rotation
- Added $page->boundaries() and $pdf->default_page_boundaries() to replace
the separate methods for the various page boundaries. The supported
arguments are slightly different; some edge cases have been removed and
new options have been added. See below and the PDF::API2::Page
documentation for details.
- Added $page->size() and $pdf->default_page_size() as a shortcut for
setting the media box.
- Both $page->size() and $page->boundaries() (and their $pdf default
equivalents) now accept "WxH" page sizes in inches (e.g. 11x17 or 8.5x11).
This does not apply to the deprecated versions of these methods.
- Both $page->size() and $page->boundaries() (and their $pdf default
equivalents) now accept a single number for page boundaries other than the
media box, representing an amount in points to shrink the next larger box.
This does not apply to the deprecated versions of these methods.
- Replaced pageLabel with page_labels. The option syntax is slightly
different (pass options as a hash instead of a hashref; remove hyphens
from option names).
- Replaced image_jpeg, image_tiff, image_pnm, image_png, image_gif, and
image_gd with $pdf->image.
- Replaced the individual barcode methods with $pdf->barcode, which is
fully documented and includes reasonable defaults based on the chosen
barcode format.
- Improved spacing between barcodes and labels when both bar_extend
(formerly -lmzn) and font_size (formerly -fnsz) are set and the font size
is larger than the bar extension.
- Replaced corefont, ttfont, psfont, and bdfont with $pdf->font. Unlike
corefont, font requires the exact name of one of the standard fonts.
Kerning is on by default (vs. off by default in the type-specific
methods).
- Renamed synfont to synthetic_font. Renamed and documented the options.
The new hscale option (formerly -slant) now takes a percentage (100 = no
change, vs. 1 = no change for -slant) to match the hscale method in
Content. The new "bold" option is in thousandths of a text unit,
vs. hundredths for "-bold", so multiply the old value by 10 when
migrating.
- Replaced the individual colorspace methods with $pdf->colorspace. Added
documentation and examples for the various colorspace types except for the
former colorspace_hue, because I couldn't find the standard that it
implements (if one exists).
- Renamed several methods in PDF::API2::Content:
- linewidth -> line_width
- linecap -> line_cap
- linejoin -> line_join
- miterlimit -> miter_limit
- flatness -> flatness_tolerance
- endpath -> end
- rectxy -> rectangle
- fillstroke -> paint
- charspace -> character_spacing
- wordspace -> word_spacing
- nl -> crlf
- advancewidth -> text_width
- In PDF::API2::Content, replaced image and formimage with object. Added a
$page->object() convenience method that is equivalent to
$page->graphics->object().
- In PDF::API2::Content, merged text_center and text_right into text. Use
the "align" option to set alignment to "center" or "right".
- In PDF::API2::Content, merged paragraphs into paragraph.
- In PDF::API2::Content, deprecated poly and added polyline. poly was the
only path-drawing method that took a starting position as its first two
arguments. These should be passed to a move call instead, with the
remaining arguments passed to the new polyline method.
- In PDF::API2::Content, added position, which combines the functionality of
distance and textpos2 (which was undocumented). Deprecated textpos, which
attempted to return the position of the "cursor" after taking into account
coordinate transformations. textpos2 and the new position method return
the text position before any coordinate transformations are applied, which
is consistent with how the other methods in this class behave.
- In PDF::API2::Content, deprecated bogen. Recreate using arc, if feasible.
If not, I'm likely to leave the code in place indefinitely as an
undocumented method.
- In PDF::API2::Content, deprecated cr. Replace with either position (if
called with arguments) or crlf (if called without arguments).
- Tentatively deprecated $pdf->cjkfont. If you're successfully using this
method for CJK font support, read PDF::API2::Resource::CIDFont::CJKFont
and contact me to discuss your use case.
- Tentatively deprecated $pdf->unifont. If you're successfully using this
method for Unicode support, please contact me to discuss your use case.
- Replaced $pdf->preferences() with separate page_mode, page_layout,
viewer_preferences, and open_action methods, all of which are now fully
documented.
- Added font_path and set_font_path accessors for the font search path (the
list of directories searched when a font name is included without its full
path). Renamed addFontDirs to add_to_font_path.
- Removed C:/WinNT/Fonts from the default font search path.
- Named Destinations are now fully documented, with updated method names and
arguments.
- Outlines are now fully documented, with additional methods for examining
and modifying the outline tree. Existing method names and arguments have
been updated to match those used in Named Destinations. Various bugs have
been fixed when reading or modifying outlines in existing PDFs.
- Updated annotation documentation. Revised methods and arguments to match
those used in Named Destinations and Outlines.
- A PDF version number specified in the document catalog is now respected by
$pdf->version().
- Fixed space calculation between words in justified text (report and fix by
Vladislav Glinsky).
Version 5.10.2 (16 Sept 2021)
* Fix python install path.
* Fix size in brand-new `link-generator` (hits 32-bit & ARM) #1247
Version 5.10.1 (7 Sept 2021)
* Fix perl bindings build fail. #1248
Version 5.10.0 (4 September 2021)
* Expanded English vocabulary
* Support dictionary "#define allow-duplicate-words true". #1204
* Fix crash for sentences containing wildcard words. #1206
* Connector names starting with "ID" are no longer reserved. #1208
* Connector names starting with underbar are reserved for internal use.
* ".I" subscripts are no longer reserved; "._" subscripts are reserved.
These last three changes introduce linkage incompatibilities.
* Fix parsing with nulls when using an sqlite3 dictionary.
* Fix regexes for NetBSD when using libc regexes. #1223
* English dict: fix many "how?" questions.
* English dict: fix conditional sentences #1240
Release 4.2.0 (released Sep 12, 2021)
=====================================
Features added
--------------
* autodoc: Support class properties
* autodoc: Emit a warning if target is a mocked object
* autodoc: Allow to refer NewType instances with module name in Python
3.10 or above
* html theme: Expose the version of Sphinx in the form of tuple as a
template variable ``sphinx_version_tuple``
* manpage: Suppress the title of man page if description is empty
* py domain: ``:py:property:`` directive supports ``:classmethod:``
option to describe the class property
* test: SphinxTestApp can take ``builddir`` as an argument
* C and C++, support more fundamental types, including GNU extensions.
Bugs fixed
----------
* apidoc: apidoc does not generate a module definition for implicit
namespace package
* autodoc: generate incorrect reference to the parent class if the target
class inherites the class having ``_name`` attribute
* autodoc: Some objects under ``typing`` module are not displayed
well with the HEAD of 3.10
* autodoc: typehint for cached_property is not shown
* autodoc: AttributeError is raised on failed resolving typehints
* autodoc: autodoc_docstring_signature does not effect to ``__init__()``
and ``__new__()``
* autodoc: PEP 585 style typehints having arguments (ex. ``list[int]``)
are not displayed well
* autosummary: some warnings contain non-existing filenames
* autosummary: summarise overlined sectioned headings correctly
* autosummary: Type annotations which contain commas in autosummary table
are not removed completely
* c domain: some warnings contain non-existing filenames
* cpp domain: some warnings contain non-existing filenames
* html search: abbreation marks are inserted to the search result if
failed to fetch the content of the page
* html search: The JS requirement warning is shown if browser is slow
* html theme: CSS and JS files added by theme were loaded twice
* py domain: ``:type:`` option for :rst:dir:`py:property` directive does
not create a hyperlink
* py domain: Literal typehint was converted to a cross reference
* comment: C++, fix parsing of defaulted function parameters that are
function pointers.
* smartquotes: don't adjust typography for text with
language-highlighted ``:code:`` role.
* sphinx-build: crashed with the HEAD of Python 3.10
Release 4.1.2 (released Jul 27, 2021)
=====================================
Incompatible changes
--------------------
* linkcheck: Disable checking automatically generated anchors on
github.com (ex. anchors in reST/Markdown documents)
Bugs fixed
----------
* autodoc: Custom types using ``typing.NewType`` are not displayed well
with the HEAD of 3.10
* autodoc: Some objects under ``typing`` module are not displayed well
with the HEAD of 3.10
* autodoc: crashed if ``autodoc_class_signature = "separated"``
* html search: html_copy_source can't control the search summaries
* linkcheck: Failed to check anchors in github.com
Release 4.1.1 (released Jul 15, 2021)
=====================================
Dependencies
------------
* sphinxcontrib-htmlhelp-2.0.0 or above
* sphinxcontrib-serializinghtml-1.1.5 or above
Bugs fixed
----------
* html: HTML logo or Favicon specified as file not being found on output
Release 4.1.0 (released Jul 12, 2021)
=====================================
Dependencies
------------
* Support jinja2-3.0
Deprecated
----------
* The ``app`` argument of ``sphinx.environment.BuildEnvironment`` becomes
required
* ``sphinx.application.Sphinx.html_theme``
* ``sphinx.ext.autosummary._app``
* ``sphinx.util.docstrings.extract_metadata()``
Features added
--------------
* autodoc: Add ``class-doc-from`` option to :rst:dir:`autoclass`
directive to control the content of the specific class like
:confval:`autoclass_content`
* autodoc: :confval:`autodoc_type_aliases` now supports dotted name. It
allows you to define an alias for a class with module name like
``foo.bar.BazClass``
* autodoc: Special member is not documented in the module
* autodoc: The arguments of ``typing.Literal`` are wrongly rendered
* autodoc: :confval:`autodoc_typehints` allows ``'both'`` setting to
allow typehints to be included both in the signature and description
* autodoc: Add :confval:`autodoc_class_signature` to separate the class
entry and the definition of ``__init__()`` method
* autodoc: Support variable comment for alias classes
* autodoc: Add :event:`autodoc-process-bases` to modify the base classes
of the class definitions
* autodoc: Render enum values for the default argument value better
* autodoc: ``autodoc_typehints='none'`` now erases typehints for
variables, attributes and properties
* autosummary: Support instance attributes for classes
* html: Add "heading" role to the toctree items
* html: Add span tag to the return typehint of method/function
* html search: Show search summaries when html_copy_source = False
* html search: Prevent corrections and completions in search field
* html theme: Eliminate prompt characters of code-block from copyable
text
* i18n: Emit a debug message if message catalog file not found under
:confval:`locale_dirs`
* LaTeX: Add xeCJKVerbAddon to default fvset config for Chinese documents
* linkcheck: Support checking anchors on github.com
* linkcheck: Add a new event :event:`linkcheck-process-uri` to modify
URIs before checking hyperlinks
* linkcheck: Add :confval:`linkcheck_allowed_redirects` to mark
hyperlinks that are redirected to expected URLs as "working"
* py domain: Support union types using ``|`` in info-field-list
* py domain: :confval:`python_use_unqualified_type_names` supports type
field in info-field-list
* Optimize the parallel build
* Add :confval:`nitpick_ignore_regex` to ignore nitpicky warnings using
regular expressions
* Add ``Sphinx.set_html_assets_policy`` to tell extensions to include
HTML assets in all the pages. Extensions can check this via
``Sphinx.registry.html_assets_policy``
* C++, add support for
- ``inline`` variables,
- ``consteval`` functions,
- ``constinit`` variables,
- ``char8_t``,
- ``explicit(<constant expression>)`` specifier,
- digit separators in literals, and
- constraints in placeholder type specifiers, aka. adjective syntax
(e.g., ``Sortable auto &v``).
* C, add support for digit separators in literals.
* LaTeX: support containers in LaTeX output
Bugs fixed
----------
* autodoc: stacked singledispatches are wrongly rendered
* autodoc: a docsting having metadata only should be treated as
undocumented
* autodoc: typehints for overloaded functions and methods are inaccurate
* autodoc: The inherited method not having docstring is wrongly parsed
* autodoc: autoattribute directive failed to generate document for an
attribute not having any comment
* autodoc: single element tuple on the default argument value is wrongly
rendered
* autodoc: AttributeError is raised on processing a subclass of Tuple[()]
* autodoc: TypeError is raised on processing dict-like object (not a
class) via autoclass directive
* html: Pushing left key causes visiting the next page at the first page
* html: URL for html_favicon and html_log does not work
* html theme : pyramid theme generates incorrect logo links
* manpage: The name of manpage directory that is generated by
:confval:`man_make_section_directory` is not correct
* manpage: Fix font isn't reset after keyword at the top of samp role
* Linkcheck reports broken link when remote server closes the connection
on HEAD request
* py domain: "exceptions" module is not displayed
* py domain: a Callable annotation with no parameters
(e.g. ``Callable[[], None])`` will be rendered with a bracket missing
(``Callable[], None]``)
* quickstart: Make sphinx-quickstart exit when conf.py already exists
* xml: XML Builder ignores custom visitors
* ``:param:`` and ``:type:`` fields does not support a type containing
whitespace (ex. ``Dict[str, str]``)
* when transforming typed fields, call the specified role instead of
making an single xref. For C and C++, use the ``expr`` role for typed fields.
Release 4.0.3 (released Jul 05, 2021)
=====================================
Features added
--------------
* C, add C23 keywords ``_Decimal32``, ``_Decimal64``, and ``_Decimal128``.
* C, add :confval:`c_extra_keywords` to allow user-defined keywords
during parsing.
* Revert the removal of ``sphinx.util:force_decode()`` to become some 3rd party
extensions available again during 5.0
Bugs fixed
----------
* changeset domain: :rst:dir:`versionchanged` with contents being a list
will cause error during pdf build
* LaTeX: complex table with merged cells broken since 4.0
* LaTeX: backslash may cause Improper discretionary list pdf build error
with Japanese engines
* C, remove special macro names from the keyword list.
See also :confval:`c_extra_keywords`.
* KeyError is raised on PropagateDescDomain transform
Release 4.0.2 (released May 20, 2021)
=====================================
Dependencies
------------
* Support jinja2-3.0
Incompatible changes
--------------------
* Update Underscore.js to 1.13.1
* manpage: Stop creating a section directory on build manpage by default
(see :confval:`man_make_section_directory`)
Bugs fixed
----------
* viewcode: crashed if non importable modules found on parallel build
* Unknown node error for pending_xref_condition is raised if an extension
that does not support the node installs a missing-reference handler
Release 4.0.1 (released May 11, 2021)
=====================================
Bugs fixed
----------
* autodoc: crashed when ValueError is raised on generating signature
from a property of the class
* autosummary: warning is emitted if list value is set to
autosummary_generate
* html search: tags for search result are broken
* i18n: Babel emits errors when running compile_catalog
* py domain: The :canonical: option causes "more than one target for
cross-reference" warning
* websupport: UndefinedError is raised: 'css_tag' is undefined
Release 4.0.0 (released May 09, 2021)
=====================================
Dependencies
------------
4.0.0b1
* Drop python 3.5 support
* Drop docutils 0.12 and 0.13 support
* LaTeX: add ``tex-gyre`` font dependency
4.0.0b2
* Support docutils-0.17. Please notice it changes the output of HTML builder.
Some themes do not support it, and you need to update your custom CSS to
upgrade it.
Incompatible changes
--------------------
4.0.0b1
* autodoc: info-field-list is generated into the class description when
``autodoc_typehints='description'`` and ``autoclass_content='class'`` set
* extlinks: "%s" becomes required keyword in the link caption string
* domain: The ``Index`` class becomes subclasses of ``abc.ABC`` to indicate
methods that must be overridden in the concrete classes
* py domain: The structure of python objects is changed. A boolean value
is added to indicate that the python object is canonical one
* MathJax: The MathJax was changed from 2 to 3. Users using a custom
MathJax configuration may have to set the old MathJax path or update their
configuration for version 3. See :mod:`sphinx.ext.mathjax`.
* i18n: The msgid for alt text of image is changed
* napoleon: :confval:`napoleon_use_param` also affect "other parameters"
section
* manpage: Make a section directory on build manpage by default (see
:confval:`man_make_section_directory`)
* html: Change the default setting of
:confval:`html_codeblock_linenos_style` to ``'inline'``
* html search: search results are wrapped with ``<p>`` instead of
``<div>``
* html theme: Move a script tag for documentation_options.js in
basic/layout.html to ``script_files`` variable
* html theme: Move CSS tags in basic/layout.html to ``css_files`` variable
* html theme: Emit a warning for sphinx_rtd_theme-0.2.4 or older
* LaTeX: uplatex becomes a default setting of latex_engine for Japanese
documents
* py domain: ``:var:``, ``:cvar:`` and ``:ivar:`` fields do not create
cross-references
* The ``align`` attribute of ``figure`` and ``table`` nodes becomes
``None`` by default instead of ``'default'``
* LaTeX refactoring: split sphinx.sty into multiple files and rename
some auxiliary files created in ``latex`` build output repertory
* Use explicit title instead of <no title>
* The :file: option for csv-table directive now recognizes an absolute
path as a relative path from source directory
4.0.0b2
* Change the CSS classes on :rst:role:`cpp:expr` and
:rst:role:`cpp:texpr`.
Deprecated
----------
* :confval:`html_codeblock_linenos_style`
* ``favicon`` and ``logo`` variable in HTML templates
* ``sphinx.directives.patches.CSVTable``
* ``sphinx.directives.patches.ListTable``
* ``sphinx.directives.patches.RSTTable``
* ``sphinx.ext.autodoc.directive.DocumenterBridge.filename_set``
* ``sphinx.ext.autodoc.directive.DocumenterBridge.warn()``
* ``sphinx.registry.SphinxComponentRegistry.get_source_input()``
* ``sphinx.registry.SphinxComponentRegistry.source_inputs``
* ``sphinx.transforms.FigureAligner``
* ``sphinx.util.pycompat.convert_with_2to3()``
* ``sphinx.util.pycompat.execfile_()``
* ``sphinx.util.smartypants``
* ``sphinx.util.typing.DirectiveOption``
Features added
--------------
4.0.0b1
* autodoc: Support ``bound`` argument for TypeVar
* autodoc: Support typehints for properties
* autodoc: Allow to refer to a python class using its canonical name
when the class has two different names; a canonical name and an alias name
* autodoc: Add :confval:`autodoc_typehints_description_target` to control
the behavior of ``autodoc_typehints=description``
* autodoc: :confval:`autodoc_docstring_signature` will continue to look
for multiple signature lines without backslash character
* autosummary: Enable :confval:`autosummary_generate` by default
* extlinks: Allow %s in link caption string
* py domain: Add ``:canonical:`` option to python directives to describe
the location where the object is defined
* py domain: Add :confval:`python_use_unqualified_type_names` to suppress
the module name of the python reference if it can be resolved (experimental)
* py domain: Add :rst:dir:`py:property` directive to describe a property
* i18n: The alt text for image is translated by default (without
:confval:`gettext_additional_targets` setting)
* html: :confval:`html_favicon` and :confval:`html_logo` now accept URL
for the image
* html search: Support searching for 2characters word
* html theme: Allow to inherite the search page
* imgconverter: Show the error of the command availability check
* Add debug logs for change detection of sources and templates
* Emit a warning if toctree contains duplicated entries
* ``master_doc`` is now renamed to :confval:`root_doc`
* C++, add support for the C++20 spaceship operator, ``<=>``.
* A new node, ``sphinx.addnodes.pending_xref_condition`` has been added.
It can be used to choose appropriate content of the reference by conditions.
4.0.0b2
* autodoc: Super class having ``Any`` arguments causes nit-picky warning
* autodoc: TypeError is raised on processing broken metaclass
* autodoc: metadata of GenericAlias is not rendered as a reference in
py37+
* html: copy-range protection for doctests doesn't work in Safari
* LaTeX: imgconverter: conversion runs even if not needed
* py domain: Ellipsis in info-field-list causes nit-picky warning
* py domain: duplicated warning is emitted when both canonical and its
alias objects are defined on the document
* More CSS classes on domain descriptions, see :ref:`nodes` for details.
* mathjax: Rename :confval:`mathjax_config` to
:confval:`mathjax2_config` and add :confval:`mathjax3_config`
Bugs fixed
----------
4.0.0b1
* autodoc: Raises a warning if function has wrong __globals__ value
* autodoc: a TypeVar imported from other module is not resolved (in
Python 3.7 or above)
* autodoc: Failed to resolve types.TracebackType type annotation
* html: html_add_permalinks=None and html_add_permalinks="" are ignored
* html search: Paragraphs in search results are not identified as ``<p>``
* html theme: The translation of sphinx_rtd_theme does not work
* Emit a warning if a unknown domain is given for directive or role (ex.
``:unknown:doc:``)
* LaTeX: No wrapping for ``cpp:enumerator``
* LaTeX: backticks in code-blocks trigger latexpdf build warning (and font
change) with late TeXLive 2019
* LaTeX: Figures with no size defined get overscaled (compared to images
with size explicitly set in pixels) (fixed for ``'pdflatex'/'lualatex'`` only)
* LaTeX: The depth of bookmarks panel in PDF is not enough for navigation
* LaTeX: the fix to two minor Pygments LaTeXFormatter output issues ignore
Pygments style
* LaTeX: 3.5.0 ``verbatimmaxunderfull`` setting does not work as
expected
* LaTeX: missing line break in ``\pysigline``
* LaTeX: legacy ``\pysiglinewithargsret`` does not compute correctly
available horizontal space and should use a ragged right style
* LaTeX: "release" value with underscore leads to invalid LaTeX
* C++: remove the longest matching prefix in
:confval:`cpp_index_common_prefix` instead of the first that matches.
* C, properly reject function declarations when a keyword is used
as parameter name.
* viewcode: Failed to create back-links on parallel build
* C and C++, fix rendering of (member) function pointer types in
function parameter lists.
* C++, fix linking of names in array declarators, pointer to member
(function) declarators, and in the argument to ``sizeof...``.
* C, fix linking of names in array declarators.
4.0.0b2
* C, C++, fix ``KeyError`` when an ``alias`` directive is the first C/C++
directive in a file with another C/C++ directive later.
4.0.0b3
* html: Failed to add CSS files to the specific page
-syntect-printer supports text-wrapping. Longer lines than terminal width are
now wrapped by default. It can handle wide characters including special emojis
with zero-width joiner (U+200D)
-syntect-printer highlights matched regions in matched lines with a searched
text color. Since match positions in matched lines are not included in output
from grep -nH, currently this is only supported by combination of
syntect-printer feature and ripgrep feature
-syntect-printer now uses light dashed lines for the separator of snippets
-Add --wrap MODE option where MODE is one of char or never (the default value
is char). More modes may be implemented in the future
-In favor of --wrap option, --no-wrap flag is now deprecated and will be
removed at v0.2.0. Use --wrap never instead
-When building binaries for Windows, link C runtime statically. This avoid
depending on vcruntime DLL at runtime
-Critical section of syntect-printer was optimized. It slightly improved
performance (around 4% faster in benchmarks)
-Enable thin LTO for release build. It slightly improved performance
(0~6% faster in benchmarks)
Release 0.18 (2021-10-26)
=========================
* docutils/nodes.py
- Don't change a list while looping over it (in
document.set_name_id_map()). Thanks to Mickey Endito.
* docutils/parsers/recommonmark_wrapper.py
- Test and update to work with recommonmark version 0.6.0.
Still experimental.
Unfortunately, recommonmark_ is `no longer maintained`__.
__ https://github.com/readthedocs/recommonmark/issues/221
* docutils/parsers/rst/directives/misc.py
- Fix bug 424 Wrong circular inclusion detection.
Use a "magic" comment instead of line numbers
to keep a log of recursive inclusions.
* docutils/parsers/rst/states.py
- Use a "magic" comment to update the log of recursive inclusions.
* docutils/writers/html5_polyglot/__init__.py
- New option "image_loading". Support "lazy" loading of images.
Obsoletes "embed_images".
* docutils/writers/pseudoxml.py:
- Fix spelling of option "detailed".
* tools/docutils-cli.py
- Read settings from standard configuration files.
All checksums have been double-checked against existing RMD160 and
SHA512 hashes
Unfetchable distfiles (fetched conditionally?):
./textproc/convertlit/distinfo clit18src.zip