### Description

The new version was released a minute ago: https://github.com/policeman-tools/forbidden-apis/wiki/Changes#version-35-released-2023-03-27

Summary of relevant changes for Elasticsearch:
- Faster startup time as Gradle plugin initialization was compiled statically and is part of JAR file
- Support for Java 20 signatures and bytecode of Java 21

I have no time to submit PR (and don't want to due to legal reasons => no open source license). So this is for informative purposes only.
build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/precommit/ThirdPartyAuditTask.java
@SkipWhenEmpty
    public abstract ConfigurableFileCollection getJarsToScan();
    @TaskAction
    public void runThirdPartyAudit() throws IOException {
        Set<File> jars = getJarsToScan().getFiles();
        extractJars(jars, getJarExpandDir());
        final String forbiddenApisOutput = runForbiddenAPIsCli();
        final Set<String> missingClasses = new TreeSet<>();
        Matcher missingMatcher = MISSING_CLASS_PATTERN.matcher(forbiddenApisOutput);
        while (missingMatcher.find()) {
            missingClasses.add(missingMatcher.group(1));
        }
        final Set<String> violationsClasses = new TreeSet<>();
        Matcher violationMatcher = VIOLATION_PATTERN.matcher(forbiddenApisOutput);
        while (violationMatcher.find()) {
            violationsClasses.add(violationMatcher.group(1));
        }
        Set<String> jdkJarHellClasses = runJdkJarHellCheck();
        if (missingClassExcludes != null) {
            long bogousExcludesCount = Stream.concat(missingClassExcludes.stream(), violationsExcludes.stream())
                .filter(each -> missingClasses.contains(each) == false)
                .filter(each -> violationsClasses.contains(each) == false)
                .count();
            if (bogousExcludesCount != 0 && bogousExcludesCount == missingClassExcludes.size() + violationsExcludes.size()) {
                logForbiddenAPIsOutput(forbiddenApisOutput);
                throw new IllegalStateException(
                    "All excluded classes seem to have no issues. This is sometimes an indication that the check silently failed"
                );
            }
            assertNoPointlessExclusions("are not missing", missingClassExcludes, missingClasses);