febus982 / bootstrap-python-fastapi

A python service built using Clean Architecture and SOLID principles
https://febus982.github.io/bootstrap-python-fastapi
40 stars 2 forks source link

Update all non-major dependencies #164

Closed renovate[bot] closed 6 months ago

renovate[bot] commented 6 months ago

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence Type Update
celery (source, changelog) 5.3.6 -> 5.4.0 age adoption passing confidence dependencies minor
coverage 7.4.4 -> 7.5.0 age adoption passing confidence dev minor
docker/setup-buildx-action v3.2.0 -> v3.3.0 age adoption passing confidence action minor
fastapi 0.110.1 -> 0.111.0 age adoption passing confidence http minor
mkdocs (changelog) 1.5.3 -> 1.6.0 age adoption passing confidence dev minor
mkdocs-material (changelog) 9.5.17 -> 9.5.21 age adoption passing confidence dev patch
mypy (source, changelog) 1.9.0 -> 1.10.0 age adoption passing confidence dev minor
pydantic (changelog) 2.6.4 -> 2.7.1 age adoption passing confidence dependencies minor
pymdown-extensions 10.7.1 -> 10.8.1 age adoption passing confidence dev minor
pytest (changelog) 8.1.1 -> 8.2.0 age adoption passing confidence dev minor
pytest-xdist (changelog) 3.5.0 -> 3.6.1 age adoption passing confidence dev minor
ruff (source, changelog) 0.3.5 -> 0.4.3 age adoption passing confidence dev minor
strawberry-graphql (source, changelog) 0.224.1 -> 0.227.3 age adoption passing confidence dev minor
strawberry-graphql (source, changelog) 0.224.1 -> 0.227.3 age adoption passing confidence http minor

Release Notes

celery/celery (celery) ### [`v5.4.0`](https://togithub.com/celery/celery/blob/HEAD/Changelog.rst#540) [Compare Source](https://togithub.com/celery/celery/compare/v5.3.6...v5.4.0) \===== :release-date: 2024-04-17 :release-by: Tomer Nosrati Celery v5.4.0 and v5.3.x have consistently focused on enhancing the overall QA, both internally and externally. This effort led to the new pytest-celery v1.0.0 release, developed concurrently with v5.3.0 & v5.4.0. This release introduces two significant QA enhancements: - **Smoke Tests**: A new layer of automatic tests has been added to Celery's standard CI. These tests are designed to handle production scenarios and complex conditions efficiently. While new contributions will not be halted due to the lack of smoke tests, we will request smoke tests for advanced changes where appropriate. - `Standalone Bug Report Script `\_: The new pytest-celery plugin now allows for encapsulating a complete Celery dockerized setup within a single pytest script. Incorporating these into new bug reports will enable us to reproduce reported bugs deterministically, potentially speeding up the resolution process. Contrary to the positive developments above, there have been numerous reports about issues with the Redis broker malfunctioning upon restarts and disconnections. Our initial attempts to resolve this were not successful ([#​8796](https://togithub.com/celery/celery/issues/8796)). With our enhanced QA capabilities, we are now prepared to address the core issue with Redis (as a broker) again. The rest of the changes for this release are grouped below, with the changes from the latest release candidate listed at the end. ## Changes - Add a Task class specialised for Django ([#​8491](https://togithub.com/celery/celery/issues/8491)) - Add Google Cloud Storage (GCS) backend ([#​8868](https://togithub.com/celery/celery/issues/8868)) - Added documentation to the smoke tests infra ([#​8970](https://togithub.com/celery/celery/issues/8970)) - Added a checklist item for using pytest-celery in a bug report ([#​8971](https://togithub.com/celery/celery/issues/8971)) - Bugfix: Missing id on chain ([#​8798](https://togithub.com/celery/celery/issues/8798)) - Bugfix: Worker not consuming tasks after Redis broker restart ([#​8796](https://togithub.com/celery/celery/issues/8796)) - Catch UnicodeDecodeError when opening corrupt beat-schedule.db ([#​8806](https://togithub.com/celery/celery/issues/8806)) - chore(ci): Enhance CI with `workflow_dispatch` for targeted debugging and testing ([#​8826](https://togithub.com/celery/celery/issues/8826)) - Doc: Enhance "Testing with Celery" section ([#​8955](https://togithub.com/celery/celery/issues/8955)) - Docfix: pip install celery\[sqs] -> pip install "celery\[sqs]" ([#​8829](https://togithub.com/celery/celery/issues/8829)) - Enable efficient `chord` when using dynamicdb as backend store ([#​8783](https://togithub.com/celery/celery/issues/8783)) - feat(daemon): allows daemonization options to be fetched from app settings ([#​8553](https://togithub.com/celery/celery/issues/8553)) - Fix DeprecationWarning: datetime.datetime.utcnow() ([#​8726](https://togithub.com/celery/celery/issues/8726)) - Fix recursive result parents on group in middle of chain ([#​8903](https://togithub.com/celery/celery/issues/8903)) - Fix typos and grammar ([#​8915](https://togithub.com/celery/celery/issues/8915)) - Fixed version documentation tag from [#​8553](https://togithub.com/celery/celery/issues/8553) in configuration.rst ([#​8802](https://togithub.com/celery/celery/issues/8802)) - Hotfix: Smoke tests didn't allow customizing the worker's command arguments, now it does ([#​8937](https://togithub.com/celery/celery/issues/8937)) - Make custom remote control commands available in CLI ([#​8489](https://togithub.com/celery/celery/issues/8489)) - Print safe_say() to stdout for non-error flows ([#​8919](https://togithub.com/celery/celery/issues/8919)) - Support moto 5.0 ([#​8838](https://togithub.com/celery/celery/issues/8838)) - Update contributing guide to use ssh upstream url ([#​8881](https://togithub.com/celery/celery/issues/8881)) - Update optimizing.rst ([#​8945](https://togithub.com/celery/celery/issues/8945)) - Updated concurrency docs page. ([#​8753](https://togithub.com/celery/celery/issues/8753)) ## Dependencies Updates - Bump actions/setup-python from 4 to 5 ([#​8701](https://togithub.com/celery/celery/issues/8701)) - Bump codecov/codecov-action from 3 to 4 ([#​8831](https://togithub.com/celery/celery/issues/8831)) - Bump isort from 5.12.0 to 5.13.2 ([#​8772](https://togithub.com/celery/celery/issues/8772)) - Bump msgpack from 1.0.7 to 1.0.8 ([#​8885](https://togithub.com/celery/celery/issues/8885)) - Bump mypy from 1.8.0 to 1.9.0 ([#​8898](https://togithub.com/celery/celery/issues/8898)) - Bump pre-commit to 3.6.1 ([#​8839](https://togithub.com/celery/celery/issues/8839)) - Bump pre-commit/action from 3.0.0 to 3.0.1 ([#​8835](https://togithub.com/celery/celery/issues/8835)) - Bump pytest from 8.0.2 to 8.1.1 ([#​8901](https://togithub.com/celery/celery/issues/8901)) - Bump pytest-celery to v1.0.0 ([#​8962](https://togithub.com/celery/celery/issues/8962)) - Bump pytest-cov to 5.0.0 ([#​8924](https://togithub.com/celery/celery/issues/8924)) - Bump pytest-order from 1.2.0 to 1.2.1 ([#​8941](https://togithub.com/celery/celery/issues/8941)) - Bump pytest-subtests from 0.11.0 to 0.12.1 ([#​8896](https://togithub.com/celery/celery/issues/8896)) - Bump pytest-timeout from 2.2.0 to 2.3.1 ([#​8894](https://togithub.com/celery/celery/issues/8894)) - Bump python-memcached from 1.59 to 1.61 ([#​8776](https://togithub.com/celery/celery/issues/8776)) - Bump sphinx-click from 4.4.0 to 5.1.0 ([#​8774](https://togithub.com/celery/celery/issues/8774)) - Update cryptography to 42.0.5 ([#​8869](https://togithub.com/celery/celery/issues/8869)) - Update elastic-transport requirement from <=8.12.0 to <=8.13.0 ([#​8933](https://togithub.com/celery/celery/issues/8933)) - Update elasticsearch requirement from <=8.12.1 to <=8.13.0 ([#​8934](https://togithub.com/celery/celery/issues/8934)) - Upgraded Sphinx from v5.3.0 to v7.x.x ([#​8803](https://togithub.com/celery/celery/issues/8803)) ## Changes since 5.4.0rc2 - Update elastic-transport requirement from <=8.12.0 to <=8.13.0 ([#​8933](https://togithub.com/celery/celery/issues/8933)) - Update elasticsearch requirement from <=8.12.1 to <=8.13.0 ([#​8934](https://togithub.com/celery/celery/issues/8934)) - Hotfix: Smoke tests didn't allow customizing the worker's command arguments, now it does ([#​8937](https://togithub.com/celery/celery/issues/8937)) - Bump pytest-celery to 1.0.0rc3 ([#​8946](https://togithub.com/celery/celery/issues/8946)) - Update optimizing.rst ([#​8945](https://togithub.com/celery/celery/issues/8945)) - Doc: Enhance "Testing with Celery" section ([#​8955](https://togithub.com/celery/celery/issues/8955)) - Bump pytest-celery to v1.0.0 ([#​8962](https://togithub.com/celery/celery/issues/8962)) - Bump pytest-order from 1.2.0 to 1.2.1 ([#​8941](https://togithub.com/celery/celery/issues/8941)) - Added documentation to the smoke tests infra ([#​8970](https://togithub.com/celery/celery/issues/8970)) - Added a checklist item for using pytest-celery in a bug report ([#​8971](https://togithub.com/celery/celery/issues/8971)) .. \_version-5.4.0rc2:
nedbat/coveragepy (coverage) ### [`v7.5.0`](https://togithub.com/nedbat/coveragepy/blob/HEAD/CHANGES.rst#Version-750--2024-04-23) [Compare Source](https://togithub.com/nedbat/coveragepy/compare/7.4.4...7.5.0) - Added initial support for function and class reporting in the HTML report. There are now three index pages which link to each other: files, functions, and classes. Other reports don't yet have this information, but it will be added in the future where it makes sense. Feedback gladly accepted! - Other HTML report improvements: - There is now a "hide covered" checkbox to filter out 100% files, finishing `issue 1384`\_. - The index page is always sorted by one of its columns, with clearer indications of the sorting. - The "previous file" shortcut key didn't work on the index page, but now it does, fixing `issue 1765`\_. - The debug output showing which configuration files were tried now shows absolute paths to help diagnose problems where settings aren't taking effect, and is renamed from "attempted_config_files" to the more logical "config_files_attempted." - Python 3.13.0a6 is supported. .. \_issue 1384:[https://github.com/nedbat/coveragepy/issues/1384](https://togithub.com/nedbat/coveragepy/issues/1384)4 .. \_issue 1765[https://github.com/nedbat/coveragepy/issues/1765](https://togithub.com/nedbat/coveragepy/issues/1765)65 .. \_changes\_7-4-4:
docker/setup-buildx-action (docker/setup-buildx-action) ### [`v3.3.0`](https://togithub.com/docker/setup-buildx-action/compare/v3.2.0...v3.3.0) [Compare Source](https://togithub.com/docker/setup-buildx-action/compare/v3.2.0...v3.3.0)
tiangolo/fastapi (fastapi) ### [`v0.111.0`](https://togithub.com/tiangolo/fastapi/releases/tag/0.111.0) [Compare Source](https://togithub.com/tiangolo/fastapi/compare/0.110.3...0.111.0) ##### Features - ✨ Add FastAPI CLI, the new `fastapi` command. PR [#​11522](https://togithub.com/tiangolo/fastapi/pull/11522) by [@​tiangolo](https://togithub.com/tiangolo). - New docs: [FastAPI CLI](https://fastapi.tiangolo.com/fastapi-cli/). Try it out with: ```console $ pip install --upgrade fastapi $ fastapi dev main.py ╭────────── FastAPI CLI - Development mode ───────────╮ │ │ │ Serving at: http://127.0.0.1:8000 │ │ │ │ API docs: http://127.0.0.1:8000/docs │ │ │ │ Running in development mode, for production use: │ │ │ │ fastapi run │ │ │ ╰─────────────────────────────────────────────────────╯ INFO: Will watch for changes in these directories: ['/home/user/code/awesomeapp'] INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit) INFO: Started reloader process [2248755] using WatchFiles INFO: Started server process [2248757] INFO: Waiting for application startup. INFO: Application startup complete. ``` ##### Refactors - 🔧 Add configs and setup for `fastapi-slim` including optional extras `fastapi-slim[standard]`, and `fastapi` including by default the same `standard` extras. PR [#​11503](https://togithub.com/tiangolo/fastapi/pull/11503) by [@​tiangolo](https://togithub.com/tiangolo). ### [`v0.110.3`](https://togithub.com/tiangolo/fastapi/releases/tag/0.110.3) [Compare Source](https://togithub.com/tiangolo/fastapi/compare/0.110.2...0.110.3) #### Latest Changes ##### Docs - 📝 Update references to Python version, FastAPI supports all the current versions, no need to make the version explicit. PR [#​11496](https://togithub.com/tiangolo/fastapi/pull/11496) by [@​tiangolo](https://togithub.com/tiangolo). - ✏️ Fix typo in `fastapi/security/api_key.py`. PR [#​11481](https://togithub.com/tiangolo/fastapi/pull/11481) by [@​ch33zer](https://togithub.com/ch33zer). - ✏️ Fix typo in `security/http.py`. PR [#​11455](https://togithub.com/tiangolo/fastapi/pull/11455) by [@​omarmoo5](https://togithub.com/omarmoo5). ##### Translations - 🌐 Add Traditional Chinese translation for `docs/zh-hant/benchmarks.md`. PR [#​11484](https://togithub.com/tiangolo/fastapi/pull/11484) by [@​KNChiu](https://togithub.com/KNChiu). - 🌐 Update Chinese translation for `docs/zh/docs/fastapi-people.md`. PR [#​11476](https://togithub.com/tiangolo/fastapi/pull/11476) by [@​billzhong](https://togithub.com/billzhong). - 🌐 Add Chinese translation for `docs/zh/docs/how-to/index.md` and `docs/zh/docs/how-to/general.md`. PR [#​11443](https://togithub.com/tiangolo/fastapi/pull/11443) by [@​billzhong](https://togithub.com/billzhong). - 🌐 Add Spanish translation for cookie-params `docs/es/docs/tutorial/cookie-params.md`. PR [#​11410](https://togithub.com/tiangolo/fastapi/pull/11410) by [@​fabianfalon](https://togithub.com/fabianfalon). ##### Internal - ⬆ Bump mkdocstrings\[python] from 0.23.0 to 0.24.3. PR [#​11469](https://togithub.com/tiangolo/fastapi/pull/11469) by [@​dependabot\[bot\]](https://togithub.com/apps/dependabot). - 🔨 Update internal scripts and remove unused ones. PR [#​11499](https://togithub.com/tiangolo/fastapi/pull/11499) by [@​tiangolo](https://togithub.com/tiangolo). - 🔧 Migrate from Hatch to PDM for the internal build. PR [#​11498](https://togithub.com/tiangolo/fastapi/pull/11498) by [@​tiangolo](https://togithub.com/tiangolo). - ⬆️ Upgrade MkDocs Material and re-enable cards. PR [#​11466](https://togithub.com/tiangolo/fastapi/pull/11466) by [@​tiangolo](https://togithub.com/tiangolo). - ⬆ Bump pillow from 10.2.0 to 10.3.0. PR [#​11403](https://togithub.com/tiangolo/fastapi/pull/11403) by [@​dependabot\[bot\]](https://togithub.com/apps/dependabot). - 🔧 Ungroup dependabot updates. PR [#​11465](https://togithub.com/tiangolo/fastapi/pull/11465) by [@​tiangolo](https://togithub.com/tiangolo). ### [`v0.110.2`](https://togithub.com/tiangolo/fastapi/releases/tag/0.110.2) [Compare Source](https://togithub.com/tiangolo/fastapi/compare/0.110.1...0.110.2) ##### Fixes - 🐛 Fix support for query parameters with list types, handle JSON encoding Pydantic `UndefinedType`. PR [#​9929](https://togithub.com/tiangolo/fastapi/pull/9929) by [@​arjwilliams](https://togithub.com/arjwilliams). ##### Refactors - ♻️ Simplify Pydantic configs in OpenAPI models in `fastapi/openapi/models.py`. PR [#​10886](https://togithub.com/tiangolo/fastapi/pull/10886) by [@​JoeTanto2](https://togithub.com/JoeTanto2). - ✨ Add support for Pydantic's 2.7 new deprecated Field parameter, remove URL from validation errors response. PR [#​11461](https://togithub.com/tiangolo/fastapi/pull/11461) by [@​tiangolo](https://togithub.com/tiangolo). ##### Docs - 📝 Fix types in examples under `docs_src/extra_data_types`. PR [#​10535](https://togithub.com/tiangolo/fastapi/pull/10535) by [@​nilslindemann](https://togithub.com/nilslindemann). - 📝 Update references to UJSON. PR [#​11464](https://togithub.com/tiangolo/fastapi/pull/11464) by [@​tiangolo](https://togithub.com/tiangolo). - 📝 Tweak docs and translations links, typos, format. PR [#​11389](https://togithub.com/tiangolo/fastapi/pull/11389) by [@​nilslindemann](https://togithub.com/nilslindemann). - 📝 Fix typo in `docs/es/docs/async.md`. PR [#​11400](https://togithub.com/tiangolo/fastapi/pull/11400) by [@​fabianfalon](https://togithub.com/fabianfalon). - 📝 Update OpenAPI client generation docs to use `@hey-api/openapi-ts`. PR [#​11339](https://togithub.com/tiangolo/fastapi/pull/11339) by [@​jordanshatford](https://togithub.com/jordanshatford). ##### Translations - 🌐 Update Chinese translation for `docs/zh/docs/index.html`. PR [#​11430](https://togithub.com/tiangolo/fastapi/pull/11430) by [@​waketzheng](https://togithub.com/waketzheng). - 🌐 Add Russian translation for `docs/ru/docs/tutorial/dependencies/dependencies-in-path-operation-decorators.md`. PR [#​11411](https://togithub.com/tiangolo/fastapi/pull/11411) by [@​anton2yakovlev](https://togithub.com/anton2yakovlev). - 🌐 Add Portuguese translations for `learn/index.md` `resources/index.md` `help/index.md` `about/index.md`. PR [#​10807](https://togithub.com/tiangolo/fastapi/pull/10807) by [@​nazarepiedady](https://togithub.com/nazarepiedady). - 🌐 Update Russian translations for deployments docs. PR [#​11271](https://togithub.com/tiangolo/fastapi/pull/11271) by [@​Lufa1u](https://togithub.com/Lufa1u). - 🌐 Add Bengali translations for `docs/bn/docs/python-types.md`. PR [#​11376](https://togithub.com/tiangolo/fastapi/pull/11376) by [@​imtiaz101325](https://togithub.com/imtiaz101325). - 🌐 Add Korean translation for `docs/ko/docs/tutorial/security/simple-oauth2.md`. PR [#​5744](https://togithub.com/tiangolo/fastapi/pull/5744) by [@​KdHyeon0661](https://togithub.com/KdHyeon0661). - 🌐 Add Korean translation for `docs/ko/docs/help-fastapi.md`. PR [#​4139](https://togithub.com/tiangolo/fastapi/pull/4139) by [@​kty4119](https://togithub.com/kty4119). - 🌐 Add Korean translation for `docs/ko/docs/advanced/events.md`. PR [#​5087](https://togithub.com/tiangolo/fastapi/pull/5087) by [@​pers0n4](https://togithub.com/pers0n4). - 🌐 Add Japanese translation for `docs/ja/docs/tutorial/path-operation-configuration.md`. PR [#​1954](https://togithub.com/tiangolo/fastapi/pull/1954) by [@​SwftAlpc](https://togithub.com/SwftAlpc). - 🌐 Add Japanese translation for `docs/ja/docs/tutorial/request-forms-and-files.md`. PR [#​1946](https://togithub.com/tiangolo/fastapi/pull/1946) by [@​SwftAlpc](https://togithub.com/SwftAlpc). - 🌐 Add Russian translation for `docs/ru/docs/tutorial/dependencies/dependencies-with-yield.md`. PR [#​10532](https://togithub.com/tiangolo/fastapi/pull/10532) by [@​AlertRED](https://togithub.com/AlertRED). - 🌐 Add Korean translation for `docs/ko/docs/tutorial/debugging.md`. PR [#​5695](https://togithub.com/tiangolo/fastapi/pull/5695) by [@​JungWooGeon](https://togithub.com/JungWooGeon). ##### Internal - ⬆️ Upgrade version of typer for docs. PR [#​11393](https://togithub.com/tiangolo/fastapi/pull/11393) by [@​tiangolo](https://togithub.com/tiangolo).
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.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
python/mypy (mypy) ### [`v1.10.0`](https://togithub.com/python/mypy/compare/1.9.0...v1.10.0) [Compare Source](https://togithub.com/python/mypy/compare/1.9.0...v1.10.0)
pydantic/pydantic (pydantic) ### [`v2.7.1`](https://togithub.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v271-2024-04-23) [Compare Source](https://togithub.com/pydantic/pydantic/compare/v2.7.0...v2.7.1) [GitHub release](https://togithub.com/pydantic/pydantic/releases/tag/v2.7.1) ##### What's Changed ##### Packaging - Bump `pydantic-core` to `v2.18.2` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9307](https://togithub.com/pydantic/pydantic/pull/9307) ##### New Features - Ftp and Websocket connection strings support by [@​CherrySuryp](https://togithub.com/CherrySuryp) in [#​9205](https://togithub.com/pydantic/pydantic/pull/9205) ##### Changes - Use field description for RootModel schema description when there is `…` by [@​LouisGobert](https://togithub.com/LouisGobert) in [#​9214](https://togithub.com/pydantic/pydantic/pull/9214) ##### Fixes - Fix `validation_alias` behavior with `model_construct` for `AliasChoices` and `AliasPath` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9223](https://togithub.com/pydantic/pydantic/pull/9223) - Revert `typing.Literal` and import it outside the TYPE_CHECKING block by [@​frost-nzcr4](https://togithub.com/frost-nzcr4) in [#​9232](https://togithub.com/pydantic/pydantic/pull/9232) - Fix `Secret` serialization schema, applicable for unions by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9240](https://togithub.com/pydantic/pydantic/pull/9240) - Fix `strict` application to `function-after` with `use_enum_values` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9279](https://togithub.com/pydantic/pydantic/pull/9279) - Address case where `model_construct` on a class which defines `model_post_init` fails with `AttributeError` by [@​babygrimes](https://togithub.com/babygrimes) in [#​9168](https://togithub.com/pydantic/pydantic/pull/9168) - Fix `model_json_schema` with config types by [@​NeevCohen](https://togithub.com/NeevCohen) in [#​9287](https://togithub.com/pydantic/pydantic/pull/9287) - Support multiple zeros as an `int` by [@​samuelcolvin](https://togithub.com/samuelcolvin) in [pydantic/pydantic-core#1269](https://togithub.com/pydantic/pydantic-core/pull/1269) - Fix validation of `int`s with leading unary plus by [@​cknv](https://togithub.com/cknv) in [pydantic/pydantic-core#1272](https://togithub.com/pydantic/pydantic-core/pull/1272) - Fix interaction between `extra != 'ignore'` and `from_attributes=True` by [@​davidhewitt](https://togithub.com/davidhewitt) in [pydantic/pydantic-core#1276](https://togithub.com/pydantic/pydantic-core/pull/1276) - Handle error from `Enum`'s `missing` function as `ValidationError` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [pydantic/pydantic-core#1274](https://togithub.com/pydantic/pydantic-core/pull/1754) - Fix memory leak with `Iterable` validation by [@​davidhewitt](https://togithub.com/davidhewitt) in [pydantic/pydantic-core#1271](https://togithub.com/pydantic/pydantic-core/pull/1751) ##### New Contributors - [@​zzstoatzz](https://togithub.com/zzstoatzz) made their first contribution in [#​9219](https://togithub.com/pydantic/pydantic/pull/9219) - [@​frost-nzcr4](https://togithub.com/frost-nzcr4) made their first contribution in [#​9232](https://togithub.com/pydantic/pydantic/pull/9232) - [@​CherrySuryp](https://togithub.com/CherrySuryp) made their first contribution in [#​9205](https://togithub.com/pydantic/pydantic/pull/9205) - [@​vagenas](https://togithub.com/vagenas) made their first contribution in [#​9268](https://togithub.com/pydantic/pydantic/pull/9268) - [@​ollz272](https://togithub.com/ollz272) made their first contribution in [#​9262](https://togithub.com/pydantic/pydantic/pull/9262) - [@​babygrimes](https://togithub.com/babygrimes) made their first contribution in [#​9168](https://togithub.com/pydantic/pydantic/pull/9168) - [@​swelborn](https://togithub.com/swelborn) made their first contribution in [#​9296](https://togithub.com/pydantic/pydantic/pull/9296) - [@​kf-novi](https://togithub.com/kf-novi) made their first contribution in [#​9236](https://togithub.com/pydantic/pydantic/pull/9236) - [@​lgeiger](https://togithub.com/lgeiger) made their first contribution in [#​9288](https://togithub.com/pydantic/pydantic/pull/9288) ### [`v2.7.0`](https://togithub.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v270-2024-04-11) [Compare Source](https://togithub.com/pydantic/pydantic/compare/v2.6.4...v2.7.0) [GitHub release](https://togithub.com/pydantic/pydantic/releases/tag/v2.7.0) The code released in v2.7.0 is practically identical to that of v2.7.0b1. ##### What's Changed ##### Packaging - Reorganize `pyproject.toml` sections by [@​Viicos](https://togithub.com/Viicos) in [#​8899](https://togithub.com/pydantic/pydantic/pull/8899) - Bump `pydantic-core` to `v2.18.1` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9211](https://togithub.com/pydantic/pydantic/pull/9211) - Adopt `jiter` `v0.2.0` by [@​samuelcolvin](https://togithub.com/samuelcolvin) in [pydantic/pydantic-core#1250](https://togithub.com/pydantic/pydantic-core/pull/1250) ##### New Features - Extract attribute docstrings from `FieldInfo.description` by [@​Viicos](https://togithub.com/Viicos) in [#​6563](https://togithub.com/pydantic/pydantic/pull/6563) - Add a `with_config` decorator to comply with typing spec by [@​Viicos](https://togithub.com/Viicos) in [#​8611](https://togithub.com/pydantic/pydantic/pull/8611) - Allow an optional separator splitting the value and unit of the result of `ByteSize.human_readable` by [@​jks15satoshi](https://togithub.com/jks15satoshi) in [#​8706](https://togithub.com/pydantic/pydantic/pull/8706) - Add generic `Secret` base type by [@​conradogarciaberrotaran](https://togithub.com/conradogarciaberrotaran) in [#​8519](https://togithub.com/pydantic/pydantic/pull/8519) - Make use of `Sphinx` inventories for cross references in docs by [@​Viicos](https://togithub.com/Viicos) in [#​8682](https://togithub.com/pydantic/pydantic/pull/8682) - Add environment variable to disable plugins by [@​geospackle](https://togithub.com/geospackle) in [#​8767](https://togithub.com/pydantic/pydantic/pull/8767) - Add support for `deprecated` fields by [@​Viicos](https://togithub.com/Viicos) in [#​8237](https://togithub.com/pydantic/pydantic/pull/8237) - Allow `field_serializer('*')` by [@​ornariece](https://togithub.com/ornariece) in [#​9001](https://togithub.com/pydantic/pydantic/pull/9001) - Handle a case when `model_config` is defined as a model property by [@​alexeyt101](https://togithub.com/alexeyt101) in [#​9004](https://togithub.com/pydantic/pydantic/pull/9004) - Update `create_model()` to support `typing.Annotated` as input by [@​wannieman98](https://togithub.com/wannieman98) in [#​8947](https://togithub.com/pydantic/pydantic/pull/8947) - Add `ClickhouseDsn` support by [@​solidguy7](https://togithub.com/solidguy7) in [#​9062](https://togithub.com/pydantic/pydantic/pull/9062) - Add support for `re.Pattern[str]` to `pattern` field by [@​jag-k](https://togithub.com/jag-k) in [#​9053](https://togithub.com/pydantic/pydantic/pull/9053) - Support for `serialize_as_any` runtime setting by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8830](https://togithub.com/pydantic/pydantic/pull/8830) - Add support for `typing.Self` by [@​Youssefares](https://togithub.com/Youssefares) in [#​9023](https://togithub.com/pydantic/pydantic/pull/9023) - Ability to pass `context` to serialization by [@​ornariece](https://togithub.com/ornariece) in [#​8965](https://togithub.com/pydantic/pydantic/pull/8965) - Add feedback widget to docs with flarelytics integration by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9129](https://togithub.com/pydantic/pydantic/pull/9129) - Support for parsing partial JSON strings in Python by [@​samuelcolvin](https://togithub.com/samuelcolvin) in [pydantic/jiter#66](https://togithub.com/pydantic/jiter/pull/66) **Finalized in v2.7.0, rather than v2.7.0b1:** - Add support for field level number to str coercion option by [@​NeevCohen](https://togithub.com/NeevCohen) in [#​9137](https://togithub.com/pydantic/pydantic/pull/9137) - Update `warnings` parameter for serialization utilities to allow raising a warning by [@​Lance-Drane](https://togithub.com/Lance-Drane) in [#​9166](https://togithub.com/pydantic/pydantic/pull/9166) ##### Changes - Correct docs, logic for `model_construct` behavior with `extra` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8807](https://togithub.com/pydantic/pydantic/pull/8807) - Improve error message for improper `RootModel` subclasses by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8857](https://togithub.com/pydantic/pydantic/pull/8857) - Use `PEP570` syntax by [@​Viicos](https://togithub.com/Viicos) in [#​8940](https://togithub.com/pydantic/pydantic/pull/8940) - Add `enum` and `type` to the JSON schema for single item literals by [@​dmontagu](https://togithub.com/dmontagu) in [#​8944](https://togithub.com/pydantic/pydantic/pull/8944) - Deprecate `upda

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), 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 if that's undesired.



This PR has been generated by Mend Renovate. View repository job log here.

codeclimate[bot] commented 6 months ago

Code Climate has analyzed commit 99450a09 and detected 0 issues on this pull request.

The test coverage on the diff in this pull request is 100.0% (100% is the threshold).

This pull request will bring the total coverage in the repository to 100.0% (0.0% change).

View more on Code Climate.