Skip to content

New Release#1102

Merged
alcarney merged 47 commits into
releasefrom
develop
Apr 11, 2026
Merged

New Release#1102
alcarney merged 47 commits into
releasefrom
develop

Conversation

@alcarney
Copy link
Copy Markdown
Member

No description provided.

alcarney and others added 30 commits March 21, 2026 15:27
Python 3.10 and Sphinx v9 is not a valid combo as 3.10 support was
dropped in Sphinx v8.2.
Sphinx 9's logging.setup() has a verbosity keyword argument. Update
setup_logging wrapper to pass this through.
Sphinx 9 removed registry.get_publisher() and deprecated sphinx.io module.
Switch to using Sphinx's internal _parse_str_to_doctree() function which
is the modern approach for parsing reStructuredText to doctree.

Changes:
- Remove Publisher-based parsing with custom Reader/Writer
- Use _parse_str_to_doctree() from sphinx.util.docutils
- Remove unused LogStream, LogReporter, LoggingDoctreeReader classes
- Update create_source_parser() call signature (config/env kwargs)
Allow command to be specified as a single string, wrapping it in a list.
sphinx_agent/config: m_Sphinx.call_args.kwargs is Mapping[str, Any], but
sphinx_args wants dict[str, Any].
sphinx_manager/config: mypy is unable to handle args expansion, just
ignore error.
The set of diagnostics between Sphinx < 9 and >= 9 changed, have
different sets depending on the version.
The set of diagnostics between Sphinx < 9 and >= 9 changed, have
different sets depending on the version.
Rather than relying on pip to be available in the Python distribution
(which is not the case when running in the devcontainer), this tweaks
the Makefile to use uv to bootstrap pip and use the correct Python
version.

This also removes the PYXX macros from the Makefiles as uv makes them
obselete and it further simplifies the setup.
It turns out that `_parse_str_to_doctree` uses Sphinx's
`sphinx_domains` custom dispatcher[1] which overrides the
`disable_roles_and_directives` dispatcher that Esbonio provides. Which
results in a number of confusing warnings about undefined roles
etc. being emitted and being reported as diagnostics.

This commits updates the Publisher approach to work around the
deprecations/removals in Sphinx v9, (almost) removing the need to
special case the version. This includes adapting Sphinx's
_get_settings function and SphinxDummyWriter class to bring them
"in-house".

The `update_symbols` function has been wrapped in a try-except block
to guard against the time where _get_settings inevitably breaks. The
logs will be very noisy, but esbonio should continue to work - albeit
without symbol support.

[1]: https://github.com/sphinx-doc/sphinx/blob/cc7c6f435ad37bb12264f8118c8461b230e6830c/sphinx/util/docutils.py#L890
We can reuse the Sphinx app settings without needing the
`_get_settings` helper.
Bumps the actions group with 2 updates: [actions/upload-artifact](https://github.com/actions/upload-artifact) and [actions/download-artifact](https://github.com/actions/download-artifact).


Updates `actions/upload-artifact` from 6 to 7
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](actions/upload-artifact@v6...v7)

Updates `actions/download-artifact` from 7 to 8
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](actions/download-artifact@v7...v8)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: actions
- dependency-name: actions/download-artifact
  dependency-version: '8'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: actions
...

Signed-off-by: dependabot[bot] <support@github.com>
By setting `esbonio.server.enabled` to `false` we can test server
startup separate from activation. This also tests Sphinx app creation
by opening a file and a smoke test around previews.
Rather than use github actions to fanout across Python versions, run a
single workflow and push the logic into the test code/makefile.
alcarney and others added 17 commits April 5, 2026 11:14
Bumps the actions group with 4 updates: [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action), [docker/login-action](https://github.com/docker/login-action), [docker/metadata-action](https://github.com/docker/metadata-action) and [docker/build-push-action](https://github.com/docker/build-push-action).


Updates `docker/setup-buildx-action` from 3 to 4
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](docker/setup-buildx-action@v3...v4)

Updates `docker/login-action` from 3 to 4
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](docker/login-action@v3...v4)

Updates `docker/metadata-action` from 5 to 6
- [Release notes](https://github.com/docker/metadata-action/releases)
- [Commits](docker/metadata-action@v5...v6)

Updates `docker/build-push-action` from 6 to 7
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](docker/build-push-action@v6...v7)

---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
  dependency-version: '4'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: actions
- dependency-name: docker/login-action
  dependency-version: '4'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: actions
- dependency-name: docker/metadata-action
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: actions
- dependency-name: docker/build-push-action
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: actions
...

Signed-off-by: dependabot[bot] <support@github.com>
updates:
- [github.com/astral-sh/ruff-pre-commit: v0.14.10 → v0.15.9](astral-sh/ruff-pre-commit@v0.14.10...v0.15.9)
- [github.com/pre-commit/mirrors-mypy: v1.19.1 → v1.20.0](pre-commit/mirrors-mypy@v1.19.1...v1.20.0)
@alcarney alcarney marked this pull request as ready for review April 11, 2026 17:00
@alcarney alcarney merged commit bcb7488 into release Apr 11, 2026
16 checks passed
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.

2 participants