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]
