From 19118e4a1ed72748652475b17cf3c913ec8a9608 Mon Sep 17 00:00:00 2001 From: srv-rr-github-token <94607705+srv-rr-github-token@users.noreply.github.com> Date: Thu, 21 Mar 2024 11:40:12 +0000 Subject: [PATCH 01/11] chore(release): 4.13.0 # [4.13.0](https://github.com/splunk/addonfactory-solutions-library-python/compare/v4.12.0...v4.13.0) (2024-03-21) ### Features * add exception logging function, add tests ([#344](https://github.com/splunk/addonfactory-solutions-library-python/issues/344)) ([44e35c4](https://github.com/splunk/addonfactory-solutions-library-python/commit/44e35c4a4bf75f41edbd22bc43c547b740ede3f9)) * HECEventWriter can get scheme from HEC global settings ([#351](https://github.com/splunk/addonfactory-solutions-library-python/issues/351)) ([fef1d80](https://github.com/splunk/addonfactory-solutions-library-python/commit/fef1d80821bd362610d8c4ebc8b80e198397cfeb)) [ci skip] --- pyproject.toml | 2 +- solnlib/__init__.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 6252affc..42f6f934 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -16,7 +16,7 @@ [tool.poetry] name = "solnlib" -version = "4.13.0-beta.2" +version = "4.13.0" description = "The Splunk Software Development Kit for Splunk Solutions" authors = ["Splunk "] license = "Apache-2.0" diff --git a/solnlib/__init__.py b/solnlib/__init__.py index 620cfeda..2ef250b8 100644 --- a/solnlib/__init__.py +++ b/solnlib/__init__.py @@ -54,4 +54,4 @@ "utils", ] -__version__ = "4.13.0-beta.2" +__version__ = "4.13.0" From 74952e80ccc86eb33ceb0cfd7be3b6415cbcb7ba Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 29 Mar 2024 22:27:10 +0100 Subject: [PATCH 02/11] chore(deps): lock file maintenance (#357) --- poetry.lock | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/poetry.lock b/poetry.lock index fed5519c..619a1c1a 100644 --- a/poetry.lock +++ b/poetry.lock @@ -175,6 +175,20 @@ files = [ {file = "defusedxml-0.7.1.tar.gz", hash = "sha256:1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69"}, ] +[[package]] +name = "deprecation" +version = "2.1.0" +description = "A library to handle automated deprecations" +optional = false +python-versions = "*" +files = [ + {file = "deprecation-2.1.0-py2.py3-none-any.whl", hash = "sha256:a10811591210e1fb0e768a8c25517cabeabcba6f0bf96564f8ff45189f90b14a"}, + {file = "deprecation-2.1.0.tar.gz", hash = "sha256:72b3bde64e5d778694b0cf68178aed03d15e15477116add3fb773e581f9518ff"}, +] + +[package.dependencies] +packaging = "*" + [[package]] name = "exceptiongroup" version = "1.2.0" @@ -867,14 +881,17 @@ files = [ [[package]] name = "splunk-sdk" -version = "1.7.4" +version = "2.0.1" description = "The Splunk Software Development Kit for Python." optional = false python-versions = "*" files = [ - {file = "splunk-sdk-1.7.4.tar.gz", hash = "sha256:8f3f149e3a0daf7526ed36882c109e4ec8080e417efe25d23f4578e86d38b9f2"}, + {file = "splunk-sdk-2.0.1.tar.gz", hash = "sha256:a1cc9b24e0c9c79ef8e2845fedcca066638219eef0018163f97795dbfa367c67"}, ] +[package.dependencies] +deprecation = "*" + [[package]] name = "tomli" version = "2.0.1" From 4551bfa95b4f8c45fc5b390bb2a1c4d72544799d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 15 Apr 2024 09:28:56 +0200 Subject: [PATCH 03/11] chore(deps): lock file maintenance (#360) --- poetry.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/poetry.lock b/poetry.lock index 619a1c1a..07c93164 100644 --- a/poetry.lock +++ b/poetry.lock @@ -237,13 +237,13 @@ colorama = ">=0.4" [[package]] name = "idna" -version = "3.6" +version = "3.7" description = "Internationalized Domain Names in Applications (IDNA)" optional = false python-versions = ">=3.5" files = [ - {file = "idna-3.6-py3-none-any.whl", hash = "sha256:c05567e9c24a6b9faaa835c4821bad0590fbb9d5779e7caa6e1cc4978e7eb24f"}, - {file = "idna-3.6.tar.gz", hash = "sha256:9ecdbbd083b06798ae1e86adcbfe8ab1479cf864e4ee30fe4e46a003d12491ca"}, + {file = "idna-3.7-py3-none-any.whl", hash = "sha256:82fee1fc78add43492d3a1898bfa6d8a904cc97d8427f683ed8e798d07761aa0"}, + {file = "idna-3.7.tar.gz", hash = "sha256:028ff3aadf0609c1fd278d8ea3089299412a7a8b9bd005dd08b9f8285bcb5cfc"}, ] [[package]] From 634926ad5dea7f211178d7a750fdec6003584b4c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 15 Apr 2024 11:10:52 +0200 Subject: [PATCH 04/11] chore(deps): update all dependencies (#361) --- .github/workflows/build-test-release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-test-release.yml b/.github/workflows/build-test-release.yml index 81cbe2c5..ba727f07 100644 --- a/.github/workflows/build-test-release.yml +++ b/.github/workflows/build-test-release.yml @@ -47,7 +47,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - uses: apache/skywalking-eyes@v0.5.0 + - uses: apache/skywalking-eyes@v0.6.0 pre-commit: runs-on: ubuntu-latest From c8a48009783e0ec8d1607d4c82e1ff5eaf9ec948 Mon Sep 17 00:00:00 2001 From: sgoral-splunk <138458044+sgoral-splunk@users.noreply.github.com> Date: Fri, 19 Apr 2024 13:07:35 +0200 Subject: [PATCH 05/11] feat: extend events_ingested to accommodate UCC health check page (#358) Extended the `events_ingested` function to log more information such as index, host, account and input. --------- Co-authored-by: Artem Rys --- solnlib/log.py | 56 +++++++++++++++++++++++++++++++++--------- tests/unit/test_log.py | 43 ++++++++++++++++++++++++++++++-- 2 files changed, 86 insertions(+), 13 deletions(-) diff --git a/solnlib/log.py b/solnlib/log.py index 0d624c9b..138ea328 100644 --- a/solnlib/log.py +++ b/solnlib/log.py @@ -252,18 +252,52 @@ def modular_input_end(logger: logging.Logger, modular_input_name: str): def events_ingested( - logger: logging.Logger, modular_input_name: str, sourcetype: str, n_events: int + logger: logging.Logger, + modular_input_name: str, + sourcetype: str, + n_events: int, + index: str, + account: str = None, + host: str = None, ): - """Specific function to log the number of events ingested.""" - log_event( - logger, - { - "action": "events_ingested", - "modular_input_name": modular_input_name, - "sourcetype_ingested": sourcetype, - "n_events": n_events, - }, - ) + """Specific function to log the basic information of events ingested for + the monitoring dashboard. + + Arguments: + logger: Add-on logger. + modular_input_name: Full name of the modular input. It needs to be in a format ://. + In case of invalid format ValueError is raised. + sourcetype: Source type used to write event. + n_events: Number of ingested events. + index: Index used to write event. + account: Account used to write event. (optional) + host: Host used to write event. (optional) + """ + + if "://" in modular_input_name: + input_name = modular_input_name.split("/")[-1] + else: + raise ValueError( + f"Invalid modular input name: {modular_input_name}. " + f"It should be in format ://" + ) + + result = { + "action": "events_ingested", + "modular_input_name": modular_input_name, + "sourcetype_ingested": sourcetype, + "n_events": n_events, + "event_input": input_name, + "event_index": index, + } + + if account: + result["event_account"] = account + + if host: + result["event_host"] = host + + log_event(logger, result) def log_exception( diff --git a/tests/unit/test_log.py b/tests/unit/test_log.py index d19a14f0..2dbc5bc4 100644 --- a/tests/unit/test_log.py +++ b/tests/unit/test_log.py @@ -22,6 +22,7 @@ import threading import traceback import time +import pytest from unittest import mock from solnlib import log @@ -193,14 +194,52 @@ def test_modular_input_end(): def test_events_ingested(): with mock.patch("logging.Logger") as mock_logger: - log.events_ingested(mock_logger, "modular_input_name", "sourcetype", 5) + log.events_ingested( + mock_logger, "input_type://input_name", "sourcetype", 5, "default" + ) + + mock_logger.log.assert_called_once_with( + logging.INFO, + "action=events_ingested modular_input_name=input_type://input_name sourcetype_ingested=sourcetype " + "n_events=5 event_input=input_name event_index=default", + ) + + with mock.patch("logging.Logger") as mock_logger: + log.events_ingested( + mock_logger, + "demo://modular_input_name", + "sourcetype", + 5, + "default", + host="abcd", + account="test_acc", + ) mock_logger.log.assert_called_once_with( logging.INFO, - "action=events_ingested modular_input_name=modular_input_name sourcetype_ingested=sourcetype n_events=5", + "action=events_ingested modular_input_name=demo://modular_input_name sourcetype_ingested=sourcetype n_" + "events=5 event_input=modular_input_name event_index=default event_account=test_acc event_host=abcd", ) +def test_events_ingested_invalid_input(): + exp_msg = "Invalid modular input name: modular_input_name. It should be in format ://" + + with pytest.raises(ValueError) as excinfo: + with mock.patch("logging.Logger") as mock_logger: + log.events_ingested( + mock_logger, + "modular_input_name", + "sourcetype", + 5, + "default", + host="abcd", + account="test_acc", + ) + + assert exp_msg == str(excinfo.value) + + def test_log_exceptions_full_msg(): start_msg = "some msg before exception" with mock.patch("logging.Logger") as mock_logger: From c14f9909ce1228a2896a81689dc58989eb9d341c Mon Sep 17 00:00:00 2001 From: srv-rr-github-token <94607705+srv-rr-github-token@users.noreply.github.com> Date: Fri, 19 Apr 2024 11:12:29 +0000 Subject: [PATCH 06/11] chore(release): 4.14.0 # [4.14.0](https://github.com/splunk/addonfactory-solutions-library-python/compare/v4.13.0...v4.14.0) (2024-04-19) ### Features * extend events_ingested to accommodate UCC health check page ([#358](https://github.com/splunk/addonfactory-solutions-library-python/issues/358)) ([c8a4800](https://github.com/splunk/addonfactory-solutions-library-python/commit/c8a48009783e0ec8d1607d4c82e1ff5eaf9ec948)) [ci skip] --- pyproject.toml | 2 +- solnlib/__init__.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 42f6f934..4bff74b5 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -16,7 +16,7 @@ [tool.poetry] name = "solnlib" -version = "4.13.0" +version = "4.14.0" description = "The Splunk Software Development Kit for Splunk Solutions" authors = ["Splunk "] license = "Apache-2.0" diff --git a/solnlib/__init__.py b/solnlib/__init__.py index 2ef250b8..863460af 100644 --- a/solnlib/__init__.py +++ b/solnlib/__init__.py @@ -54,4 +54,4 @@ "utils", ] -__version__ = "4.13.0" +__version__ = "4.14.0" From 05dbd234b906e49de5fd36d7b0c72f0bc1d0f167 Mon Sep 17 00:00:00 2001 From: Hetang Modi <62056057+hetangmodi-crest@users.noreply.github.com> Date: Fri, 7 Jun 2024 19:45:43 +0530 Subject: [PATCH 07/11] fix(log_level): update fetching loglevel with stanza (#364) Allow developers to pass their logging stanza name while getting the log level via `conf_manager.py`. --- solnlib/conf_manager.py | 4 ++- tests/unit/test_conf_manager.py | 57 +++++++++++++++++++++++++++++++++ 2 files changed, 60 insertions(+), 1 deletion(-) diff --git a/solnlib/conf_manager.py b/solnlib/conf_manager.py index b10f00c4..141e871e 100644 --- a/solnlib/conf_manager.py +++ b/solnlib/conf_manager.py @@ -506,6 +506,7 @@ def get_log_level( session_key: str, app_name: str, conf_name: str, + log_stanza: str = "logging", log_level_field: str = "loglevel", default_log_level: str = "INFO", ) -> str: @@ -517,6 +518,7 @@ def get_log_level( session_key: Splunk access token. app_name: Add-on name. conf_name: Configuration file name where logging stanza is. + log_stanza: Logging stanza to define `log_level_field` and its value. log_level_field: Logging level field name under logging stanza. default_log_level: Default log level to return in case of errors. @@ -547,7 +549,7 @@ def get_log_level( ) return default_log_level try: - logging_details = conf.get("logging") + logging_details = conf.get(log_stanza) return logging_details.get(log_level_field, default_log_level) except ConfStanzaNotExistException: logger.error( diff --git a/tests/unit/test_conf_manager.py b/tests/unit/test_conf_manager.py index 15f5533d..bb06ca9c 100644 --- a/tests/unit/test_conf_manager.py +++ b/tests/unit/test_conf_manager.py @@ -32,3 +32,60 @@ def test_get_log_level_when_error_getting_conf(mock_conf_manager_class): ) assert expected_log_level == log_level + + +@mock.patch.object(conf_manager, "ConfManager") +def test_get_log_level_with_custom_values(mock_conf_manager_class): + mock_conf_manager = mock_conf_manager_class.return_value + mock_conf_manager.get_conf.return_value = {"my_logger": {"my_field": "DEBUG"}} + expected_log_level = "DEBUG" + + log_level = conf_manager.get_log_level( + logger=mock.MagicMock(), + session_key="session_key", + app_name="app_name", + conf_name="conf_name", + log_stanza="my_logger", + log_level_field="my_field", + ) + + assert log_level == expected_log_level + + +@mock.patch.object(conf_manager, "ConfManager") +def test_get_log_level_with_no_logging_stanza(mock_conf_manager_class): + mock_conf_manager = mock_conf_manager_class.return_value + mock_conf_manager.get_conf.return_value = mock.MagicMock() + mock_conf_manager.get_conf.return_value.get.side_effect = ( + conf_manager.ConfStanzaNotExistException + ) + logger = mock.MagicMock() + expected_log_level = "INFO" + + log_level = conf_manager.get_log_level( + logger=logger, + session_key="session_key", + app_name="app_name", + conf_name="conf_name", + log_stanza="my_logger", + log_level_field="my_field", + ) + + assert log_level == expected_log_level + assert logger.error.call_count == 1 + + +@mock.patch.object(conf_manager, "ConfManager") +def test_get_log_level_with_default_fields(mock_conf_manager_class): + mock_conf_manager = mock_conf_manager_class.return_value + mock_conf_manager.get_conf.return_value = {"logging": {"loglevel": "WARN"}} + expected_log_level = "WARN" + + log_level = conf_manager.get_log_level( + logger=mock.MagicMock(), + session_key="session_key", + app_name="app_name", + conf_name="conf_name", + ) + + assert log_level == expected_log_level From 8d71722470a98ed7fc66e2fb38229f6ced83b7ea Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 7 Jun 2024 16:16:22 +0200 Subject: [PATCH 08/11] chore(deps): lock file maintenance (#362) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Update | Change | |---|---| | lockFileMaintenance | All locks refreshed | 🔧 This Pull Request updates lock files to use the latest dependency versions. --- ### Configuration 📅 **Schedule**: Branch creation - "every weekend" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/splunk/addonfactory-solutions-library-python). Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- poetry.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/poetry.lock b/poetry.lock index 07c93164..d1ee40b3 100644 --- a/poetry.lock +++ b/poetry.lock @@ -191,13 +191,13 @@ packaging = "*" [[package]] name = "exceptiongroup" -version = "1.2.0" +version = "1.2.1" description = "Backport of PEP 654 (exception groups)" optional = false python-versions = ">=3.7" files = [ - {file = "exceptiongroup-1.2.0-py3-none-any.whl", hash = "sha256:4bfd3996ac73b41e9b9628b04e079f193850720ea5945fc96a08633c66912f14"}, - {file = "exceptiongroup-1.2.0.tar.gz", hash = "sha256:91f5c769735f051a4290d52edd0858999b57e5876e9f85937691bd4c9fa3ed68"}, + {file = "exceptiongroup-1.2.1-py3-none-any.whl", hash = "sha256:5258b9ed329c5bbdd31a309f53cbfb0b155341807f6ff7606a1e801a891b29ad"}, + {file = "exceptiongroup-1.2.1.tar.gz", hash = "sha256:a4785e48b045528f5bfe627b6ad554ff32def154f42372786903b7abcfe1aa16"}, ] [package.extras] From 40ef6441f79de5d44584d779519b442668188152 Mon Sep 17 00:00:00 2001 From: srv-rr-github-token <94607705+srv-rr-github-token@users.noreply.github.com> Date: Fri, 7 Jun 2024 14:22:26 +0000 Subject: [PATCH 09/11] chore(release): 4.14.1 ## [4.14.1](https://github.com/splunk/addonfactory-solutions-library-python/compare/v4.14.0...v4.14.1) (2024-06-07) ### Bug Fixes * **log_level:** update fetching loglevel with stanza ([#364](https://github.com/splunk/addonfactory-solutions-library-python/issues/364)) ([05dbd23](https://github.com/splunk/addonfactory-solutions-library-python/commit/05dbd234b906e49de5fd36d7b0c72f0bc1d0f167)) [ci skip] --- pyproject.toml | 2 +- solnlib/__init__.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 4bff74b5..790d59f8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -16,7 +16,7 @@ [tool.poetry] name = "solnlib" -version = "4.14.0" +version = "4.14.1" description = "The Splunk Software Development Kit for Splunk Solutions" authors = ["Splunk "] license = "Apache-2.0" diff --git a/solnlib/__init__.py b/solnlib/__init__.py index 863460af..753ae50f 100644 --- a/solnlib/__init__.py +++ b/solnlib/__init__.py @@ -54,4 +54,4 @@ "utils", ] -__version__ = "4.14.0" +__version__ = "4.14.1" From caea9d593e037ef2368090726bd45827ad592cf5 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 8 Jun 2024 09:51:43 +0200 Subject: [PATCH 10/11] chore(deps): lock file maintenance (#365) --- poetry.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/poetry.lock b/poetry.lock index d1ee40b3..01f2014a 100644 --- a/poetry.lock +++ b/poetry.lock @@ -30,13 +30,13 @@ files = [ [[package]] name = "certifi" -version = "2024.2.2" +version = "2024.6.2" description = "Python package for providing Mozilla's CA Bundle." optional = false python-versions = ">=3.6" files = [ - {file = "certifi-2024.2.2-py3-none-any.whl", hash = "sha256:dc383c07b76109f368f6106eee2b593b04a011ea4d55f652c6ca24a754d1cdd1"}, - {file = "certifi-2024.2.2.tar.gz", hash = "sha256:0569859f95fc761b18b45ef421b1290a0f65f147e92a1e5eb3e635f9a5e4e66f"}, + {file = "certifi-2024.6.2-py3-none-any.whl", hash = "sha256:ddc6c8ce995e6987e7faf5e3f1b02b302836a0e5d98ece18392cb1a36c72ad56"}, + {file = "certifi-2024.6.2.tar.gz", hash = "sha256:3cd43f1c6fa7dedc5899d69d3ad0398fd018ad1a17fba83ddaf78aa46c747516"}, ] [[package]] @@ -279,13 +279,13 @@ files = [ [[package]] name = "jinja2" -version = "3.1.3" +version = "3.1.4" description = "A very fast and expressive template engine." optional = false python-versions = ">=3.7" files = [ - {file = "Jinja2-3.1.3-py3-none-any.whl", hash = "sha256:7d6d50dd97d52cbc355597bd845fabfbac3f551e1f99619e39a35ce8c370b5fa"}, - {file = "Jinja2-3.1.3.tar.gz", hash = "sha256:ac8bd6544d4bb2c9792bf3a159e80bba8fda7f07e81bc3aed565432d5925ba90"}, + {file = "jinja2-3.1.4-py3-none-any.whl", hash = "sha256:bc5dd2abb727a5319567b7a813e6a2e7318c39f4f487cfe6c89c6f9c7d25197d"}, + {file = "jinja2-3.1.4.tar.gz", hash = "sha256:4a3aee7acbbe7303aede8e9648d13b8bf88a429282aa6122a993f0ac800cb369"}, ] [package.dependencies] From 2952714bc23f35dd8ba8d15dd5eff85c98c2c04e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 9 Jun 2024 16:21:00 +0200 Subject: [PATCH 11/11] chore(deps): update all dependencies (#366) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | Type | Update | |---|---|---|---|---|---|---|---| | [mkdocs](https://togithub.com/mkdocs/mkdocs) ([changelog](https://www.mkdocs.org/about/release-notes/)) | `1.5.3` -> `1.6.0` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/mkdocs/1.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/mkdocs/1.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/mkdocs/1.5.3/1.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/mkdocs/1.5.3/1.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dev | minor | | [mkdocs-material](https://togithub.com/squidfunk/mkdocs-material) ([changelog](https://squidfunk.github.io/mkdocs-material/changelog/)) | `9.2.7` -> `9.5.26` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/mkdocs-material/9.5.26?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/mkdocs-material/9.5.26?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/mkdocs-material/9.2.7/9.5.26?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/mkdocs-material/9.2.7/9.5.26?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dev | minor | | [mkdocstrings](https://togithub.com/mkdocstrings/mkdocstrings) ([changelog](https://mkdocstrings.github.io/changelog)) | `0.22.0` -> `0.25.1` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/mkdocstrings/0.25.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/mkdocstrings/0.25.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/mkdocstrings/0.22.0/0.25.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/mkdocstrings/0.22.0/0.25.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dev | minor | | [pytest](https://togithub.com/pytest-dev/pytest) ([changelog](https://docs.pytest.org/en/stable/changelog.html)) | `7.4.4` -> `8.2.2` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/pytest/8.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/pytest/8.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/pytest/7.4.4/8.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/pytest/7.4.4/8.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dev | major | | [requests](https://requests.readthedocs.io) ([source](https://togithub.com/psf/requests), [changelog](https://togithub.com/psf/requests/blob/master/HISTORY.md)) | `2.31.0` -> `2.32.3` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/requests/2.32.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/requests/2.32.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/requests/2.31.0/2.32.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/requests/2.31.0/2.32.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | | [splunk/addonfactory-test-matrix-action](https://togithub.com/splunk/addonfactory-test-matrix-action) | `v1` -> `v2` | [![age](https://developer.mend.io/api/mc/badges/age/github-tags/splunk%2faddonfactory-test-matrix-action/v2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/github-tags/splunk%2faddonfactory-test-matrix-action/v2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/github-tags/splunk%2faddonfactory-test-matrix-action/v1/v2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/github-tags/splunk%2faddonfactory-test-matrix-action/v1/v2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | action | major | --- ### Release Notes
mkdocs/mkdocs (mkdocs) ### [`v1.6.0`](https://togithub.com/mkdocs/mkdocs/releases/tag/1.6.0) [Compare Source](https://togithub.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://togithub.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://togithub.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://togithub.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://togithub.com/mkdocs/mkdocs/issues/3564), [#​3578](https://togithub.com/mkdocs/mkdocs/issues/3578) #### Themes - Built-in themes now also support Polish language ([#​3613](https://togithub.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://togithub.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://togithub.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://togithub.com/mkdocs/mkdocs/issues/3613), [#​3625](https://togithub.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://togithub.com/mkdocs/mkdocs/issues/3493), [#​3649](https://togithub.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://togithub.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://togithub.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://togithub.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://togithub.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://togithub.com/mkdocs/mkdocs/issues/3466) - Config validation now exits on first error, to avoid showing bizarre secondary errors. Context: [#​3437](https://togithub.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://togithub.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://togithub.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://togithub.com/mkdocs/mkdocs/issues/3451), [#​3463](https://togithub.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://togithub.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://togithub.com/mkdocs/mkdocs/issues/3444) #### Deprecations - Python 3.7 is no longer supported, Python 3.12 is officially supported. Context: [#​3429](https://togithub.com/mkdocs/mkdocs/issues/3429) - The theme config file `mkdocs_theme.yml` no longer executes YAML tags. Context: [#​3465](https://togithub.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://togithub.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://togithub.com/mkdocs/mkdocs/issues/3443) - following the deprecation in version 1.5.3 and [#​3381](https://togithub.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://togithub.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://togithub.com/mkdocs/mkdocs/issues/3460) Other small improvements; see [commit log](https://togithub.com/mkdocs/mkdocs/compare/1.5.3...1.6.0).
squidfunk/mkdocs-material (mkdocs-material) ### [`v9.5.26`](https://togithub.com/squidfunk/mkdocs-material/releases/tag/9.5.26): mkdocs-material-9.5.26 [Compare Source](https://togithub.com/squidfunk/mkdocs-material/compare/9.5.25...9.5.26) - Fixed [#​7232](https://togithub.com/squidfunk/mkdocs-material/issues/7232): Tab switches on scroll when linking tabs (9.5.19 regression) - Fixed [#​7230](https://togithub.com/squidfunk/mkdocs-material/issues/7230): Blog author avatar broken when referring to local file ### [`v9.5.25`](https://togithub.com/squidfunk/mkdocs-material/releases/tag/9.5.25): mkdocs-material-9.5.25 [Compare Source](https://togithub.com/squidfunk/mkdocs-material/compare/9.5.24...9.5.25) - Fixed [#​7209](https://togithub.com/squidfunk/mkdocs-material/issues/7209): Tags plugin crashing on numeric tags ### [`v9.5.24`](https://togithub.com/squidfunk/mkdocs-material/releases/tag/9.5.24): mkdocs-material-9.5.24 [Compare Source](https://togithub.com/squidfunk/mkdocs-material/compare/9.5.23...9.5.24) - Fixed [#​7187](https://togithub.com/squidfunk/mkdocs-material/issues/7187): Version selector title rendering issue ### [`v9.5.23`](https://togithub.com/squidfunk/mkdocs-material/releases/tag/9.5.23): mkdocs-material-9.5.23 [Compare Source](https://togithub.com/squidfunk/mkdocs-material/compare/9.5.22...9.5.23) - Fixed [#​7183](https://togithub.com/squidfunk/mkdocs-material/issues/7183): Edge case in anchor navigation when using instant navigation - Fixed [#​6436](https://togithub.com/squidfunk/mkdocs-material/issues/6436): Version selector not showing version alias ### [`v9.5.22`](https://togithub.com/squidfunk/mkdocs-material/releases/tag/9.5.22): mkdocs-material-9.5.22 [Compare Source](https://togithub.com/squidfunk/mkdocs-material/compare/9.5.21...9.5.22) - Fixed [#​7170](https://togithub.com/squidfunk/mkdocs-material/issues/7170): Copy button adds empty lines for line spans (9.5.18 regression) - Fixed [#​7160](https://togithub.com/squidfunk/mkdocs-material/issues/7160): Version switching doesn't stay on page (9.5.5 regression) - Fixed [#​5619](https://togithub.com/squidfunk/mkdocs-material/issues/5619): Links in Mermaid.js diagrams not discernible ### [`v9.5.21`](https://togithub.com/squidfunk/mkdocs-material/releases/tag/9.5.21): mkdocs-material-9.5.21 [Compare Source](https://togithub.com/squidfunk/mkdocs-material/compare/9.5.20...9.5.21) - Fixed [#​7133](https://togithub.com/squidfunk/mkdocs-material/issues/7133): Ensure latest version of Mermaid.js is used - Fixed [#​7125](https://togithub.com/squidfunk/mkdocs-material/issues/7125): Added warning for dotfiles in info plugin Thanks to [@​kamilkrzyskow](https://togithub.com/kamilkrzyskow) for their contributions ### [`v9.5.20`](https://togithub.com/squidfunk/mkdocs-material/releases/tag/9.5.20): mkdocs-material-9.5.20 [Compare Source](https://togithub.com/squidfunk/mkdocs-material/compare/9.5.19...9.5.20) - Fixed deprecation warning in privacy plugin (9.5.19 regression) - Fixed [#​7119](https://togithub.com/squidfunk/mkdocs-material/issues/7119): Tags plugin emits deprecation warning (9.5.19 regression) - Fixed [#​7118](https://togithub.com/squidfunk/mkdocs-material/issues/7118): Social plugin crashes if fonts are disabled (9.5.19 regression) - Fixed [#​7085](https://togithub.com/squidfunk/mkdocs-material/issues/7085): Social plugin crashes on Windows when downloading fonts ### [`v9.5.19`](https://togithub.com/squidfunk/mkdocs-material/releases/tag/9.5.19): mkdocs-material-9.5.19 [Compare Source](https://togithub.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://togithub.com/squidfunk/mkdocs-material/issues/7099): Blog reading time not rendered correctly for Japanese - Fixed [#​7097](https://togithub.com/squidfunk/mkdocs-material/issues/7097): Improved resilience of tags plugin when no tags are given - Fixed [#​7090](https://togithub.com/squidfunk/mkdocs-material/issues/7090): Active tab indicator in nested content tabs rendering bug ### [`v9.5.18`](https://togithub.com/squidfunk/mkdocs-material/releases/tag/9.5.18): mkdocs-material-9.5.18 [Compare Source](https://togithub.com/squidfunk/mkdocs-material/compare/9.5.17...9.5.18) - Refactored tooltips implementation to fix positioning issues - Fixed [#​7044](https://togithub.com/squidfunk/mkdocs-material/issues/7044): Rendering glitch when hovering contributor avatar in Chrome - Fixed [#​7043](https://togithub.com/squidfunk/mkdocs-material/issues/7043): Highlighted lines in code blocks cutoff on mobile - Fixed [#​6910](https://togithub.com/squidfunk/mkdocs-material/issues/6910): Incorrect position of tooltip for page status in sidebar - Fixed [#​6760](https://togithub.com/squidfunk/mkdocs-material/issues/6760): Incorrect position and overly long tooltip in tables - Fixed [#​6488](https://togithub.com/squidfunk/mkdocs-material/issues/6488): Incorrect position and cutoff tooltip in content tabs ### [`v9.5.17`](https://togithub.com/squidfunk/mkdocs-material/releases/tag/9.5.17): mkdocs-material-9.5.17 [Compare Source](https://togithub.com/squidfunk/mkdocs-material/compare/9.5.16...9.5.17) - Updated Serbian translations - Fixed [#​7003](https://togithub.com/squidfunk/mkdocs-material/issues/7003): Confusing keyboard interaction for palette toggle - Fixed [#​7001](https://togithub.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://togithub.com/stcksmsh) for their contributions. ### [`v9.5.16`](https://togithub.com/squidfunk/mkdocs-material/releases/tag/9.5.16): mkdocs-material-9.5.16 [Compare Source](https://togithub.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://togithub.com/squidfunk/mkdocs-material/issues/6983): Social plugin crashes because of Google Fonts API change Thanks to [@​kamilkrzyskow](https://togithub.com/kamilkrzyskow), [@​Guts](https://togithub.com/Guts), [@​szg-alex-payne](https://togithub.com/szg-alex-payne) and [@​natakazakova](https://togithub.com/natakazakova) for their contributions ### [`v9.5.15`](https://togithub.com/squidfunk/mkdocs-material/releases/tag/9.5.15): mkdocs-material-9.5.15 [Compare Source](https://togithub.com/squidfunk/mkdocs-material/compare/9.5.14...9.5.15) - Reverted fix for transparent iframes (9.5.14) - Fixed [#​6929](https://togithub.com/squidfunk/mkdocs-material/issues/6929): Interference of social plugin and auto dark mode - Fixed [#​6938](https://togithub.com/squidfunk/mkdocs-material/issues/6938): Giscus shows dark background in light mode (9.5.14 regression) ### [`v9.5.14`](https://togithub.com/squidfunk/mkdocs-material/releases/tag/9.5.14): mkdocs-material-9.5.14 [Compare Source](https://togithub.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://togithub.com/squidfunk/mkdocs-material/issues/6917): UTF-8 encoding problems in blog plugin on Windows - Fixed [#​6889](https://togithub.com/squidfunk/mkdocs-material/issues/6889): Transparent iframes get background color Thanks to [@​kamilkrzyskow](https://togithub.com/kamilkrzyskow), [@​yubiuser](https://togithub.com/yubiuser) and [@​todeveni](https://togithub.com/todeveni) for their contributions ### [`v9.5.13`](https://togithub.com/squidfunk/mkdocs-material/releases/tag/9.5.13): mkdocs-material-9.5.13 [Compare Source](https://togithub.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://togithub.com/squidfunk/mkdocs-material/issues/6750): Ensure info plugin packs up all necessary files Thanks to [@​kamilkrzyskow](https://togithub.com/kamilkrzyskow) and [@​scepka](https://togithub.com/scepka) for their contributions ### [`v9.5.12`](https://togithub.com/squidfunk/mkdocs-material/releases/tag/9.5.12): mkdocs-material-9.5.12 [Compare Source](https://togithub.com/squidfunk/mkdocs-material/compare/9.5.11...9.5.12) - Fixed [#​6846](https://togithub.com/squidfunk/mkdocs-material/issues/6846): Some meta tags removed on instant navigation (9.4.2 regression) - Fixed [#​6823](https://togithub.com/squidfunk/mkdocs-material/issues/6823): KaTex not rendering on instant navigation (9.5.5 regression) - Fixed [#​6821](https://togithub.com/squidfunk/mkdocs-material/issues/6821): Privacy plugin doesn't handle URLs with encoded characters ### [`v9.5.11`](https://togithub.com/squidfunk/mkdocs-material/releases/tag/9.5.11): mkdocs-material-9.5.11 [Compare Source](https://togithub.com/squidfunk/mkdocs-material/compare/9.5.10...9.5.11) - Updated Finnish translation ### [`v9.5.10`](https://togithub.com/squidfunk/mkdocs-material/releases/tag/9.5.10): mkdocs-material-9.5.10 [Compare Source](https://togithub.com/squidfunk/mkdocs-material/compare/9.5.9...9.5.10) - Updated Bahasa Malaysia translations - Fixed [#​6783](https://togithub.com/squidfunk/mkdocs-material/issues/6783): Hide continue reading link for blog posts without separators - Fixed [#​6779](https://togithub.com/squidfunk/mkdocs-material/issues/6779): Incorrect positioning of integrated table of contents ### [`v9.5.9`](https://togithub.com/squidfunk/mkdocs-material/releases/tag/9.5.9): mkdocs-material-9.5.9 [Compare Source](https://togithub.com/squidfunk/mkdocs-material/compare/9.5.8...9.5.9) - Fixed navigation pruning with tabs and sections enabled ### [`v9.5.8`](https://togithub.com/squidfunk/mkdocs-material/releases/tag/9.5.8): mkdocs-material-9.5.8 [Compare Source](https://togithub.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://togithub.com/squidfunk/mkdocs-material/releases/tag/9.5.7): mkdocs-material-9.5.7 [Compare Source](https://togithub.com/squidfunk/mkdocs-material/compare/9.5.6...9.5.7) - Fixed [#​6731](https://togithub.com/squidfunk/mkdocs-material/issues/6731): Small images in figures are not centered - Fixed [#​6719](https://togithub.com/squidfunk/mkdocs-material/issues/6719): Instant navigation breaks table of contents (9.5.5 regression) ### [`v9.5.6`](https://togithub.com/squidfunk/mkdocs-material/releases/tag/9.5.6): mkdocs-material-9.5.6 [Compare Source](https://togithub.com/squidfunk/mkdocs-material/compare/9.5.5...9.5.6) - Fixed [#​6700](https://togithub.com/squidfunk/mkdocs-material/issues/6700): Missing styles for Mermaid.js labels with Markdown ### [`v9.5.5`](https://togithub.com/squidfunk/mkdocs-material/releases/tag/9.5.5): mkdocs-material-9.5.5 [Compare Source](https://togithub.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://togithub.com/squidfunk/mkdocs-material/issues/6687): Updated Mermaid.js to version 10.7.0 (latest) - Fixed [#​6652](https://togithub.com/squidfunk/mkdocs-material/issues/6652): Keyboard events in custom elements captured - Fixed [#​6582](https://togithub.com/squidfunk/mkdocs-material/issues/6582): Instant navigation doesn't correctly handle alternate URLs - Fixed [#​6565](https://togithub.com/squidfunk/mkdocs-material/issues/6565): Instant navigation doesn't allow for `onclick` handlers - Fixed [#​6345](https://togithub.com/squidfunk/mkdocs-material/issues/6345): Instant navigation sometimes breaks browser back button - Fixed [#​6334](https://togithub.com/squidfunk/mkdocs-material/issues/6334): Instant navigation doesn't correctly position anchors (Safari) - Fixed [#​6275](https://togithub.com/squidfunk/mkdocs-material/issues/6275): Instant navigation doesn't correctly resolve after 404 - Fixed [#​6102](https://togithub.com/squidfunk/mkdocs-material/issues/6102): Instant navigation reloads page on same link navigation ### [`v9.5.4`](https://togithub.com/squidfunk/mkdocs-material/releases/tag/9.5.4): mkdocs-material-9.5.4 [Compare Source](https://togithub.com/squidfunk/mkdocs-material/compare/9.5.3...9.5.4) - Fixed [#​6645](https://togithub.com/squidfunk/mkdocs-material/issues/6645): Local storage with invalid value can break site - Fixed [#​6635](https://togithub.com/squidfunk/mkdocs-material/issues/6635): Tags icons before default ignored if default is set ### [`v9.5.3`](https://togithub.com/squidfunk/mkdocs-material/releases/tag/9.5.3): mkdocs-material-9.5.3 [Compare Source](https://togithub.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://togithub.com/squidfunk/mkdocs-material/issues/6520): Group plugin crashes when using mike - Fixed [#​6494](https://togithub.com/squidfunk/mkdocs-material/issues/6494): Hide author's email address if disabled in git-authors plugin ### [`v9.5.2`](https://togithub.com/squidfunk/mkdocs-material/releases/tag/9.5.2): mkdocs-material-9.5.2 [Compare Source](https://togithub.com/squidfunk/mkdocs-material/compare/9.5.1...9.5.2) - Fixed types for `slugify` settings in blog plugin config - Fixed [#​6469](https://togithub.com/squidfunk/mkdocs-material/issues/6469): Horizontal scrollbars on MathJax containers ### [`v9.5.1`](https://togithub.com/squidfunk/mkdocs-material/releases/tag/9.5.1): mkdocs-material-9.5.1 [Compare Source](https://togithub.com/squidfunk/mkdocs-material/compare/9.5.0...9.5.1) - Updated Greek translations - Fixed [#​6464](https://togithub.com/squidfunk/mkdocs-material/issues/6464): Privacy plugin cannot be enabled - Fixed [#​6461](https://togithub.com/squidfunk/mkdocs-material/issues/6461): Sorting blog posts ignores time component in date ### [`v9.5.0`](https://togithub.com/squidfunk/mkdocs-material/releases/tag/9.5.0): mkdocs-material-9.5.0 [Compare Source](https://togithub.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://togithub.com/squidfunk/mkdocs-material/releases/tag/9.4.14): mkdocs-material-9.4.14 [Compare Source](https://togithub.com/squidfunk/mkdocs-material/compare/9.4.13...9.4.14) - Added support for linking authors in blog posts ### [`v9.4.13`](https://togithub.com/squidfunk/mkdocs-material/releases/tag/9.4.13): mkdocs-material-9.4.13 [Compare Source](https://togithub.com/squidfunk/mkdocs-material/compare/9.4.12...9.4.13) - Fixed [#​6365](https://togithub.com/squidfunk/mkdocs-material/issues/6365): Blog plugin pagination links to previous pages broken - Fixed [#​5758](https://togithub.com/squidfunk/mkdocs-material/issues/5758): Updated Mermaid.js to version 10.6.1 (latest) ### [`v9.4.12`](https://togithub.com/squidfunk/mkdocs-material/releases/tag/9.4.12): mkdocs-material-9.4.12 [Compare Source](https://togithub.com/squidfunk/mkdocs-material/compare/9.4.11...9.4.12) - Improved blog plugin to generate Unicode-aware slugs by default - Fixed non-deterministic order of categories in blog plugin ### [`v9.4.11`](https://togithub.com/squidfunk/mkdocs-material/releases/tag/9.4.11): mkdocs-material-9.4.11 [Compare Source](https://togithub.com/squidfunk/mkdocs-material/compare/9.4.10...9.4.11) - Fixed [#​6364](https://togithub.com/squidfunk/mkdocs-material/issues/6364): Search plugin crashing when enabling theme while serving - Fixed blog plugin crashing when disabling pagination ### [`v9.4.10`](https://togithub.com/squidfunk/mkdocs-material/releases/tag/9.4.10): mkdocs-material-9.4.10 [Compare Source](https://togithub.com/squidfunk/mkdocs-material/compare/9.4.9...9.4.10) - Fixed [#​6356](https://togithub.com/squidfunk/mkdocs-material/issues/6356): Version selector can't be disabled via mike's configuration - Fixed [#​6281](https://togithub.com/squidfunk/mkdocs-material/issues/6281): Navigation not rendering due to Safari bug (9.4.2 regression) - Fixed [#​6261](https://togithub.com/squidfunk/mkdocs-material/issues/6261): Navigation expansion animates on first load (9.4.2 regression) ### [`v9.4.9`](https://togithub.com/squidfunk/mkdocs-material/releases/tag/9.4.9): mkdocs-material-9.4.9 [Compare Source](https://togithub.com/squidfunk/mkdocs-material/compare/9.4.8...9.4.9) - Fixed [#​6344](https://togithub.com/squidfunk/mkdocs-material/issues/6344): Long entries cutoff in table of contents - Fixed [#​6336](https://togithub.com/squidfunk/mkdocs-material/issues/6336): Custom template for glob archive not working with pagination - Fixed [#​6328](https://togithub.com/squidfunk/mkdocs-material/issues/6328): Blog plugin crashes for locales with dashes, e.g. `pt-BR` - Fixed [#​6327](https://togithub.com/squidfunk/mkdocs-material/issues/6327): Copy-to-clipboard button doesn't trim trailing line feed - Fixed [#​6302](https://togithub.com/squidfunk/mkdocs-material/issues/6302): Version strings not matched when using mike, only aliases - Fixed instant navigation progress indicator for gzipped content in Chrome - Fixed rendering bug on details marker rotation in Firefox ### [`v9.4.8`](https://togithub.com/squidfunk/mkdocs-material/releases/tag/9.4.8): mkdocs-material-9.4.8 [Compare Source](https://togithub.com/squidfunk/mkdocs-material/compare/9.4.7...9.4.8) - Fixed invalid local address replacement when using instant loading - Fixed [#​6275](https://togithub.com/squidfunk/mkdocs-material/issues/6275): Crash after navigation caused 404 when using instant loading ### [`v9.4.7`](https://togithub.com/squidfunk/mkdocs-material/releases/tag/9.4.7): mkdocs-material-9.4.7 [Compare Source](https://togithub.com/squidfunk/mkdocs-material/compare/9.4.6...9.4.7) - Added Azerbaijani translations ### [`v9.4.6`](https://togithub.com/squidfunk/mkdocs-material/releases/tag/9.4.6): mkdocs-material-9.4.6 [Compare Source](https://togithub.com/squidfunk/mkdocs-material/compare/9.4.5...9.4.6) - Updated Danish and Norwegian (Nynorsk) translations - Fixed [#​6169](https://togithub.com/squidfunk/mkdocs-material/issues/6169): Blog post metadata layout overflows on small screens ### [`v9.4.5`](https://togithub.com/squidfunk/mkdocs-material/releases/tag/9.4.5): mkdocs-material-9.4.5 [Compare Source](https://togithub.com/squidfunk/mkdocs-material/compare/9.4.4...9.4.5) - Fixed sidebar auto-positioning (9.4.2 regression) - Fixed [#​6166](https://togithub.com/squidfunk/mkdocs-material/issues/6166): Improve group plugin compatibility with Python < 3.10 - Fixed [#​6157](https://togithub.com/squidfunk/mkdocs-material/issues/6157): Hiding tags does not work (9.4.3 regression) ### [`v9.4.4`](https://togithub.com/squidfunk/mkdocs-material/releases/tag/9.4.4): mkdocs-material-9.4.4 [Compare Source](https://togithub.com/squidfunk/mkdocs-material/compare/9.4.3...9.4.4) - Added support for overriding text to be copied for code blocks - Fixed broken layout in some browsers at breakpoints when using zoom - Fixed [#​6132](https://togithub.com/squidfunk/mkdocs-material/issues/6132): Incomplete search highlighting for code blocks in titles ### [`v9.4.3`](https://togithub.com/squidfunk/mkdocs-material/releases/tag/9.4.3): mkdocs-material-9.4.3 [Compare Source](https://togithub.com/squidfunk/mkdocs-material/compare/9.4.2...9.4.3) - Added support for instant navigation progress indicator - Improved spacing and alignment of tags - Moved back-to-top button into separate partial - Fixed [#​6104](https://togithub.com/squidfunk/mkdocs-material/issues/6104): Indentation for some code blocks lost in search - Fixed [#​6094](https://togithub.com/squidfunk/mkdocs-material/issues/6094): Blog post metadata overlaps with footer on small screens - Fixed [#​6069](https://togithub.com/squidfunk/mkdocs-material/issues/6069): Blog plugin crashes for categories with non-ASCII names **Updated templates** ([diff](https://togithub.com/squidfunk/mkdocs-material/compare/9.4.2...9.4.3)) - `base.html` ### [`v9.4.2`](https://togithub.com/squidfunk/mkdocs-material/releases/tag/9.4.2): mkdocs-material-9.4.2 [Compare Source](https://togithub.com/squidfunk/mkdocs-material/compare/9.4.1...9.4.2) - Updated Slovenian translations - Added animation to sidebar navigation expansion and collapse - Added support for auto-replacement of document head for instant navigation - Improved compatibility of new emoji extension with Python < 3.10 - Switched regex dependency to use minimal version - Refactored alignment and spacing of sidebar navigation - Fixed expansion button not focusable via keyboard in sidebar navigation - Fixed viewport offset restoration on first load when using instant navigation - Fixed accidental highlight of non-clickable elements in blog plugin sidebar - Fixed [#​6041](https://togithub.com/squidfunk/mkdocs-material/issues/6041): Blog plugin crashes when `nav` is defined and blog not included - Fixed [#​5972](https://togithub.com/squidfunk/mkdocs-material/issues/5972): Blog plugin ignores section index pages in paginated views - Fixed [#​5954](https://togithub.com/squidfunk/mkdocs-material/issues/5954): Repeated click on anchor ignored when using instant navigation - Fixed [#​5742](https://togithub.com/squidfunk/mkdocs-material/issues/5742): Keyboard navigation broken when using instant navigation **Updated templates** ([diff](https://togithub.com/squidfunk/mkdocs-material/compare/9.4.1...9.4.2)) - `partials/nav-item.html` - `blog-post.html` ### [`v9.4.1`](https://togithub.com/squidfunk/mkdocs-material/releases/tag/9.4.1): mkdocs-material-9.4.1 [Compare Source](https://togithub.com/squidfunk/mkdocs-material/compare/9.4.0...9.4.1) - Improved colors and contrast in dark mode - Improved admonition borders to match font weight - Switched content tabs to neutral color ### [`v9.4.0`](https://togithub.com/squidfunk/mkdocs-material/releases/tag/9.4.0): mkdocs-material-9.4.0 [Compare Source](https://togithub.com/squidfunk/mkdocs-material/compare/9.3.2...9.4.0) - Added Belarusian translations - Added version info to entrypoint of package - Added emoji extension as a replacement for `materialx` - Improved slate color scheme (dark mode) - now even darker - Restructured project to improve development experience - Updated MkDocs to 1.5.3 - Fixed [#​3890](https://togithub.com/squidfunk/mkdocs-material/issues/3890): Development mode crash on Linux ### [`v9.3.2`](https://togithub.com/squidfunk/mkdocs-material/releases/tag/9.3.2): mkdocs-material-9.3.2 [Compare Source](https://togithub.com/squidfunk/mkdocs-material/compare/9.3.1...9.3.2) - Updated Slovenian translations - Updated Python dependencies in requirements to use minimum versions - Fixed [#​6017](https://togithub.com/squidfunk/mkdocs-material/issues/6017): Code highlighting inconsistent in Community and Insiders edition - Fixed [#​6001](https://togithub.com/squidfunk/mkdocs-material/issues/6001): Contributor avatars display incorrectly in Firefox - Fixed [#​6000](https://togithub.com/squidfunk/mkdocs-material/issues/6000): Blog post drafts are included in navigation ### [`v9.3.1`](https://togithub.com/squidfunk/mkdocs-material/releases/tag/9.3.1): mkdocs-material-9.3.1 [Compare Source](https://togithub.com/squidfunk/mkdocs-material/compare/9.3.0...9.3.1) - Fixed crash of group plugin when used together with hooks ### [`v9.3.0`](https://togithub.com/squidfunk/mkdocs-material/releases/tag/9.3.0): mkdocs-material-9.3.0 [Compare Source](https://togithub.com/squidfunk/mkdocs-material/compare/9.2.8...9.3.0) - Improved configuration sharing between community and Insiders edition - Added experimental built-in group plugin for enabling plugins conditionally - Added new settings in tags plugin for enabling/disabling - Dropped support for Python 3.7 (EOL) ### [`v9.2.8`](https://togithub.com/squidfunk/mkdocs-material/releases/tag/9.2.8): mkdocs-material-9.2.8 [Compare Source](https://togithub.com/squidfunk/mkdocs-material/compare/9.2.7...9.2.8) - Updated Italian and Russian translations - Fixed [#​5952](https://togithub.com/squidfunk/mkdocs-material/issues/5952): Combining blog and tags plugin leads to wrong links - Fixed [#​5951](https://togithub.com/squidfunk/mkdocs-material/issues/5951): Blog plugin ignores post title in metadata - Fixed [#​5949](https://togithub.com/squidfunk/mkdocs-material/issues/5949): Blog plugin ignores post linked in nav
mkdocstrings/mkdocstrings (mkdocstrings) ### [`v0.25.1`](https://togithub.com/mkdocstrings/mkdocstrings/blob/HEAD/CHANGELOG.md#0251---2024-05-05) [Compare Source](https://togithub.com/mkdocstrings/mkdocstrings/compare/0.25.0...0.25.1) [Compare with 0.25.0](https://togithub.com/mkdocstrings/mkdocstrings/compare/0.25.0...0.25.1) ##### Bug Fixes - Always descend into sub-headings when re-applying their label ([cb86e08](https://togithub.com/mkdocstrings/mkdocstrings/commit/cb86e08bbc5e8057393aa1cd7ca29bc2b40ab5eb) by Timothée Mazzucotelli). [Issue-mkdocstrings/python-158](https://togithub.com/mkdocstrings/python/issues/158) ### [`v0.25.0`](https://togithub.com/mkdocstrings/mkdocstrings/blob/HEAD/CHANGELOG.md#0250---2024-04-27) [Compare Source](https://togithub.com/mkdocstrings/mkdocstrings/compare/0.24.3...0.25.0) [Compare with 0.24.3](https://togithub.com/mkdocstrings/mkdocstrings/compare/0.24.3...0.25.0) ##### Features - Support `once` parameter in logging methods, allowing to log a message only once with a given logger ([1532b59](https://togithub.com/mkdocstrings/mkdocstrings/commit/1532b59a6efd99fed846cf7edfd0b26525700d3f) by Timothée Mazzucotelli). - Support blank line between `::: path` and YAML options ([d799d2f](https://togithub.com/mkdocstrings/mkdocstrings/commit/d799d2f3903bce44fb751f8cf3fb8078d25549da) by Timothée Mazzucotelli). [Issue-450](https://togithub.com/mkdocstrings/mkdocstrings/issues/450) ##### Code Refactoring - Allow specifying name of template loggers ([c5b5f69](https://togithub.com/mkdocstrings/mkdocstrings/commit/c5b5f697c83271d961c7ac795412d6b4964ba2b7) by Timothée Mazzucotelli). ### [`v0.24.3`](https://togithub.com/mkdocstrings/mkdocstrings/blob/HEAD/CHANGELOG.md#0243---2024-04-05) [Compare Source](https://togithub.com/mkdocstrings/mkdocstrings/compare/0.24.2...0.24.3) [Compare with 0.24.2](https://togithub.com/mkdocstrings/mkdocstrings/compare/0.24.2...0.24.3) ##### Bug Fixes - Support HTML toc labels with Python-Markdown 3.6+ (uncomment code...) ([7fe3e5f](https://togithub.com/mkdocstrings/mkdocstrings/commit/7fe3e5f28239c08094fb656728369998f52630ea) by Timothée Mazzucotelli). ### [`v0.24.2`](https://togithub.com/mkdocstrings/mkdocstrings/blob/HEAD/CHANGELOG.md#0242---2024-04-02) [Compare Source](https://togithub.com/mkdocstrings/mkdocstrings/compare/0.24.1...0.24.2) [Compare with 0.24.1](https://togithub.com/mkdocstrings/mkdocstrings/compare/0.24.1...0.24.2) ##### Bug Fixes - Support HTML toc labels with Python-Markdown 3.6+ ([c0d0090](https://togithub.com/mkdocstrings/mkdocstrings/commit/c0d009000678a2ccbfb0c8adfeff3dc83845ee41) by Timothée Mazzucotelli). [Issue-mkdocstrings/python-143](https://togithub.com/mkdocstrings/python/issues/143) ### [`v0.24.1`](https://togithub.com/mkdocstrings/mkdocstrings/blob/HEAD/CHANGELOG.md#0241---2024-02-27) [Compare Source](https://togithub.com/mkdocstrings/mkdocstrings/compare/0.24.0...0.24.1) [Compare with 0.24.0](https://togithub.com/mkdocstrings/mkdocstrings/compare/0.24.0...0.24.1) ##### Code Refactoring - Support new pymdownx-highlight options ([a7a2907](https://togithub.com/mkdocstrings/mkdocstrings/commit/a7a29079aebcd79be84ac38ce275797920e4c75e) by Timothée Mazzucotelli). - Backup anchors with id and no href, for compatibility with autorefs' Markdown anchors ([b5236b4](https://togithub.com/mkdocstrings/mkdocstrings/commit/b5236b4333ebde9648c84f6e4b0f4c2b10f3ecd4) by Timothée Mazzucotelli). [PR-#​651](https://togithub.com/mkdocstrings/mkdocstrings/pull/651), [Related-to-mkdocs-autorefs#39](https://togithub.com/mkdocstrings/autorefs/pull/39), Co-authored-by: Oleh Prypin ### [`v0.24.0`](https://togithub.com/mkdocstrings/mkdocstrings/blob/HEAD/CHANGELOG.md#0240---2023-11-14) [Compare Source](https://togithub.com/mkdocstrings/mkdocstrings/compare/0.23.0...0.24.0) [Compare with 0.23.0](https://togithub.com/mkdocstrings/mkdocstrings/compare/0.23.0...0.24.0) ##### Features - Cache downloaded inventories as local file ([ce84dd5](https://togithub.com/mkdocstrings/mkdocstrings/commit/ce84dd57dc5cd3bf3f4be9623ddaa73e1c1868f0) by Oleh Prypin). [PR #​632](https://togithub.com/mkdocstrings/mkdocstrings/pull/632) ##### Bug Fixes - Make `custom_templates` relative to the config file ([370a61d](https://togithub.com/mkdocstrings/mkdocstrings/commit/370a61d12b33f3fb61f6bddb3939eb8ff6018620) by Waylan Limberg). [Issue #​477](https://togithub.com/mkdocstrings/mkdocstrings/issues/477), [PR #​627](https://togithub.com/mkdocstrings/mkdocstrings/pull/627) - Remove duplicated headings for docstrings nested in tabs/admonitions ([e2123a9](https://togithub.com/mkdocstrings/mkdocstrings/commit/e2123a935edea0abdc1b439e2c2b76e002c76e2b) by Perceval Wajsburt, [f4a94f7](https://togithub.com/mkdocstrings/mkdocstrings/commit/f4a94f7d8b8eb1ac01d65bb7237f0077e320ddac) by Oleh Prypin). [Issue #​609](https://togithub.com/mkdocstrings/mkdocstrings/issues/609), [PR #​610](https://togithub.com/mkdocstrings/mkdocstrings/pull/610), [PR #​613](https://togithub.com/mkdocstrings/mkdocstrings/pull/613) ##### Code Refactoring - Drop support for MkDocs < 1.4, modernize usages ([b61d4d1](https://togithub.com/mkdocstrings/mkdocstrings/commit/b61d4d15258c66b14266aa04b456f191f101b2c6) by Oleh Prypin). [PR #​629](https://togithub.com/mkdocstrings/mkdocstrings/pull/629) ### [`v0.23.0`](https://togithub.com/mkdocstrings/mkdocstrings/blob/HEAD/CHANGELOG.md#0230---2023-08-28) [Compare Source](https://togithub.com/mkdocstrings/mkdocstrings/compare/0.22.0...0.23.0) [Compare with 0.22.0](https://togithub.com/mkdocstrings/mkdocstrings/compare/0.22.0...0.23.0) ##### Breaking Changes - Removed `BaseCollector` and `BaseRenderer` classes: they were merged into the `BaseHandler` class. - Removed the watch feature, as MkDocs now provides it natively. - Removed support for `selection` and `rendering` keys in YAML blocks: use `options` instead. - Removed support for loading handlers from the `mkdocstrings.handler` namespace. Handlers must now be packaged under the `mkdocstrings_handlers` namespace. ##### Features - Register all anchors for each object in the inventory ([228fb73](https://togithub.com/mkdocstrings/mkdocstrings/commit/228fb737caca4e20e600053bf59cbfa3e9c73906) by Timothée Mazzucotelli). ##### Bug Fixes - Don't add `codehilite` CSS class to inline code ([7690d41](https://togithub.com/mkdocstrings/mkdocstrings/commit/7690d41e2871997464367e673023585c4fb05e26) by Timothée Mazzucotelli). - Support cross-references for API docs rendered in top-level index page ([b194452](https://togithub.com/mkdocstrings/mkdocstrings/commit/b194452be93aee33b3c28a468762b4d96c501f4f) by Timothée Mazzucotelli). ##### Code Refactoring - Sort inventories before writing them to disk ([9371e9f](https://togithub.com/mkdocstrings/mkdocstrings/commit/9371e9fc7dd68506b73aa1580a12c5f5cd779aba) by Timothée Mazzucotelli). - Stop accepting sets as return value of `get_anchors` (only tuples), to preserve order ([2e10374](https://togithub.com/mkdocstrings/mkdocstrings/commit/2e10374be258e9713b26f73dd06d0c2520ec07a5) by Timothée Mazzucotelli). - Remove deprecated parts ([0a90a47](https://togithub.com/mkdocstrings/mkdocstrings/commit/0a90a474c8dcbd95821700d7dab63f03e392c40f) by Timothée Mazzucotelli). - Use proper parameters in `Inventory.register` method ([433c6e0](https://togithub.com/mkdocstrings/mkdocstrings/commit/433c6e01aab9333589f755e483f124db0836f143) by Timothée Mazzucotelli).
pytest-dev/pytest (pytest) ### [`v8.2.2`](https://togithub.com/pytest-dev/pytest/releases/tag/8.2.2) [Compare Source](https://togithub.com/pytest-dev/pytest/compare/8.2.1...8.2.2) # pytest 8.2.2 (2024-06-04) ## Bug Fixes - [#​12355](https://togithub.com/pytest-dev/pytest/issues/12355): Fix possible catastrophic performance slowdown on a certain parametrization pattern involving many higher-scoped parameters. - [#​12367](https://togithub.com/pytest-dev/pytest/issues/12367): Fix a regression in pytest 8.2.0 where unittest class instances (a fresh one is created for each test) were not released promptly on test teardown but only on session teardown. - [#​12381](https://togithub.com/pytest-dev/pytest/issues/12381): Fix possible "Directory not empty" crashes arising from concurent cache dir (`.pytest_cache`) creation. Regressed in pytest 8.2.0. ## Improved Documentation - [#​12290](https://togithub.com/pytest-dev/pytest/issues/12290): Updated Sphinx theme to use Furo instead of Flask, enabling Dark mode theme. - [#​12356](https://togithub.com/pytest-dev/pytest/issues/12356): Added a subsection to the documentation for debugging flaky tests to mention lack of thread safety in pytest as a possible source of flakyness. - [#​12363](https://togithub.com/pytest-dev/pytest/issues/12363): The documentation webpages now links to a canonical version to reduce outdated documentation in search engine results. ### [`v8.2.1`](https://togithub.com/pytest-dev/pytest/releases/tag/8.2.1) [Compare Source](https://togithub.com/pytest-dev/pytest/compare/8.2.0...8.2.1) # pytest 8.2.1 (2024-05-19) ## Improvements - [#​12334](https://togithub.com/pytest-dev/pytest/issues/12334): Support for Python 3.13 (beta1 at the time of writing). ## Bug Fixes - [#​12120](https://togithub.com/pytest-dev/pytest/issues/12120): Fix \[PermissionError]{.title-ref} crashes arising from directories which are not selected on the command-line. - [#​12191](https://togithub.com/pytest-dev/pytest/issues/12191): Keyboard interrupts and system exits are now properly handled during the test collection. - [#​12300](https://togithub.com/pytest-dev/pytest/issues/12300): Fixed handling of 'Function not implemented' error under squashfuse_ll, which is a different way to say that the mountpoint is read-only. - [#​12308](https://togithub.com/pytest-dev/pytest/issues/12308): Fix a regression in pytest 8.2.0 where the permissions of automatically-created `.pytest_cache` directories became `rwx------` instead of the expected `rwxr-xr-x`. ## Trivial/Internal Changes - [#​12333](https://togithub.com/pytest-dev/pytest/issues/12333): pytest releases are now attested using the recent [Artifact Attestation](https://github.blog/2024-05-02-introducing-artifact-attestations-now-in-public-beta/) support from GitHub, allowing users to verify the provenance of pytest's sdist and wheel artifacts. ### [`v8.2.0`](https://togithub.com/pytest-dev/pytest/releases/tag/8.2.0) [Compare Source](https://togithub.com/pytest-dev/pytest/compare/8.1.2...8.2.0) # pytest 8.2.0 (2024-04-27) ## Deprecations - [#​12069](https://togithub.com/pytest-dev/pytest/issues/12069): A deprecation warning is now raised when implementations of one of the following hooks request a deprecated `py.path.local` parameter instead of the `pathlib.Path` parameter which replaced it: - `pytest_ignore_collect`{.interpreted-text role="hook"} - the `path` parameter - use `collection_path` instead. - `pytest_collect_file`{.interpreted-text role="hook"} - the `path` parameter - use `file_path` instead. - `pytest_pycollect_makemodule`{.interpreted-text role="hook"} - the `path` parameter - use `module_path` instead. - `pytest_report_heade
--- ### 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 becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/splunk/addonfactory-solutions-library-python). Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/build-test-release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-test-release.yml b/.github/workflows/build-test-release.yml index ba727f07..5d5bf276 100644 --- a/.github/workflows/build-test-release.yml +++ b/.github/workflows/build-test-release.yml @@ -18,7 +18,7 @@ jobs: steps: - uses: actions/checkout@v4 - id: matrix - uses: splunk/addonfactory-test-matrix-action@v1 + uses: splunk/addonfactory-test-matrix-action@v2 fossa-scan: continue-on-error: true