yaml/pyyaml (PyYAML)
### [`v6.0.2`](https://redirect.github.com/yaml/pyyaml/releases/tag/6.0.2)
[Compare Source](https://redirect.github.com/yaml/pyyaml/compare/6.0.1...6.0.2)
#### What's Changed
- Support for Cython 3.x and Python 3.13.
**Full Changelog**: https://github.com/yaml/pyyaml/compare/6.0.1...6.0.2
mtkennerly/dunamai (dunamai)
### [`v1.22.0`](https://redirect.github.com/mtkennerly/dunamai/blob/HEAD/CHANGELOG.md#v1220-2024-08-07)
[Compare Source](https://redirect.github.com/mtkennerly/dunamai/compare/v1.21.2...v1.22.0)
- Fixed: The `--ignore-untracked` CLI flag was ignored.
- Added: `--commit-length` option.
python/importlib_metadata (importlib-metadata)
### [`v6.11.0`](https://redirect.github.com/python/importlib_metadata/compare/v6.10.0...v6.11.0)
[Compare Source](https://redirect.github.com/python/importlib_metadata/compare/v6.10.0...v6.11.0)
### [`v6.10.0`](https://redirect.github.com/python/importlib_metadata/compare/v6.9.0...v6.10.0)
[Compare Source](https://redirect.github.com/python/importlib_metadata/compare/v6.9.0...v6.10.0)
### [`v6.9.0`](https://redirect.github.com/python/importlib_metadata/compare/v6.8.0...v6.9.0)
[Compare Source](https://redirect.github.com/python/importlib_metadata/compare/v6.8.0...v6.9.0)
### [`v6.8.0`](https://redirect.github.com/python/importlib_metadata/compare/v6.7.0...v6.8.0)
[Compare Source](https://redirect.github.com/python/importlib_metadata/compare/v6.7.0...v6.8.0)
python-jsonschema/jsonschema (jsonschema)
### [`v4.23.0`](https://redirect.github.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v4230)
[Compare Source](https://redirect.github.com/python-jsonschema/jsonschema/compare/v4.22.0...v4.23.0)
\=======
- Do not reorder dictionaries (schemas, instances) that are printed as part of validation errors.
- Declare support for Py3.13
### [`v4.22.0`](https://redirect.github.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v4220)
[Compare Source](https://redirect.github.com/python-jsonschema/jsonschema/compare/v4.21.1...v4.22.0)
\=======
- Improve `best_match` (and thereby error messages from `jsonschema.validate`) in cases where there are multiple *sibling* errors from applying `anyOf` / `allOf` -- i.e. when multiple elements of a JSON array have errors, we now do prefer showing errors from earlier elements rather than simply showing an error for the full array ([#1250](https://redirect.github.com/python-jsonschema/jsonschema/issues/1250)).
- (Micro-)optimize equality checks when comparing for JSON Schema equality by first checking for object identity, as `==` would.
### [`v4.21.1`](https://redirect.github.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v4211)
[Compare Source](https://redirect.github.com/python-jsonschema/jsonschema/compare/v4.21.0...v4.21.1)
\=======
- Slightly speed up the `contains` keyword by removing some unnecessary validator (re-)creation.
### [`v4.21.0`](https://redirect.github.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v4210)
[Compare Source](https://redirect.github.com/python-jsonschema/jsonschema/compare/v4.20.0...v4.21.0)
\=======
- Fix the behavior of `enum` in the presence of `0` or `1` to properly consider `True` and `False` unequal ([#1208](https://redirect.github.com/python-jsonschema/jsonschema/issues/1208)).
- Special case the error message for `{min,max}{Items,Length,Properties}` when they're checking for emptiness rather than true length.
### [`v4.20.0`](https://redirect.github.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v4200)
[Compare Source](https://redirect.github.com/python-jsonschema/jsonschema/compare/v4.19.2...v4.20.0)
\=======
- Properly consider items (and properties) to be evaluated by `unevaluatedItems` (resp. `unevaluatedProperties`) when behind a `$dynamicRef` as specified by the 2020 and 2019 specifications.
- `jsonschema.exceptions.ErrorTree.__setitem__` is now deprecated.
More broadly, in general users of `jsonschema` should never be mutating objects owned by the library.
### [`v4.19.2`](https://redirect.github.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v4192)
[Compare Source](https://redirect.github.com/python-jsonschema/jsonschema/compare/v4.19.1...v4.19.2)
\=======
- Fix the error message for additional items when used with heterogeneous arrays.
- Don't leak the `additionalItems` keyword into JSON Schema draft 2020-12, where it was replaced by `items`.
### [`v4.19.1`](https://redirect.github.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v4191)
[Compare Source](https://redirect.github.com/python-jsonschema/jsonschema/compare/v4.19.0...v4.19.1)
\=======
- Single label hostnames are now properly considered valid according to the `hostname` format.
This is the behavior specified by the relevant RFC (1123).
IDN hostname behavior was already correct.
### [`v4.19.0`](https://redirect.github.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v4190)
[Compare Source](https://redirect.github.com/python-jsonschema/jsonschema/compare/v4.18.6...v4.19.0)
\=======
- Importing the `Validator` protocol directly from the package root is deprecated.
Import it from `jsonschema.protocols.Validator` instead.
- Automatic retrieval of remote references (which is still deprecated) now properly succeeds even if the retrieved resource does not declare which version of JSON Schema it uses.
Such resources are assumed to be 2020-12 schemas.
This more closely matches the pre-referencing library behavior.
### [`v4.18.6`](https://redirect.github.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v4186)
[Compare Source](https://redirect.github.com/python-jsonschema/jsonschema/compare/v4.18.5...v4.18.6)
\=======
- Set a `jsonschema` specific user agent when automatically retrieving remote references (which is deprecated).
### [`v4.18.5`](https://redirect.github.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v4185)
[Compare Source](https://redirect.github.com/python-jsonschema/jsonschema/compare/v4.18.4...v4.18.5)
\=======
- Declare support for Py3.12
### [`v4.18.4`](https://redirect.github.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v4184)
[Compare Source](https://redirect.github.com/python-jsonschema/jsonschema/compare/v4.18.3...v4.18.4)
\=======
- Improve the hashability of wrapped referencing exceptions when they contain hashable data.
### [`v4.18.3`](https://redirect.github.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v4183)
[Compare Source](https://redirect.github.com/python-jsonschema/jsonschema/compare/v4.18.2...v4.18.3)
\=======
- Properly preserve `applicable_validators` in extended validators.
Specifically, validators extending early drafts where siblings of `$ref` were ignored will properly ignore siblings in the extended validator.
### [`v4.18.2`](https://redirect.github.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v4182)
[Compare Source](https://redirect.github.com/python-jsonschema/jsonschema/compare/v4.18.1...v4.18.2)
\=======
- Fix an additional regression with the deprecated `jsonschema.RefResolver` and pointer resolution.
### [`v4.18.1`](https://redirect.github.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v4181)
[Compare Source](https://redirect.github.com/python-jsonschema/jsonschema/compare/v4.18.0...v4.18.1)
\=======
- Fix a regression with `jsonschema.RefResolver` based resolution when used in combination with a custom validation dialect (via `jsonschema.validators.create`).
### [`v4.18.0`](https://redirect.github.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v4180)
[Compare Source](https://redirect.github.com/python-jsonschema/jsonschema/compare/v4.17.3...v4.18.0)
\=======
This release majorly rehauls the way in which JSON Schema reference resolution is configured.
It does so in a way that *should* be backwards compatible, preserving old behavior whilst emitting deprecation warnings.
- `jsonschema.RefResolver` is now deprecated in favor of the new `referencing library `\_.
`referencing` will begin in beta, but already is more compliant than the existing `$ref` support.
This change is a culmination of a meaningful chunk of work to make `$ref` resolution more flexible and more correct.
Backwards compatibility *should* be preserved for existing code which uses `RefResolver`, though doing so is again now deprecated, and all such use cases should be doable using the new APIs.
Please file issues on the `referencing` tracker if there is functionality missing from it, or here on the `jsonschema` issue tracker if you have issues with existing code not functioning the same, or with figuring out how to change it to use `referencing`.
In particular, this referencing change includes a change concerning *automatic* retrieval of remote references (retrieving `http://foo/bar` automatically within a schema).
This behavior has always been a potential security risk and counter to the recommendations of the JSON Schema specifications; it has survived this long essentially only for backwards compatibility reasons, and now explicitly produces warnings.
The `referencing` library itself will *not* automatically retrieve references if you interact directly with it, so the deprecated behavior is only triggered if you fully rely on the default `$ref` resolution behavior and also include remote references in your schema, which will still be retrieved during the deprecation period (after which they will become an error).
- Support for Python 3.7 has been dropped, as it is nearing end-of-life.
This should not be a "visible" change in the sense that `requires-python` has been updated, so users using 3.7 should still receive `v4.17.3` when installing the library.
- On draft 2019-09, `unevaluatedItems` now properly does *not* consider items to be evaluated by an `additionalItems` schema if `items` is missing from the schema, as the specification says in this case that `additionalItems` must be completely ignored.
- Fix the `date` format checker on Python 3.11 (when format assertion behavior is enabled), where it was too liberal ([#1076](https://redirect.github.com/python-jsonschema/jsonschema/issues/1076)).
- Speed up validation of `unevaluatedProperties` ([#1075](https://redirect.github.com/python-jsonschema/jsonschema/issues/1075)).
## Deprecations
- `jsonschema.RefResolver` -- see above for details on the replacement
- `jsonschema.RefResolutionError` -- see above for details on the replacement
- relying on automatic resolution of remote references -- see above for details on the replacement
- importing `jsonschema.ErrorTree` -- instead import it via `jsonschema.exceptions.ErrorTree`
- importing `jsonschema.FormatError` -- instead import it via `jsonschema.exceptions.FormatError`
mkdocs/mkdocs (mkdocs)
### [`v1.6.1`](https://redirect.github.com/mkdocs/mkdocs/releases/tag/1.6.1)
[Compare Source](https://redirect.github.com/mkdocs/mkdocs/compare/1.6.0...1.6.1)
### Version 1.6.1 (Friday 30th August, 2024)
##### Fixed
- Fix build error when environment variable `SOURCE_DATE_EPOCH=0` is set. [#3795](https://redirect.github.com/mkdocs/mkdocs/issues/3795)
- Fix build error when `mkdocs_theme.yml` config is empty. [#3700](https://redirect.github.com/mkdocs/mkdocs/issues/3700)
- Support `python -W` and `PYTHONWARNINGS` instead of overriding the configuration. [#3809](https://redirect.github.com/mkdocs/mkdocs/issues/3809)
- Support running with Docker under strict mode, by removing `0.0.0.0` dev server warning. [#3784](https://redirect.github.com/mkdocs/mkdocs/issues/3784)
- Drop unnecessary `changefreq` from `sitemap.xml`. [#3629](https://redirect.github.com/mkdocs/mkdocs/issues/3629)
- Fix JavaScript console error when closing menu dropdown. [#3774](https://redirect.github.com/mkdocs/mkdocs/issues/3774)
- Fix JavaScript console error that occur on repeated clicks. [#3730](https://redirect.github.com/mkdocs/mkdocs/issues/3730)
- Fix JavaScript console error that can occur on dropdown selections. [#3694](https://redirect.github.com/mkdocs/mkdocs/issues/3694)
##### Added
- Added translations for Dutch. [#3804](https://redirect.github.com/mkdocs/mkdocs/issues/3804)
- Added and updated translations for Chinese (Simplified). [#3684](https://redirect.github.com/mkdocs/mkdocs/issues/3684)
### [`v1.6.0`](https://redirect.github.com/mkdocs/mkdocs/releases/tag/1.6.0)
[Compare Source](https://redirect.github.com/mkdocs/mkdocs/compare/1.5.3...1.6.0)
#### Local preview
- `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](https://redirect.github.com/mkdocs/mkdocs/issues/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](https://redirect.github.com/mkdocs/mkdocs/issues/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`**.
See [documentation](https://www.mkdocs.org/user-guide/configuration/#exclude_docs).
Other changes:
- Reduce warning levels when a "draft" page has a link to a non-existent file. Context: [#3449](https://redirect.github.com/mkdocs/mkdocs/issues/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`](https://www.mkdocs.org/dev-guide/api/#mkdocs.structure.files.pages.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.
Context: [#3564](https://redirect.github.com/mkdocs/mkdocs/issues/3564), [#3578](https://redirect.github.com/mkdocs/mkdocs/issues/3578)
#### Themes
- Built-in themes now also support Polish language ([#3613](https://redirect.github.com/mkdocs/mkdocs/issues/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](https://redirect.github.com/mkdocs/mkdocs/issues/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](https://redirect.github.com/mkdocs/mkdocs/issues/3435))
- "readthedocs" theme now also has translation for the word "theme" in the footer that mistakenly always remained in English. ([#3613](https://redirect.github.com/mkdocs/mkdocs/issues/3613), [#3625](https://redirect.github.com/mkdocs/mkdocs/issues/3625))
##### "mkdocs" theme
The "mkdocs" theme got a big update to a newer version of Bootstrap, meaning a slight overhaul of styles. Colors (most notably of admonitions) have much better contrast.
The "mkdocs" theme now has support for dark mode - both automatic (based on the OS/browser setting) and with a manual toggle. Both of these options are **not** enabled by default and need to be configured explicitly.\
See `color_mode`, `user_color_mode_toggle` in [**documentation**](https://www.mkdocs.org/user-guide/choosing-your-theme/#mkdocs).
> \[!warning]
> **Possible breaking change:**
>
> jQuery is no longer included into the "mkdocs" theme. If you were relying on it in your scripts, you will need to separately add it first (into mkdocs.yml) as an extra script:
>
> ```yaml
> extra_javascript:
> - https://code.jquery.com/jquery-3.7.1.min.js
> ```
>
> Or even better if the script file is copied and included from your docs dir.
Context: [#3493](https://redirect.github.com/mkdocs/mkdocs/issues/3493), [#3649](https://redirect.github.com/mkdocs/mkdocs/issues/3649)
#### Configuration
##### New "`enabled`" setting for all plugins
You may have seen some plugins take up the convention of having a setting `enabled: false` (or usually controlled through an environment variable) to make the plugin do nothing.
Now *every* plugin has this setting. Plugins can still *choose* to implement this config themselves and decide how it behaves (and unless they drop older versions of MkDocs, they still should for now), but now there's always a fallback for every plugin.
See [**documentation**](https://www.mkdocs.org/user-guide/configuration/#enabled-option). Context: [#3395](https://redirect.github.com/mkdocs/mkdocs/issues/3395)
#### Validation
##### Validation of hyperlinks between pages
##### Absolute links
> Historically, within Markdown, MkDocs only recognized **relative** links that lead to another physical `*.md` document (or media file). This is a good convention to follow because then the source pages are also freely browsable without MkDocs, for example on GitHub. Whereas absolute links were left unmodified (making them often not work as expected or, more recently, warned against).
If you dislike having to always use relative links, now you can opt into absolute links and have them work correctly.
If you set the setting `validation.links.absolute_links` to the new value `relative_to_docs`, all Markdown links starting with `/` will be understood as being relative to the `docs_dir` root. The links will then be validated for correctness according to all the other rules that were already working for relative links in prior versions of MkDocs. For the HTML output, these links will still be turned relative so that the site still works reliably.
So, now any document (e.g. "dir1/foo.md") can link to the document "dir2/bar.md" as `[link](/dir2/bar.md)`, in addition to the previously only correct way `[link](../dir2/bar.md)`.
You have to enable the setting, though. The default is still to just skip any processing of such links.
See [**documentation**](https://www.mkdocs.org/user-guide/configuration/#validation-of-absolute-links). Context: [#3485](https://redirect.github.com/mkdocs/mkdocs/issues/3485)
##### Absolute links within nav
Absolute links within the `nav:` config were also always skipped. It is now possible to also validate them in the same way with `validation.nav.absolute_links`. Though it makes a bit less sense because then the syntax is simply redundant with the syntax that comes without the leading slash.
##### Anchors
There is a new config setting that is recommended to enable warnings for:
```yaml
validation:
anchors: warn
```
Example of a warning that this can produce:
```text
WARNING - Doc file 'foo/example.md' contains a link '../bar.md#some-heading', but the doc 'foo/bar.md' does not contain an anchor '#some-heading'.
```
Any of the below methods of declaring an anchor will be detected by MkDocs:
```markdown
#### Heading producing an anchor
#### Another heading {#custom-anchor-for-heading-using-attr-list}
[](){#markdown-anchor-using-attr-list}
```
Plugins and extensions that insert anchors, in order to be compatible with this, need to be developed as treeprocessors that insert `etree` elements as their mode of operation, rather than raw HTML which is undetectable for this purpose.
If you as a user are dealing with falsely reported missing anchors and there's no way to resolve this, you can choose to disable these messages by setting this option to `ignore` (and they are at INFO level by default anyway).
See [**documentation**](https://www.mkdocs.org/user-guide/configuration/#validation). Context: [#3463](https://redirect.github.com/mkdocs/mkdocs/issues/3463)
Other changes:
- When the `nav` config is not specified at all, the `not_in_nav` setting (originally added in 1.5.0) gains an additional behavior: documents covered by `not_in_nav` will not be part of the automatically deduced navigation. Context: [#3443](https://redirect.github.com/mkdocs/mkdocs/issues/3443)
- Fix: the `!relative` YAML tag for `markdown_extensions` (originally added in 1.5.0) - it was broken in many typical use cases.
See [**documentation**](https://www.mkdocs.org/user-guide/configuration/#paths-relative-to-the-current-file-or-site). Context: [#3466](https://redirect.github.com/mkdocs/mkdocs/issues/3466)
- Config validation now exits on first error, to avoid showing bizarre secondary errors. Context: [#3437](https://redirect.github.com/mkdocs/mkdocs/issues/3437)
- MkDocs used to shorten error messages for unexpected errors such as "file not found", but that is no longer the case, the full error message and stack trace will be possible to see (unless the error has a proper handler, of course). Context: [#3445](https://redirect.github.com/mkdocs/mkdocs/issues/3445)
#### Upgrades for plugin developers
##### Plugins can add multiple handlers for the same event type, at multiple priorities
See [`mkdocs.plugins.CombinedEvent`](https://www.mkdocs.org/dev-guide/plugins/#mkdocs.plugins.CombinedEvent) in [**documentation**](https://www.mkdocs.org/dev-guide/plugins/#event-priorities). Context: [#3448](https://redirect.github.com/mkdocs/mkdocs/issues/3448)
##### Enabling true generated files and expanding the [`File`](https://www.mkdocs.org/dev-guide/api/#mkdocs.structure.files.File) API
See [**documentation**](https://www.mkdocs.org/dev-guide/api/#mkdocs.structure.files.File).
- There is a new pair of attributes [`File.content_string`](https://www.mkdocs.org/dev-guide/api/#mkdocs.structure.files.File.content_string]/\[\`content_bytes\`]\[mkdocs.structure.files.File.content_bytes) that becomes the official API for obtaining the content of a file and is used by MkDocs itself.
This replaces the old approach where one had to manually read the file located at [`File.abs_src_path`](https://www.mkdocs.org/dev-guide/api/#mkdocs.structure.files.File.abs_src_path), although that is still the primary action that these new attributes do under the hood.
- The content of a `File` can be backed by a string and no longer has to be a real existing file at `abs_src_path`.
It is possible to **set** the attribute `File.content_string` or `File.content_bytes` and it will take precedence over `abs_src_path`.
Further, `abs_src_path` is no longer guaranteed to be present and can be `None` instead. MkDocs itself still uses physical files in all cases, but eventually plugins will appear that don't populate this attribute.
- There is a new constructor [`File.generated()`](https://www.mkdocs.org/dev-guide/api/#mkdocs.structure.files.File.generated) that should be used by plugins instead of the `File()` constructor. It is much more convenient because one doesn't need to manually look up the values such as `docs_dir` and `use_directory_urls`. Its signature is one of:
```python
f = File.generated(config: MkDocsConfig, src_uri: str, content: str | bytes)
f = File.generated(config: MkDocsConfig, src_uri: str, abs_src_path: str)
```
This way, it is now extremely easy to add a virtual file even from a hook:
```python
def on_files(files: Files, config: MkDocsConfig):
files.append(File.generated(config, 'fake/path.md', content="Hello, world!"))
```
For large content it is still best to use physical files, but one no longer needs to manipulate the path by providing a fake unused `docs_dir`.
- There is a new attribute [`File.generated_by`](https://www.mkdocs.org/dev-guide/api/#mkdocs.structure.files.File.generated_by) that arose by convention - for generated files it should be set to the name of the plugin (the key in the `plugins:` collection) that produced this file. This attribute is populated automatically when using the `File.generated()` constructor.
- It is possible to set the [`edit_uri`](https://www.mkdocs.org/dev-guide/api/#mkdocs.structure.files.File.edit_uri) attribute of a `File`, for example from a plugin or hook, to make it different from the default (equal to `src_uri`), and this will be reflected in the edit link of the document. This can be useful because some pages aren't backed by a real file and are instead created dynamically from some other source file or script. So a hook could set the `edit_uri` to that source file or script accordingly.
- The `File` object now stores its original `src_dir`, `dest_dir`, `use_directory_urls` values as attributes.
- Fields of `File` are computed on demand but cached. Only the three above attributes are primary ones, and partly also [`dest_uri`](https://www.mkdocs.org/dev-guide/api/#mkdocs.structure.files.File.dest_uri). This way, it is possible to, for example, overwrite `dest_uri` of a `File`, and `abs_dest_path` will be calculated based on it. However you need to clear the attribute first using `del f.abs_dest_path`, because the values are cached.
- `File` instances are now hashable (can be used as keys of a `dict`). Two files can no longer be considered "equal" unless it's the exact same instance of `File`.
Other changes:
- The internal storage of `File` objects inside a `Files` object has been reworked, so any plugins that choose to access `Files._files` will get a deprecation warning.
- The order of `File` objects inside a `Files` collection is no longer significant when automatically inferring the `nav`. They get forcibly sorted according to the default alphabetic order.
Context: [#3451](https://redirect.github.com/mkdocs/mkdocs/issues/3451), [#3463](https://redirect.github.com/mkdocs/mkdocs/issues/3463)
#### Hooks and debugging
- Hook files can now import adjacent \*.py files using the `import` statement. Previously this was possible to achieve only through a `sys.path` workaround. See the new mention in [documentation](https://www.mkdocs.org/user-guide/configuration/#hooks). Context: [#3568](https://redirect.github.com/mkdocs/mkdocs/issues/3568)
- Verbose `-v` log shows the sequence of plugin events in more detail - shows each invoked plugin one by one, not only the event type. Context: [#3444](https://redirect.github.com/mkdocs/mkdocs/issues/3444)
#### Deprecations
- Python 3.7 is no longer supported, Python 3.12 is officially supported. Context: [#3429](https://redirect.github.com/mkdocs/mkdocs/issues/3429)
- The theme config file `mkdocs_theme.yml` no longer executes YAML tags. Context: [#3465](https://redirect.github.com/mkdocs/mkdocs/issues/3465)
- The plugin event `on_page_read_source` is soft-deprecated because there is always a better alternative to it (see the new `File` API or just `on_page_markdown`, depending on the desired interaction).
When multiple plugins/hooks apply this event handler, they trample over each other, so now there is a warning in that case.
See [**documentation**](https://www.mkdocs.org/dev-guide/plugins/#on_page_read_source). Context: [#3503](https://redirect.github.com/mkdocs/mkdocs/issues/3503)
##### API deprecations
- It is no longer allowed to set `File.page` to a type other than `Page` or a subclass thereof. Context: [#3443](https://redirect.github.com/mkdocs/mkdocs/issues/3443) - following the deprecation in version 1.5.3 and [#3381](https://redirect.github.com/mkdocs/mkdocs/issues/3381).
- `Theme._vars` is deprecated - use `theme['foo']` instead of `theme._vars['foo']`
- `utils`: `modified_time()`, `get_html_path()`, `get_url_path()`, `is_html_file()`, `is_template_file()` are removed. `path_to_url()` is deprecated.
- `LiveReloadServer.watch()` no longer accepts a custom callback.
Context: [#3429](https://redirect.github.com/mkdocs/mkdocs/issues/3429)
#### Misc
- The `sitemap.xml.gz` file is slightly more reproducible and no longer changes on every build, but instead only once per day (upon a date change). Context: [#3460](https://redirect.github.com/mkdocs/mkdocs/issues/3460)
Other small improvements; see [commit log](https://redirect.github.com/mkdocs/mkdocs/compare/1.5.3...1.6.0).
squidfunk/mkdocs-material (mkdocs-material)
### [`v9.5.39`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.39): mkdocs-material-9.5.39
[Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.38...9.5.39)
- Fixed [#7226](https://redirect.github.com/squidfunk/mkdocs-material/issues/7226): not staying on page when using mike's canonical versioning
Thanks go to [@ilyagr](https://redirect.github.com/ilyagr) for their contributions
### [`v9.5.38`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.38): mkdocs-material-9.5.38
[Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.37...9.5.38)
- Added Albanian translations
Thanks go to [@gerardkraja](https://redirect.github.com/gerardkraja) for their contributions
### [`v9.5.37`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.37): mkdocs-material-9.5.37
[Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.36...9.5.37)
- Added 4th and 5th level ordered list styles
- Fixed [#7548](https://redirect.github.com/squidfunk/mkdocs-material/issues/7548): Tags have no spacing in search
### [`v9.5.36`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.36): mkdocs-material-9.5.36
[Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.35...9.5.36)
- Fixed [#7544](https://redirect.github.com/squidfunk/mkdocs-material/issues/7544): Social cards incorrectly rendering HTML entities
- Fixed [#7542](https://redirect.github.com/squidfunk/mkdocs-material/issues/7542): Improved support for setting custom list styles
### [`v9.5.35`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.35): mkdocs-material-9.5.35
[Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.34...9.5.35)
- Fixed [#7498](https://redirect.github.com/squidfunk/mkdocs-material/issues/7498): Search not showing for Vietnamese language
### [`v9.5.34`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.34): mkdocs-material-9.5.34
[Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.33...9.5.34)
- Updated Mermaid.js to version 11 (latest)
Thanks go to [@manselmi](https://redirect.github.com/manselmi) for their contributions
### [`v9.5.33`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.33): mkdocs-material-9.5.33
[Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.32...9.5.33)
- Fixed [#7453](https://redirect.github.com/squidfunk/mkdocs-material/issues/7453): Incorrect position of tooltip when sorting table
### [`v9.5.32`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.32): mkdocs-material-9.5.32
[Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.31...9.5.32)
- Fixed RXSS vulnerability via deep link in search results
- Added support for fetching latest release from GitLab
Thanks go to [@joaopalmeiro](https://redirect.github.com/joaopalmeiro) for their contributions
### [`v9.5.31`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.31): mkdocs-material-9.5.31
[Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.30...9.5.31)
- Fixed [#7405](https://redirect.github.com/squidfunk/mkdocs-material/issues/7405): DockerHub missing images > 9.5.27 due to change in Alpine/APK
### [`v9.5.30`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.30): mkdocs-material-9.5.30
[Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.29...9.5.30)
- Fixed [#7380](https://redirect.github.com/squidfunk/mkdocs-material/issues/7380): Navigation icons disappearing on hover in Safari
- Fixed [#7367](https://redirect.github.com/squidfunk/mkdocs-material/issues/7367): Blog readtime computation includes SVG text content
Thanks go to [@sisp](https://redirect.github.com/sisp) for their contributions
### [`v9.5.29`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.29): mkdocs-material-9.5.29
[Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.28...9.5.29)
- Updated Galician translations
- Fixed [#7362](https://redirect.github.com/squidfunk/mkdocs-material/issues/7362): Annotations in figure captions rendering incorrectly
Thanks go to [@mmontes11](https://redirect.github.com/mmontes11) for their contributions
### [`v9.5.28`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.28): mkdocs-material-9.5.28
[Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.27...9.5.28)
- Fixed [#7313](https://redirect.github.com/squidfunk/mkdocs-material/issues/7313): Improved tooltips mounted in sidebar when feature is disabled
### [`v9.5.27`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.27): mkdocs-material-9.5.27
[Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.26...9.5.27)
- Updated Estonian translations
Thanks to [@Eilyre](https://redirect.github.com/Eilyre) for their contributions
### [`v9.5.26`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.26): mkdocs-material-9.5.26
[Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.25...9.5.26)
- Fixed [#7232](https://redirect.github.com/squidfunk/mkdocs-material/issues/7232): Tab switches on scroll when linking tabs (9.5.19 regression)
- Fixed [#7230](https://redirect.github.com/squidfunk/mkdocs-material/issues/7230): Blog author avatar broken when referring to local file
### [`v9.5.25`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.25): mkdocs-material-9.5.25
[Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.24...9.5.25)
- Fixed [#7209](https://redirect.github.com/squidfunk/mkdocs-material/issues/7209): Tags plugin crashing on numeric tags
### [`v9.5.24`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.24): mkdocs-material-9.5.24
[Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.23...9.5.24)
- Fixed [#7187](https://redirect.github.com/squidfunk/mkdocs-material/issues/7187): Version selector title rendering issue
### [`v9.5.23`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.23): mkdocs-material-9.5.23
[Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.22...9.5.23)
- Fixed [#7183](https://redirect.github.com/squidfunk/mkdocs-material/issues/7183): Edge case in anchor navigation when using instant navigation
- Fixed [#6436](https://redirect.github.com/squidfunk/mkdocs-material/issues/6436): Version selector not showing version alias
### [`v9.5.22`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.22): mkdocs-material-9.5.22
[Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.21...9.5.22)
- Fixed [#7170](https://redirect.github.com/squidfunk/mkdocs-material/issues/7170): Copy button adds empty lines for line spans (9.5.18 regression)
- Fixed [#7160](https://redirect.github.com/squidfunk/mkdocs-material/issues/7160): Version switching doesn't stay on page (9.5.5 regression)
- Fixed [#5619](https://redirect.github.com/squidfunk/mkdocs-material/issues/5619): Links in Mermaid.js diagrams not discernible
### [`v9.5.21`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.21): mkdocs-material-9.5.21
[Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.20...9.5.21)
- Fixed [#7133](https://redirect.github.com/squidfunk/mkdocs-material/issues/7133): Ensure latest version of Mermaid.js is used
- Fixed [#7125](https://redirect.github.com/squidfunk/mkdocs-material/issues/7125): Added warning for dotfiles in info plugin
Thanks to [@kamilkrzyskow](https://redirect.github.com/kamilkrzyskow) for their contributions
### [`v9.5.20`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.20): mkdocs-material-9.5.20
[Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.19...9.5.20)
- Fixed deprecation warning in privacy plugin (9.5.19 regression)
- Fixed [#7119](https://redirect.github.com/squidfunk/mkdocs-material/issues/7119): Tags plugin emits deprecation warning (9.5.19 regression)
- Fixed [#7118](https://redirect.github.com/squidfunk/mkdocs-material/issues/7118): Social plugin crashes if fonts are disabled (9.5.19 regression)
- Fixed [#7085](https://redirect.github.com/squidfunk/mkdocs-material/issues/7085): Social plugin crashes on Windows when downloading fonts
### [`v9.5.19`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.19): mkdocs-material-9.5.19
[Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.18...9.5.19)
- Updated MkDocs to 1.6 and limited version to < 2
- Updated Docker image to latest Alpine Linux
- Removed `setup.py`, now that GitHub fully understands `pyproject.toml`
- Improved interop of social plugin with third-party MkDocs themes
- Fixed [#7099](https://redirect.github.com/squidfunk/mkdocs-material/issues/7099): Blog reading time not rendered correctly for Japanese
- Fixed [#7097](https://redirect.github.com/squidfunk/mkdocs-material/issues/7097): Improved resilience of tags plugin when no tags are given
- Fixed [#7090](https://redirect.github.com/squidfunk/mkdocs-material/issues/7090): Active tab indicator in nested content tabs rendering bug
### [`v9.5.18`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.18): mkdocs-material-9.5.18
[Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.17...9.5.18)
- Refactored tooltips implementation to fix positioning issues
- Fixed [#7044](https://redirect.github.com/squidfunk/mkdocs-material/issues/7044): Rendering glitch when hovering contributor avatar in Chrome
- Fixed [#7043](https://redirect.github.com/squidfunk/mkdocs-material/issues/7043): Highlighted lines in code blocks cutoff on mobile
- Fixed [#6910](https://redirect.github.com/squidfunk/mkdocs-material/issues/6910): Incorrect position of tooltip for page status in sidebar
- Fixed [#6760](https://redirect.github.com/squidfunk/mkdocs-material/issues/6760): Incorrect position and overly long tooltip in tables
- Fixed [#6488](https://redirect.github.com/squidfunk/mkdocs-material/issues/6488): Incorrect position and cutoff tooltip in content tabs
### [`v9.5.17`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.17): mkdocs-material-9.5.17
[Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.16...9.5.17)
- Updated Serbian translations
- Fixed [#7003](https://redirect.github.com/squidfunk/mkdocs-material/issues/7003): Confusing keyboard interaction for palette toggle
- Fixed [#7001](https://redirect.github.com/squidfunk/mkdocs-material/issues/7001): Blog posts now show time by default (9.5.16 regression)
- Fixed edge case in backport of social plugin font loading logic
Thanks to [@stcksmsh](https://redirect.github.com/stcksmsh) for their contributions.
### [`v9.5.16`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.16): mkdocs-material-9.5.16
[Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.15...9.5.16)
- Updated Russian translations
- Improved error handling and reporting in social plugin
- Improved error handling and reporting in privacy plugin
- Fixed blog plugin not allowing to use time in format strings
- Fixed [#6983](https://redirect.github.com/squidfunk/mkdocs-material/issues/6983): Social plugin crashes because of Google Fonts API change
Thanks to [@kamilkrzyskow](https://redirect.github.com/kamilkrzyskow), [@Guts](https://redirect.github.com/Guts), [@szg-alex-payne](https://redirect.github.com/szg-alex-payne) and [@natakazakova](https://redirect.github.com/natakazakova) for their contributions
### [`v9.5.15`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.15): mkdocs-material-9.5.15
[Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.14...9.5.15)
- Reverted fix for transparent iframes (9.5.14)
- Fixed [#6929](https://redirect.github.com/squidfunk/mkdocs-material/issues/6929): Interference of social plugin and auto dark mode
- Fixed [#6938](https://redirect.github.com/squidfunk/mkdocs-material/issues/6938): Giscus shows dark background in light mode (9.5.14 regression)
### [`v9.5.14`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.14): mkdocs-material-9.5.14
[Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.13...9.5.14)
- Added support for hiding versions from selector when using mike
- Added init system to improve signal handling in Docker image
- Fixed edge cases in exclusion logic of info plugin
- Fixed inability to reset pipeline in search plugin
- Fixed syntax error in Finnish translations
- Fixed [#6917](https://redirect.github.com/squidfunk/mkdocs-material/issues/6917): UTF-8 encoding problems in blog plugin on Windows
- Fixed [#6889](https://redirect.github.com/squidfunk/mkdocs-material/issues/6889): Transparent iframes get background color
Thanks to [@kamilkrzyskow](https://redirect.github.com/kamilkrzyskow), [@yubiuser](https://redirect.github.com/yubiuser) and [@todeveni](https://redirect.github.com/todeveni) for their contributions
### [`v9.5.13`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.13): mkdocs-material-9.5.13
[Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.12...9.5.13)
- Updated Slovak translations
- Improved info plugin interop with projects plugin
- Improved info plugin inclusion/exclusion logic
- Fixed info plugin not gathering files recursively
- Fixed [#6750](https://redirect.github.com/squidfunk/mkdocs-material/issues/6750): Ensure info plugin packs up all necessary files
Thanks to [@kamilkrzyskow](https://redirect.github.com/kamilkrzyskow) and [@scepka](https://redirect.github.com/scepka) for their contributions
### [`v9.5.12`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.12): mkdocs-material-9.5.12
[Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.11...9.5.12)
- Fixed [#6846](https://redirect.github.com/squidfunk/mkdocs-material/issues/6846): Some meta tags removed on instant navigation (9.4.2 regression)
- Fixed [#6823](https://redirect.github.com/squidfunk/mkdocs-material/issues/6823): KaTex not rendering on instant navigation (9.5.5 regression)
- Fixed [#6821](https://redirect.github.com/squidfunk/mkdocs-material/issues/6821): Privacy plugin doesn't handle URLs with encoded characters
### [`v9.5.11`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.11): mkdocs-material-9.5.11
[Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.10...9.5.11)
- Updated Finnish translation
### [`v9.5.10`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.10): mkdocs-material-9.5.10
[Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.9...9.5.10)
- Updated Bahasa Malaysia translations
- Fixed [#6783](https://redirect.github.com/squidfunk/mkdocs-material/issues/6783): Hide continue reading link for blog posts without separators
- Fixed [#6779](https://redirect.github.com/squidfunk/mkdocs-material/issues/6779): Incorrect positioning of integrated table of contents
### [`v9.5.9`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.9): mkdocs-material-9.5.9
[Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.8...9.5.9)
- Fixed navigation pruning with tabs and sections enabled
### [`v9.5.8`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.8): mkdocs-material-9.5.8
[Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.7...9.5.8)
- Added Tamil translations
- Updated Esperanto translations
- Fixed relative images not being resolved for instant navigation
### [`v9.5.7`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.7): mkdocs-material-9.5.7
[Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.6...9.5.7)
- Fixed [#6731](https://redirect.github.com/squidfunk/mkdocs-material/issues/6731): Small images in figures are not centered
- Fixed [#6719](https://redirect.github.com/squidfunk/mkdocs-material/issues/6719): Instant navigation breaks table of contents (9.5.5 regression)
### [`v9.5.6`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.6): mkdocs-material-9.5.6
[Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.5...9.5.6)
- Fixed [#6700](https://redirect.github.com/squidfunk/mkdocs-material/issues/6700): Missing styles for Mermaid.js labels with Markdown
### [`v9.5.5`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.5): mkdocs-material-9.5.5
[Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.4...9.5.5)
- Updated Tagalog translations
- Updated Pillow to 10.2 to mitigate security vulnerabilities
- Improved resilience of instant navigation
- Fixed [#6687](https://redirect.github.com/squidfunk/mkdocs-material/issues/6687): Updated Mermaid.js to version 10.7.0 (latest)
- Fixed [#6652](https://redirect.github.com/squidfunk/mkdocs-material/issues/6652): Keyboard events in custom elements captured
- Fixed [#6582](https://redirect.github.com/squidfunk/mkdocs-material/issues/6582): Instant navigation doesn't correctly handle alternate URLs
- Fixed [#6565](https://redirect.github.com/squidfunk/mkdocs-material/issues/6565): Instant navigation doesn't allow for `onclick` handlers
- Fixed [#6345](https://redirect.github.com/squidfunk/mkdocs-material/issues/6345): Instant navigation sometimes breaks browser back button
- Fixed [#6334](https://redirect.github.com/squidfunk/mkdocs-material/issues/6334): Instant navigation doesn't correctly position anchors (Safari)
- Fixed [#6275](https://redirect.github.com/squidfunk/mkdocs-material/issues/6275): Instant navigation doesn't correctly resolve after 404
- Fixed [#6102](https://redirect.github.com/squidfunk/mkdocs-material/issues/6102): Instant navigation reloads page on same link navigation
### [`v9.5.4`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.4): mkdocs-material-9.5.4
[Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.3...9.5.4)
- Fixed [#6645](https://redirect.github.com/squidfunk/mkdocs-material/issues/6645): Local storage with invalid value can break site
- Fixed [#6635](https://redirect.github.com/squidfunk/mkdocs-material/issues/6635): Tags icons before default ignored if default is set
### [`v9.5.3`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.3): mkdocs-material-9.5.3
[Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.2...9.5.3)
- Limited version range of MkDocs to < 1.6
- Updated Macedonian translations
- Fixed [#6520](https://redirect.github.com/squidfunk/mkdocs-material/issues/6520): Group plugin crashes when using mike
- Fixed [#6494](https://redirect.github.com/squidfunk/mkdocs-material/issues/6494): Hide author's email address if disabled in git-authors plugin
### [`v9.5.2`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.2): mkdocs-material-9.5.2
[Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.1...9.5.2)
- Fixed types for `slugify` settings in blog plugin config
- Fixed [#6469](https://redirect.github.com/squidfunk/mkdocs-material/issues/6469): Horizontal scrollbars on MathJax containers
### [`v9.5.1`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.1): mkdocs-material-9.5.1
[Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.0...9.5.1)
- Updated Greek translations
- Fixed [#6464](https://redirect.github.com/squidfunk/mkdocs-material/issues/6464): Privacy plugin cannot be enabled
- Fixed [#6461](https://redirect.github.com/squidfunk/mkdocs-material/issues/6461): Sorting blog posts ignores time component in date
### [`v9.5.0`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.0): mkdocs-material-9.5.0
[Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.4.14...9.5.0)
Merged Insiders features of 'Goat's Horn' funding goal
- Added privacy plugin: automatic downloading of external assets
- Added support for card grids and grid layouts
- Added support for improved tooltips
- Added support for content tabs anchor links (deep linking)
- Added support for automatic dark/light mode
- Added support for document contributors
### [`v9.4.14`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.4.14): mkdocs-material-9.4.14
[Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.4.13...9.4.14)
- Added support for linking authors in blog posts
### [`v9.4.13`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.4.13): mkdocs-material-9.4.13
[Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.4.12...9.4.13)
- Fixed [#6365](https://redirect.github.com/squidfunk/mkdocs-material/issues/6365): Blog plugin pagination links to previous pages broken
-
Configuration
📅 Schedule: Branch creation - "every 2 weeks on Sunday" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
[ ] If you want to rebase/retry this PR, check this box
This PR contains the following updates:
6.0.1
->6.0.2
1.21.2
->1.22.0
6.7.0
->6.11.0
4.17.3
->4.23.0
1.5.3
->1.6.1
9.2.7
->9.5.39
0.22.0
->0.26.1
5.2.6
->5.4.0
5.0.0
->5.3.0
2.6.3
->2.7.0
Release Notes
yaml/pyyaml (PyYAML)
### [`v6.0.2`](https://redirect.github.com/yaml/pyyaml/releases/tag/6.0.2) [Compare Source](https://redirect.github.com/yaml/pyyaml/compare/6.0.1...6.0.2) #### What's Changed - Support for Cython 3.x and Python 3.13. **Full Changelog**: https://github.com/yaml/pyyaml/compare/6.0.1...6.0.2mtkennerly/dunamai (dunamai)
### [`v1.22.0`](https://redirect.github.com/mtkennerly/dunamai/blob/HEAD/CHANGELOG.md#v1220-2024-08-07) [Compare Source](https://redirect.github.com/mtkennerly/dunamai/compare/v1.21.2...v1.22.0) - Fixed: The `--ignore-untracked` CLI flag was ignored. - Added: `--commit-length` option.python/importlib_metadata (importlib-metadata)
### [`v6.11.0`](https://redirect.github.com/python/importlib_metadata/compare/v6.10.0...v6.11.0) [Compare Source](https://redirect.github.com/python/importlib_metadata/compare/v6.10.0...v6.11.0) ### [`v6.10.0`](https://redirect.github.com/python/importlib_metadata/compare/v6.9.0...v6.10.0) [Compare Source](https://redirect.github.com/python/importlib_metadata/compare/v6.9.0...v6.10.0) ### [`v6.9.0`](https://redirect.github.com/python/importlib_metadata/compare/v6.8.0...v6.9.0) [Compare Source](https://redirect.github.com/python/importlib_metadata/compare/v6.8.0...v6.9.0) ### [`v6.8.0`](https://redirect.github.com/python/importlib_metadata/compare/v6.7.0...v6.8.0) [Compare Source](https://redirect.github.com/python/importlib_metadata/compare/v6.7.0...v6.8.0)python-jsonschema/jsonschema (jsonschema)
### [`v4.23.0`](https://redirect.github.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v4230) [Compare Source](https://redirect.github.com/python-jsonschema/jsonschema/compare/v4.22.0...v4.23.0) \======= - Do not reorder dictionaries (schemas, instances) that are printed as part of validation errors. - Declare support for Py3.13 ### [`v4.22.0`](https://redirect.github.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v4220) [Compare Source](https://redirect.github.com/python-jsonschema/jsonschema/compare/v4.21.1...v4.22.0) \======= - Improve `best_match` (and thereby error messages from `jsonschema.validate`) in cases where there are multiple *sibling* errors from applying `anyOf` / `allOf` -- i.e. when multiple elements of a JSON array have errors, we now do prefer showing errors from earlier elements rather than simply showing an error for the full array ([#1250](https://redirect.github.com/python-jsonschema/jsonschema/issues/1250)). - (Micro-)optimize equality checks when comparing for JSON Schema equality by first checking for object identity, as `==` would. ### [`v4.21.1`](https://redirect.github.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v4211) [Compare Source](https://redirect.github.com/python-jsonschema/jsonschema/compare/v4.21.0...v4.21.1) \======= - Slightly speed up the `contains` keyword by removing some unnecessary validator (re-)creation. ### [`v4.21.0`](https://redirect.github.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v4210) [Compare Source](https://redirect.github.com/python-jsonschema/jsonschema/compare/v4.20.0...v4.21.0) \======= - Fix the behavior of `enum` in the presence of `0` or `1` to properly consider `True` and `False` unequal ([#1208](https://redirect.github.com/python-jsonschema/jsonschema/issues/1208)). - Special case the error message for `{min,max}{Items,Length,Properties}` when they're checking for emptiness rather than true length. ### [`v4.20.0`](https://redirect.github.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v4200) [Compare Source](https://redirect.github.com/python-jsonschema/jsonschema/compare/v4.19.2...v4.20.0) \======= - Properly consider items (and properties) to be evaluated by `unevaluatedItems` (resp. `unevaluatedProperties`) when behind a `$dynamicRef` as specified by the 2020 and 2019 specifications. - `jsonschema.exceptions.ErrorTree.__setitem__` is now deprecated. More broadly, in general users of `jsonschema` should never be mutating objects owned by the library. ### [`v4.19.2`](https://redirect.github.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v4192) [Compare Source](https://redirect.github.com/python-jsonschema/jsonschema/compare/v4.19.1...v4.19.2) \======= - Fix the error message for additional items when used with heterogeneous arrays. - Don't leak the `additionalItems` keyword into JSON Schema draft 2020-12, where it was replaced by `items`. ### [`v4.19.1`](https://redirect.github.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v4191) [Compare Source](https://redirect.github.com/python-jsonschema/jsonschema/compare/v4.19.0...v4.19.1) \======= - Single label hostnames are now properly considered valid according to the `hostname` format. This is the behavior specified by the relevant RFC (1123). IDN hostname behavior was already correct. ### [`v4.19.0`](https://redirect.github.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v4190) [Compare Source](https://redirect.github.com/python-jsonschema/jsonschema/compare/v4.18.6...v4.19.0) \======= - Importing the `Validator` protocol directly from the package root is deprecated. Import it from `jsonschema.protocols.Validator` instead. - Automatic retrieval of remote references (which is still deprecated) now properly succeeds even if the retrieved resource does not declare which version of JSON Schema it uses. Such resources are assumed to be 2020-12 schemas. This more closely matches the pre-referencing library behavior. ### [`v4.18.6`](https://redirect.github.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v4186) [Compare Source](https://redirect.github.com/python-jsonschema/jsonschema/compare/v4.18.5...v4.18.6) \======= - Set a `jsonschema` specific user agent when automatically retrieving remote references (which is deprecated). ### [`v4.18.5`](https://redirect.github.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v4185) [Compare Source](https://redirect.github.com/python-jsonschema/jsonschema/compare/v4.18.4...v4.18.5) \======= - Declare support for Py3.12 ### [`v4.18.4`](https://redirect.github.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v4184) [Compare Source](https://redirect.github.com/python-jsonschema/jsonschema/compare/v4.18.3...v4.18.4) \======= - Improve the hashability of wrapped referencing exceptions when they contain hashable data. ### [`v4.18.3`](https://redirect.github.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v4183) [Compare Source](https://redirect.github.com/python-jsonschema/jsonschema/compare/v4.18.2...v4.18.3) \======= - Properly preserve `applicable_validators` in extended validators. Specifically, validators extending early drafts where siblings of `$ref` were ignored will properly ignore siblings in the extended validator. ### [`v4.18.2`](https://redirect.github.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v4182) [Compare Source](https://redirect.github.com/python-jsonschema/jsonschema/compare/v4.18.1...v4.18.2) \======= - Fix an additional regression with the deprecated `jsonschema.RefResolver` and pointer resolution. ### [`v4.18.1`](https://redirect.github.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v4181) [Compare Source](https://redirect.github.com/python-jsonschema/jsonschema/compare/v4.18.0...v4.18.1) \======= - Fix a regression with `jsonschema.RefResolver` based resolution when used in combination with a custom validation dialect (via `jsonschema.validators.create`). ### [`v4.18.0`](https://redirect.github.com/python-jsonschema/jsonschema/blob/HEAD/CHANGELOG.rst#v4180) [Compare Source](https://redirect.github.com/python-jsonschema/jsonschema/compare/v4.17.3...v4.18.0) \======= This release majorly rehauls the way in which JSON Schema reference resolution is configured. It does so in a way that *should* be backwards compatible, preserving old behavior whilst emitting deprecation warnings. - `jsonschema.RefResolver` is now deprecated in favor of the new `referencing librarymkdocs/mkdocs (mkdocs)
### [`v1.6.1`](https://redirect.github.com/mkdocs/mkdocs/releases/tag/1.6.1) [Compare Source](https://redirect.github.com/mkdocs/mkdocs/compare/1.6.0...1.6.1) ### Version 1.6.1 (Friday 30th August, 2024) ##### Fixed - Fix build error when environment variable `SOURCE_DATE_EPOCH=0` is set. [#3795](https://redirect.github.com/mkdocs/mkdocs/issues/3795) - Fix build error when `mkdocs_theme.yml` config is empty. [#3700](https://redirect.github.com/mkdocs/mkdocs/issues/3700) - Support `python -W` and `PYTHONWARNINGS` instead of overriding the configuration. [#3809](https://redirect.github.com/mkdocs/mkdocs/issues/3809) - Support running with Docker under strict mode, by removing `0.0.0.0` dev server warning. [#3784](https://redirect.github.com/mkdocs/mkdocs/issues/3784) - Drop unnecessary `changefreq` from `sitemap.xml`. [#3629](https://redirect.github.com/mkdocs/mkdocs/issues/3629) - Fix JavaScript console error when closing menu dropdown. [#3774](https://redirect.github.com/mkdocs/mkdocs/issues/3774) - Fix JavaScript console error that occur on repeated clicks. [#3730](https://redirect.github.com/mkdocs/mkdocs/issues/3730) - Fix JavaScript console error that can occur on dropdown selections. [#3694](https://redirect.github.com/mkdocs/mkdocs/issues/3694) ##### Added - Added translations for Dutch. [#3804](https://redirect.github.com/mkdocs/mkdocs/issues/3804) - Added and updated translations for Chinese (Simplified). [#3684](https://redirect.github.com/mkdocs/mkdocs/issues/3684) ### [`v1.6.0`](https://redirect.github.com/mkdocs/mkdocs/releases/tag/1.6.0) [Compare Source](https://redirect.github.com/mkdocs/mkdocs/compare/1.5.3...1.6.0) #### Local preview - `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](https://redirect.github.com/mkdocs/mkdocs/issues/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](https://redirect.github.com/mkdocs/mkdocs/issues/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`**. See [documentation](https://www.mkdocs.org/user-guide/configuration/#exclude_docs). Other changes: - Reduce warning levels when a "draft" page has a link to a non-existent file. Context: [#3449](https://redirect.github.com/mkdocs/mkdocs/issues/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`](https://www.mkdocs.org/dev-guide/api/#mkdocs.structure.files.pages.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. Context: [#3564](https://redirect.github.com/mkdocs/mkdocs/issues/3564), [#3578](https://redirect.github.com/mkdocs/mkdocs/issues/3578) #### Themes - Built-in themes now also support Polish language ([#3613](https://redirect.github.com/mkdocs/mkdocs/issues/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](https://redirect.github.com/mkdocs/mkdocs/issues/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](https://redirect.github.com/mkdocs/mkdocs/issues/3435)) - "readthedocs" theme now also has translation for the word "theme" in the footer that mistakenly always remained in English. ([#3613](https://redirect.github.com/mkdocs/mkdocs/issues/3613), [#3625](https://redirect.github.com/mkdocs/mkdocs/issues/3625)) ##### "mkdocs" theme The "mkdocs" theme got a big update to a newer version of Bootstrap, meaning a slight overhaul of styles. Colors (most notably of admonitions) have much better contrast. The "mkdocs" theme now has support for dark mode - both automatic (based on the OS/browser setting) and with a manual toggle. Both of these options are **not** enabled by default and need to be configured explicitly.\ See `color_mode`, `user_color_mode_toggle` in [**documentation**](https://www.mkdocs.org/user-guide/choosing-your-theme/#mkdocs). > \[!warning] > **Possible breaking change:** > > jQuery is no longer included into the "mkdocs" theme. If you were relying on it in your scripts, you will need to separately add it first (into mkdocs.yml) as an extra script: > > ```yaml > extra_javascript: > - https://code.jquery.com/jquery-3.7.1.min.js > ``` > > Or even better if the script file is copied and included from your docs dir. Context: [#3493](https://redirect.github.com/mkdocs/mkdocs/issues/3493), [#3649](https://redirect.github.com/mkdocs/mkdocs/issues/3649) #### Configuration ##### New "`enabled`" setting for all plugins You may have seen some plugins take up the convention of having a setting `enabled: false` (or usually controlled through an environment variable) to make the plugin do nothing. Now *every* plugin has this setting. Plugins can still *choose* to implement this config themselves and decide how it behaves (and unless they drop older versions of MkDocs, they still should for now), but now there's always a fallback for every plugin. See [**documentation**](https://www.mkdocs.org/user-guide/configuration/#enabled-option). Context: [#3395](https://redirect.github.com/mkdocs/mkdocs/issues/3395) #### Validation ##### Validation of hyperlinks between pages ##### Absolute links > Historically, within Markdown, MkDocs only recognized **relative** links that lead to another physical `*.md` document (or media file). This is a good convention to follow because then the source pages are also freely browsable without MkDocs, for example on GitHub. Whereas absolute links were left unmodified (making them often not work as expected or, more recently, warned against). If you dislike having to always use relative links, now you can opt into absolute links and have them work correctly. If you set the setting `validation.links.absolute_links` to the new value `relative_to_docs`, all Markdown links starting with `/` will be understood as being relative to the `docs_dir` root. The links will then be validated for correctness according to all the other rules that were already working for relative links in prior versions of MkDocs. For the HTML output, these links will still be turned relative so that the site still works reliably. So, now any document (e.g. "dir1/foo.md") can link to the document "dir2/bar.md" as `[link](/dir2/bar.md)`, in addition to the previously only correct way `[link](../dir2/bar.md)`. You have to enable the setting, though. The default is still to just skip any processing of such links. See [**documentation**](https://www.mkdocs.org/user-guide/configuration/#validation-of-absolute-links). Context: [#3485](https://redirect.github.com/mkdocs/mkdocs/issues/3485) ##### Absolute links within nav Absolute links within the `nav:` config were also always skipped. It is now possible to also validate them in the same way with `validation.nav.absolute_links`. Though it makes a bit less sense because then the syntax is simply redundant with the syntax that comes without the leading slash. ##### Anchors There is a new config setting that is recommended to enable warnings for: ```yaml validation: anchors: warn ``` Example of a warning that this can produce: ```text WARNING - Doc file 'foo/example.md' contains a link '../bar.md#some-heading', but the doc 'foo/bar.md' does not contain an anchor '#some-heading'. ``` Any of the below methods of declaring an anchor will be detected by MkDocs: ```markdown #### Heading producing an anchor #### Another heading {#custom-anchor-for-heading-using-attr-list} [](){#markdown-anchor-using-attr-list} ``` Plugins and extensions that insert anchors, in order to be compatible with this, need to be developed as treeprocessors that insert `etree` elements as their mode of operation, rather than raw HTML which is undetectable for this purpose. If you as a user are dealing with falsely reported missing anchors and there's no way to resolve this, you can choose to disable these messages by setting this option to `ignore` (and they are at INFO level by default anyway). See [**documentation**](https://www.mkdocs.org/user-guide/configuration/#validation). Context: [#3463](https://redirect.github.com/mkdocs/mkdocs/issues/3463) Other changes: - When the `nav` config is not specified at all, the `not_in_nav` setting (originally added in 1.5.0) gains an additional behavior: documents covered by `not_in_nav` will not be part of the automatically deduced navigation. Context: [#3443](https://redirect.github.com/mkdocs/mkdocs/issues/3443) - Fix: the `!relative` YAML tag for `markdown_extensions` (originally added in 1.5.0) - it was broken in many typical use cases. See [**documentation**](https://www.mkdocs.org/user-guide/configuration/#paths-relative-to-the-current-file-or-site). Context: [#3466](https://redirect.github.com/mkdocs/mkdocs/issues/3466) - Config validation now exits on first error, to avoid showing bizarre secondary errors. Context: [#3437](https://redirect.github.com/mkdocs/mkdocs/issues/3437) - MkDocs used to shorten error messages for unexpected errors such as "file not found", but that is no longer the case, the full error message and stack trace will be possible to see (unless the error has a proper handler, of course). Context: [#3445](https://redirect.github.com/mkdocs/mkdocs/issues/3445) #### Upgrades for plugin developers ##### Plugins can add multiple handlers for the same event type, at multiple priorities See [`mkdocs.plugins.CombinedEvent`](https://www.mkdocs.org/dev-guide/plugins/#mkdocs.plugins.CombinedEvent) in [**documentation**](https://www.mkdocs.org/dev-guide/plugins/#event-priorities). Context: [#3448](https://redirect.github.com/mkdocs/mkdocs/issues/3448) ##### Enabling true generated files and expanding the [`File`](https://www.mkdocs.org/dev-guide/api/#mkdocs.structure.files.File) API See [**documentation**](https://www.mkdocs.org/dev-guide/api/#mkdocs.structure.files.File). - There is a new pair of attributes [`File.content_string`](https://www.mkdocs.org/dev-guide/api/#mkdocs.structure.files.File.content_string]/\[\`content_bytes\`]\[mkdocs.structure.files.File.content_bytes) that becomes the official API for obtaining the content of a file and is used by MkDocs itself. This replaces the old approach where one had to manually read the file located at [`File.abs_src_path`](https://www.mkdocs.org/dev-guide/api/#mkdocs.structure.files.File.abs_src_path), although that is still the primary action that these new attributes do under the hood. - The content of a `File` can be backed by a string and no longer has to be a real existing file at `abs_src_path`. It is possible to **set** the attribute `File.content_string` or `File.content_bytes` and it will take precedence over `abs_src_path`. Further, `abs_src_path` is no longer guaranteed to be present and can be `None` instead. MkDocs itself still uses physical files in all cases, but eventually plugins will appear that don't populate this attribute. - There is a new constructor [`File.generated()`](https://www.mkdocs.org/dev-guide/api/#mkdocs.structure.files.File.generated) that should be used by plugins instead of the `File()` constructor. It is much more convenient because one doesn't need to manually look up the values such as `docs_dir` and `use_directory_urls`. Its signature is one of: ```python f = File.generated(config: MkDocsConfig, src_uri: str, content: str | bytes) f = File.generated(config: MkDocsConfig, src_uri: str, abs_src_path: str) ``` This way, it is now extremely easy to add a virtual file even from a hook: ```python def on_files(files: Files, config: MkDocsConfig): files.append(File.generated(config, 'fake/path.md', content="Hello, world!")) ``` For large content it is still best to use physical files, but one no longer needs to manipulate the path by providing a fake unused `docs_dir`. - There is a new attribute [`File.generated_by`](https://www.mkdocs.org/dev-guide/api/#mkdocs.structure.files.File.generated_by) that arose by convention - for generated files it should be set to the name of the plugin (the key in the `plugins:` collection) that produced this file. This attribute is populated automatically when using the `File.generated()` constructor. - It is possible to set the [`edit_uri`](https://www.mkdocs.org/dev-guide/api/#mkdocs.structure.files.File.edit_uri) attribute of a `File`, for example from a plugin or hook, to make it different from the default (equal to `src_uri`), and this will be reflected in the edit link of the document. This can be useful because some pages aren't backed by a real file and are instead created dynamically from some other source file or script. So a hook could set the `edit_uri` to that source file or script accordingly. - The `File` object now stores its original `src_dir`, `dest_dir`, `use_directory_urls` values as attributes. - Fields of `File` are computed on demand but cached. Only the three above attributes are primary ones, and partly also [`dest_uri`](https://www.mkdocs.org/dev-guide/api/#mkdocs.structure.files.File.dest_uri). This way, it is possible to, for example, overwrite `dest_uri` of a `File`, and `abs_dest_path` will be calculated based on it. However you need to clear the attribute first using `del f.abs_dest_path`, because the values are cached. - `File` instances are now hashable (can be used as keys of a `dict`). Two files can no longer be considered "equal" unless it's the exact same instance of `File`. Other changes: - The internal storage of `File` objects inside a `Files` object has been reworked, so any plugins that choose to access `Files._files` will get a deprecation warning. - The order of `File` objects inside a `Files` collection is no longer significant when automatically inferring the `nav`. They get forcibly sorted according to the default alphabetic order. Context: [#3451](https://redirect.github.com/mkdocs/mkdocs/issues/3451), [#3463](https://redirect.github.com/mkdocs/mkdocs/issues/3463) #### Hooks and debugging - Hook files can now import adjacent \*.py files using the `import` statement. Previously this was possible to achieve only through a `sys.path` workaround. See the new mention in [documentation](https://www.mkdocs.org/user-guide/configuration/#hooks). Context: [#3568](https://redirect.github.com/mkdocs/mkdocs/issues/3568) - Verbose `-v` log shows the sequence of plugin events in more detail - shows each invoked plugin one by one, not only the event type. Context: [#3444](https://redirect.github.com/mkdocs/mkdocs/issues/3444) #### Deprecations - Python 3.7 is no longer supported, Python 3.12 is officially supported. Context: [#3429](https://redirect.github.com/mkdocs/mkdocs/issues/3429) - The theme config file `mkdocs_theme.yml` no longer executes YAML tags. Context: [#3465](https://redirect.github.com/mkdocs/mkdocs/issues/3465) - The plugin event `on_page_read_source` is soft-deprecated because there is always a better alternative to it (see the new `File` API or just `on_page_markdown`, depending on the desired interaction). When multiple plugins/hooks apply this event handler, they trample over each other, so now there is a warning in that case. See [**documentation**](https://www.mkdocs.org/dev-guide/plugins/#on_page_read_source). Context: [#3503](https://redirect.github.com/mkdocs/mkdocs/issues/3503) ##### API deprecations - It is no longer allowed to set `File.page` to a type other than `Page` or a subclass thereof. Context: [#3443](https://redirect.github.com/mkdocs/mkdocs/issues/3443) - following the deprecation in version 1.5.3 and [#3381](https://redirect.github.com/mkdocs/mkdocs/issues/3381). - `Theme._vars` is deprecated - use `theme['foo']` instead of `theme._vars['foo']` - `utils`: `modified_time()`, `get_html_path()`, `get_url_path()`, `is_html_file()`, `is_template_file()` are removed. `path_to_url()` is deprecated. - `LiveReloadServer.watch()` no longer accepts a custom callback. Context: [#3429](https://redirect.github.com/mkdocs/mkdocs/issues/3429) #### Misc - The `sitemap.xml.gz` file is slightly more reproducible and no longer changes on every build, but instead only once per day (upon a date change). Context: [#3460](https://redirect.github.com/mkdocs/mkdocs/issues/3460) Other small improvements; see [commit log](https://redirect.github.com/mkdocs/mkdocs/compare/1.5.3...1.6.0).squidfunk/mkdocs-material (mkdocs-material)
### [`v9.5.39`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.39): mkdocs-material-9.5.39 [Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.38...9.5.39) - Fixed [#7226](https://redirect.github.com/squidfunk/mkdocs-material/issues/7226): not staying on page when using mike's canonical versioning Thanks go to [@ilyagr](https://redirect.github.com/ilyagr) for their contributions ### [`v9.5.38`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.38): mkdocs-material-9.5.38 [Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.37...9.5.38) - Added Albanian translations Thanks go to [@gerardkraja](https://redirect.github.com/gerardkraja) for their contributions ### [`v9.5.37`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.37): mkdocs-material-9.5.37 [Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.36...9.5.37) - Added 4th and 5th level ordered list styles - Fixed [#7548](https://redirect.github.com/squidfunk/mkdocs-material/issues/7548): Tags have no spacing in search ### [`v9.5.36`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.36): mkdocs-material-9.5.36 [Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.35...9.5.36) - Fixed [#7544](https://redirect.github.com/squidfunk/mkdocs-material/issues/7544): Social cards incorrectly rendering HTML entities - Fixed [#7542](https://redirect.github.com/squidfunk/mkdocs-material/issues/7542): Improved support for setting custom list styles ### [`v9.5.35`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.35): mkdocs-material-9.5.35 [Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.34...9.5.35) - Fixed [#7498](https://redirect.github.com/squidfunk/mkdocs-material/issues/7498): Search not showing for Vietnamese language ### [`v9.5.34`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.34): mkdocs-material-9.5.34 [Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.33...9.5.34) - Updated Mermaid.js to version 11 (latest) Thanks go to [@manselmi](https://redirect.github.com/manselmi) for their contributions ### [`v9.5.33`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.33): mkdocs-material-9.5.33 [Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.32...9.5.33) - Fixed [#7453](https://redirect.github.com/squidfunk/mkdocs-material/issues/7453): Incorrect position of tooltip when sorting table ### [`v9.5.32`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.32): mkdocs-material-9.5.32 [Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.31...9.5.32) - Fixed RXSS vulnerability via deep link in search results - Added support for fetching latest release from GitLab Thanks go to [@joaopalmeiro](https://redirect.github.com/joaopalmeiro) for their contributions ### [`v9.5.31`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.31): mkdocs-material-9.5.31 [Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.30...9.5.31) - Fixed [#7405](https://redirect.github.com/squidfunk/mkdocs-material/issues/7405): DockerHub missing images > 9.5.27 due to change in Alpine/APK ### [`v9.5.30`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.30): mkdocs-material-9.5.30 [Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.29...9.5.30) - Fixed [#7380](https://redirect.github.com/squidfunk/mkdocs-material/issues/7380): Navigation icons disappearing on hover in Safari - Fixed [#7367](https://redirect.github.com/squidfunk/mkdocs-material/issues/7367): Blog readtime computation includes SVG text content Thanks go to [@sisp](https://redirect.github.com/sisp) for their contributions ### [`v9.5.29`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.29): mkdocs-material-9.5.29 [Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.28...9.5.29) - Updated Galician translations - Fixed [#7362](https://redirect.github.com/squidfunk/mkdocs-material/issues/7362): Annotations in figure captions rendering incorrectly Thanks go to [@mmontes11](https://redirect.github.com/mmontes11) for their contributions ### [`v9.5.28`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.28): mkdocs-material-9.5.28 [Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.27...9.5.28) - Fixed [#7313](https://redirect.github.com/squidfunk/mkdocs-material/issues/7313): Improved tooltips mounted in sidebar when feature is disabled ### [`v9.5.27`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.27): mkdocs-material-9.5.27 [Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.26...9.5.27) - Updated Estonian translations Thanks to [@Eilyre](https://redirect.github.com/Eilyre) for their contributions ### [`v9.5.26`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.26): mkdocs-material-9.5.26 [Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.25...9.5.26) - Fixed [#7232](https://redirect.github.com/squidfunk/mkdocs-material/issues/7232): Tab switches on scroll when linking tabs (9.5.19 regression) - Fixed [#7230](https://redirect.github.com/squidfunk/mkdocs-material/issues/7230): Blog author avatar broken when referring to local file ### [`v9.5.25`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.25): mkdocs-material-9.5.25 [Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.24...9.5.25) - Fixed [#7209](https://redirect.github.com/squidfunk/mkdocs-material/issues/7209): Tags plugin crashing on numeric tags ### [`v9.5.24`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.24): mkdocs-material-9.5.24 [Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.23...9.5.24) - Fixed [#7187](https://redirect.github.com/squidfunk/mkdocs-material/issues/7187): Version selector title rendering issue ### [`v9.5.23`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.23): mkdocs-material-9.5.23 [Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.22...9.5.23) - Fixed [#7183](https://redirect.github.com/squidfunk/mkdocs-material/issues/7183): Edge case in anchor navigation when using instant navigation - Fixed [#6436](https://redirect.github.com/squidfunk/mkdocs-material/issues/6436): Version selector not showing version alias ### [`v9.5.22`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.22): mkdocs-material-9.5.22 [Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.21...9.5.22) - Fixed [#7170](https://redirect.github.com/squidfunk/mkdocs-material/issues/7170): Copy button adds empty lines for line spans (9.5.18 regression) - Fixed [#7160](https://redirect.github.com/squidfunk/mkdocs-material/issues/7160): Version switching doesn't stay on page (9.5.5 regression) - Fixed [#5619](https://redirect.github.com/squidfunk/mkdocs-material/issues/5619): Links in Mermaid.js diagrams not discernible ### [`v9.5.21`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.21): mkdocs-material-9.5.21 [Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.20...9.5.21) - Fixed [#7133](https://redirect.github.com/squidfunk/mkdocs-material/issues/7133): Ensure latest version of Mermaid.js is used - Fixed [#7125](https://redirect.github.com/squidfunk/mkdocs-material/issues/7125): Added warning for dotfiles in info plugin Thanks to [@kamilkrzyskow](https://redirect.github.com/kamilkrzyskow) for their contributions ### [`v9.5.20`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.20): mkdocs-material-9.5.20 [Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.19...9.5.20) - Fixed deprecation warning in privacy plugin (9.5.19 regression) - Fixed [#7119](https://redirect.github.com/squidfunk/mkdocs-material/issues/7119): Tags plugin emits deprecation warning (9.5.19 regression) - Fixed [#7118](https://redirect.github.com/squidfunk/mkdocs-material/issues/7118): Social plugin crashes if fonts are disabled (9.5.19 regression) - Fixed [#7085](https://redirect.github.com/squidfunk/mkdocs-material/issues/7085): Social plugin crashes on Windows when downloading fonts ### [`v9.5.19`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.19): mkdocs-material-9.5.19 [Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.18...9.5.19) - Updated MkDocs to 1.6 and limited version to < 2 - Updated Docker image to latest Alpine Linux - Removed `setup.py`, now that GitHub fully understands `pyproject.toml` - Improved interop of social plugin with third-party MkDocs themes - Fixed [#7099](https://redirect.github.com/squidfunk/mkdocs-material/issues/7099): Blog reading time not rendered correctly for Japanese - Fixed [#7097](https://redirect.github.com/squidfunk/mkdocs-material/issues/7097): Improved resilience of tags plugin when no tags are given - Fixed [#7090](https://redirect.github.com/squidfunk/mkdocs-material/issues/7090): Active tab indicator in nested content tabs rendering bug ### [`v9.5.18`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.18): mkdocs-material-9.5.18 [Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.17...9.5.18) - Refactored tooltips implementation to fix positioning issues - Fixed [#7044](https://redirect.github.com/squidfunk/mkdocs-material/issues/7044): Rendering glitch when hovering contributor avatar in Chrome - Fixed [#7043](https://redirect.github.com/squidfunk/mkdocs-material/issues/7043): Highlighted lines in code blocks cutoff on mobile - Fixed [#6910](https://redirect.github.com/squidfunk/mkdocs-material/issues/6910): Incorrect position of tooltip for page status in sidebar - Fixed [#6760](https://redirect.github.com/squidfunk/mkdocs-material/issues/6760): Incorrect position and overly long tooltip in tables - Fixed [#6488](https://redirect.github.com/squidfunk/mkdocs-material/issues/6488): Incorrect position and cutoff tooltip in content tabs ### [`v9.5.17`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.17): mkdocs-material-9.5.17 [Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.16...9.5.17) - Updated Serbian translations - Fixed [#7003](https://redirect.github.com/squidfunk/mkdocs-material/issues/7003): Confusing keyboard interaction for palette toggle - Fixed [#7001](https://redirect.github.com/squidfunk/mkdocs-material/issues/7001): Blog posts now show time by default (9.5.16 regression) - Fixed edge case in backport of social plugin font loading logic Thanks to [@stcksmsh](https://redirect.github.com/stcksmsh) for their contributions. ### [`v9.5.16`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.16): mkdocs-material-9.5.16 [Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.15...9.5.16) - Updated Russian translations - Improved error handling and reporting in social plugin - Improved error handling and reporting in privacy plugin - Fixed blog plugin not allowing to use time in format strings - Fixed [#6983](https://redirect.github.com/squidfunk/mkdocs-material/issues/6983): Social plugin crashes because of Google Fonts API change Thanks to [@kamilkrzyskow](https://redirect.github.com/kamilkrzyskow), [@Guts](https://redirect.github.com/Guts), [@szg-alex-payne](https://redirect.github.com/szg-alex-payne) and [@natakazakova](https://redirect.github.com/natakazakova) for their contributions ### [`v9.5.15`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.15): mkdocs-material-9.5.15 [Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.14...9.5.15) - Reverted fix for transparent iframes (9.5.14) - Fixed [#6929](https://redirect.github.com/squidfunk/mkdocs-material/issues/6929): Interference of social plugin and auto dark mode - Fixed [#6938](https://redirect.github.com/squidfunk/mkdocs-material/issues/6938): Giscus shows dark background in light mode (9.5.14 regression) ### [`v9.5.14`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.14): mkdocs-material-9.5.14 [Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.13...9.5.14) - Added support for hiding versions from selector when using mike - Added init system to improve signal handling in Docker image - Fixed edge cases in exclusion logic of info plugin - Fixed inability to reset pipeline in search plugin - Fixed syntax error in Finnish translations - Fixed [#6917](https://redirect.github.com/squidfunk/mkdocs-material/issues/6917): UTF-8 encoding problems in blog plugin on Windows - Fixed [#6889](https://redirect.github.com/squidfunk/mkdocs-material/issues/6889): Transparent iframes get background color Thanks to [@kamilkrzyskow](https://redirect.github.com/kamilkrzyskow), [@yubiuser](https://redirect.github.com/yubiuser) and [@todeveni](https://redirect.github.com/todeveni) for their contributions ### [`v9.5.13`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.13): mkdocs-material-9.5.13 [Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.12...9.5.13) - Updated Slovak translations - Improved info plugin interop with projects plugin - Improved info plugin inclusion/exclusion logic - Fixed info plugin not gathering files recursively - Fixed [#6750](https://redirect.github.com/squidfunk/mkdocs-material/issues/6750): Ensure info plugin packs up all necessary files Thanks to [@kamilkrzyskow](https://redirect.github.com/kamilkrzyskow) and [@scepka](https://redirect.github.com/scepka) for their contributions ### [`v9.5.12`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.12): mkdocs-material-9.5.12 [Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.11...9.5.12) - Fixed [#6846](https://redirect.github.com/squidfunk/mkdocs-material/issues/6846): Some meta tags removed on instant navigation (9.4.2 regression) - Fixed [#6823](https://redirect.github.com/squidfunk/mkdocs-material/issues/6823): KaTex not rendering on instant navigation (9.5.5 regression) - Fixed [#6821](https://redirect.github.com/squidfunk/mkdocs-material/issues/6821): Privacy plugin doesn't handle URLs with encoded characters ### [`v9.5.11`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.11): mkdocs-material-9.5.11 [Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.10...9.5.11) - Updated Finnish translation ### [`v9.5.10`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.10): mkdocs-material-9.5.10 [Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.9...9.5.10) - Updated Bahasa Malaysia translations - Fixed [#6783](https://redirect.github.com/squidfunk/mkdocs-material/issues/6783): Hide continue reading link for blog posts without separators - Fixed [#6779](https://redirect.github.com/squidfunk/mkdocs-material/issues/6779): Incorrect positioning of integrated table of contents ### [`v9.5.9`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.9): mkdocs-material-9.5.9 [Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.8...9.5.9) - Fixed navigation pruning with tabs and sections enabled ### [`v9.5.8`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.8): mkdocs-material-9.5.8 [Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.7...9.5.8) - Added Tamil translations - Updated Esperanto translations - Fixed relative images not being resolved for instant navigation ### [`v9.5.7`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.7): mkdocs-material-9.5.7 [Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.6...9.5.7) - Fixed [#6731](https://redirect.github.com/squidfunk/mkdocs-material/issues/6731): Small images in figures are not centered - Fixed [#6719](https://redirect.github.com/squidfunk/mkdocs-material/issues/6719): Instant navigation breaks table of contents (9.5.5 regression) ### [`v9.5.6`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.6): mkdocs-material-9.5.6 [Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.5...9.5.6) - Fixed [#6700](https://redirect.github.com/squidfunk/mkdocs-material/issues/6700): Missing styles for Mermaid.js labels with Markdown ### [`v9.5.5`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.5): mkdocs-material-9.5.5 [Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.4...9.5.5) - Updated Tagalog translations - Updated Pillow to 10.2 to mitigate security vulnerabilities - Improved resilience of instant navigation - Fixed [#6687](https://redirect.github.com/squidfunk/mkdocs-material/issues/6687): Updated Mermaid.js to version 10.7.0 (latest) - Fixed [#6652](https://redirect.github.com/squidfunk/mkdocs-material/issues/6652): Keyboard events in custom elements captured - Fixed [#6582](https://redirect.github.com/squidfunk/mkdocs-material/issues/6582): Instant navigation doesn't correctly handle alternate URLs - Fixed [#6565](https://redirect.github.com/squidfunk/mkdocs-material/issues/6565): Instant navigation doesn't allow for `onclick` handlers - Fixed [#6345](https://redirect.github.com/squidfunk/mkdocs-material/issues/6345): Instant navigation sometimes breaks browser back button - Fixed [#6334](https://redirect.github.com/squidfunk/mkdocs-material/issues/6334): Instant navigation doesn't correctly position anchors (Safari) - Fixed [#6275](https://redirect.github.com/squidfunk/mkdocs-material/issues/6275): Instant navigation doesn't correctly resolve after 404 - Fixed [#6102](https://redirect.github.com/squidfunk/mkdocs-material/issues/6102): Instant navigation reloads page on same link navigation ### [`v9.5.4`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.4): mkdocs-material-9.5.4 [Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.3...9.5.4) - Fixed [#6645](https://redirect.github.com/squidfunk/mkdocs-material/issues/6645): Local storage with invalid value can break site - Fixed [#6635](https://redirect.github.com/squidfunk/mkdocs-material/issues/6635): Tags icons before default ignored if default is set ### [`v9.5.3`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.3): mkdocs-material-9.5.3 [Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.2...9.5.3) - Limited version range of MkDocs to < 1.6 - Updated Macedonian translations - Fixed [#6520](https://redirect.github.com/squidfunk/mkdocs-material/issues/6520): Group plugin crashes when using mike - Fixed [#6494](https://redirect.github.com/squidfunk/mkdocs-material/issues/6494): Hide author's email address if disabled in git-authors plugin ### [`v9.5.2`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.2): mkdocs-material-9.5.2 [Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.1...9.5.2) - Fixed types for `slugify` settings in blog plugin config - Fixed [#6469](https://redirect.github.com/squidfunk/mkdocs-material/issues/6469): Horizontal scrollbars on MathJax containers ### [`v9.5.1`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.1): mkdocs-material-9.5.1 [Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.5.0...9.5.1) - Updated Greek translations - Fixed [#6464](https://redirect.github.com/squidfunk/mkdocs-material/issues/6464): Privacy plugin cannot be enabled - Fixed [#6461](https://redirect.github.com/squidfunk/mkdocs-material/issues/6461): Sorting blog posts ignores time component in date ### [`v9.5.0`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.5.0): mkdocs-material-9.5.0 [Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.4.14...9.5.0) Merged Insiders features of 'Goat's Horn' funding goal - Added privacy plugin: automatic downloading of external assets - Added support for card grids and grid layouts - Added support for improved tooltips - Added support for content tabs anchor links (deep linking) - Added support for automatic dark/light mode - Added support for document contributors ### [`v9.4.14`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.4.14): mkdocs-material-9.4.14 [Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.4.13...9.4.14) - Added support for linking authors in blog posts ### [`v9.4.13`](https://redirect.github.com/squidfunk/mkdocs-material/releases/tag/9.4.13): mkdocs-material-9.4.13 [Compare Source](https://redirect.github.com/squidfunk/mkdocs-material/compare/9.4.12...9.4.13) - Fixed [#6365](https://redirect.github.com/squidfunk/mkdocs-material/issues/6365): Blog plugin pagination links to previous pages broken -Configuration
📅 Schedule: Branch creation - "every 2 weeks on Sunday" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.