What's Changed
Bug Fixes 🐞
- Keep no cookies in the JDK raw HTTP client by @dstepanov in #13260
- Return each URI route once from DefaultRouter.uriRoutes() by @dstepanov in #13271
- Close the connection when a streamed client response is abandoned by @dstepanov in #13261
- Python: inherited constraints on the parameters of an interface method override by @graemerocher in #13309
- Python: import the package of a class before the module named after it by @graemerocher in #13310
- Python: an override without a return hint converts to the inherited return type by @graemerocher in #13323
- Python: a PEP 695 method type parameter keeps its bound by @graemerocher in #13334
- Python: a Python annotation is its generated annotation type where a Class is expected by @graemerocher in #13341
- Python: declare checked exceptions on overrides of Java methods by @graemerocher in #13315
- Python: bytes reaching an erased Object parameter are a byte array by @graemerocher in #13333
- Python: a docstring before the ... placeholder keeps the body a placeholder by @graemerocher in #13319
- Python: a Java class base makes the class assignable to its supertypes by @graemerocher in #13325
- Python: create the target of a custom scope proxy lazily by @graemerocher in #13339
- Python: an instance attribute shadows an intercepted method on self by @graemerocher in #13340
Improvements ⭐
- Only log an intercepted exception at ERROR when no fallback handles it by @alvarosanchez in #13283
- Inherit SLF4J root level for GraalPy logging by @chumer in #13289
- Python: bridge str to toString() of the generated class by @graemerocher in #13316
- Python: Truffle's guest stack trace is not an application suppressed exception by @graemerocher in #13329
- Python: reflection data for method parameters and for the attributes of a plain bean by @graemerocher in #13337
Regressions 🧐
- Python: select overloads on custom functional interfaces by lambda arity by @graemerocher in #13306
Other Changes 💡
- Python CI: run the Python tests in four sharded jobs and skip publishToMavenLocal by @graemerocher in #13267
- Bind a random server port again when a loopback listener shadows it by @dstepanov in #13268
- Report the custom method name from the route info of a @CustomHttpMethod route by @dstepanov in #13272
- Write body bytes that arrive before the response is up for writing by @dstepanov in #13273
- Keep FileCertificateProviderTest files out of the shared temp directory by @dstepanov in #13259
- Reject out-of-range argument indexes in DefaultExpressionEvaluationContext by @alvarosanchez in #13282
- Fix Windows Python source path matching by @n0tl3ss in #13347
- Keep the name of a custom HTTP method in the simple request and the JDK client by @dstepanov in #13326
- Apply route match filters before resolving route ambiguity by @dstepanov in #13302
- Upgrade GraalPy and GraalVM to 25.4.4.1.1 by @graemerocher in #13344
New Contributors
Full Changelog: v5.2.3...v5.2.4