All postprocessors are now run on heading content.
Footnote references are now stripped from heading content. Fixes #660.
A more robust striptags is provided to convert headings to plain text.
Unlike, the markupsafe implementation, HTML entities are not unescaped.
The plain text name, rich html, and unescaped raw data-toc-label are
saved to toc_tokens, allowing users to access the full rich text content of
the headings directly from toc_tokens.
The value of data-toc-label is sanitized separate from heading content
before being written to name. This fixes a bug which allowed markup through
in certain circumstances. To access the raw unsanitized data, retrieve the
value from token['data-toc-label'] directly.
An html.unescape call is made just prior to calling slugify so that
slugify only operates on Unicode characters. Note that html.unescape is
not run on name, html, or data-toc-label.
The functions get_name and stashedHTML2text defined in the toc extension
are both deprecated. Instead, third party extensions should use some
combination of the new functions run_postprocessors, render_inner_html and
striptags.
Fixed
Include scripts/*.py in the generated source tarballs (#1430).
Ensure lines after heading in loose list are properly detabbed (#1443).
Give smarty tree processor higher priority than toc (#1440).
Permit carets (^) and square brackets (]) but explicitly exclude
backslashes (\) from abbreviations (#1444).
In attribute lists (attr_list, fenced_code), quoted attribute values are
now allowed to contain curly braces (}) (#1414).
Release 3.5.2
Fixed
Fix type annotations for convertFile - it accepts only bytes-based buffers.
Also remove legacy checks from Python 2 (#1400)
Remove legacy import needed only in Python 2 (#1403)
Fix typo that left the attribute AdmonitionProcessor.content_indent unset
(#1404)
Fix edge-case crash in InlineProcessor with AtomicString (#1406).
Fix edge-case crash in codehilite with an empty code tag (#1405).
Improve and expand type annotations in the code base (#1401).
All postprocessors are now run on heading content.
Footnote references are now stripped from heading content. Fixes #660.
A more robust striptags is provided to convert headings to plain text.
Unlike, the markupsafe implementation, HTML entities are not unescaped.
The plain text name, rich html, and unescaped raw data-toc-label are
saved to toc_tokens, allowing users to access the full rich text content of
the headings directly from toc_tokens.
The value of data-toc-label is sanitized separate from heading content
before being written to name. This fixes a bug which allowed markup through
in certain circumstances. To access the raw unsanitized data, retrieve the
value from token['data-toc-label'] directly.
An html.unescape call is made just prior to calling slugify so that
slugify only operates on Unicode characters. Note that html.unescape is
not run on name, html, or data-toc-label.
The functions get_name and stashedHTML2text defined in the toc extension
are both deprecated. Instead, third party extensions should use some
combination of the new functions run_postprocessors, render_inner_html and
striptags.
Fixed
Include scripts/*.py in the generated source tarballs (#1430).
Ensure lines after heading in loose list are properly detabbed (#1443).
Give smarty tree processor higher priority than toc (#1440).
Permit carets (^) and square brackets (]) but explicitly exclude
backslashes (\) from abbreviations (#1444).
In attribute lists (attr_list, fenced_code), quoted attribute values are
now allowed to contain curly braces (}) (#1414).
[3.5.2] -- 2024-01-10
Fixed
Fix type annotations for convertFile - it accepts only bytes-based buffers.
Also remove legacy checks from Python 2 (#1400)
Remove legacy import needed only in Python 2 (#1403)
Fix typo that left the attribute AdmonitionProcessor.content_indent unset
(#1404)
Fix edge-case crash in InlineProcessor with AtomicString (#1406).
Fix edge-case crash in codehilite with an empty code tag (#1405).
Improve and expand type annotations in the code base (#1401).
This release brings support for pytest 8, a couple of bug fixes and many improvements to the cookiecutter template.
Upgrading
Once you upgraded, you'll be able to upgrade to pytest 8, and indirectly to sybil 6, which includes types hints. If you do so, you should remove the mypy exception for sybil in the pyproject.toml file.
Search for the tool.mypy.overrides section and remove the "sybil", "sybil.*" enties from the module list.
Cookiecutter template
To upgrade without regenerating the project, you can follow these steps:
Run the following command to add the new pylint ignore rules:
sed '/ # Checked by flake8/a\ "redefined-outer-name",\n "unused-import",' -i pyproject.toml
Bumps the required group with 11 updates in the / directory:
0.3.2
0.5.3
5.12.0
5.13.2
3.4.4
3.6
2.0.0
2.1.2
1.0.4
1.0.5
9.3.1
9.5.28
0.23.0
0.25.1
0.7.0
0.9.2
1.5.1
1.10.1
3.4.2.10
3.6.0.20240316
0.7.0
0.9.2
Updates
pydoclint
from 0.3.2 to 0.5.3Release notes
Sourced from pydoclint's releases.
... (truncated)
Changelog
Sourced from pydoclint's changelog.
... (truncated)
Commits
98f7a5c
Add DOC604 & 605 test cases; improve DOC605 err msg (#147)4d0293a
Don't report DOC109 if arg list is empty (#146)4dd1667
Don't report DOC6xx if no docstring or short docstring (#145)457a559
Switch to pprint for Doc objectsbf674fa
Make url a proper link (#137)1a270b0
Add DOC6xx explanations to docsf43a961
Use "attribute" docstring section in Sphinx style (#136)63bed6b
Fix another bug in class attr checking (#133)a5e24e6
Fix annotation unparsing bug (#132)2c4337c
Update documentationUpdates
isort
from 5.12.0 to 5.13.2Release notes
Sourced from isort's releases.
... (truncated)
Changelog
Sourced from isort's changelog.
Commits
c655831
Merge pull request #2214 from PyCQA/version/5.13.2b4335b4
Prepare version 5.13.2c36e43c
Merge pull request #2184 from bp72/issue/2154e38702f
Merge pull request #2213 from davidculley/confine-precommit-to-stagesee8d87f
Add fix for the error found by hypothesis5849ec2
Apply the bracket fix from issue 471 only for use_parentheses=Truedf0e119
confine pre-commit to stages9255bca
Merge pull request #2212 from PyCQA/bugfix/#2211-colors-extra5336d7d
Fix colors extras643d9c4
Merge pull request #2210 from PyCQA/version/5.13.1Updates
markdown
from 3.4.4 to 3.6Release notes
Sourced from markdown's releases.
... (truncated)
Changelog
Sourced from markdown's changelog.
... (truncated)
Commits
e524b8f
Bump version to 3.63d8afc6
Allow attr_list quoted values to contain curly braces9edba85
Refactor abbr escapinge4ab4a6
Refactor TOC sanitationa18765c
Explicitly omit carot and backslash from abbr421f1e8
Give smarty tree processor higher priority than tocc334a3e
Ensure lines after heading in loose list are properly detabbedea92856
Update the license template so GitHub can detect ita2effd6
Disable mkdocstrings show_symbol_type_toc option to work around searching iss...91f9a12
Restore Attribute symbol type in mkdocstrings templateUpdates
mike
from 2.0.0 to 2.1.2Release notes
Sourced from mike's releases.
Changelog
Sourced from mike's changelog.
Commits
62aaeaf
Update version to 2.1.23f7d756
Use "--" to disambiguate Git arguments in a few more places; resolves #2185e6970d
Belatedly update copyright year9291efb
Update version to 2.2.0.dev00bdfe24
Update version to 2.1.13351d5f
Expand environment variables when injecting the mike plugin; resolves #217e4d83ed
Update version to 2.2.0.dev06e6cfbb
Update version to 2.1.05773be9
Fix CI7904925
Further tests for deserializing Python objects duringinject_plugin
Updates
mkdocs-macros-plugin
from 1.0.4 to 1.0.5Changelog
Sourced from mkdocs-macros-plugin's changelog.
Commits
4bfda0b
Fix issue with changelog no longer displayed (#186)82c5cdd
Merge pull request #183 from marcospereira/add-short-tag298f07f
Add a short_tag attribute to git context428a015
Remove include-markdown in webdoc, since it crashed readthedocs2161dd4
Update .readthedocs.ymlc64a08d
Merge pull request #182 from SimonMarquis/patch-11c1d2c4
Fix typo inRich Markdown Pages
docs9dba19e
Merge branch 'master' of github.com:fralau/mkdocs_macros_plugin into master7da7089
Add experimental logo0d36dde
Add experimental logoUpdates
mkdocs-material
from 9.3.1 to 9.5.28Release notes
Sourced from mkdocs-material's releases.
... (truncated)
Changelog
Sourced from mkdocs-material's changelog.
... (truncated)
Commits
1b78c2c
Prepare 9.5.28 releasec5fd98c
Fixed links in sponsors sectionfa04d0c
Updated dependencies845fc61
Fixed improved tooltips mounted when disabled12a8e82
Removed all references to polyfill.io436860f
Bump docker/build-push-action from 5 to 6b048469
Switched to ES2018 targeteff555a
Updated dependencies610be26
Updated READMEf1ffead
DocumentationUpdates
mkdocstrings[python]
from 0.23.0 to 0.25.1Release notes
Sourced from mkdocstrings[python]'s releases.
... (truncated)
Changelog
Sourced from mkdocstrings[python]'s changelog.
... (truncated)
Commits
e135869
chore: Prepare release 0.25.1cb86e08
fix: Always descend into sub-headings when re-applying their labela86ca7d
docs: Customize parameters color in ToCbc25b6a
docs: Remove requirements link in readme87d8229
chore: Prepare release 0.25.0c5b5f69
refactor: Allow specifying name of template loggers7ff1681
docs: Enable parameter headings253d215
docs: Load inventories for MkDocs and Markdown1532b59
feat: Supportonce
parameter in logging methods, allowing to log a message ...d799d2f
feat: Support blank line between::: path
and YAML optionsUpdates
frequenz-repo-config[api]
from 0.7.0 to 0.9.2Release notes
Sourced from frequenz-repo-config[api]'s releases.
... (truncated)
Commits
6648093
Update release notes38a9dcc
Pin sybil to < 6.1409ed64
Clear release notesSuperseded by #46.