Releases: ferstl/depgraph-maven-plugin
4.0.3
Improvements
- Issue #180: Improve wildcard support for styling. Wildcards can now be used anywhere in the style keys and will be matched accordingly. For example a style key with
,,,,*-SNAPSHOT
for an artifact version will match all SNAPSHOT versions. Take a look at the Wiki for further details. Thanks @mattjhann for the contribution.
4.0.2 / 3.3.2 (Bugfix)
Bugfixes
- Issue #159: Fix a possible
ConcurrentModificationException
in the text graph when-DshowConflicts
and/or-DshowDuplicates
is enabled. This problem occurred in projects using the Visual Studio Code Maven Extension
4.0.1 (Bugfix)
Bugfixes
- Issue #144: The new reactor graph did not work with PUML output because of wrongly handling the scopes of reactor modules
4.0.0
This is a new major release mainly because the JDK baseline was updated from JDK7 to JDK8. Projects working with lower JDK versions than 8 cannot use this version and future versions of this plugin anymore.
New Features
- Issue #103: New goal for build reactor
depgraph:reactor
. This will show the build dependencies in a multi-module project
- Issue #107: Enhancements for scope filtering
- New parameter
scopes
which allows filtering dependencies for specific scopes. - Because of the misleading name, the
scope
parameter has been deprecated and replaced by theclasspathScope
parameter.
- New parameter
- Issue #136: New parameter
artifact
in thefor-artifact
goal that allows defining an artifact in the form ofgroupId:artifactId:version[:packaging[:classifier]]
- Issue #139: New parameter
dotArguments
for all goals to specify additional arguments for thedot
executable.
Improvements
- Issue #95: JDK baseline was updated from JDK7 to JDK8. JUnit tests were migrated to JUnit 5. Integration tests are still using JUnit 4 because there is not JUnit 5 support for the maven-plugin-testing-project.
- Issue #8: The plugin does not download all dependencies during graph creation anymore. Only the POM files are downloaded.
3.3.1 (Bugfix)
Bugfixes
- Issue #131 : Activating the
showConflicts
option could lead to aStackOverflowError
in case an omitted (conflicting) dependency introduced a circle in the graph.
3.3.0
New Features
-
Issue #93: Create dependency graphs from arbitrary artifacts from one of your local or remote repositories without having them checked out (no POM file required):
mvn depgraph:for-artifact -DgroupId=com.example -DartifactId=some-artifact -Dversion=1.0.0
Improvements
-
Issue #88: Add a flag to skip plugin execution. The execution can be skipped on the command line with
-Ddepgraph.skip
or in the POM file with<skip>true</skip>
in the plugin configuration. -
Various dependency updates for security. This is just a precaution. The plugin is and was not affected by these vulnerabilities. The vulnerabilities are related to Jackson and Spring. Older Jackson versions were vulnerable to remote code execution when certain additional libraries are on the classpath. This plugin does not use any of these libraries. This plugin does also not have any dependencies to the Spring framework. However, some integration test projects (see
src/test/projects
) do. -
Issue #92: Set prerequisites to Maven 3.1.0. Starting with version 3.2.0 of this plugin, the minimum required Maven version is 3.1.0. Setting the prerequisites correctly will lead to a more meaningful error message when the plugin is executed with older Maven versions.
3.2.2 (Bugfix)
Bugfixes
- Issue #84: The
include
/exclude
Filters were filtering too much because graph traversal was aborted for all children of a filtered dependency.
3.2.1 (Bugfix)
Bugfixes
- Issue #82: The
reduceEdges
option in aggregated graphs did not work correctly in some constellations of non-transitive dependencies. In case of such constellations, the aggregated graph shows redundant edges that should have been reduced. This problem affects all versions since 3.0.0. The detailed description of this issue can be found in the bug report. This release solves this problem and produces more accurate aggregated graphs.
3.2.0
New Features
- Support for optional dependencies (Issue #79)
- Indicate optional dependencies in all graphs (e.g. with
<optional>
in the DOT graph). Can be disabled with-DshowOptional=false
. - Omit optional dependencies in the graph with
-DexcludeOptionalDependencies=true
- Support styling for optional dependencies. See the Styling Documentation for further details.
- Indicate optional dependencies in all graphs (e.g. with
Improvements
- The plugin does not use the maven-dependency-tree library anymore for calculating the dependency graph. It uses Aether directly. This will lead to 100% accurate dependency graphs when the options
showDuplicates
orshowConflicts
are enabled (Issue #7). - Edges from parent POMs to their modules in aggregated graphs can now be styled. Such edges are shown as dashed arrows by default. (Issue #73):
"edge-resolution-styles": { ... "parent": { "style": "dashed" } ... }
Bugfixes
- Issue #76: The plugin handles wildcard exclusions correctly when
showDuplicates
orshowConflicts
are enabled.
3.1.0
New Feature
- Allow styling based on classifier in the DOT graph. The style key has been extended to contain a classifier at the end. For more information see https://github.com/ferstl/depgraph-maven-plugin/wiki/Styling#node-styles-styles-for-different-combinations-of-node-properties . Thanks to @void256 for the contribution!