ppkarwasz opened a new pull request, #207:
URL: https://github.com/apache/pdfbox/pull/207

   This PR makes the following changes:
   
   * Upgrades Log4j to version `2.25.0`.
   * Hardens annotation processing in response to the [JDK 23 change in default 
annotation processing 
policy](https://inside.java/2024/06/18/quality-heads-up/), which deprecates 
implicit annotation processor discovery. This change has been backported to 
earlier JDKs as well.
   
   ### Key Improvements:
   
   * Annotation processing is now disabled by default (`<proc>none</proc>`) to 
ensure only explicitly declared processors are run — a best practice that 
improves build predictability and mitigates supply chain risks 
([background](https://javapro.io/2024/11/19/discovering-the-perfect-java-supply-chain-attack-vector-and-how-it-got-fixed/)).
   
   * The `pdfbox-debugger` module is now explicitly compiled using:
   
     * `PluginProcessor` to generate the `Log4j2Plugins.dat` descriptor.
     * The new `GraalVmProcessor` to generate GraalVM reachability metadata.
   
   * Both processors are declared explicitly along with the required compiler 
arguments:
   
     ```text
     -Alog4j.graalvm.groupId=${project.groupId}
     -Alog4j.graalvm.artifactId=${project.artifactId}
     ```
   
     This avoids build failures introduced by `GraalVmProcessor` when those 
parameters are missing.
   
   ### Why This Matters:
   
   Log4j 2.25.0 introduces stricter behavior for `GraalVmProcessor`, which 
fails with an error if required options aren't set. Combined with changes to 
how annotation processors are discovered in JDK 23+, these updates ensure that:
   
   * Build behavior is explicit and secure.
   * The `DebugLogAppender` remains compatible with ahead-of-time compilation 
tools like GraalVM.
   * The project is future-proofed against evolving Java defaults and security 
posture.


-- 
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: dev-unsubscr...@pdfbox.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@pdfbox.apache.org
For additional commands, e-mail: dev-h...@pdfbox.apache.org

Reply via email to