Entries tagged [maven-core-release]

Sunday March 13, 2022

Apache Maven 3.8.5 Released

The Apache Maven team is pleased to announce the release of the Apache Maven 3.8.5

Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project’s build, reporting and documentation from a central piece of information.

Maven 3.8.5 is available via https://maven.apache.org/download.cgi

The core release is independent of plugin releases. Further releases of plugins will be made separately.

If you have any questions, please consult:

Release Notes – Maven – Version 3.8.5

  • Bugs:

    • MNG-5180 – Versioning’s snapshot version list is not included in metadata merge
    • MNG-5561 – Plugin relocation loses configuration
    • MNG-5982 – The POM for … is invalid, transitive dependencies … while property was overriden
    • MNG-6326 – Build continues when core extensions aren’t found
    • MNG-6727 – Using version range in parent and CI Friendly Version fails
    • MNG-6802 – FileProfileActivator changes FileProfileActivator.exists which lets flattened resolveCiFriendliesOnly depending fail activating profile
    • MNG-7156 – Parallel build can cause issues between clean and forked goals
    • MNG-7335 – [Regression] Parallel build fails due to missing JAR artifacts in compilePath
    • MNG-7347 – SessionScoped beans should be singletons for a given session
    • MNG-7357 – All Maven Core JARs have unusual entry order
    • MNG-7362 – DefaultArtifactResolver has spurious “Failure detected” INFO log
    • MNG-7374 – Mutating RelocatedArtifact does not retain type
    • MNG-7386 – ModelMerger$MergingList is not serializable
    • MNG-7402 – BuildListCalculator never detaches the classloader
    • MNG-7417 – Several classes do not set properties properly for building requests
  • New Features:

    • MNG-7395 – Support interpolation in extensions.xml
    • MNG-7407 – Introduce a ModelVersionProcessor component to make CI Friendly Versions pluggable
  • Improvements:

    • MNG-6960 – Use RuntimeInformation instead of reading properties
    • MNG-7349 – Limit relocation warning message to direct dependencies only
    • MNG-7380 – Don’t log non-threadsafe warning if only building a single module
    • MNG-7381 – Shorten parallel builder thread name to artifactId, conditionally with groupId
    • MNG-7385 – Improve documentation on repository metadata
    • MNG-7400 – Allow more WorkspaceReaders to participate
    • MNG-7408 – Explain reporting plugin version automatic selection (in Maven 3)
  • Dependency upgrades:

    • MNG-7370 – Upgrade Maven Wagon to 3.5.1
    • MNG-7384 – Upgrade Maven JAR Plugin to 3.2.2
    • MNG-7428 – Upgrade Maven Parent to 35

For more information read https://maven.apache.org/docs/3.8.5/release-notes.html

Enjoy!

  • The Maven Team

Saturday November 20, 2021

Apache Maven 3.8.4 Released

The Apache Maven team is pleased to announce the release of the Apache Maven 3.8.4

Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project’s build, reporting and documentation from a central piece of information.

Maven 3.8.4 is available via https://maven.apache.org/download.cgi

The core release is independent of plugin releases. Further releases of plugins will be made separately.

If you have any questions, please consult:

Release Notes – Maven – Version 3.8.4

  • Bugs:

    • MNG-7270 – Maven startup script (init) calls which(1) which is an external command
    • MNG-7285 – [Regression] MavenProject.getArtifacts() not returning correct value across multiple threads
    • MNG-7300 – [Regression] Reloading web application (Enter) fails due to java.lang.ClassNotFoundException
  • Task:

    • MNG-7312 – Revert ThreadLocal approach from MNG-6843 and MNG-7251
  • Dependency upgrade:

For more information read https://maven.apache.org/docs/3.8.4/release-notes.html

Enjoy!

  • The Maven Team

Monday October 04, 2021

Apache Maven 3.8.3 Released

The Apache Maven team is pleased to announce the release of the Apache Maven 3.8.3

Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project’s build, reporting and documentation from a central piece of information.

Maven 3.8.3 is available via https://maven.apache.org/download.cgi

The core release is independent of plugin releases. Further releases of plugins will be made separately.

If you have any questions, please consult:

Release Notes – Maven – Version 3.8.3

  • Bugs:

    • MNG-7045 – Drop CDI API from Maven
    • MNG-7214 – Bad transitive dependency parent from CDI API
    • MNG-7215 – [Regression] Maven Site Plugin cannot resolve parent site descriptor without locale
    • MNG-7216 – Revert MNG-7170
    • MNG-7218 – [Regression] o.a.m.model.Build.getSourceDirectory() incorrectly returns absolute dir on 3.8.2
    • MNG-7219 – [Regression] plexus-cipher missing from transitive dependencies
    • MNG-7220 – [REGRESSION] test-classpath incorrectly resolved
    • MNG-7251 – Fix threadLocalArtifactsHolder leaking into cloned project
    • MNG-7253 – Relocation message is never shown
  • New Feature:

    • MNG-7164 – Add constructor MojoExecutionException(Throwable)
  • Improvements:

    • MNG-7235 – Speed improvements when calculating the sorted project graph
    • MNG-7236 – The DefaultPluginVersionResolver should cache results for the session
  • Tasks:

    • MNG-7252 – Fix warnings issued by dependency:analyze
    • MNG-7254 – Expand Windows native libraries for Jansi due to JDK-8195129 (workaround)
  • Dependency upgrades:

    • MNG-6818 – Upgrade Plexus Utils to 3.3.0
    • MNG-6841 – Upgrade Plexus Interpolation to 1.26
    • MNG-7246 – Upgrade Plexus Cipher and Sec Dispatcher to 2.0
    • MNG-7250 – Upgrade Sisu Inject/Plexus to 0.3.5

For more information read https://maven.apache.org/docs/3.8.3/release-notes.html

Enjoy!

  • The Maven Team

Sunday August 15, 2021

Apache Maven 3.8.2 Released

Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project’s build, reporting and documentation from a central piece of information.

Maven 3.8.2 is available via https://maven.apache.org/download.cgi

The core release is independent of plugin releases. Further releases of plugins will be made separately.

If you have any questions, please consult:

Release Notes – Maven – Version 3.8.2

  • Sub-task

    • MNG-6281 – ArrayIndexOutOfBoundsException caused by pom.xml with invalid/duplicate XML
  • Bugs:

    • MNG-4706 – Multithreaded building can create bad files for downloaded artifacts in local repository
    • MNG-5307 – NPE during resolution of dependencies – parallel mode
    • MNG-5315 – Artifact resolution sporadically fails in parallel builds
    • MNG-5838 – Maven on No-File-Lock Systems
    • MNG-5868 – Adding serval times the same artifact via MavenProjectHelper (attachArtifact) keep adding to the List duplicate artifacts
    • MNG-6071 – GetResource (‘/) returns ‘null’ if build is started with -f
    • MNG-6216 – ArrayIndexOutOfBoundsException when parsing POM
    • MNG-6239 – Jansi messes up System.err and System.out
    • MNG-6380 – Option -Dstyle.color=always doesn’t force color output
    • MNG-6604 – Intermittent failures while downloading GAVs from Nexus
    • MNG-6648 – ‘mavenrc_pre’ script does not receive arguments like mavenrc in Bourne shell does
    • MNG-6719 – mvn color output escape keys w/ “| tee xxx.log” on Win with git/bash
    • MNG-6737 – StackOverflowError when version ranges are unsolvable and graph contains a cycle
    • MNG-6767 – Plugin with ${project.groupId} resolved improperly
    • MNG-6819 – NullPointerException for DefaultArtifactDescriptorReader.loadPom
    • MNG-6828 – DependencyResolutionException breaks serialization
    • MNG-6842 – ProjectBuilderTest uses Guava, but Guava is not defined in dependencies
    • MNG-6843 – Parallel build fails due to missing JAR artifacts in compilePath
    • MNG-6850 – Prevent printing the EXEC_DIR when it’s just a disk letter
    • MNG-6921 – Maven compile with properties ${artifactId} and ${project.build.finalName} occurs java.lang.NullPointerException
    • MNG-6937 – StringSearchModelInterpolatorTest fails on symlinked paths
    • MNG-6964 – Maven version sorting is internally inconsistent
    • MNG-6983 – Plugin key can get out of sync with artifactId and groupId
    • MNG-7000 – metadata.mdo contains invalid link to schema
    • MNG-7032 – Option -B still showing formatting when used with —version
    • MNG-7034 – StackOverflowError thrown if a cycle exists in BOM imports
    • MNG-7090 – mvnDebug does not work on Java 11+
    • MNG-7127 – NullPointerException in MavenCliTest.testStyleColors in JDK 16
    • MNG-7155 – make sources jar reproducible (upgrade maven-source-plugin to 3.2.1)
    • MNG-7161 – Error thrown during uninstalling of JAnsi
  • New Feature

    • MNG-7149 – Introduce MAVEN_DEBUG_ADDRESS in mvnDebug scripts
  • Improvements:

    • MNG-2802 – Concurrent-safe access to local Maven repository
    • MNG-6471 – Parallel builder should use the module name as thread name
    • MNG-6754 – Set the same timestamp in multi module builds
    • MNG-6810 – Remove profiles in maven-model
    • MNG-6811 – Remove unnecessary filtering configuration
    • MNG-6816 – Prefer System.lineSeparator() over system properties
    • MNG-6827 – Replace deprecated StringUtils#defaultString() from Plexus Utils
    • MNG-6837 – Simplify detection of the MAVEN_HOME and make it fully qualified on Windows
    • MNG-6844 – Use StandardCharsets and remove outdated @SuppressWarnings
    • MNG-6853 – Don’t box primitives where it’s not needed
    • MNG-6859 – Build not easily reproducible when built from source release archive
    • MNG-6873 – Inconsistent library versions notice
    • MNG-6967 – Improve the command line output from maven-artifact
    • MNG-6987 – Reorder groupId before artifactId when writing an exclusion using maven-model
    • MNG-7010 – Omit “NB: JAVA_HOME should point to a JDK not a JRE” except when that is the problem
    • MNG-7064 – Use HTTPS for schema location in global settings.xml
    • MNG-7080 – Add a —color option
    • MNG-7170 – Allow to associate pomFile/${basedir} with DefaultProjectBuilder.build(ModelSource, …)
    • MNG-7180 – Make —color option behave more like BSD/GNU grep’s —color option
    • MNG-7181 – Make —version support -q
    • MNG-7185 – Describe explicit and recommended version for VersionRange.createFromVersionSpec()
    • MNG-7190 – Load mavenrc from /usr/local/etc also in Bourne shell script
  • Tasks:

    • MNG-6598 – Maven 3.6.0 and Surefire problem
    • MNG-6884 – Cleanup POM File after version upgrade
    • MNG-7172 – Remove expansion of Jansi native libraries
    • MNG-7184 – document .mavenrc/maven_pre.bat|cmd scripts and MAVEN_SKIP_RC environment variable
  • Dependency upgrades:

    • MNG-6872 – Found CVEs in your dependencies – plexus-utils (tests)
    • MNG-6874 – Upgrade Maven Parent to 34
    • MNG-6886 – Upgrade plexus-cipher 1.8
    • MNG-6993 – Upgrade SLF4J to 1.7.30
    • MNG-7152 – Upgrade Maven Resolver to 1.6.3
    • MNG-7177 – Upgrade Maven Shared Utils to 3.3.4
    • MNG-7179 – Upgrade Jansi to 2.3.3
    • MNG-7186 – Upgrade Guice to 4.2.2
    • MNG-7196 – Upgrade Jansi to 2.3.4
    • MNG-7198 – Upgrade SLF4J to 1.7.32
  • Known Issues:

For more information read https://maven.apache.org/docs/3.8.2/release-notes.html

Enjoy!

  • The Maven Team

Sunday April 04, 2021

Apache Maven 3.8.1 Released

The Apache Maven team is pleased to announce the release of the Apache Maven 3.8.1

Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project’s build, reporting and documentation from a central piece of information.

Maven 3.8.1 is available via https://maven.apache.org/download.cgi

The core release is independent of plugin releases. Further releases of plugins will be made separately.

If you have any questions, please consult:

RELEASE DETAILS

This release with CVE fixes is a result based on the findings and feedback of Jonathan Leitschuh and Olaf Flebbe.

One of the changes that might impact your builds is the way custom repositories defined in dependency POMs will be handled. By default external insecure repositories will now be blocked (localhost over HTTP will still work). Configuration can be adjusted via the conf/settings.xml.

Release Notes – Maven – Version 3.8.1

  • Bug:

    • MNG-7128 – improve error message when blocked repository defined in build POM
  • New Features:

    • MNG-7116 – Add support for mirror selector on external:http:*
    • MNG-7117 – Add support for blocking mirrors
    • MNG-7118 – Block external HTTP repositories by default
  • Dependency upgrades:

    • MNG-7119 – Upgrade Maven Wagon to 3.4.3
    • MNG-7123 – Upgrade Maven Resolver to 1.6.2

For more information read https://maven.apache.org/docs/3.8.1/release-notes.html

Enjoy!

  • The Maven Team

Tuesday November 26, 2019

Apache Maven 3.6.3 Released

The Apache Maven team is pleased to announce the release of the Apache Maven 3.6.3.

Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project’s build, reporting and documentation from a central piece of information.

You can find out more about Apache Maven at https://maven.apache.org

You can download the appropriate sources etc. from the download page

Overview about the changes

  • This is a regression release to fix some critical issues shipped with 3.6.2.
  • Some license issues on binary distribution have been fixed.
  • This Maven distribution is now Reproducible: if you build from source archive, with JDK 8, on Windows, with mvn -DbuildNumber=cecedd343002696d0abb50b32b541b8a6ba2883f package you’ll get bit-by-bit identical output that you can check with sha512 fingerprints. If you’re building on any Unix system, you’ll need to add -Dline.separator=$'\r\n'. See the https://maven.apache.org/guides/mini/guide-reproducible-builds.html for more details.

For more information read https://maven.apache.org/docs/3.6.3/release-notes.html

Complete Release Notes

  • Sub-tasks:

    • MNG-6779 – fix jcl-over-slf4j license: Apache 2.0 instead of MIT
  • Bugs

    • MNG-6584 – Maven version 3.6.0 does not show ReasonPhrase anymore
    • MNG-6759 – [REGRESSION] Maven fails to use <repositories> section from dependency when resolving transitive dependencies in some cases
    • MNG-6760 – [REGRESSION] ExclusionArtifactFilter result invalid when wildcard exclusion is followed by other exclusions
    • MNG-6765 – [Regression] tycho pom-less builds fails with 3.6.2
    • MNG-6771 – Fix license issues on binary distribution
  • Improvements:

    • MNG-6778 – Use https for schemaLocations
    • MNG-6799 – avoid model interpolation instability risk: ensure StringVisitorModelInterpolator replaces StringSearchModelInterpolator
  • Tasks:

    • MNG-6777 – Remove duplicate resolveFile methods
    • MNG-6789 – Make Maven distribution build Reproducible

See complete release notes for all versions

  • The Apache Maven Team.

Saturday September 07, 2019

Apache Maven 3.6.2 Released

The Apache Maven team is pleased to announce the release of the Apache Maven 3.6.2.

Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project’s build, reporting and documentation from a central piece of information.

You can find out more about Apache Maven at https://maven.apache.org

You can download the appropriate sources etc. from the download page

We really value the contributions of these non committers, so this section is focused on those individuals. Descriptions of the issues fixed can be found at the end of these release notes.

Issue Reporters of this release:

  • Benoit GUERIN
  • Christian Schulte
  • Elliotte Rusty Harold
  • Falko Modler
  • Francesco Chicchiriccò
  • Guillaume Nodet,
  • guofei
  • Joseph Walton
  • Louis Mills
  • Mark Derricutt,
  • Mark McKelvy
  • Mickael Istria
  • Nicolas Echegut
  • Nicolas Radde
  • Raphael Rösch
  • Ray Tsang
  • Robert Thornton
  • Rohan Padhye
  • Sergey Chernov
  • Stefan Oehme
  • Thibaud Lepretre
  • zhb.

Code Contributors of this release:

  • Guillaume Nodet
  • Mickael Istria
  • Ray Tsang
  • Stefan Oehme
  • Joseph Walton
  • Bo Zhang
  • AElMehdi
  • Christian Schulte
  • Mao Shuai
  • MartinKanters
  • Sergey Chernov
  • Jesse Glick.

Many thanks to all reporters and contributors for their time and support.

(Please send an email to the dev list if we missed one to mention).

Known Issues

None.

Overview about the changes

  • This release focuses mostly performance improvements, better memory footprint, and less CPU usage.

  • We are continuing to convert Maven Core to use JSR 330 annotations instead of Plexus (still not finished, see MNG-5577).

  • New support for ‘release’ qualifier (see MNG-6655).

  • The toolchain.xml file supports environment variables (see MNG-6665).

User visible Changes

toolchain.xml now supports usage of environment variables which looks like this:

1
2
3
4
5
6
7
8
9
10
<toolchain>
    <type>jdk</type>
    <provides>
      <version>1.8</version>
      <vendor>sun</vendor>
    </provides>
    <configuration>
  <jdkHome>${env.JDK_HOME_8}</jdkHome>
    </configuration>
</toolchain>

The detailed issue list

Bugs:

  • MNG-6375 – NullPointerException when pom.xml has incomplete XML tag
  • MNG-6626 – NullPointerException in DefaultExceptionHandler
  • MNG-6629 – DefaultModelValidator.validateId is inefficient
  • MNG-6630 – ComparableVersion.parseVersion is inefficient
  • MNG-6631 – DefaultArtifactVersion.parseVersion is inefficient
  • MNG-6632 – ArtifactHandlerManager.getArtifactHandler is inefficient
  • MNG-6633 – ExcludesArtifactFilter is a memory hog
  • MNG-6636 – NPE on reporting convertion (DefaultReportingConverter) when inheritance of with no reports
  • MNG-6639 – Child inherit.append.path attributes not defined in Maven POM XSD
  • MNG-6642 – Tycho-based modules do not build with 3.6.1 (works with 3.6.0)
  • MNG-6643 – Version comparison CLI does not work anymore
  • MNG-6644 – NPE in DefaultReportingConverter when reports has no InputLocation (using polyglot Maven)
  • MNG-6647 – NPE in DefaultReportingConverter (when reports injected by Repaint IO maven-tiles)
  • MNG-6653 – DefaultProjectBuildingRequest copy constructor does not copy all fields
  • MNG-6668 – Model location handling uses too much memory
  • MNG-6669 – Tycho cannot resolve project dependencies
  • MNG-6700 – Equal compile source roots are added multiple times
  • MNG-6703 – DefaultUrlNormalizer doesn’t normalize all relative URIs
  • MNG-6704 – MavenRepositorySystemUtils.newSession() misses assignment
  • MNG-6707 – Maven XML parser does not accept ‘>’ in XML processing instructions
  • MNG-6712 – Downgrade maven-resolver:1.4.0 to 1.3.3
  • MNG-6713 – Fix ExclusionArtifactFilter to respect wildcard
  • MNG-6716 – relative testSourceDirectory on macos throw duplicate class error
  • MNG-6720 – MultiThreadedBuilder: wait for parallel running projects when using —fail-fast
  • MNG-6723 – MavenProject.getParentFile() not set when using ProjectBuilder.build(List, …)

Improvements

  • MNG-6069 – Migrate to non deprecated parts of Commons CLI
  • MNG-6638 – Prevent reparsing POMs in MavenMetadataSource
  • MNG-6655 – Add support for “release” qualifier
  • MNG-6665 – toolchain.xml file should support environment variables
  • MNG-6667 – Hint at Maven upgrade requirement when trying to build a pom.xml with a newer modelVersion
  • MNG-6675 – Make Resolver debug log messages for projects and plugins consistent
  • MNG-6695 – Improve speed in collection merging
  • MNG-6696 – Speed improvements while parsing big reactor projects
  • MNG-6697 – Add a fast interpolator not using reflection
  • MNG-6698 – Lazily compute the ManagedVersionMap
  • MNG-6701 – Document maven.repo.local system property
  • MNG-6702 – Improve DefaultModelValidator performance
  • MNG-6705 – Speep up Artifact version check and Parent interpolation
  • MNG-6718 – Upgrade Plexus Utils to 3.2.1
  • MNG-6729 – StringSearchModelInterpolator introspects objects from Java API
  • MNG-6747 – Generalize ‘resume from’ message when build reactor fails

Test

  • MNG-6535 – Improve test coverage of org.apache.maven.model.path.DefaultUrlNormalizer

Wish

Task

  • MNG-6681 – improve documentation: dependency type = file classifier(optional)+extension + additional hints on dependency features

Dependency upgrade

  • MNG-6549 – Remove unused transitive dependencies of Guava
  • MNG-6627 – upgrade plexus-component-metadata to 2.0.0 to get reproducible META-INF/plexus/components.xml
  • MNG-6646 – Upgrade maven-assembly-plugin to 3.1.1
  • MNG-6671 – Upgrade Modello to 1.11
  • MNG-6674 – Upgrade Wagon to 3.3.3
  • MNG-6738 – Upgrade maven-resolver to 1.4.1

Sub Tasks

  • MNG-6680 – Convert Maven Settings Builder to JSR 330
  • MNG-6685 – Convert Maven Model Builder to JSR 330
  • MNG-6686 – Convert Maven Embedder to JSR 330

The full list of changes can be found in our issue management system.

Complete Release Notes

See complete release notes for all versions

  • The Apache Maven Team.

Saturday April 13, 2019

Apache Maven Release 3.6.1

The Apache Maven team is pleased to announce the release of the Apache Maven 3.6.1.

Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project’s build, reporting and documentation from a central piece of information.

You can find out more about Apache Maven at https://maven.apache.org

You can download the appropriate sources etc. from the download page

We really value the contributions of these non committers, so this section is focused on those individuals. Descriptions of the issues fixed can be found at the end of these release notes.

Issue Reporters of this release:

Code Contributors of this release:

Many thanks to all reporters and contributors for their time and support.

(Please send an email to the dev list if we missed one to mention).

Preliminary Testers

Thanks to the following preliminary testers:

  • Gabriel Belingueres
  • Francois Papon
  • Eric Lilja

Known Issues

If you are using Maven reporting, it might happen that you will get an exception which looks like this:

1
2
3
4
5
6
7
8
[INFO] Scanning for projects...
[ERROR] Internal error: java.lang.NullPointerException -> [Help 1]
org.apache.maven.InternalErrorException: Internal error: java.lang.NullPointerException
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:120)
...
Caused by: java.lang.NullPointerException
    at org.apache.maven.model.plugin.DefaultReportingConverter.convert (DefaultReportingConverter.java:243)
...

This is caused by using a <reportSet>..</reportSet> which does not contain a <report></report> element.

Temporarily this issue can circumvented by adding an empty <report></report> element inside the <reportSet></reportSet>.

An issue has been created to track the fix.

Overview about the changes

  • An issue has been fixed causing multiple executions of plugin goals, related to using parallel build options like mvn plugin:goal -T 4. This resulted in duplicated executions of phases. This has been fixed with MNG-5965.

  • NullPointerException related to call in parallel build like mvn -T 1C clean javadoc:aggregate MNG-5705

  • A performance issue related to artifact transfer has been found related to WAGON-537. It has been solved via the update to Maven Wagon 3.3.1.

  • There had been issues related calling Maven script like this: mvn -f ..

    • Having parentheses within the path, which has been fixed with MNG-6346.
    • Script can break having special characters as part of the path, which has been solved with MNG-6256.
  • Issue related to the Maven Resolver API which broke some IDEs (for example https://youtrack.jetbrains.com/issue/IDEA-201282); this has been fixed by MNG-6538.

  • Issue related to missing event for ToolchainsBuildingResult on EventSpy MNG-6558.

  • Issue related to support Java 9+ ClassLoader.findClass(String moduleName, String name) in Mojos. This has been fixed with MNG-6543.

  • Improvement about the memory consumption has been done with MNG-6571.

  • Issue related to relative parent POM resolution failing in 3.5.0 with complex multimodule builds has been fixed with MNG-6261.

  • Missing export for org.slf4j.event.Level has been done with MNG-6618

User visible Changes

Maven has now a an option to suppress the transfer progress when downloading/uploading in interactive mode.

1
mvn --no-transfer-progress ....

or in short:

1
mvn -ntp ... ....

There had been an issues like MNG-6505 and MNG-6059 related to the construction of URL’s etc. within distributionManagement and scm part in the pom for multi module builds like this:

1
2
3
4
5
6
<scm child.scm.connection.inherit.append.path="true"
     child.scm.developerConnection.inherit.append.path="true"
     child.scm.url.inherit.append.path="true" />
<distributionManagement>
   <site child.site.url.inherit.append.path="true" />
 </distributionManagement>

Detailed explanations can be found in Inheritance Assembly and in MNG-6059

The detailed issue list

Bugs:

  • MNG-5705 – NPE on parallel build in BuilderCommon.handleBuildError(BuilderCommon.java:147)
  • MNG-5965 – Parallel build multiplies work if multiple goals are given
  • MNG-5995 – Maven itself cannot run without maven-compat
  • MNG-6256 – Maven script can break if “-f” path contains special characters
  • MNG-6261 – Relative parent POM resolution failing in 3.5.0 with complex multimodule builds
  • MNG-6262 – getCanonicalFile() is not used consistently during project resolution
  • MNG-6346 – … was unexpected at this time when using -f option and path contains brackets
  • MNG-6374 – ModelBuilder hangs with malformed pom.xml
  • MNG-6429 – Integration Test site publishing requires Java 7 (or javadoc errors ignored)
  • MNG-6495 – ModelResolver cannot be null
  • MNG-6505 – child.(x.y).inherit.append.path value should be inherited
  • MNG-6506 – Mojos are unable to load package annotations on Java >= 9
  • MNG-6529ProjectBuilder.build(List<File> projects, boolean, ProjectBuildingRequest) doesn’t honor ProjectBuildingRequest.isResolveDependencies()
  • MNG-6530 – Regression in ProjectBuilder when file change between invocations (introduced by MNG-6311)
  • MNG-6533ProjectBuilder.build(list_of_projects,...) does not contain MavenProject in exception report
  • MNG-6543 – Upgrade plexus classworld to support java 9+ ClassLoader.findClass(String moduleName, String name) in Mojos
  • MNG-6558 – ToolchainsBuildingResult event is not sent on EventSpy
  • MNG-6577 – pom.xml: Uncaught IllegalArgumentException when parsing unicode entity ref
  • MNG-6590 – DefaultProjectArtifactsCache java.lang.IllegalStateException: Duplicate artifact resolution result
  • MNG-6599 – unknown version in model id when version is defined from parent

Improvements

  • MNG-6059 – Important use cases not covered, as child.inherit.append.path affects all children
  • MNG-6159 – Child path adjustments break git scm urls
  • MNG-6213 – Maven doesn’t check the validity of scope value
  • MNG-6481 – Allow to compile and test Maven with Java 11
  • MNG-6513 – Replace depreated Plexus javadoc tags with annotations in ITs
  • MNG-6515 – Fix javadoc build errors under Java 8 and 11
  • MNG-6520 – Update assembly descriptors to 2.0.0
  • MNG-6522 – Prepare Maven’s Core Integration Test Suite to test with Java 12 and 13-ea
  • MNG-6572 – use int or long instead of BigIntegers for little numbers in ComparableVersion
  • MNG-6593 – track input location for super-pom
  • MNG-6597 – add input location tracking for plugins configuration
  • MNG-6600 – add input location tracking for default lifecycle bindings executions
  • MNG-6601 – add input location tracking for site’s reportPlugins injected by reports conversion
  • MNG-6605 – Allow to suppress download messages in interactive mode
  • MNG-6611 – Update animal-sniffer-maven-plugin to 1.17

Wish

  • MNG-6571 – Maven memory consumption issue

Task

  • MNG-6538 – Upgrade Maven Artifact Resolver to 1.3.3 to restore API
  • MNG-6544 – Replace CacheUtils#{eq,hash} with Objects
  • MNG-6573 – Use latest Maven 3.6.0 to build Maven Core and plugins with ASF CI
  • MNG-6618 – Maven doesn’t export org.slf4j.event.Level

Dependency upgrade

  • MNG-6526 – Upgrade to Wagon 3.3.1 (from 3.2.0)
  • MNG-6591 – Upgrade to Wagon 3.3.2

The full list of changes can be found in our issue management system.

Complete Release Notes

See complete release notes for all versions

  • The Apache Maven Team.

Thursday November 01, 2018

Apache Maven Release 3.6.0

The Apache Maven team is pleased to announce the release of the Apache Maven 3.6.0.

Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project’s build, reporting and documentation from a central piece of information.

You can find out more about Apache Maven at https://maven.apache.org

You can download the appropriate sources etc. from the download page

Code Contributors of this release:

  • Christoph Kunze
  • David Churcher

Issue Reporters of this release:

  • Richard van der Hoff
  • Jörg Sesterhenn
  • Andreas Sewe
  • David Churcher
  • Adam John Burley
  • Alexander Griesbaum
  • Christoph Amshoff
  • Seckin Onur Selamet
  • Phillip Webb
  • John Canny
  • Hoa Phan

Many thanks to contributors and reporters for the support and time.

Participants to the VOTE of the Maven 3.6.0 Release:

  • Filipe Sousa
  • Eric Lilja
  • Enrico Olivelli
  • Gary Gregory
  • Thomas Collignon

Many thanks to those who tested the Maven releases and thanks for their support as well.

Release Notes – Maven – Version 3.6.0

Bugs:

  • MNG-6311 – Maven intolerably slow when import scope used heavily in large project
  • MNG-6358 – Maven build should not require access to apache.org
  • MNG-6383 – ProjectBuilder unnecessarily rebuilds modules with ci-friendly versions
  • MNG-6412 – Exceeding project discovery time when using CI friendly versions
  • MNG-6415 – Project Artifacts Cache does not retain the order of classpath entries.
  • MNG-6472 – Mockito cannot mock this class: interface org.eclipse.aether.impl.RepositoryEventDispatcher
  • MNG-6490 – Maven shall not fail reporting circular dependency when the dependency is a classified secondary artifact

Improvements:

  • MNG-4508 – No way to avoid adding artifactId to site urls
  • MNG-5951 – add an option to avoid path addition to inherited URLs
  • MNG-6059 – Important use cases not covered, as child.inherit.append.path affects all children
  • MNG-6164 – Collections inconsistently immutable
  • MNG-6391 – Printout version of last built module in reactor build
  • MNG-6414 – Add more Apache license header patterns to skip downloading Apache license
  • MNG-6467 – Remove plugin definition from pom file which is inherited
  • MNG-6480 – Eclipse.org site is down, and you are unable to build Maven?
  • MNG-6492 – Minor improvement on Array construction, converson

Task:

  • MNG-6475 – Remove guava dependencies

Dependency upgrades:

  • MNG-6424 – Upgrade plexus-interpolation to 1.25
  • MNG-6449 – Upgrade parent to 32
  • MNG-6473 – Update Mockito to 2.21.0
  • MNG-6478 – Upgrade parent to 33 for sha512 checksum on release
  • MNG-6479 – Upgrade XMLUnit to 2.2.1
  • MNG-6486 – Upgrade to Wagon 3.2.0
  • MNG-6489 – Upgrade Maven Resolver to 1.3.0
  • MNG-6491 – Upgrade commons-lang3 to 3.8.1
  • MNG-6496 – Upgrade Maven Resolver to 1.3.1
  • MNG-6497 – Upgrade guice to 4.2.1

  • The Apache Maven team

Friday June 22, 2018

Apache Maven Release 3.5.4

The Apache Maven team is pleased to announce the release of the Apache Maven 3.5.4.

Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project’s build, reporting and documentation from a central piece of information.

You can find out more about Apache Maven at https://maven.apache.org

You can download the appropriate sources etc. from the download page: https://maven.apache.org/download.cgi

Contributors

The Apache Maven value community before code and so firstly the team would like to thank the following contributors, without whom this release would not have been possible:

Code contributors:

Issue reporters:

  • Falko Modler
  • Jarkko Rantavuori
  • Łukasz Dywicki
  • Mike Kelly
  • Sylwester Lachiewicz

Community testers participating in voting for this release:

  • Dejan Stojadinovic
  • Enrico Olivelli
  • Romain Manni-Bucau

Thank you all for your time and feedback (and apologies if we have missed anyone)

Release Notes – Maven – Version 3.5.4

Bugs:

  • MNG-6370 – ConcurrencyDependencyGraph#getNumberOfBuilds() does not remove finished projects from unfinished ones
  • MNG-6372 – On Windows Maven can output spurious ANSI escapes such as [0m [0m
  • MNG-6382 – JANSI fails frequently with NumberFormatException when building in parallel
  • MNG-6386 – ${project.baseUri} is not a valid URI (according to RFC 3986)
  • MNG-6388 – Error Fetching Artifacts: “[B cannot be cast to java.lang.String”
  • MNG-6403 – Artifact#VERSION_FILE_PATTERN does not escape period between date and time
  • MNG-6410 – Add groupId to —resume-from suggestion if artifactId is not unique in reactor

Improvements:

  • MNG-5756 – Java home output in mvn -v is misleading
  • MNG-5940 – Change the maven-source-plugin jar goal into jar-no-fork in Maven Super POM
  • MNG-6362 – Add documentation information for GitHub
  • MNG-6363 – Remove secret thread configuration property from code
  • MNG-6364 – Enhanced Jenkinsfile to test Core with JDK 9
  • MNG-6411 – Improve readability of project list returned when —resume-from option value is invalid

Task:

  • MNG-6377 – switch from Git-WIP to Gitbox

Dependency upgrades:

Share and Enjoy,

-The Apache Maven team

Thursday March 08, 2018

Apache Maven Version 3.5.3 Released

Release Notes – Maven 3.5.3

The Apache Maven team would like to announce the release of Maven 3.5.3

Maven 3.5.3 is available for download.

Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project’s build, reporting and documentation from a central place.

The core release is independent of the plugins available. Further releases of plugins will be made separately. See the PluginList for more information.

We hope you enjoy using Maven! If you have any questions, please consult:

  • the web site: https://maven.apache.org/
  • the maven-user mailing list: https://maven.apache.org/mail-lists.html
  • the reference documentation: https://maven.apache.org/ref/3.5.3/

Reporters and Contributors of this release

We really value the contributions of these non committers, so this section is focused on those individuals. Descriptions of the issues fixed can be found at the end of these release notes.

Bugs:

Improvements:

Many thanks to all reporters and contributors for their time and support.

Preliminary Testers

Thank you also for your time and feedback.

Known Issues

One new issue was identified during the release testing. This issue affects Windows users. When running Maven with parallel threads, i.e. the -T command line option, Maven may output spurious ANSI escapes such as [0m [0m MNG-6372

Overview about the changes

  • Issues have been fixed related to colorizations like to clean up the situation while interrupting the build process MNG-6188 and some issues related to Git Bash / Cygwin have been fixed MNG-6282 and the new options -Dstyle.color MNG-6296 has been fixed.

  • The handling CRLF in jvm.config file has been fixed MNG-6255.

  • The wrong usage of the CI friendly version was not correctly identified which has been improved MNG-6305.

  • Wrong encoding of non-ascii filenames has been fixed MNG-6320.

  • Deadlock in dependency resolution has been fixed MNG-6323.

  • A regression related to parents relativePath verification has been fixed MNG-6330.

So now some more interesting things about new (small) features:

  • The log output contains now some progress informations related to the number of modules which looks like this MNG-6302:
[INFO] Building parent 5.0.1-SNAPSHOT                                     [1/9]

The number 1 is the current number which is being built where the 9 in this case is the number of modules which have to be built overall. So we are in module 1 of 9.

Furthermore the information about the packaging type and the groupId/artifactId are now being shown during the build like the following MNG-6308:

[INFO] ------------------< com.soebes.examples.j2ee:parent >-------------------
[INFO] Building parent 5.0.1-SNAPSHOT                                     [1/9]
[INFO] --------------------------------[ pom ]---------------------------------
[INFO]

And finally we have added the version of the modules or the reactor at the end of the build MNG-6352:

[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] parent 5.0.1-SNAPSHOT .............................. SUCCESS [  0.238 s]
[INFO] domain ............................................. SUCCESS [  0.014 s]
[INFO] service-client ..................................... SUCCESS [  0.008 s]
[INFO] webgui ............................................. SUCCESS [  0.010 s]
[INFO] service ............................................ SUCCESS [  0.007 s]
[INFO] app ................................................ SUCCESS [  0.005 s]
[INFO] appasm ............................................. SUCCESS [  0.005 s]
[INFO] shade .............................................. SUCCESS [  0.006 s]
[INFO] assembly 5.0.1-SNAPSHOT ............................ SUCCESS [  0.005 s]
[INFO] ------------------------------------------------------------------------

This can be helpful if you have a large number of modules to get the information about the version being built. This meant in the past to scroll up to the last module and look there for the version. Now this can simply being seen at the end of build. If you have a multi module build where the number is the same for all modules it will be given only on the first line and the last line. If you have an aggregator build the version will be printed out for each project.

  • One more thing has been optimized. We have removed the System.gc() call at the end of the build because this can cause costs for example on AWS systems related to the time taken to run Garbage Collection which is not really necessary MNG-6340. This means also the resulting output will change a little bit like this:
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 6.111 s
[INFO] Finished at: 2018-02-25T15:34:10+01:00
[INFO] ------------------------------------------------------------------------

So there is no line anymore telling you about memory stuff.

  • If you have used the deprecated version markers like RELEASE or LATEST this will now produce a WARNING during the build MNG-6342.

The detailed issue list

Bugs:

  • MNG-6188 - Console color not properly reset when interrupting build process
  • MNG-6255 - Maven script cannot parse jvm.config with CRLF
  • MNG-6282 - Console output has no colors in shell (both Git Bash and Cygwin) (regression in Jansi 1.16 / Maven 3.5.1)
  • MNG-6296 - New option -Dstyle.color is not working
  • MNG-6298 - 3.5.2: ClassNotFoundException: javax.annotation.security.RolesAllowed
  • MNG-6300 - Multi module release creates empty directories in war file instead of jars
  • MNG-6305 - Validation of CI friendly version incorrect
  • MNG-6320 - Apparently wrong encoding of non-ascii java class filename in error messages in the maven log
  • MNG-6323 - Deadlock in multithreaded dependency resolution
  • MNG-6330 - (regression) Parents relativePath not verified anymore

New Feature

  • MNG-6302 - Provide some “progress” hints

Improvements

  • MNG-5992 - Git passwords are exposed as the Super POM still uses Maven Release Plugin 2.3.2
  • MNG-6306 - Replace use of Guava in maven-resolver-provider with a lighter weight alternative
  • MNG-6308 - display packaging & groupId:artifactId when building a module
  • MNG-6332 - Cleaned up mvn.cmd Script
  • MNG-6340 - (Performance) To make System.gc() call configurable in target summary code
  • MNG-6342 - Emit a WARNING about LATEST/RELEASE in parent
  • MNG-6352 - Printout version information at the end of the build

Task

  • MNG-6331 - Remove maven-bundle-pugin from build pluginManagement

Dependency upgrade

  • MNG-6312 - Update Maven Wagon dependency
  • MNG-6335 - Update test framework Mockito from 1.10 to 2.12
  • MNG-6353 - Upgrade maven-shared-utils to 3.2.1

The full list of changes can be found in our issue management system.

Complete Release Notes

See complete release notes for all versions


Calendar

Search

Hot Blogs (today's hits)

Tag Cloud

Categories

Feeds

Links

Navigation