Maven Changelog

What's new in Maven 3.5.4

Aug 29, 2018
  • 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
  • Tasks:
  • MNG-6377 switch from Git-WIP to Gitbox
  • Dependency upgrades:
  • MNG-6344 Upgrade Guice to 4.2.0
  • MNG-6423 Upgrade to Wagon 3.1.0

New in Maven 3.5.2 (Jan 5, 2018)

  • Bugs:
  • MNG-5935 - Optional true getting lost in managed dependencies when transitive
  • MNG-6127 - Fix plugin execution configuration interference
  • MNG-6148 - Can’t package and assemble with JDK9/Jigsaw
  • MNG-6149 - MetadataResolutionResult#getGraph() never resolves request type ‘test’
  • MNG-6205 - Non-ascii chars in name element are displayed as question marks in Win CLI output (regression)
  • MNG-6210 - can’t load @SessionScoped/@MojoExecutionScoped components from .mvn/extensions.xml
  • MNG-6223 - mvn -f outputs invalid error when specifying POM directory
  • MNG-6224 - Regression 6182a208: library.jansi.path does not point to proper directory
  • MNG-6233 - maven-resolver-provider mixes JRS 330 and Plexus annotations
  • MNG-6240 - Duplicate components in plugin extension realm when plugin depends on maven-aether-resolver
  • MNG-6242 - No color for maven on Cygwin
  • Sub-tasks:
  • MNG-6186 - switch to improved HawtJNI
  • MNG-6280 - ArrayIndexOutOfBoundsException caused by pom.xml with process instructions
  • Improvements:
  • MNG-5457 - Show repository id when downloading or uploading from/to a remote repository
  • MNG-6025 - Add a ProjectArtifactsCache similar to PluginArtifactsCache
  • MNG-6123 - detect self references in POM and fail fast
  • MNG-6174 - Clean Up Maven Model
  • MNG-6196 - Update slf4j and simplify its color integration
  • MNG-6203 - Minor cleanup in MavenCli.java
  • MNG-6206 - We should produce a WARNING by using RELEASE, LATEST as versions
  • MNG-6207 - Create WARNINGs in case of using system scope
  • MNG-6228 - Optionality not displayed in dependency tree when run in debug mode
  • New Features:
  • MNG-6084 - Support JSR 250 annotations
  • MNG-6220 - Add CLI options to control color output
  • Tasks:
  • MNG-6167 - Clean up dependency mess (reported by dependency:analyze)
  • MNG-6258 - Upgrade to Maven Resolver 1.1.0

New in Maven 3.5.0 (Apr 8, 2017)

  • Overview:
  • The most obvious change you may encounter is that the console output has colors now MNG-3507, MNG-6093.
  • The new project.directory special property adds support in every calculated URLs (project, SCM, site) for module directory name that does not match artifactId MNG-5878
  • The JAVA_HOME discovery has been reduced to simply check if JAVA_HOME is set or not then trying to discover via which java, nothing more MNG-6003.
  • The build bootstrapping support via Apache Ant has been removed. You can now only bootstrap Maven build with a previous version of Maven, but not with Ant any more MNG-5904.
  • Based on problems in using M2_HOME related to different Maven versions installed and to simplify things, the usage of M2_HOME has been removed and is not supported any more MNG-5823, MNG-5836, MNG-5607.
  • Important change for windows users: The usage of %HOME% has been replaced with %USERPROFILE% MNG-6001
  • Several issues have been reported and fixed related to the mvn script either for Unix/Linux/Cygwin/Solaris or for Windows MNG-5815, MNG-5852, MNG-5963, MNG-6022.
  • In Maven 3.3.9, we have removed bindings for maven-ejb3-plugin because it does not exist. We follow-up and removed the artifact handler for ejb3 and the par lifecycles MNG-6014, MNG-6017.
  • In previous Maven versions, there had been a larger problem related to memory usage in case of very large reactors (200-300 modules or more) which caused failures with out of memory exceptions or the need to increase the memory settings. This problem has been fixed with MNG-6030.
  • If you have defined a property within the .mvn/maven.config file, it was not possible to overwrite the property via command line. This has been fixed with MNG-6078.
  • Replaced Eclipse Aether with Maven Resolver MNG-6110, MNG-6140.
  • Using of CI friendly versions via ${revision}, ${sha1} and/or ${changelist} has been fixed MNG-6057, MNG-6090 and MNG-5895. It is very important to know if you are using the previously named properties for a version in your pom you have to use flatten-maven-plugin if you like to do an mvn install or mvn deploy more details can be found at Maven CI Friendly Versions.
  • Improvements:
  • The full list of changes as well as detailed descriptions of same can be found in our issue management system.
  • Bugs:
  • MNG-5297 - Site should tell ‘prerequisites.maven is deprecated’
  • MNG-5368 - UnsupportedOperationException thrown when version range is not correct in dependencyManagement definitions
  • MNG-5629 - ClosedChannelException from DefaultUpdateCheckManager.read
  • MNG-5815 - “mvn.cmd” does not indicate failure properly when using “&&”
  • MNG-5823 - mvnDebug doesn’t work with M2_HOME with spaces - missing quotes
  • MNG-5829 - mvn shell script fails with syntax error on Solaris 10
  • MNG-5836 - logging config is overridden by $M2_HOME/lib/ext/*.jar
  • MNG-5852 - mvn shell script invokes /bin/sh but requires Bash functions
  • MNG-5895 - Problem with CI friendly usage of `${..}`` which is already defined via property in pom file.
  • MNG-5958 - java.lang.String cannot be cast to org.apache.maven.lifecycle.mapping.LifecyclePhase
  • MNG-5961 - Maven possibly not aware of log4j2
  • MNG-5962 - mvn.cmd fails when the current directory has spaces in between
  • MNG-5963 - mvn.cmd does not return ERROR_CODE
  • MNG-6022 - mvn.cmd fails if directory contains an ampersand (&)
  • MNG-6053 - Unsafe System Properties copy in MavenRepositorySystemUtils, causing NPEs
  • MNG-6057 - Problem with CI friendly usage of `${..} reactor order is changed
  • MNG-6090 - CI friendly properties break submodule builds
  • MNG-6105 - properties.internal.SystemProperties.addSystemProperties() is not really thread-safe
  • MNG-6109 - PluginDescriptor doesn’t read since value of parameter
  • MNG-6117 - ${session.parallel} not correctly set
  • MNG-6144 - DefaultWagonManagerTest#testGetMissingJarForced() passed incorrect value
  • MNG-6166 - mvn dependency:go-offline fails due to missing transitive dependency jdom:jdom:jar:1.1
  • MNG-6168 - Fix unclosed streams
  • MNG-6170 - NPE in cases using Multithreaded -T X versions:set -DnewVersion=1.0-SNAPSHOT
  • MNG-6171 - REGRESSION: WARNING about usage of a non threadsafe marked plugin is not showed anymore
  • MNG-6172 - Precedence of command-line system property options has changed
  • MNG-6173 - MavenSession.getAllProjects() should return all projects in the reactor
  • MNG-6176 - Javadoc errors prevent release with Java 8
  • MNG-6177 - The --file command line option of the Windows and Unix launchers does not work for directory names like “Spaces & Special Char”
  • MNG-6180 - groupId has plain color when goal fails
  • MNG-6181 - HttpClient produces a lot of noise at debug loglevel
  • MNG-6183 - Dependency management debug message corrections.
  • MNG-6190 - maven-resolver-provider’s DefaultArtifactDescriptorReader has mismatched constructor and initService methods
  • MNG-6191 - mvn -f complains about illegal readlink option under macOS
  • MNG-6192 - distribution zip file has unordered entries
  • MNG-6195 - Use consistent quoting forms in mvn launcher script
  • MNG-6198 - mvn script fails to locate .mvn directory when pom.xml location specified with -f
  • Dependency upgrade:
  • MNG-5967 - Dependency updates
  • MNG-6110 - Upgrade Aether to Maven Resolver
  • Improvements:
  • MNG-5579 - Unify error output/check logic from shell and batch scripts
  • MNG-5607 - Don’t use M2_HOME in mvn shell/command scripts anymore
  • MNG-5883 - Silence unnecessary legacy local repository warning
  • MNG-5889 - .mvn directory should be picked when using --file
  • MNG-5904 - Remove the whole Ant build
  • MNG-5931 - Fixing documentation
  • MNG-5934 - String handling issues identified by PMD
  • MNG-5946 - Fix links etc. in README.txt which is part of the delivery
  • MNG-5968 - Default plugin version updates
  • MNG-5975 - Use Java 7’s SimpleDateFormat in CLIReportingUtils#formatTimestamp
  • MNG-5977 - Improve output readability of our MavenTransferListener implementations
  • MNG-5993 - Confusing error message in case of missing/empty artifactId and version in pluginManagement
  • MNG-6001 - Replace %HOME% with %USERPROFILE% in mvn.cmd
  • MNG-6003 - Drastically reduce JAVA_HOME discovery code
  • MNG-6014 - Removing ArtifactHandler for ejb3 lifecycle
  • MNG-6017 - Removing ArtifactHandler for par lifecycle
  • MNG-6030 - ReactorModelCache not used effectively after maven version 3.0.5 which cause a large memory footprint
  • MNG-6032 - WARNING during build based on absolute path in assembly-descriptor.
  • MNG-6068 - Document default scope compile in pom XSD and reference documentation
  • MNG-6078 - Can’t overwrite properties which have been defined in .mvn/maven.config
  • MNG-6081 - Log refactoring - Method Invocation Replaced By Variable
  • MNG-6102 - Introduce ${maven.conf} in m2.conf
  • MNG-6115 - Add Jansi native library search path to our start scripts to avoid extraction to temp file on each run
  • MNG-6145 - Remove non-existent m2 include in component.xml
  • MNG-6146 - Several small stylistic and spelling improvements to code and documentation
  • MNG-6147 - `MetadataResolutionResult#getGraph()`` contains duplicate if clause
  • MNG-6150 - Javadoc improvements for 3.5.0
  • MNG-6163 - Introduce CLASSWORLDS_JAR in shell startup scripts
  • MNG-6165 - Deprecate and replace incorrectly spelled public API
  • MNG-6179 - Remove unused prerequisites
  • MNG-6185 - Replace doclettag explanation with annotations in AbstractMojo javadoc
  • MNG-6189 - WARN if maven-site-plugin configuration contains reportPlugins element
  • New Features:
  • MNG-3507 - ANSI color logging for improved output visibility
  • MNG-5878 - add support for module name != artifactId in every calculated URLs (project, SCM, site): special project.directory property
  • MNG-6093 - create a slf4j-simple provider extension that supports level color rendering
  • MNG-6182 - ModelResolver interface enhancement: addition of resolveModel(Dependency) supporting version ranges
  • Tasks:
  • MNG-5954 - Remove outdated maven-embedder/src/main/resources/META-INF/MANIFEST.MF
  • MNG-6106 - Remove maven.home default value setter from m2.conf
  • MNG-6136 - Upgrade Maven Wagon from 2.10 to 2.12
  • MNG-6137 - Clean up duplicate dependencies caused by incomplete Wagon HTTP Provider exclusions
  • MNG-6138 - Remove obsolete message_*.properties from maven-core
  • MNG-6140 - update documentation’s dependency graph with resolver + resolver-provider + slf4j-provider
  • MNG-6151 - Force Push master from 737de43e392fc15a0ce366db98d70aa18b3f6c03
  • MNG-6152 - Add a Jenkinsfile so that builds.apache.org can use multibranch pipeline
  • Wishes:
  • MNG-2199 - Support version ranges in parent elements
  • MNG-6088 - after forked execution success, add an empty line
  • MNG-6092 - warn if prerequisites.maven is used for non-plugin projects

New in Maven 3.3.9 (Nov 21, 2015)

  • IMPROVEMENTS:
  • The par lifecycle has been removed from the default life cycle bindings and the maven-ejb3-plugin has been removed from default bindings, cause it does not exist MNG-5892, MNG-5894.
  • The default bindings defined two different versions for the maven-resources-plugin which has been fixed by MNG-5893.
  • Switch to official Guice 4.0, upgrade to Eclipse/Sisu 0.3.2 has been done with MNG-5923 and MNG-5924.
  • Several areas of Maven Core have been changed to use Commons Lang’s Validate to intercept invalid input MNG-5649.
  • Upgrade Java minimum version prerequisite from Java 6 to Java 7 MNG-5780.
  • Custom packaging types: configuring DefaultLifecycleMapping mojo executions MNG-5805.
  • Disallow the programmatic injection of project dependencies MNG-5818.
  • Close IO streams in finally or try-with-resource statement MNG-5844.
  • Make url inheritance algorithm more visible MNG-5871.
  • Update used Modello version from 1.8.1 to 1.8.3 MNG-5888.
  • Maven build does not work with Maven 2.2.1 MNG-5905.
  • Use canonical name for UTC timezone MNG-5906.
  • Upgrade maven-parent to version 27 MNG-5911.
  • Upgrade Wagon version to 2.10 MNG-5915.
  • Upgraded to plexus-component-* 1.6 that uses asm 5.x MNG-5921.
  • Upgrade plexus-utils to 3.0.22 to support combine.id as configuration attribute for Map merging MNG-5922.
  • Update animal-sniffer-maven-plugin to 1.14. MANIMALSNIFFER-49 required when building with JDK9 MNG-5925.
  • BUGS:
  • Moving from Maven 3.0.5 to 3.3.3 breaks plugins with some dependencies on the classpath. This has been fixed with MNG-5787.
  • The Cygwin Shell related handling of the MAVEN_PROJECTBASEDIR has been fixed with MNG-5812.
  • The scripts to call Maven has introduced a bug related to the handling of the MAVEN_OPTS and debugging options which has been fixed by MNG-5813.
  • Since Maven 3.3.1 it is possible to have configurations stored on a per project base in the ${maven.projectBasedir}/.mvn folder of the project. There you can use the maven.config file to store command line options instead of repeating them every time you call Maven. In cases where this file has been empty Maven ended with a failure. This has been fixed with MNG-5816.
  • The handling of the relativePath in a parent has been fixed related to the case that the parent has the same groupId:artifactId but a different version. In this case the resolution must be done against the repository. This has been fixed by MNG-5840.
  • In cases where you start Maven in the root of a windows drive Maven will fail. This has been fixed by MNG-5796.
  • The elements is intended for buildtime checking but not for runtime checks which should be left to maven-enforcer-plugin. This has not been documented accordingly. This has been done with MNG-5297.
  • In situations like this: mvn -Dtest=\"anton\" clean package the trailing quote is stripped away which could cause problems. This has been fixed with MNG-5681.
  • Possible NullPointerException in org.apache.maven.repository.MetadataResolutionResult has been fixed with MNG-5721.
  • There had been several issues with the mvn script which are for example wrong locating the .mvn folder, nonportable shell constructs, wrongly setting ‘maven.multiModuleProjectDirectory’ variable or directories which contain spaces. Those issues have been fixed MNG-5786, MNG-5858, MNG-5882 and MNG-5884.
  • Broken link of ‘Building Maven’ in README.md has been fixed by MNG-5886.
  • maven-aether-provider/maven-compat does not always generate snapshot versions using Gregorian calendar year fixed in MNG-5877
  • Log file command line option description contains an extra word has been fixed by MNG-5891
  • org.apache.maven.repository.internal.RemoteSnapshotMetadataTest fails to start at midnight fixed with MNG-5907.
  • Multi-module build with ear fails to resolve war in 3.3.3 fixed in MNG-5898.
  • TASK:
  • Update Modello site url MNG-5887.

New in Maven 3.3.1 (Mar 23, 2015)

  • Bug:
  • [MNG-5686] - mvn cannot execute /usr/libexec/java_home/bin/java on OS X.
  • [MNG-5688] - mvn script is not compatible with OSX (Darwin) - PATCH ATTACHED
  • [MNG-5702] - Wrong reactor summary output while using -T option
  • [MNG-5742] - inconsistent classloading for extensions=true plugins
  • [MNG-5745] - Add example of toolchains.xml to Maven distribution
  • [MNG-5747] - DefaultMavenExecutionRequest.copy() doesn't keep useLegacyLocalRepository
  • [MNG-5748] - DefaultMavenExecutionRequest.copy() doesn't keep builderId
  • [MNG-5762] - execution request populate ignores plugin repositories
  • [MNG-5766] - LifecycleModuleBuilder effectively swallows runtime exceptions and errors
  • [MNG-5779] - NoClassDefFoundError: org/slf4j/spi/LocationAwareLogger when generating javadoc during site reporting
  • [MNG-5783] - cobertura-maven-plugin:instrument failing NoClassDefFoundError: org/slf4j/LoggerFactory
  • Improvement:
  • [MNG-1958] - we need a var that always points to the root directory in multi module builds
  • [MNG-3891] - Modify maven-toolchain to look in ${maven.home}/conf/toolchains.xml and in ${user.home}/.m2/toolchains.xml
  • [MNG-5734] - Empty module entry should fail instead of just producing a WARNING
  • [MNG-5752] - avoid hardcoded system classloader references
  • [MNG-5754] - Toolchains should be read during initialization
  • [MNG-5767] - project-specific default jvm options and command line parameters
  • [MNG-5768] - specify execution-id for direct plugin goal invocation from command line
  • [MNG-5771] - improved user-configurable core extensions mechanism
  • [MNG-5772] - upgrade to sisu 0.3.0 and sisu guice 3.2.5
  • New Feature:
  • [MNG-5740] - Add module maven-builder-support
  • [MNG-5753] - Allow plugin implementors to choose how they want the configuration created for a particular MojoExecution
  • [MNG-5755] - Access toolchains without maven-toolchain-plugin
  • [MNG-5774] - Provide an extension point to provide alternate CLI configuration mechanism
  • Task:
  • [MNG-5757] - update aether to 1.0.2
  • [MNG-5776] - Drop support for Win9x in mvn launch scripts
  • [MNG-5778] - switch from 3.2.x to 3.3.x
  • [MNG-5780] - upgrade Java minimum version prerequisite from Java 6 to Java 7

New in Maven 3.2.5 (Dec 20, 2014)

  • Bug:
  • [MNG-5568] - ComparableVersion's breaks contract for Comparable, in some edgecases the comparisons are not transitive
  • [MNG-5592] - Maven Dependency Resolution Locks up
  • [MNG-5676] - mvn -U crashes with IBM JDK
  • [MNG-5686] - mvn cannot execute /usr/libexec/java_home/bin/java on OS X.
  • [MNG-5687] - Parallel Builds can build in wrong order
  • [MNG-5695] - inconsistent custom scope bindings
  • [MNG-5696] - Remove dependency on Easymock
  • [MNG-5700] - Update to plexus-interpolation 1.21 to avoid potential thread safety problems
  • [MNG-5707] - spell mistake, Log4JLoggerFactory should be Log4jLoggerFactory
  • [MNG-5711] - LinkageError org.apache.maven.surefire.shade.org.apache.maven.shared.utils.io.IOUtil
  • [MNG-5716] - ToolchainManagerPrivate.getToolchainsForType() returns toolchains that are not of expected type
  • [MNG-5723] - Maven downloads same artifact from all repositories defined in POM
  • Improvement:
  • [MNG-5712] - Improve toolchains descriptor documentation
  • [MNG-5713] - Improve Toolchains API description
  • [MNG-5717] - Enrich toolchain xml with merge information
  • [MNG-5718] - Change 'provides' from Object to Properties in toolchains.xml
  • [MNG-5724] - Upgrade to last Wagon 2.8
  • New Feature:
  • [MNG-5714] - Add Merger for Maven Toolchain
  • [MNG-5730] - Provide a tool to test Maven version parsing and comparison
  • Task:
  • [MNG-5562] - Upgrade Aether 1.0 when available
  • [MNG-5715] - Upgrade JUnit (for tests only)
  • Wish:
  • [MNG-5719] - rename JavaToolChain to JavaToolchain for consistency and don't declare it as Plexus component

New in Maven 3.2.3 (Aug 26, 2014)

  • The primary motivation for this quick release is to provide HTTPS access to Maven Central by default.

New in Maven 3.2.1 (Feb 24, 2014)

  • Highlights:
  • Transitive dependency excludes
  • Reactor changes
  • AbstractMavenLifecycleParticipant changes
  • New Builder interface
  • Continuous delivery friendly versions
  • Custom lifecycle mapping
  • Bug:
  • [MNG-5075] - MavenProject.getParent throws undocumented ISE
  • [MNG-5389] - AbstractMavenLifecycleParticipant need a afterSessionEnd
  • [MNG-5467] - intermittent "ProtocolException: The server failed to respond with a valid HTTP response"
  • [MNG-5479] - ExecutionEvent.Type.SessionEnded omited when runtime exception thrown
  • [MNG-5494] - Add a license file that corresponds to each GAV in the distribution
  • [MNG-5528] - Help text confuses people
  • [MNG-5550] - MojoExecution source is never set to LIFECYCLE
  • [MNG-5553] - ${map(some.key)} is not properly interpolated
  • [MNG-5557] - Limit the reactor to the projects that are specified using --projects
  • [MNG-5559] - upgrade to last wagon 2.6
  • [MNG-5572] - Warn for building plugins with extensions in a reactor
  • Improvement:
  • [MNG-3526] - Small change to artifact version parsing.
  • [MNG-4099] - Password encryption CLI switches should prompt for password if missing
  • [MNG-5176] - Print build times in an ISO 8601-style manner
  • [MNG-5406] - don't expose core's slf4j-api by default, add a plugin-descriptor option to expose
  • [MNG-5530] - mojo execution guice scope
  • [MNG-5549] - Provide before/after callbacks for project and mojo execution
  • [MNG-5574] - Write error/warning messages from mvn shell and batch scripts to stderr
  • [MNG-5575] - Separate build strategies into their own implementations
  • [MNG-5576] - Allow continuous delivery friendly versions
  • [MNG-5578] - Make the ReactorReader pluggable in the core
  • [MNG-5581] - Provide a way to customize lifecycle mapping logic
  • [MNG-5582] - Continue to track all the projects in the reactor even if the set is constrained by --projects
  • New Feature:
  • [MNG-2315] - Add option to exclude all transitive dependencies for a particular one
  • [MNG-3832] - Allow wildcards in dependency exclusions
  • [MNG-5230] - Command line option to exclude modules from reactor

New in Maven 3.1.1 (Oct 5, 2013)

  • Bug:
  • [MNG-5459] - failure to resolve pom artifact from snapshotVersion in maven-metadata.xml
  • [MNG-5495] - API incompatibility causes Swagger Maven Plugin (and others) to fail under Maven 3.1.0
  • [MNG-5499] - maven-aether-provider leaks Sisu Plexus and ObjectWeb classes onto the classpath when they are not required
  • [MNG-5500] - help for --legacy-local-repository option explains _maven.repositories instead of _remote.repositories
  • [MNG-5503] - Maven 3.1.0 fails to resolve artifacts produced by reactor build
  • [MNG-5509] - org.apache.maven.repository.legacy.DefaultWagonManager should set User-Agent

New in Maven 3.1.0 (Jul 15, 2013)

  • Bug:
  • [MNG-3131] - Error message is misleading if a missing plugin parameter is of a type like List
  • [MNG-5016] - A mirror's layout setting should default to 'default' since thats' the only layout supported lay in maven 3
  • [MNG-5206] - plexus container never disposed
  • [MNG-5208] - Parallel (-T option) multi module build fires wrong "project failed event"
  • [MNG-5209] - MavenProject.getTestClasspathElements can return null elements
  • [MNG-5212] - DefaultPluginDescriptorCache does not retain pluginDescriptor dependencies
  • [MNG-5214] - Dependency resolution substitutes g:a:v:jar for j:a:v:something-else when something-else isn't in the reactor
  • [MNG-5233] - ArtifactMetadataRetrievalException from org.apache.maven.artifact.metadata is not anymore binary compatible.
  • [MNG-5258] - localRepository in settings.xml does not handle ~ as home.dir
  • [MNG-5261] - upgrade wagon version to 2.3 to fix issues with redirect
  • [MNG-5270] - README.bootstrap.txt says "Ant 1.6.5 or later" BUT 1.8 or later is needed
  • [MNG-5280] - Inconsistent order of repositories and pluginRepositories from profiles in settings (regression Maven 3)
  • [MNG-5289] - -Dmaven.repo.local not honored
  • [MNG-5312] - MavenProject.getParent intolerably slow when import scope used heavily
  • [MNG-5313] - Unnecessary DefaultModelBuilder.build overload
  • [MNG-5314] - DefaultModelValidator misuses String.matches
  • [MNG-5336] - Descriptor Reference for settings.xml is incorrect
  • [MNG-5387] - Add ability to replace an artifact in mid-build
  • [MNG-5390] - mvn -rf (no argument) results in NPE
  • [MNG-5395] - logger name for plugins should not be DefaultMavenPluginManager
  • [MNG-5396] - logger name for execution events should not be MavenCli
  • [MNG-5398] - scriptSourceDirectory in superpom is not prefixed with /usr/home/cmsslave/slave15/maven-site-staging/build/trunk/
  • [MNG-5403] - tar.gz release artifacts have wrong permissions on directories
  • [MNG-5418] - Can't activate a profile by checking for the presence of a file in $myProperty
  • [MNG-5430] - use wagon 2.4
  • [MNG-5444] - ModelSource API is not sufficient to resolve project hierachies
  • [MNG-5445] - Missing PathTranslator @Requirement in org.apache.maven.project.interpolation.StringSearchModelInterpolator
  • [MNG-5456] - Maven skips modules and reports success if parallel build encounters java.lang.Error
  • [MNG-5477] - "malformed POM" warning issued when no version in reporting section
  • Improvement:
  • [MNG-4505] - use slf4j to control various logging frameworks
  • [MNG-5181] - New resolution from local repository is very confusing
  • [MNG-5239] - Maven integration developers would like to be able to override the maven logging appender.
  • [MNG-5245] - upgrade default plugins versions
  • [MNG-5338] - Accept a directory with -f/--file
  • [MNG-5350] - improve @threadSafe error message: tell which goal
  • [MNG-5399] - Upgrade version of maven-release-plugin in superpom to 2.3.2
  • [MNG-5400] - Upgrade version of maven-dependency-plugin in superpom to 2.5
  • [MNG-5402] - Better build number for git
  • [MNG-5480] - document in POM descriptor reference how urls are interpolated from parent
  • [MNG-5482] - Catch NoClassDefFoundError org/sonatype/aether
  • New Feature:
  • [MNG-519] - Timestamps on messages
  • [MNG-5306] - for IDE embedding have ways of collecting model problems without failing the process
  • [MNG-5343] - Allow the use of JSR330 annotation in Maven extensions and plugins
  • [MNG-5344] - Allow the SLF4J loggers to be @Injected
  • [MNG-5354] - Integrate Eclipse Aether 0.9.0.M2
  • [MNG-5380] - Cannot preserve whitespace in Maven plugin configuration
  • [MNG-5381] - Restore MavenSession.getRepositoryCache()
  • [MNG-5382] - Add an IT for @Inject used in plugins
  • [MNG-5386] - Dispose of ClassRealms after invocation to prevent out of Permgen errors
  • [MNG-5388] - Restore embedded integration tests
  • [MNG-5391] - Update the default WAR plugin version to avoid version 2.3
  • [MNG-5393] - Look at Sonar's use of SLF4J and Logback
  • [MNG-5397] - Use SLF4J for logging
  • [MNG-5407] - Change MavenITmng1830ShowVersionTest to account for SHA1 as version
  • Task:
  • [MNG-5279] - add CLI options to documentation
  • [MNG-5365] - Replace Aether's deprecated ConfigurationProperties with ConfigUtils
  • [MNG-5372] - remove classes that were added during Maven 3 alpha and beta but were deprecated before 3.0 final release
  • [MNG-5373] - Document the usage and benefits of JSR330
  • [MNG-5374] - Fix transfer listener after the JSR330 merge
  • [MNG-5375] - Document use of SLF4J
  • [MNG-5376] - Account for changes between the Apple and Oracle JDKs on OSX
  • [MNG-5453] - Update Maven 3 build to use Eclipse/Sisu
  • Wish:
  • [MNG-5370] - separate artifact-handlers configuration from plugin bindings to default lifecycle
  • [MNG-5461] - rename _maven.repositories tracking file to _remote.repositories

New in Maven 3.0.5 (Feb 25, 2013)

  • [MNG-5430] - use wagon 2.4

New in Maven 3.0.4 (Nov 19, 2012)

  • Bug:
  • [MNG-4792] - Preemptive authentication doesn't work
  • [MNG-5064] - mvn -nsu (--no-snapshot-updates) should not download snapshots (and break local builds)
  • [MNG-5096] - exclusion on dependency with typetest-jar/type doesn't work in maven 3
  • [MNG-5113] - NullPointerException on javadoc site generation
  • [MNG-5131] - Wrong encoding for encrypted passwords
  • [MNG-5135] - Regression: in some cases aggregator mojo is unable to resolve dependencies with custom packaging
  • [MNG-5137] - Reactor resolution does not work for forked multi module builds
  • [MNG-5149] - DefaultArtifactRepositoryFactory.createArtifactRepository overload w/ layoutId passes wrong (repo) id
  • [MNG-5153] - ModelMerger omits relativ path
  • [MNG-5155] - 'inherited' flag of report sets ignored.
  • [MNG-5157] - NPE stemming from DefaultModelBuilder.containsCoordinates
  • [MNG-5163] - MavenProject.getPluginRepositories misimplemented
  • [MNG-5164] - Odd name of central in superpom
  • [MNG-5165] - Problem with scp transport (wagon-maven-plugin 1.0-beta-3, Maven 2.2.1, Ubuntu 11.04)
  • [MNG-5192] - prevent ConcurrentModificationException in parallel mode -Tx when project have errors
  • [MNG-5221] - Default version of m-site-p does not work (no reports)
  • [MNG-5225] - The default version of the maven-site-plugin as defined in the site-lifecycle must be 3.x
  • [MNG-5224] - REGRESSION: Injected Settings in a Mojo are missing the profiles from settings.xml
  • Improvement:
  • [MNG-4112] - Set property containing the currently executing maven version.
  • [MNG-5073] - ProjectBuilder.build(File,ProjectBuildingRequest) returns null project if dependency version info is missing
  • [MNG-5076] - Improve SEO of documentation of lifecycle.xml
  • [MNG-5119] - improve site organization of core components
  • [MNG-5134] - Standard documentation for build-in properties
  • [MNG-5141] - Make MojoExecutor.ensureDependenciesAreResolved public
  • [MNG-5151] - use CNAME or repo to provide more stability
  • [MNG-5152] - upgrade wagon to the final 1.0 version
  • [MNG-5158] - Make loading of extensions from lib/ext more robust with regard to existence of ext directory
  • [MNG-5159] - Extend validation of settings.xml to check for uniqueness of id elements
  • [MNG-5175] - replace wagon http lightweight with wagon http 2.1
  • [MNG-5200] - upgrade plugin versions in super pom
  • [MNG-5201] - upgrade aether to 1.13 and sisu to 2.3.0
  • Task:
  • [MNG-5046] - Remove $Id$ from sources
  • Test:
  • [MNG-5114] - Handling unrecognized version qualifiers
  • Wish:
  • [MNG-5118] - add aggregated javadoc

New in Maven 2.2.1 (Sep 15, 2009)

  • Bug:
  • MNG-3265 - maven-model Extension.equals causes NPE when any field is uninitialized
  • MNG-3506 - Custom ArtifactHandler not resolved for project when an additional plugin with extensions is defined in parent pom
  • MNG-3753 - ArtifactResolverDiagnoser.diagnose() fails with NPE if nested IOException has no detail message
  • MNG-4189 - Maven not picking up specific timestamped version dependency when a later timestamped version was downloaded and already present in the local repository
  • MNG-4218 - NPE in AbstractArtifactResolutionException if DefaultArtifactResolver.resolveTransitively is interrupted
  • MNG-4228 - [regression] Authorization failed: Not authorized by proxy.
  • MNG-4235 - [regression] Maven 2.2.0 produces invalid checksums during deployment to secured HTTP repo
  • MNG-4236 - [regression] http wagon uploads files twice with Maven 2.2.0 when preemptive auth is disabled (default setting)
  • MNG-4238 - Custom ArtifactHandler provided by build extension isn't used for project artifact
  • MNG-4240 - Direct dependencies with scope == provided will not have their transitive dependencies resolved for compiling and testing
  • MNG-4270 - ArtifactHandler, LifecycleMapping from plugin dependency is not used when plugin extensions are enabled
  • MNG-4275 - [regression] Direct relocations no longer log at WARNING level : MNG-3380 conflicts with MNG-1689
  • Improvement:
  • MNG-4254 - Support selection of wagon implementation for a particular protocol
  • MNG-4279 - wagon provider selection should fail gracefully and use protocol for roleHint if protocol-provider roleHint isn't available.
  • Task:
  • MNG-4290 - Update guide-http-settings to reflect the fact that sun-based http has been restored as the default for the http/s wagons.

New in Maven 2.0.9 (Nov 5, 2008)

  • MNG-3395 - Starting in 2.0.9, we have provided defaults in the super pom for the plugins bound by default to the lifecycle and a few other often used plugins. This will introduce a bit of stability to your builds because core plugins will not change magically on you when they are released. We still recommend taking control of your plugin versions via pluginManagement declarations as this is the most robust way to future proof your builds. Defaulting the plugins in the superpom was a step towards introducing stability for small builds and new users. A full table of the versions used is shown in the next section.
  • MNG-1412 / MNG-3111 introduced deterministic ordering of dependencies on the classpath. In the past, natural set ordering was used and this lead to odd results. The ordering is now preserved from your pom, with dependencies added by inheritence added last. In builds that had conflicting or duplicate dependencies, this may introduce a change to the output. In short, if you have weird issues with 2.0.9, take a look at the dependencies to see if you have conflicts somewhere.
  • MNG-2234 - In the past, settings.xml was ignored if there was no pom present (like in archetype:generate). Now all settings will be interpreted correctly.
  • MNG-2664 - The webdav wagon is now included in the core bundle by default. This means deploying 3rd party jars without a pom is a bit easier. The version of the wagon may still be overriden with an extension declaration within your pom.
  • MNG-2972 The plugin.dependency section can now override the dependencies specified by a plugin itself. This is useful for example to upgrade the version of checkstyle used by the checkstyle plugin (and many more).
  • MNG-3286 - The inherited field in a plugin execution block is now functioning correctly. Previously you could only dis-inherit an entire plugin configuration.
  • MNG-3220 - There is now a new scope for importing managed dependencies. See here and here for details. Please note that the use of this scope will break backwards compatibility with older Maven versions. If you use this, you should use the maven-enforcer-plugin to require a minimum maven version of 2.0.9
  • MNG-3394 - plugin versions specified in pluginManagement are now properly overriden by build.plugin.version specification.
  • MNG-3415 - Transmission errors when downloading artifacts should not corrupt the local repository metadata. Hopefully this means the end of "delete your local repo" as a debug step.
  • MNG-3461 - There is a new, more flexible way to define mirror settings. See the settings specification for more information.