Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: mkdocstrings/python
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: f5b9e25
Choose a base ref
...
head repository: mkdocstrings/python
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: bee7f4e
Choose a head ref
  • 2 commits
  • 129 files changed
  • 1 contributor

Commits on Jun 3, 2025

  1. Configuration menu
    Copy the full SHA
    8428783 View commit details
    Browse the repository at this point in the history

Commits on Jun 8, 2025

  1. feat: Fine-grain configuration

    This change allows users to specify recursive options under `members`:
    
    ```
    ::: some.module
        options:
          members:
          - name: SomeName
            options:
              heading: Some Verbose Name
              members:
              - ...
    ```
    
    This change also brings a refactor in how we combine default, global and
    local configuration. Instead of keeping track of dictionaries to merge
    them accordingly, we now chain dataclasses together, using a special
    `UNSET` value to tell whether an option was set or not. Checking against
    this `UNSET` value lets the chained dataclass know whether it should
    try to fetch the value from previous (left/up) dataclasses.
    
    With the following example chain:
    
    ```
    { some_option: UNSET } -> { some_option: False } -> { some_option: UNSET
    }
    ```
    
    ...trying to get `some_option` from the chain would start with the
    right-most dataclass, where `some_option` is `UNSET`. Then it would
    continue on the left, and return `False` since it's not `UNSET`. The
    left-most dataclass would not be checked since the value was already
    returned.
    
    This change lets us simplify templates, as we don't have to check if
    we're rendering the root object anymore: the configuration options are
    chained in a way that prevent options that are only relevant to the root
    object to be propagated further down to members.
    
    Issue-658: mkdocstrings/mkdocstrings#658
    pawamoy committed Jun 8, 2025
    Configuration menu
    Copy the full SHA
    bee7f4e View commit details
    Browse the repository at this point in the history
Loading