Uh oh!
There was an error while loading. Please reload this page.
Bump structlog to 26.1.0 and drop WRITE_LOCKS workaround - #68168
Bump structlog to 26.1.0 and drop WRITE_LOCKS workaround#68168wjddn279 wants to merge 2 commits into
Conversation
wjddn279
commented
Jun 8, 2026
waiting until |
ad75d24 to
eae215aComparece510ca to
ae4353dCompareuranusjr
commented
Jun 12, 2026
I believe only the shared logging package’s dependency needs bumping. But it’s not a bad idea to keep everything in sync. |
amoghrajesh
left a comment
There was a problem hiding this comment.
LGTM +1
@uranusjr if we bump the shared package's version, we have a prek hook that synchronises it for all consuming packages
ashb
left a comment
There was a problem hiding this comment.
This should have produced changes to uv.lock too
3b9c313 to
2998db5Comparestructlog 26.1.0 ships the upstream fix for file-descriptor write locks leaking after their file is closed, which Airflow previously worked around by swapping structlog's WRITE_LOCKS dict for a WeakKeyDictionary at logging-configuration time. Now that the fix is released, remove that monkey-patch and raise the structlog lower bound to >=26.1.0 across all distributions so the workaround is no longer required.
2998db5 to
a4247f5Comparewjddn279
commented
Jul 7, 2026
I think it is ok to merge |
| "msgspec>=0.19.0", | ||
| "pygtrie>=2.5.0", | ||
| "structlog>=25.4.0", | ||
| "structlog>=26.1.0", |
There was a problem hiding this comment.
This landed on main earlier today as #70694, which bumps the same eight distributions to structlog>=26.1.0 and removes the same WRITE_LOCKS monkeypatch from configure_logging along with the import weakref. Against main at 724aaad the remaining delta here is zero, so I think this can be closed. #70694 went a bit further and also raised croniter to 6.2.2 and dropped the _BYTES_LOGGER_HAS_NAME fallback that goes dead at the new structlog floor.
Apologies this sat for seven weeks after three approvals -- you spotted the fix first.
related: #65121
As the
struclogrelease the version (26.1.0, https://github.com/hynek/structlog/releases/tag/26.1.0) including the fix of the issue, remove the workaround and bump the version constraintWas generative AI tooling used to co-author this PR?
{pr_number}.significant.rst, in airflow-core/newsfragments. You can add this file in a follow-up commit after the PR is created so you know the PR number.