diff --git a/CHANGELOG.md b/CHANGELOG.md
index 658ae74f..6346ccd3 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -6,6 +6,14 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
+## [0.30.1](https://github.com/mkdocstrings/mkdocstrings/releases/tag/0.30.1) - 2025-09-19
+
+[Compare with 0.30.0](https://github.com/mkdocstrings/mkdocstrings/compare/0.30.0...0.30.1)
+
+### Bug Fixes
+
+- Create default SSL context in main thread before downloading inventories ([eec7fb4](https://github.com/mkdocstrings/mkdocstrings/commit/eec7fb4bab948ef6db594fc1d1688be0554c5780) by Çağlar Kutlu). [Issue-796](https://github.com/mkdocstrings/mkdocstrings/issue/796), [PR-797](https://github.com/mkdocstrings/mkdocstrings/pull/797)
+
## [0.30.0](https://github.com/mkdocstrings/mkdocstrings/releases/tag/0.30.0) - 2025-07-23
[Compare with 0.29.1](https://github.com/mkdocstrings/mkdocstrings/compare/0.29.1...0.30.0)
diff --git a/README.md b/README.md
index 8d4b8bb0..cb6887e6 100644
--- a/README.md
+++ b/README.md
@@ -25,6 +25,7 @@ Come have a chat or ask questions on our [Gitter channel](https://gitter.im/mkdo
[C](https://mkdocstrings.github.io/c/),
[Crystal](https://mkdocstrings.github.io/crystal/),
[Python](https://mkdocstrings.github.io/python/),
+ [MATLAB](https://watermarkhu.nl/mkdocstrings-matlab/),
[TypeScript](https://mkdocstrings.github.io/typescript/), and
[VBA](https://pypi.org/project/mkdocstrings-vba/) languages,
as well as for [shell scripts/libraries](https://mkdocstrings.github.io/shell/).
@@ -72,7 +73,7 @@ Come have a chat or ask questions on our [Gitter channel](https://gitter.im/mkdo
[IBM](https://ds4sd.github.io/docling/api_reference/document_converter/),
[Jitsi](https://jitsi.github.io/jiwer/reference/alignment/),
[Microsoft](https://microsoft.github.io/presidio/api/analyzer_python/),
-[NVIDIA](https://nvidia.github.io/bionemo-framework/API_reference/bionemo/core/api/),
+[NVIDIA](https://nvidia.github.io/bionemo-framework/main/references/API_reference/bionemo/core/api/),
[Prefect](https://docs.prefect.io/2.10.12/api-ref/prefect/agent/),
[Pydantic](https://docs.pydantic.dev/dev-v2/api/main/),
[Textual](https://textual.textualize.io/api/app/),
diff --git a/docs/usage/handlers.md b/docs/usage/handlers.md
index 0d375a95..c4bbda57 100644
--- a/docs/usage/handlers.md
+++ b/docs/usage/handlers.md
@@ -8,6 +8,7 @@ A handler is what makes it possible to collect and render documentation for a pa
- [Crystal](https://mkdocstrings.github.io/crystal/){ .external }
- [Python](https://mkdocstrings.github.io/python/){ .external }
- [Python (Legacy)](https://mkdocstrings.github.io/python-legacy/){ .external }
+- [MATLAB](https://watermarkhu.nl/mkdocstrings-matlab/){ .external }
- [Shell](https://mkdocstrings.github.io/shell/){ .external }
- [TypeScript](https://mkdocstrings.github.io/typescript/){ .external }
- [VBA](https://pypi.org/project/mkdocstrings-vba/){ .external }
diff --git a/mkdocs.yml b/mkdocs.yml
index dc53327f..9163e91d 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -28,6 +28,7 @@ nav:
- Crystal: https://mkdocstrings.github.io/crystal/
- Python: https://mkdocstrings.github.io/python/
- Python (Legacy): https://mkdocstrings.github.io/python-legacy/
+ - MATLAB: https://watermarkhu.nl/mkdocstrings-matlab/
- Shell: https://mkdocstrings.github.io/shell/
- TypeScript: https://mkdocstrings.github.io/typescript/
- VBA: https://pypi.org/project/mkdocstrings-vba
diff --git a/src/mkdocstrings/_internal/extension.py b/src/mkdocstrings/_internal/extension.py
index 00b112d3..2277775c 100644
--- a/src/mkdocstrings/_internal/extension.py
+++ b/src/mkdocstrings/_internal/extension.py
@@ -125,7 +125,7 @@ def run(self, parent: Element, blocks: MutableSequence[str]) -> None:
heading_level = match["heading"].count("#")
_logger.debug("Matched '::: %s'", identifier)
- html, handler, data = self._process_block(identifier, block, heading_level)
+ html, handler, _ = self._process_block(identifier, block, heading_level)
el = Element("div", {"class": "mkdocstrings"})
# The final HTML is inserted as opaque to subsequent processing, and only revealed at the end.
el.text = self.md.htmlStash.store(html)
diff --git a/src/mkdocstrings/_internal/handlers/base.py b/src/mkdocstrings/_internal/handlers/base.py
index 60910436..c4e9950d 100644
--- a/src/mkdocstrings/_internal/handlers/base.py
+++ b/src/mkdocstrings/_internal/handlers/base.py
@@ -7,6 +7,7 @@
import datetime
import importlib
import inspect
+import ssl
import sys
from concurrent import futures
from io import BytesIO
@@ -753,6 +754,11 @@ def _download_inventories(self) -> None:
to_download.extend((handler, url, conf) for url, conf in inv_configs)
if to_download:
+ # YORE: EOL 3.12: Remove block.
+ # NOTE: Create context in main thread to fix issue
+ # https://github.com/mkdocstrings/mkdocstrings/issues/796.
+ _ = ssl.create_default_context()
+
thread_pool = futures.ThreadPoolExecutor(4)
for handler, url, conf in to_download:
_logger.debug("Downloading inventory from %s", url)