The Apache Maven team is pleased to announce the release of the Apache Maven Enforcer Plugin, version 3.2.1
This plugin provides goals to control certain environmental constraints such as Maven version, JDK version and OS family along with many more built-in rules and user created rules. https://maven.apache.org/enforcer/maven-enforcer-plugin/ You should specify the version in your project's plugin configuration: <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-enforcer-plugin</artifactId> <version>3.2.1</version> <plugin> You can download the appropriate sources etc. from the download page: https://maven.apache.org/enforcer/download.html Release Notes - Maven Enforcer Plugin - Version 3.2.1 ** Bug * [MENFORCER-378] - requireReleaseDeps does not support optional dependencies or runtime scope * [MENFORCER-407] - Enforcer 3.0.0 breaks with Maven 3.8.4 * [MENFORCER-434] - Version 3.1.0 is not enforcing bannedDependencies rules * [MENFORCER-437] - DependencyConvergence treats provided dependencies are runtime dependencies * [MENFORCER-459] - Plugin shouldn't use NullPointerException for non-exceptional code flow * [MENFORCER-461] - NPE in RequirePluginVersions * [MENFORCER-462] - ReactorModuleConvergence not cached in reactor ** New Feature * [MENFORCER-397] - allow no rules * [MENFORCER-398] - show rules processed * [MENFORCER-411] - DependencyConvergence should support including/excluding certain dependencies * [MENFORCER-422] - Support declaring external banned dependencies in an external file/URL * [MENFORCER-423] - Maven enforcer rule which checks that all dependencies have an explicit scope set * [MENFORCER-424] - Maven enforcer rule which checks that all dependencies in dependencyManagement don't have an explicit scope set * [MENFORCER-427] - Rule for no version ranges, version placeholders or SNAPSHOT versions * [MENFORCER-430] - Allow one of many files in RequireFiles rules to pass * [MENFORCER-431] - Skip specific rules * [MENFORCER-455] - New Enforcer API * [MENFORCER-456] - New Enforcer API - RuleConfigProvider * [MENFORCER-458] - Move Built-In Rules to new API ** Improvement * [MENFORCER-415] - Violation messages can be really hard to find in a multi module project * [MENFORCER-425] - Clarify class loading for custom Enforcer rules * [MENFORCER-428] - Using junit jupiter bom instead of single artifacts. * [MENFORCER-435] - Get rid of maven-dependency-tree dependency * [MENFORCER-440] - Allow 8 as JDK version for requireJavaVersion * [MENFORCER-444] - Improve error message for rule "requireJavaVersion" * [MENFORCER-445] - Include Java Home in Message for Java Rule Failures * [MENFORCER-452] - Manage all Maven Core dependencies as provided * [MENFORCER-453] - Mange rules configuration by plugin * [MENFORCER-454] - Deprecate 'rules' property and introduce 'enforcer.rules' as a replacement * [MENFORCER-463] - Change success message from executed to passed ** Task * [MENFORCER-447] - Verify working with Maven 4 * [MENFORCER-450] - Code cleanup * [MENFORCER-451] - Refresh download page * [MENFORCER-460] - Deprecate display-info mojo * [MENFORCER-464] - Refresh site descriptors ** Dependency upgrade * [MENFORCER-429] - Upgrade maven-plugin parent to 37 * [MENFORCER-438] - Upgrade maven-plugin parent to 38 * [MENFORCER-441] - Bump maven-common-artifact-filters from 3.2.0 to 3.3.2 * [MENFORCER-442] - Bump Mockito from 4.6.1 to 4.11.0 * [MENFORCER-443] - Bump junit-bom from 5.9.0 to 5.9.1 * [MENFORCER-446] - Bump plexus-utils from 3.4.2 to 3.5.0 * [MENFORCER-448] - Upgrade parent to version 39 * [MENFORCER-449] - Bump mrm-maven-plugin from 1.3.0 to 1.5.0 * [MENFORCER-457] - Bump assertj-core from 3.23.1 to 3.24.2 Enjoy, -The Apache Maven team