What's Changed
Bug Fixes 🐞
- Resolve placeholders in @eXecutable annotation members against each application context by @graemerocher in #14254
- Resolve @Replaces chains and let a replacement satisfy the qualifiers of the bean it replaces by @graemerocher in #14255
- Honour Accept-Encoding weights: never pick q=0, prefer the highest weight by @dstepanov in #14300
- Make propagated context entry and exit cheaper, and stop throwing thread elements leaking the context by @dstepanov in #14362
- Wrap a Python object once per inbound conversion by @graemerocher in #14348
- Give a deprecated method processor each method once at startup by @graemerocher in #13727
Improvements ⭐
- Deliver reactive signals with the propagated context bound without a lambda per signal by @dstepanov in #14369
Other Changes 💡
- Keep lookups from failing while the environment starts by @radovanradic in #14218
- Read the defaults of an annotation no source of the round uses off its compiled class in Kotlin by @graemerocher in #14357
- Give each target resolution of a runtime proxy its own context (5.2.x) by @graemerocher in #14295
- Never fail on an originating element without a native element, and let a Python type-use view provide its declaration's by @graemerocher in #14351
Full Changelog: v5.2.22...v5.2.23