Skip to content

docs(release): 2.29.0 notes — the compiled resolver#342

Merged
lesnik512 merged 1 commit into
mainfrom
docs/release-2.29.0-notes
Jul 17, 2026
Merged

docs(release): 2.29.0 notes — the compiled resolver#342
lesnik512 merged 1 commit into
mainfrom
docs/release-2.29.0-notes

Conversation

@lesnik512

Copy link
Copy Markdown
Member

Draft of planning/releases/2.29.0.md, the verbatim body for the 2.29.0 GitHub Release. Covers the full 2.28.0→2.29.0 backlog.

Headline

Fixes

Breaking change

just check-planning passes. Tagging/publishing stays with the maintainer — this PR only lands the notes file.

🤖 Generated with Claude Code

Cover the 2.28.0->2.29.0 backlog: the single-path compiled resolver (#334)
and its measured perf, the wiring-plan memoization (#326), the three
correctness fixes (#340 ContextProvider-via-kwargs default, #321 NoneType
default/nullability, #320 validate traverses kwargs=), and the closed
provider set under an explicit breaking-change heading (per
planning/decisions/2026-07-17-custom-providers-retracted.md, the release
notes carry that warning, not the docs).

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Benchmark

Details
Benchmark suite Current: 283355d Previous: 1f41fb6 Ratio
benchmarks/test_guard_lifecycle.py::test_g6_build_child_container 527419.7507204997 iter/sec (stddev: 0.0000420993829727779) 394943.7980686877 iter/sec (stddev: 0.00006574871089200236) 0.75
benchmarks/test_guard_lifecycle.py::test_g7_request_lifecycle 94566.31885239917 iter/sec (stddev: 0.000010031414260362924) 73178.6926741399 iter/sec (stddev: 0.000013030541070699313) 0.77
benchmarks/test_guard_resolve.py::test_g1_transient_resolve 1555931.403746593 iter/sec (stddev: 3.904094774511056e-7) 1183710.4709005877 iter/sec (stddev: 9.019328609723592e-7) 0.76
benchmarks/test_guard_resolve.py::test_g2_cached_resolve 2947435.1560046095 iter/sec (stddev: 3.88152271338114e-8) 2253746.2547900085 iter/sec (stddev: 1.9784401491421818e-7) 0.76
benchmarks/test_guard_resolve.py::test_g3_deep_chain 658692.5057065138 iter/sec (stddev: 3.3584044376541014e-7) 501203.53868838586 iter/sec (stddev: 5.442464126348895e-7) 0.76
benchmarks/test_guard_resolve.py::test_g4_wide_resolve 402441.63245942234 iter/sec (stddev: 4.1615539390337864e-7) 314790.8661277014 iter/sec (stddev: 7.618119698663759e-7) 0.78
benchmarks/test_guard_resolve.py::test_g5_cross_scope 1413845.457158623 iter/sec (stddev: 2.9427872085648073e-7) 1039052.0461773115 iter/sec (stddev: 6.144906544265567e-7) 0.73

This comment was automatically generated by workflow using github-action-benchmark.

@lesnik512
lesnik512 merged commit cc9b991 into main Jul 17, 2026
8 checks passed
@lesnik512
lesnik512 deleted the docs/release-2.29.0-notes branch July 17, 2026 15:10
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.

1 participant