uschindler opened a new pull request, #16694:
URL: https://github.com/apache/lucene/pull/16694

   There are some new features including Java 26/27 support:
   
   # Version 3.11 (released 2026-09-20) #
   
   **New features / improvements:**
   
   - Add Java 26 support by including updated signatures files and build system 
changes
   ([pull #278](https://github.com/policeman-tools/forbidden-apis/pull/278)), 
thanks to Patrick Doyle.
   - Add Java 27 support by including updated signatures files and build system 
changes
   ([pull #284](https://github.com/policeman-tools/forbidden-apis/pull/284)).
   - Added support for commons-io 2.21.0 and 2.22.0.
   - Add new signature type to forbid instantiation of a specific class (and 
not its subclasses):
   `package.Class::new`. In contrast to listing the constructor as 
`package.Class#<init>()`, this
   signature triggers on the `NEW` bytecode, so it does not match super 
constructor calls from
   subclasses. Arguments cannot be given, as it matches any constructor of that 
exact class
   ([issue #279](https://github.com/policeman-tools/forbidden-apis/issues/279),
   [pull #285](https://github.com/policeman-tools/forbidden-apis/pull/285),
   [pull #287](https://github.com/policeman-tools/forbidden-apis/pull/287)), 
thanks to Patrick Doyle.
   - Class files with a major version newer than the bundled ASM release 
supports are now always
   downgraded before parsing, so scanning can proceed in most cases instead of 
failing early. A
   warning is logged once per run; parsing may still fail later if the class 
uses new bytecode
   features ([pull 
#283](https://github.com/policeman-tools/forbidden-apis/pull/283)).
   - Make the scan result available programmatically: 
`Checker#runWithResults()` returns the
   violations of each scanned class as `CheckerResult` instances
   ([pull #276](https://github.com/policeman-tools/forbidden-apis/pull/276)), 
thanks to Joachim Grimm.
   - Method types are only inspected when they come from a method declaration; 
those used as constants
   (e.g., the types passed to the lambda metafactory or an `LDC` of a 
`MethodType`) are no longer
   expanded into their parameter and return types
   ([pull #287](https://github.com/policeman-tools/forbidden-apis/pull/287)).
   
   **Bug fixes:**
   
   - Exception classes used in `catch` blocks (including multi-catch) are now 
checked against
   forbidden class signatures. Only exact matches are reported, ancestors are 
not inspected
   ([issue #281](https://github.com/policeman-tools/forbidden-apis/issues/281),
   [pull #282](https://github.com/policeman-tools/forbidden-apis/pull/282)), 
thanks to Moritz Mack.
   - Forbidden types in method signatures are now reported as separate 
violations, each with its own
   severity. Previously they were merged into a single violation that used the 
*least* severe of the
   involved severities, so an error could be downgraded to a warning or 
silenced completely by a
   severity override of another type in the same signature. Builds using 
severity overrides may now
   fail where they previously passed
   ([pull #286](https://github.com/policeman-tools/forbidden-apis/pull/286)).
   
   **Internals:**
   
   - Refactor `ClassScanner`, ancestor visiting and violation reporting: 
violations are now passed to a
   `Reporter` interface together with their severity instead of being returned 
and later enriched with
   location information ([pull 
#286](https://github.com/policeman-tools/forbidden-apis/pull/286)).
   
   **Maintenance:**
   
   - Upgrade to ASM 9.10.1 for Java 26 and Java 27 bytecode compatibility
   ([pull #278](https://github.com/policeman-tools/forbidden-apis/pull/278)).
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to