Skip to content

chore(deps): update doc-updates (major)#833

Open
renovate[bot] wants to merge 1 commit intomasterfrom
renovate/major-doc-updates
Open

chore(deps): update doc-updates (major)#833
renovate[bot] wants to merge 1 commit intomasterfrom
renovate/major-doc-updates

Conversation

@renovate
Copy link
Copy Markdown
Contributor

@renovate renovate bot commented Dec 1, 2025

This PR contains the following updates:

Package Change Age Confidence
myst_parser ==4.0.1==5.0.0 age confidence
sphinx (changelog) ==8.2.3==9.1.0 age confidence
sphinxcontrib-httpdomain (changelog) ==1.8.1==2.0.0 age confidence

Release Notes

executablebooks/MyST-Parser (myst_parser)

v5.0.0

Compare Source

This release significantly bumps the supported versions of core dependencies:

‼️ Breaking Changes

This release updates the minimum supported versions:

  • Python: >=3.11 (dropped Python 3.10, tests up to 3.14)
  • Sphinx: >=8,<10 (dropped Sphinx 7, added Sphinx 9)
  • Docutils: >=0.20,<0.23 (dropped docutils 0.19, added docutils 0.22)
  • markdown-it-py: ~=4.0 (upgraded from v3)
⬆️ Dependency Upgrades
  • ⬆️ Upgrade to markdown-it-py v4 by gh-user:chrisjsewell in gh-pr:1060
  • ⬆️ Drop Python 3.10 and Sphinx 7 by gh-user:chrisjsewell in gh-pr:1059
  • ⬆️ Drop docutils 0.19 by gh-user:chrisjsewell in gh-pr:1061
  • ⬆️ Add support for Python 3.14 by gh-user:chrisjsewell in gh-pr:1075
  • ⬆️ Support Sphinx v9 by gh-user:chrisjsewell in gh-pr:1076
  • ⬆️ Allow docutils 0.22 by gh-user:chrisjsewell in gh-pr:1084
👌 Improvements
  • 👌 Improve generation of meta nodes by gh-user:AA-Turner in gh-pr:1080
📚 Documentation
  • 📚 Fix typo in tables.md by gh-user:electricalgorithm in gh-pr:1034
  • 📚 Fix minor typo in cross-referencing.md by gh-user:krassowski in gh-pr:1036
🔧 Internal / Maintenance
  • 🔧 Update pre-commit by gh-user:chrisjsewell in gh-pr:1058
  • 🔧 Add AGENTS.md by gh-user:chrisjsewell in gh-pr:1083

Full Changelog: v4.0.1...v5.0.0

sphinx-doc/sphinx (sphinx)

v9.1.0

Compare Source

=====================================

Dependencies

  • #​14153: Drop Python 3.11 support.
  • #​12555: Drop Docutils 0.20 support.
    Patch by Adam Turner

Features added

  • Add :meth:~sphinx.application.Sphinx.add_static_dir for copying static
    assets from extensions to the build output.
    Patch by Jared Dillard

Bugs fixed

  • #​14189: autodoc: Fix duplicate :no-index-entry: for modules.
    Patch by Adam Turner
  • #​13713: Fix compatibility with MyST-Parser.
    Patch by Adam Turner
  • Fix tests for Python 3.15.
    Patch by Adam Turner
  • #​14089: autodoc: Fix default option parsing.
    Patch by Adam Turner
  • Remove incorrect static typing assertions.
    Patch by Adam Turner
  • #​14050: LaTeXTranslator fails to build documents using the "acronym"
    standard role.
    Patch by Günter Milde
  • LaTeX: Fix rendering for grid filled merged vertical cell.
    Patch by Tim Nordell
  • #​14228: LaTeX: Fix overrun footer for cases of merged vertical table cells.
    Patch by Tim Nordell
  • #​14207: Fix creating HTMLThemeFactory objects in third-party extensions.
    Patch by Adam Turner
  • #​3099: LaTeX: PDF build crashes if a code-block contains more than
    circa 1350 codelines (about 27 a4-sized pages at default pointsize).
    Patch by Jean-François B.
  • #​14064: LaTeX: TABs ending up in sphinxVerbatim fail to obey tab stops.
    Patch by Jean-François B.
  • #​14089: autodoc: Improve support for non-weakreferencable objects.
    Patch by Adam Turner
  • LaTeX: Fix accidental removal at 3.5.0 (#​8854) of the documentation of
    literalblockcappos key of :ref:'sphinxsetup' <latexsphinxsetup>.
    Patch by Jean-François B.

v9.0.4: Sphinx 9.0.4

Compare Source

Changelog: https://www.sphinx-doc.org/en/master/changes/9.0.html

Bugs fixed

  • #​14143: Fix spurious build warnings when translators reorder references
    in strings, or use translated display text in references.
    Patch by Matt Wang.

v9.0.3: Sphinx 9.0.3

Compare Source

Changelog: https://www.sphinx-doc.org/en/master/changes/9.0.html

Bugs fixed

  • #​14142: autodoc: Restore some missing exports in sphinx.ext.autodoc.
    Patch by Adam Turner.

v9.0.2: Sphinx 9.0.2

Compare Source

Changelog: https://www.sphinx-doc.org/en/master/changes/9.0.html

Bugs fixed

  • #​14142: autodoc: Restore sphinx.ext.autodoc.mock.
    Patch by Adam Turner.

v9.0.1: Sphinx 9.0.1

Compare Source

Changelog: https://www.sphinx-doc.org/en/master/changes/9.0.html

Bugs fixed

  • #​13942: autodoc: Restore the mapping interface for options objects.
    Patch by Adam Turner.
  • #​13942: autodoc: Deprecate the mapping interface for options objects.
    Patch by Adam Turner.
  • #​13387: Update translations.

v9.0.0: Sphinx 9.0.0

Changelog: https://www.sphinx-doc.org/en/master/changes/9.0.html

Dependencies

Incompatible changes

  • #​13639: SphinxComponentRegistry.create_source_parser no longer
    has an app parameter, instead taking config and env.
    Patch by Adam Turner.
  • #​13679: Non-decodable characters in source files now raise an error.
    Such bytes have been replaced with '?' along with logging a warning
    since Sphinx 2.0.
    Patch by Adam Turner.
  • #​13751, #​14089: sphinx.ext.autodoc has been substantially rewritten,
    and there may be some incompatible changes in edge cases, especially when
    extensions interact with autodoc internals.
    The autodoc_use_legacy_class_based option has been added to
    use the legacy (pre-9.0) implementation of autodoc.
    Patches by Adam Turner.
  • #​13355: Don't include escaped title content in the search index.
    Patch by Will Lachance.

Deprecated

  • 13627: Deprecate remaining public app attributes,
    including builder.app, env.app, events.app,
    and SphinxTransform.app.
    Patch by Adam Turner.
  • #​13637: Deprecate the set_application method
    of Parser objects.
    Patch by Adam Turner.
  • #​13644: Deprecate the Parser.config and env attributes.
    Patch by Adam Turner.
  • #​13665: Deprecate support for non-UTF 8 source encodings,
    scheduled for removal in Sphinx 10.
    Patch by Adam Turner.
  • #​13682: Deprecate sphinx.io.
    Sphinx no longer uses the sphinx.io classes,
    having replaced them with standard Python I/O.
    The entire sphinx.io module will be removed in Sphinx 10.
    Patch by Adam Turner.
  • #​13631: sphinx.environment.adapters.toctree.global_toctree_for_doc
    and sphinx.environment.BuildEnvironment.get_and_resolve_doctree
    will require a tags keyword argument from Sphinx 11.
    It may optionally be passed from Sphinx 9 onwards.
    Patch by Adam Turner.

Features added

  • #​13332: Add doctest_fail_fast option to exit after the first failed
    test.
    Patch by Till Hoffmann.
  • #​13439: linkcheck: Permit warning on every redirect with
    linkcheck_allowed_redirects = {}.
    Patch by Adam Turner and James Addison.
  • #​13497: Support C domain objects in the table of contents.
  • #​13500: LaTeX: add support for fontawesome6 package.
    Patch by Jean-François B.
  • #​13509: autodoc: Detect typing_extensions.overload
    and final decorators.
    Patch by Spencer Brown.
  • #​13535: html search: Update to the latest version of Snowball (v3.0.1).
    Patch by Adam Turner.
  • #​13647: LaTeX: allow more cases of table nesting.
    Patch by Jean-François B.
  • #​13657: LaTeX: support CSS3 length units.
    Patch by Jean-François B.
  • #​13684: intersphinx: Add a file-based cache for remote inventories.
    The location of the cache directory must not be relied upon externally,
    as it may change without notice or warning in future releases.
    Patch by Adam Turner.
  • #​13805: LaTeX: add support for fontawesome7 package.
    Patch by Jean-François B.
  • #​13508: autodoc: Initial support for PEP 695 type aliases.
    Patch by Martin Matouš, Jeremy Maitin-Shepard, and Adam Turner.
  • #​14023: Add the new mathjax_config_path option
    to load MathJax configuration from a file.
    Patch by Randolf Scholz and Adam Turner.
  • #​14046: linkcheck: Add the linkcheck_case_insensitive_urls option
    to allow case-insensitive URL comparison for specific URL patterns.
    This is useful for links to websites that normalise URL casing (e.g. GitHub)
    or case-insensitive servers.
    Patch by Fazeel Usmani and James Addison.
  • #​14075: autosummary: Provide more context in import exception stack traces.
    Patch by Philipp A.
  • #​13468: Add config options to sphinx.ext.duration.
    Patch by Erik Bedard and Adam Turner.
  • #​14022: Use MathJax v4 by default in the sphinx.ext.mathjax extension,
    from v3 previously.
    To keep using an older version, set the mathjax_path option.
    Also add the new mathjax4_config option to configure MathJax v4.
    Note that MathJax v3 is mostly compatible with MathJax v4, so existing
    mathjax3_config settings should not need to change.
    Patch by Matthias Geier.
  • #​14029: intersphinx: Fix error in format string interpolation.
    Patch by Matthieu de Cibeins.

Bugs fixed

  • #​13926: multiple py:type directives for the same canonical type no
    longer result in spurious duplicate object description warnings.
    Patch by Jeremy Maitin-Shepard.
  • #​1327: LaTeX: tables using longtable raise error if
    tabularcolumns specifies automatic widths
    (L, R, C, or J).
    Patch by Jean-François B.
  • #​3447: LaTeX: when assigning longtable class to table for PDF, it may render
    "horizontally" and overflow in right margin.
    Patch by Jean-François B.
  • #​8828: LaTeX: adding a footnote to a longtable cell causes table to occupy
    full width.
    Patch by Jean-François B.
  • #​11498: LaTeX: Table in cell fails to build if it has many rows.
    Patch by Jean-François B.
  • #​11515: LaTeX: longtable does not allow nested table.
    Patch by Jean-François B.
  • #​11973: LaTeX: links in table captions do not work in PDF.
    Patch by Jean-François B.
  • #​12821: LaTeX: URLs/links in section titles should render in PDF.
    Patch by Jean-François B.
  • #​13369: Correctly parse and cross-reference unpacked type annotations.
    Patch by Alicia Garcia-Raboso.
  • #​13528: Add tilde ~ prefix support for py:deco.
    Patch by Shengyu Zhang and Adam Turner.
  • #​13597: LaTeX: table nested in a merged cell leads to invalid LaTeX mark-up
    and PDF cannot be built.
    Patch by Jean-François B.
  • #​13619: LaTeX: possible duplicated footnotes in PDF from object signatures
    (typically if latex_show_urls = 'footnote').
    Patch by Jean-François B.
  • #​13635: LaTeX: if a cell contains a table, row coloring is turned off for
    the next table cells.
    Patch by Jean-François B.
  • #​13685: gettext: Correctly ignore trailing backslashes.
    Patch by Bénédikt Tran.
  • #​13712: intersphinx: Don't add "v" prefix to non-numeric versions.
    Patch by Szymon Karpinski.
  • #​13688: HTML builder: Replace <em class="property"> with
    <span class="property"> for attribute type annotations
    to improve semantic HTML structure.
    Patch by Mark Ostroth.
  • #​13812 (discussion): LaTeX: long confval value does not wrap at
    spaces in PDF.
    Patch by Jean-François B.
  • #​10785: Autodoc: Allow type aliases defined in the project to be properly
    cross-referenced when used as type annotations. This makes it possible
    for objects documented as :py:data: to be hyperlinked in function signatures.
  • #​13858: doctest: doctest blocks are now correctly added to a group defined by the
    configuration variable doctest_test_doctest_blocks.
  • #​13885: Coverage builder: Fix TypeError when warning about missing modules.
    Patch by Damien Ayers.
  • #​13929: Duplicate equation label warnings now have a new warning
    sub-type, ref.equation.
    Patch by Jared Dillard.
  • #​13935: autoclass: parent class members no longer considered
    directly defined in certain cases, depending on autodoc processing
    order.
    Patch by Jeremy Maitin-Shepard.
  • #​13939: LaTeX: page break can separate admonition title from contents.
    Patch by Jean-François B.
  • #​14004: Fix autodoc_type_aliases when they appear in PEP 604
    union syntax (Alias | Type).
    Patch by Tamika Nomara.
  • #​14059: LaTeX: Footnotes cause pdflatex error with French language
    (since late June 2025 upstream change to LaTeX babel-french).
    Patch by Jean-François B.
  • #​13916: HTML Search: do not clear text fragments from the URL on page load.
    Patch by Harmen Stoppels.
  • #​13944: autodoc: show traceback during import in human readable representation.
    Patch by Florian Best.
  • #​14006: Support images with data URIs that aren't base64-encoded.
    Patch by Shengyu Zhang and Adam Turner.
  • #​12797: Fix Some type variables (...) are not listed in Generic[...]
    TypeError when inheriting from both Generic and autodoc mocked class.
    Patch by Ikor Jefocur and Daniel Sperber.
  • #​13945: autodoc: Fix handling of undefined names in annotations by using
    the FORWARDREF annotationlib format.
    Patch by Rui Pinheiro and Adam Turner.
  • #​14067: EPUB: unify path separators in manifest items to forward slashes;
    resolve duplicates in the manifest on Windows.
    Patch by Akihiro Takizawa.
  • #​13741: text builder: fix an infinite loop when processing CSV tables.
    Patch by Bénédikt Tran.
  • #​13217: Remove extra parentheses from js:function arguments and errors.
    Patch by Shengyu Zhang.
sphinx-contrib/httpdomain (sphinxcontrib-httpdomain)

v2.0.0

Compare Source

Full Changelog: sphinx-contrib/httpdomain@2.0.0...2.0.0


Configuration

📅 Schedule: Branch creation - "before 4am on monday" in timezone Europe/Berlin, 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.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@claude
Copy link
Copy Markdown

claude bot commented Dec 1, 2025

Security & Bug Review - PR #833

Review Status: ✅ No critical bugs or security vulnerabilities found

Changes Analyzed

  • Single dependency update: sphinx==8.2.3 → sphinx==9.0.0 in docs/requirements.txt
  • Scope: Documentation build tooling only (not runtime dependency)

Key Findings

1. Breaking Changes in Sphinx 9.0

  • Non-UTF-8 encodings deprecated (sphinx#13665): All source files must be UTF-8
  • Non-decodable characters now raise errors (sphinx#13679): Previously replaced with '?' with warnings
  • Impact: Low - project uses UTF-8 encoding

2. Compatibility Check
sphinx-autodoc-typehints v3.5.2: Compatible (supports Sphinx 4.3+)
sphinx-rtd-theme v3.0.2: Compatible (supports Sphinx 5+)
myst_parser v4.0.1: Compatible (supports Sphinx 6+)
sphinxcontrib-httpdomain v1.8.1: Compatible

3. Configuration Review
Reviewed docs/source/conf.py:

  • ✅ No deprecated APIs used (master_doc still supported)
  • ✅ Extensions compatible with Sphinx 9
  • ✅ No custom parsers affected by create_source_parser API changes

4. CI/CD Status
All checks passing (mypy, tests, pre-commit, docs-build across Python 3.10-3.13)

Recommendation

✅ Safe to merge - This is a routine documentation dependency upgrade with no security implications or breaking changes for this codebase.


Automated review by Claude Code

@renovate renovate bot force-pushed the renovate/major-doc-updates branch from de7ab92 to 59a4227 Compare December 1, 2025 19:53
@claude
Copy link
Copy Markdown

claude bot commented Dec 1, 2025

Code Review - Security & Bug Analysis

Summary

This PR upgrades Sphinx from 8.2.3 to 9.0.1 for documentation generation. All CI/CD checks have passed successfully.

Findings

✅ No security vulnerabilities or bugs identified

Analysis Details

Scope of Changes:

  • Single dependency update in docs/requirements.txt
  • Sphinx 8.2.3 → 9.0.1 (major version bump)
  • Documentation-only dependency (not used in production code)

Security Assessment:

  1. Blast radius: Limited to documentation builds only - does not affect runtime library behavior
  2. Dependency chain: Sphinx is a dev/docs dependency, not included in distributed package
  3. Breaking changes review: Examined Sphinx 9.0 changelog - changes affect primarily:
    • Internal Sphinx APIs (not used by this project)
    • LaTeX rendering improvements
    • Autodoc internals refactor (legacy compatibility available via autodoc_use_legacy_class_based)

Compatibility Verification:

  • ✅ Documentation builds successfully (docs-build checks passed)
  • ✅ All autodoc/typehints features working (no config changes required)
  • ✅ Extensions used by project remain compatible:
    • sphinx.ext.autodoc - compatible (uses standard features)
    • sphinx.ext.napoleon - compatible
    • sphinx_autodoc_typehints - compatible
    • sphinx_rtd_theme - compatible

Risk Assessment:

  • Security risk: None - documentation-only dependency
  • Regression risk: Minimal - all CI checks passing, standard Sphinx features used
  • Breaking changes: None affecting this project's usage patterns

Recommendation

✅ Safe to merge - No security issues or bugs detected. The upgrade includes bug fixes and improvements with no adverse impact on this project.

@renovate renovate bot force-pushed the renovate/major-doc-updates branch from 59a4227 to 72735d2 Compare December 4, 2025 03:49
@claude
Copy link
Copy Markdown

claude bot commented Dec 4, 2025

Security & Bug Review

Finding: Potential compatibility issue with major version upgrade

This PR upgrades Sphinx from 8.2.3 to 9.0.3 (major version bump). The Sphinx 9.0 release includes a substantial rewrite of sphinx.ext.autodoc with potential incompatible changes.

Risk: The project's pinned dependency sphinx-autodoc-typehints==3.5.2 may not be compatible with Sphinx 9.0's rewritten autodoc, potentially causing documentation build failures.

Recommendation: Before merging, verify documentation builds successfully:

uv run nox --session=docs-build

If the build fails, consider either:

  1. Updating sphinx-autodoc-typehints to a compatible version, or
  2. Using the legacy autodoc implementation by adding autodoc_use_legacy_class_based = True to docs/conf.py

No security vulnerabilities identified in the change itself.

@renovate renovate bot force-pushed the renovate/major-doc-updates branch from 72735d2 to 1a18d1e Compare December 4, 2025 10:38
@claude
Copy link
Copy Markdown

claude bot commented Dec 4, 2025

Security & Bug Review

Potential Compatibility Issues

sphinx-autodoc-typehints version incompatibility (⚠️ Warning)

The PR updates Sphinx from 8.2.3 to 9.0.4, which includes substantial breaking changes in sphinx.ext.autodoc (see #13751, #14089). However, sphinx-autodoc-typehints==3.5.2 in docs/requirements.txt may not be compatible with Sphinx 9's rewritten autodoc internals.

Risk: Documentation builds may fail or produce incorrect output if sphinx-autodoc-typehints relies on deprecated autodoc internals that were changed in the Sphinx 9 rewrite.

Recommendation:

  1. Test the documentation build locally with uv run nox --session=docs-build before merging
  2. Consider updating sphinx-autodoc-typehints to the latest version (if available) that explicitly supports Sphinx 9
  3. Monitor for warnings during the docs build related to autodoc

Configuration Compatibility Check Needed

The docs/source/conf.py uses set_type_checking_flag = True with sphinx-autodoc-typehints (line 64). Verify this setting still works correctly with Sphinx 9's autodoc changes, as internal type checking mechanisms may have changed.

Status

No security vulnerabilities detected - This is a documentation dependency update only
CI checks passing - docs-build tests are passing in CI
⚠️ Recommend validation - Manual testing recommended due to major version bump with breaking changes

The CI appears to be passing, but thorough testing of documentation generation is advised given the major version upgrade and autodoc rewrite.

@renovate renovate bot force-pushed the renovate/major-doc-updates branch from 1a18d1e to 217e796 Compare December 15, 2025 16:39
@claude
Copy link
Copy Markdown

claude bot commented Dec 15, 2025

Code Review - PR #833

Status: ✅ No bugs or security issues found

Summary

This PR upgrades Sphinx from 8.2.3 to 9.0.4 (major version bump) for documentation building.

Analysis

  • Single file change: Only docs/requirements.txt is modified
  • CI status: All checks passing (tests, type checking, docs build across Python 3.10-3.13)
  • Compatibility: Project specifies sphinx>=4.3.2 in pyproject.toml, so 9.x is within acceptable range
  • Breaking changes: Sphinx 9.0 includes breaking changes to internal APIs and autodoc, but successful docs-build CI runs confirm no impact on this project
  • Security: No security vulnerabilities identified in this upgrade

Recommendation

Safe to merge. The documentation builds successfully with Sphinx 9.0.4 and all quality gates pass.


🤖 Automated review by Claude Code

@renovate renovate bot force-pushed the renovate/major-doc-updates branch from 217e796 to 13eb1b7 Compare December 31, 2025 19:39
@claude
Copy link
Copy Markdown

claude bot commented Dec 31, 2025

Security & Bug Review

❌ Critical Compatibility Issue

Python 3.11 Support Conflict: Sphinx 9.1.0 drops Python 3.11 support (see release notes), but this project still supports Python 3.11 per pyproject.toml:19. This will cause documentation builds to fail on Python 3.11.

⚠️ Breaking Changes

  1. Docutils 0.20 Dropped: Sphinx 9.1.0 requires Docutils 0.21+
  2. Major Version Jump: Sphinx was substantially rewritten (especially sphinx.ext.autodoc)
  3. Non-UTF-8 Encoding Deprecated: May cause warnings if docs use non-UTF-8

🔧 Recommendation

Do not merge until one of:

  • Remove Python 3.11 from pyproject.toml supported versions
  • Pin Sphinx to <9.0 to maintain Python 3.11 compatibility

Verify with: uv run nox --session=docs-build

@renovate renovate bot changed the title chore(deps): update dependency sphinx to v9 chore(deps): update doc-updates (major) Jan 15, 2026
@renovate renovate bot force-pushed the renovate/major-doc-updates branch from 13eb1b7 to dbb6989 Compare January 15, 2026 14:54
@claude
Copy link
Copy Markdown

claude bot commented Jan 15, 2026

Security & Bug Review

I've reviewed PR #833 which updates documentation dependencies (sphinx 8.2.3 → 9.1.0 and myst_parser 4.0.1 → 5.0.0).

🚨 Critical Issue: Python Version Incompatibility

BLOCKING BUG: This update introduces a breaking compatibility issue.

  • myst_parser 5.0.0 requires Python >=3.11 (dropped Python 3.10 support)
  • Sphinx 9.1.0 requires Python >=3.12 (dropped Python 3.11 support per changelog)
  • This project supports Python 3.10-3.13 (line 6 in pyproject.toml: requires-python = ">=3.10,<3.14")

Impact: Documentation builds will fail on Python 3.10 and 3.11 environments. CI/CD pipelines running docs-build session on Python 3.10 or 3.11 will break.

Recommendation

Do NOT merge until one of the following:

  1. Delay upgrade: Pin to compatible versions (Sphinx <9, myst_parser <5) until project drops Python 3.10/3.11 support
  2. Update project requirements: Drop Python 3.10/3.11 support in pyproject.toml (breaking change for users)
  3. Test compatibility: Verify docs build on all supported Python versions before merge

Security Assessment

No security vulnerabilities identified in these dependency updates. Both packages have security fixes in their changelogs but no critical CVEs affecting this project.

@renovate renovate bot force-pushed the renovate/major-doc-updates branch from dbb6989 to 05cf466 Compare February 5, 2026 01:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants