mkdocs serve no longer locks up the browser when more than 5 tabs are open. This is achieved by closing the polling connection whenever a tab becomes inactive. Background tabs will no longer auto-reload either - that will instead happen as soon the tab is opened again. Context: #3391
New flag serve --open to open the site in a browser.
After the first build is finished, this flag will cause the default OS Web browser to be opened at the home page of the local site.
Context: #3500
Drafts
[!warning]
Changed from version 1.5:
The exclude_docs config was split up into two separate concepts.
The exclude_docs config no longer has any special behavior for mkdocs serve - it now always completely excludes the listed documents from the site.
If you wish to use the "drafts" functionality like the exclude_docs key used to do in MkDocs 1.5, please switch to the new config key draft_docs.
Reduce warning levels when a "draft" page has a link to a non-existent file. Context: #3449
Update to deduction of page titles
MkDocs 1.5 had a change in behavior in deducing the page titles from the first heading. Unfortunately this could cause unescaped HTML tags or entities to appear in edge cases.
Now tags are always fully sanitized from the title. Though it still remains the case that Page.title is expected to contain HTML entities and is passed directly to the themes.
Images (notably, emojis in some extensions) get preserved in the title only through their alt attribute's value.
Built-in themes now also support Polish language (#3613)
"readthedocs" theme
Fix: "readthedocs" theme can now correctly handle deeply nested nav configurations (over 2 levels deep), without confusedly expanding all sections and jumping around vertically. (#3464)
Fix: "readthedocs" theme now shows a link to the repository (with a generic logo) even when isn't one of the 3 known hosters. (#3435)
"readthedocs" theme now also has translation for the word "theme" in the footer that mistakenly always remained in English. (#3613, #3625)
Added initial support for function and class reporting in the HTML report. There are now three index pages which link to each other: files, functions, and classes. Other reports don't yet have this information, but it will be added in the future where it makes sense. Feedback gladly accepted! Finishes issue 780.
Other HTML report improvements:
There is now a "hide covered" checkbox to filter out 100% files, finishing issue 1384.
The index page is always sorted by one of its columns, with clearer indications of the sorting.
The "previous file" shortcut key didn't work on the index page, but now it does, fixing issue 1765.
The debug output showing which configuration files were tried now shows absolute paths to help diagnose problems where settings aren't taking effect, and is renamed from "attempted_config_files" to the more logical "config_files_attempted."
Added initial support for function and class reporting in the HTML report.
There are now three index pages which link to each other: files, functions,
and classes. Other reports don't yet have this information, but it will be
added in the future where it makes sense. Feedback gladly accepted!
Finishes issue 780_.
Other HTML report improvements:
There is now a "hide covered" checkbox to filter out 100% files, finishing
issue 1384_.
The index page is always sorted by one of its columns, with clearer
indications of the sorting.
The "previous file" shortcut key didn't work on the index page, but now it
does, fixing issue 1765_.
The debug output showing which configuration files were tried now shows
absolute paths to help diagnose problems where settings aren't taking effect,
and is renamed from "attempted_config_files" to the more logical
"config_files_attempted."
We’ve just uploaded mypy 1.10 to the Python Package Index (PyPI). Mypy is a static type checker for Python. This release includes new features, performance improvements and bug fixes. You can install it as follows:
python3 -m pip install -U mypy
You can read the full documentation for this release on Read the Docs.
Support TypeIs (PEP 742)
Mypy now supports TypeIs (PEP 742), which allows
functions to narrow the type of a value, similar to isinstance(). Unlike TypeGuard,
TypeIs can narrow in both the if and else branches of an if statement:
#12069: A deprecation warning is now raised when implementations of one of the following hooks request a deprecated py.path.local parameter instead of the pathlib.Path parameter which replaced it:
pytest_ignore_collect{.interpreted-text role="hook"} - the path parameter - use collection_path instead.
pytest_collect_file{.interpreted-text role="hook"} - the path parameter - use file_path instead.
pytest_pycollect_makemodule{.interpreted-text role="hook"} - the path parameter - use module_path instead.
pytest_report_header{.interpreted-text role="hook"} - the startdir parameter - use start_path instead.
pytest_report_collectionfinish{.interpreted-text role="hook"} - the startdir parameter - use start_path instead.
The replacement parameters are available since pytest 7.0.0.
The old parameters will be removed in pytest 9.0.0.
See legacy-path-hooks-deprecated{.interpreted-text role="ref"} for more details.
Features
#11871: Added support for reading command line arguments from a file using the prefix character @, like e.g.: pytest @tests.txt. The file must have one argument per line.
See Read arguments from file <args-from-file>{.interpreted-text role="ref"} for details.
Improvements
#11523: pytest.importorskip{.interpreted-text role="func"} will now issue a warning if the module could be found, but raised ImportError{.interpreted-text role="class"} instead of ModuleNotFoundError{.interpreted-text role="class"}.
The warning can be suppressed by passing exc_type=ImportError to pytest.importorskip{.interpreted-text role="func"}.
See import-or-skip-import-error{.interpreted-text role="ref"} for details.
#11728: For unittest-based tests, exceptions during class cleanup (as raised by functions registered with TestCase.addClassCleanup <unittest.TestCase.addClassCleanup>{.interpreted-text role="meth"}) are now reported instead of silently failing.
#11777: Text is no longer truncated in the short test summary info section when -vv is given.
#12112: Improved namespace packages detection when consider_namespace_packages{.interpreted-text role="confval"} is enabled, covering more situations (like editable installs).
#9502: Added PYTEST_VERSION{.interpreted-text role="envvar"} environment variable which is defined at the start of the pytest session and undefined afterwards. It contains the value of pytest.__version__, and among other things can be used to easily check if code is running from within a pytest run.
Bug Fixes
#12065: Fixed a regression in pytest 8.0.0 where test classes containing setup_method and tests using @staticmethod or @classmethod would crash with AttributeError: 'NoneType' object has no attribute 'setup_method'.
Now the request.instance <pytest.FixtureRequest.instance>{.interpreted-text role="attr"} attribute of tests using @staticmethod and @classmethod is no longer None, but a fresh instance of the class, like in non-static methods.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
- `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
- `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency
- `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
Bumps the python-packages group with 7 updates:
1.5.3
1.6.0
9.5.16
9.5.20
0.24.1
0.25.0
7.4.4
7.5.0
0.3.4
0.4.2
1.9.0
1.10.0
8.1.1
8.2.0
Updates
mkdocs
from 1.5.3 to 1.6.0Release notes
Sourced from mkdocs's releases.
... (truncated)
Commits
0998fec
Release 1.6.0 (#3631)bce85bf
Fix for showing repository icon even when a file has no edit_uri (#3657)0ac05da
Re-generate localization files (#3634)6244500
Remove jQuery frommkdocs
theme (#3649)f85d429
Prevent a flash of white color when dark mode is enabled (#3647)e39cce2
Fix style of modal close button (#3651)652813d
Prevent a crash if stdin is not defined (#3609)59a295f
Merge pull request #3493 from waylan/22486f5e748
Merge pull request #3625 from mkdocs/themepo1451fb3
Babel setuptools frontend is still used in the install hookUpdates
mkdocs-material
from 9.5.16 to 9.5.20Release notes
Sourced from mkdocs-material's releases.
Changelog
Sourced from mkdocs-material's changelog.
... (truncated)
Commits
5cb3117
Prepare 9.5.20 release4752779
Updated dependenciese90871f
Fixed social plugin crashing on Windows when downloading fonts (#7085) (#7117)ff49d74
Fixed deprecation warning in privacy plugincff4a75
Fixed deprecation warning in tags pluginedcc536
Documentation2dd88ae
Documentation57d82dc
Documentation (#7102)4001083
Documentation (#7112)c427e1c
Documentation (#7103)Updates
mkdocstrings[python-legacy]
from 0.24.1 to 0.25.0Release notes
Sourced from mkdocstrings[python-legacy]'s releases.
Changelog
Sourced from mkdocstrings[python-legacy]'s changelog.
Commits
87d8229
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 options828bd59
chore: Prepare release 0.24.37fe3e5f
fix: Support HTML toc labels with Python-Markdown 3.6+ (uncomment code...)7b9827c
chore: Prepare release 0.24.217bfc87
chore: Use PEP 440 versioning scheme for changelogUpdates
coverage[toml]
from 7.4.4 to 7.5.0Release notes
Sourced from coverage[toml]'s releases.
Changelog
Sourced from coverage[toml]'s changelog.
Commits
5f4e034
docs: sample HTML for 7.5.0ed97cfb
docs: prep for 7.5.041e01d3
build: use macos 13 for 3.8 and 3.9 while GitHub rolls out macos 14583f0c0
test: add a test for skipping covered functionsb115ed3
refactor: keep Analysis private40a052e
docs: document CodeRegion and its plugin methods2ff9933
docs: remove comment that now explains nothing.a6ba1c8
fix: html report pages fully validate74c87a8
fix: previous page shortcut works in index page. #1765e016967
feat: main index page links to other index pagesUpdates
ruff
from 0.3.4 to 0.4.2Release notes
Sourced from ruff's releases.
... (truncated)
Changelog
Sourced from ruff's changelog.
... (truncated)
Commits
77c93fd
Bump version to 0.4.2 (#11151)1c9f5e3
Display the AST even with syntax errors (#11147)263a0d2
Usemacos-12
to build release wheels (#11146)4738e19
Remove unused lexical error types (#11145)f428bd5
Docs: mentionlint.typing-modules
inTCH001
,TCH002
,TCH003
(#11144)4690890
ruff server
: In 'publish diagnostics' mode, document diagnostics are cleare...19baabb
README: add Apache Superset to project list (#11136)cee38f3
[flake8-blind-expect
] Allow raise from inBLE001
(#11131)e3fde28
[flake8-pyi
] Allow overloaded__exit__
and__aexit__
definitions (`PYI0...1c8849f
Use Matchit to Resolve Per-File Settings (#11111)Updates
mypy
from 1.9.0 to 1.10.0Changelog
Sourced from mypy's changelog.
... (truncated)
Commits
3faf0fc
Remove +dev for version for release 1.10a5998d2
Update CHANGELOG.md (#17159)62ea5b0
Various updates to changelog for 1.10 (#17158)2f0864c
Update CHANGELOG.md with draft for release 1.10 (#17150)e1443bb
fix: incorrect returned type of access descriptors on unions of types (#16604)5161ac2
Sync typeshed (#17124)e2fc1f2
Fix crash when expanding invalid Unpack in aCallable
alias (#17028)3ff6e47
Docs: docstrings in checker.py, ast_helpers.py (#16908)732d98e
Fix string formatting for string enums (#16555)8019010
Narrow individual items when matching a tuple to a sequence pattern (#16905)Updates
pytest
from 8.1.1 to 8.2.0Release notes
Sourced from pytest's releases.
... (truncated)
Commits
6bd3f31
Tweak changelog for 8.2.09b6219b
Prepare release version 8.2.0835765c
Merge pull request #12130 from bluetech/fixtures-inline7e7503c
unittest: report class cleanup exceptions (#12250)882c4da
fixtures: inlinefail_fixturefunc
2e8fb9f
fixtures: extract a_check_fixturedef
methodacf2971
fixtures: inline_getnextfixturedef
into_get_active_fixturedef
3c77aec
fixtures: move "request" check earlyd217d68
fixtures: inline_compute_fixture_value
530be28
fixtures: use early return in_get_active_fixturedef
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show