Skip to content

Update dependencies and resolve open Dependabot advisories - #445

Merged
jvanderaa merged 3 commits into
developfrom
chore/dependency-bumps-2026-10
Oct 30, 2026
Merged

jvanderaa merged 3 commits into
developfrom
chore/dependency-bumps-2026-10

Conversation

@jvanderaa

@jvanderaa jvanderaa commented Oct 26, 2026 •

Copy link
Copy Markdown
Contributor

Resolves all open Dependabot advisories and supersedes the stale Renovate PRs #442, #430, #426, #421, #420, #408 and #365.

Security advisories

  • The refreshed lock resolves all open Dependabot advisories (certifi, idna, soupsieve, anyio, pymdown-extensions). These packages are only reached transitively, and certifi/idna only via requests, which the library does not import, so no runtime constraints were added for them.

Dependencies

Formatting

ruff 0.17 formats Python code blocks in Markdown. The README example's printed JSON output now sits in its own json block so it is not reformatted as Python.

- Raise minimum certifi, idna and soupsieve versions to resolve open Dependabot advisories (including the critical certifi emSign CA advisory); the refreshed lock also clears the anyio and pymdown-extensions advisories for development and CI.
- Widen icalendar, chardet, timezonefinder, python-dateutil and pandas ranges to allow their latest majors while keeping existing floors.
- Refresh development and documentation dependencies (ruff 0.17, griffe 1.15, invoke 3, towncrier 26, pytest, pylint, mkdocs plugins).
- Apply ruff 0.17 Markdown code-block formatting and split the README example output into its own json block so it is not reformatted as Python.
@jvanderaa jvanderaa added the dependencies Pull requests that update a dependency file label Oct 26, 2026
The library imports pytz in utils.py and parsers/cogent.py but only received it transitively through icalendar 5. icalendar 6 and later no longer depend on pytz, so widening the icalendar range left pytz uninstalled in a clean environment.
glennmatthews
glennmatthews previously approved these changes Oct 27, 2026
Comment thread pyproject.toml Outdated
Comment on lines +45 to +47
certifi = ">=2026.10.19"
idna = ">=3.15,<4"
soupsieve = ">=2.9.0,<4"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Generally for other packages with indirect dependencies that have security fixes, our pattern has been to just refresh the lockfile and note in the release-note that local installs should upgrade explicitly, rather than adding more explicit/direct dependencies for packages that we don't actually use directly. I'm not necessarily opposed to the approach you've taken here but it does increase the maintenance burden of this package, even if slightly.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've gotten confused from refreshing lock files and them not able to actually do anything to solve the dependabot recommendations to this. I will take this and remove them.

certifi, idna and soupsieve are never imported by the library and are only reached transitively, so declaring them added unused runtime constraints and ceilings that could block versions the parent packages support. The refreshed lock already pins patched versions, which is what resolves the Dependabot advisories, so the changelog entry moves from security to housekeeping.
@jvanderaa
jvanderaa merged commit 0bd2768 into develop Oct 30, 2026
17 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants