blob: 4ac4e9c2c9f8b02bb32c2ac0f8004125777abf31 [file] [log] [blame]
------
Release Notes - Maven 2.1.0
------
Brett Porter
Jason van Zyl
Brian Fox
------
4 February 2009
------
~~ Licensed to the Apache Software Foundation (ASF) under one
~~ or more contributor license agreements. See the NOTICE file
~~ distributed with this work for additional information
~~ regarding copyright ownership. The ASF licenses this file
~~ to you under the Apache License, Version 2.0 (the
~~ "License"); you may not use this file except in compliance
~~ with the License. You may obtain a copy of the License at
~~
~~ http://www.apache.org/licenses/LICENSE-2.0
~~
~~ Unless required by applicable law or agreed to in writing,
~~ software distributed under the License is distributed on an
~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
~~ KIND, either express or implied. See the License for the
~~ specific language governing permissions and limitations
~~ under the License.
~~ NOTE: For help with the syntax of this file, see:
~~ http://maven.apache.org/doxia/references/apt-format.html
Maven 2.1.0
The Apache Maven team would like to announce the release of Maven 2.1.0.
Maven 2.1.0 is {{{../../download.html} 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 {{{../../plugins/index.html} Plugin List}} for more information.
We hope you enjoy using Maven! If you have any questions, please consult:
* the web site: {{http://maven.apache.org/}}
* the maven-user mailing list: {{http://maven.apache.org/mail-lists.html}}
* 2.1.0 Release Notes
The full list of changes can be found in our {{{http://jira.codehaus.org/secure/ReleaseNote.jspa?version=14587&styleName=Html&projectId=10500&Create=Create}issue management system}}, and is reproduced below.
** Changes that may affect existing builds.
* MNG-3600 - The <<<\<server\>>>> element in <<<settings.xml>>> no longer specifies a default value for file and directory modes on remotely deployed files. Please refer to the Settings guides for how to configure this appropriately for your deployment environment.
* MNG-3475 - neither the script source directory nor the reporting output directory were aligned to the base directory. While this was a bug, if you used an expression such as <<<$\{basedir\}/$\{project.reporting.outputDirectory\}>>> then where this would of worked in Maven 2.0.10, it will have two copies of the project base directory in Maven 2.1.0+. You should remove the leading <<<$\{basedir\}>>> from the expression - however note that in some cases this will cause the build to be incompatible with earlier versions of Maven.
* MNG-3940 - While environment variables are case-insensitive on Windows, Maven internally stores them in a
<<<Properties>>> collection. For the time being, the names of environment variables are normalized to all
upper-case when Maven executes on Windows, thereby at least partly abstracting from different character casing of
the original variable name. Hence, <<<$\{env.PATH\}>>> will now be reliably resolved on Windows. However, POMs
that previously used lower-case or mixed-case variable names like <<<$\{env.ProgramFiles\}>>> will need to be
updated.
* MNG-4056 - Dependencies specified with a classifier of <<<sources>>> and type of <<<jar>>> are correctly considered source JARs and no longer added to the classpath. This is {{{http://code.google.com/p/gwt-maven/issues/detail?id=200} known to affect the GWT plugin}}
** Noteworthy Changes and improvements
* MNG-553 - Secure Storage of Server Passwords
* MNG-3760 - <<<$\{project.baseUri\}>>> has been added as a valid expression in the POM, and is a valid URI equivalent of <<<$\{basedir\}>>>
* MNG-2576 - Additional switches to the command line for alternate reactor behavior: <<<--resume-from>>>, <<<--also-make>>>, and <<<--also-make-dependents>>>.
* MNG-3379 - Parallel resolution of dependencies now occurs, with the default number of concurrent of threads set to 5. A configuration option <<<-Dmaven.artifact.threads>>> can be used to change the number of threads.
** Complete list of issues fixed in 2.1.0
*** Bug
* [MNG-1349] - openssl checksums are not accepted by maven
* [MNG-1585] - debug logging from wagon not shown in debug mode
* [MNG-1992] - CLI -D should override properties in settings.xml
* [MNG-1999] - Reporting inheritance does not work properly
* [MNG-2432] - Apache and Mojo plugins take precendence over plugins in the pom.
* [MNG-2433] - Maven looks for snapshots in offline mode
* [MNG-2605] - Profiles in profiles.xml are active by default
* [MNG-2668] - Plugin dependencies should be considered when the reactor creates the build order list
* [MNG-2690] - DefaultPluginManager.getConfiguredMojo() doesn't handle NoClassDefFoundError correctly
* [MNG-2695] - -o makes build fail for snapshot plugins
* [MNG-2720] - Multiproject dependencies not accurate for project.compileClasspathElements when run from root project
* [MNG-3023] - Reactor projects should be included in dependency resolution
* [MNG-3057] - properties not expanded in generated POMs when building A/B/C nested projects
* [MNG-3139] - The skin does not exist: Unable to determine the release version
* [MNG-3217] - a plugin's dependencies can influence other plugins in a build
* [MNG-3228] - Maven profile activation does not work when profile is defined in inherited 'parent' pom
* [MNG-3271] - \<excludeDefaults\> does not seem to work
* [MNG-3284] - Cached plugins are used, even when the specifically declared
* [MNG-3314] - offline build not running, when having SNAPSHOT dependencies
* [MNG-3621] - site url inheritance broken for UNC paths
* [MNG-3628] - When running offline, snapshot artifcats cannot be resolved even if they have previously be dowloaded from a repository
* [MNG-3641] - Lack of error checks on profiles
* [MNG-3645] - Maven doesn't do strict model validation for POMs in the current reactor
* [MNG-3719] - [regression] plugin execution ordering no longer POM ordered in 2.0.9
* [MNG-3757] - Setting M2_HOME to nothing and running ant delets contents of the current folder
* [MNG-3769] - [regression] Excluding relocated transitive dependencies does not work
* [MNG-3776] - Namespace misspelled in settings.xml
* [MNG-3808] - Execution order of report plugins is arbitrary if inheritance is involved
* [MNG-3810] - [regression] Null Pointer Exception when Activation Profile Property is Empty
* [MNG-3811] - Report plugins don't inherit configuration
* [MNG-3899] - Inheritance does not merge extensions with same gid and aid
* [MNG-3906] - Project-level plugin dependencies are in random order after merging
* [MNG-3920] - Problem using velocity component
* [MNG-3930] - mvn.bat doesn't handle ampersand in Windows user name properly
* [MNG-3933] - Profiles.xml does not pickup OS family
* [MNG-3940] - Interpolation of environment variables is not case-insensitive on Windows
* [MNG-3948] - Remote repos defined by profiles outside of settings.xml are not used to resolve parent POMs
* [MNG-3974] - New mirror syntax is not stopping on first match
* [MNG-4016] - Properties with the prefix project/pom are not interpolated from the properties section
* [MNG-4023] - Profiles from parent POM are injected multiple times if parent is part of reactor build
* [MNG-4026] - [regression] Order of project class path does not match POM order during reactor build
* [MNG-4032] - Test jar dependency not available for for main classes in multi module builds
* [MNG-4043] - Resolve or rollback WebDAV wagon deployment issue where hostname is improperly extracted from URL
* [MNG-4074] - cyclic reference with 2.1.0-RC1 that doesn't occur with 2.0.10
* [MNG-4079] - Duplicate error messages
* [MNG-4084] - Unnecessary Warning for an activate profile in child project
* [MNG-4086] - [regression] Explicitly using plugin metaversions crashes plugin manager
* [MNG-4087] - Percent encoded characters in file URLs are not decoded upon deployment
*** Improvement
* [MNG-1830] - add a 'compiled on \<timestamp\>' label when maven 2 is invoked with --version option
* [MNG-1957] - \<jdk\>\</jdk\> clause in the activation section has to provide more complex expressions.
* [MNG-3424] - Respect ordering of elements as given in POM
* [MNG-3451] - Add german translation
* [MNG-3503] - Shade MX* classes from plexus-utils
* [MNG-3544] - Beautify debug output for mojo parameters of type array
* [MNG-3600] - remove default settings of 664 / 775 for permissions
* [MNG-3787] - Add plugin version to default reports
* [MNG-3794] - Improve error logging when downloading depedencies
* [MNG-3795] - Add example \<pluginGroups\> snippet to conf/settings.xml in distribution
* [MNG-3867] - Support MAVEN_OPTS in mvnDebug script
* [MNG-3951] - Hide drive-relative paths from plugins
* [MNG-3971] - Provide parity in features between native ant-mojo support and antrun plugin
* [MNG-3975] - getArtifact(Artifact artifact, List remoteRepositories) should include Exception in debug log messages.
* [MNG-4024] - Open up CLIManager
* [MNG-4037] - Include Java home in version information
* [MNG-4057] - Propose checking of plugin artifact when plugin descriptor cannot be found
* [MNG-4075] - Tone down warnings about reactor dependencies that don't have an associated file
* [MNG-4091] - Validate the plugin descriptors and improve error reporting when mismatched with artifact
* [MNG-4092] - remove plugin listeners for minor memory improvement and to avoid scanning descriptors from dependencies of plugins
*** New Feature
* [MNG-553] - Secure Storage of Server Passwords
* [MNG-2097] - adding a phase called prepare-package
* [MNG-3379] - Parallel resolution of artifacts
* [MNG-3760] - Support property $\{baseurl\} to get RFC-compliant URL of project base directory
* [MNG-3914] - Add CLI option to control location of global settings from command line
*** Task
* [MNG-2387] - <active> on <proxy> in settings is misleading
* [MNG-2883] - Make sure that the network isn't used for snapshots in offline mode when legacy repositories are used
* [MNG-3602] - Schedule and release Doxia-1.1
* [MNG-3842] - Revert temporary changes to scp wagon handling
* [MNG-3936] - Remove m2.bat from distribution
* [MNG-4030] - Release maven-plugin-tools 2.4.4/2.5 to enable enhanced ant-mojo support
* [MNG-4031] - Release plexus-ant-factory 1.0-alpha-2.1 to enable enhanced ant-mojo support
* [MNG-4046] - Update to Doxia 1.0
* [MNG-4077] - Review log level for VersionExpressionTransformation.transformVersions()
*** Wish
* [MNG-4056] - Relax resolution of active project artifacts from the reactor with regard to artifact type
** Complete list of issues fixed in 2.1.0-M1
*** Bug
* [MNG-2739] - Repository entries are not validated and NPE will occur
* [MNG-2873] - Unable to find transitive dependencies when they have been relocated.
* [MNG-3052] - Transitive Dependency not found when repo is not listed
* [MNG-3070] - $\{x\} properties no longer expanded in \</version\> tag after 2.0.3
* [MNG-3106] - Multiple profile activation conditions broken
* [MNG-3368] - Printing version (-v argument) should not stop lifecycle execution
* [MNG-3380] - MavenMetadataSource retrieves ResolutionGroup without consulting ManagedVersionMap, is problem when relocation
* [MNG-3475] - Some directories are not basedir aligned
* [MNG-3482] - merging managed dependencies happens before managed-dependency versions are interpolated
* [MNG-3497] - rar, par and ejb3 archives should not be added to classpath
* [MNG-3498] - StringIndexOutOfBounds -1 during path translation while reading pom.xml
* [MNG-3527] - profile deactivation has no affect
* [MNG-3535] - Valid properties which look self referential fail to resolve
* [MNG-3536] - REGRESSION: pom.build.sourceDirectory in Maven 2.0.9: it doesn't work anymore
* [MNG-3545] - Option -P-profile overridden if profile is activebyDefault
* [MNG-3581] - stage:copy ClassCastException with maven 2.0.9
* [MNG-3584] - possible new memory leak in Maven 2.0.9
* [MNG-3585] - nonProxyHosts separator is wrong in the default settings.xml
* [MNG-3599] - webdav does not set http-proxy correctly
* [MNG-3622] - upgrade to wagon 1.0-beta-4
* [MNG-3639] - Ant 1.7.0 Task not found after upgrading from Maven 2.0.8 to 2.0.9
* [MNG-3642] - back-propagation of resources doesn't handle multiple resources with the same directory
* [MNG-3651] - mvn.bat returns an incorrect error code
* [MNG-3654] - [regression] unable to build ServiceMix 3 - IndexOutOfBoundsException in mergeDeterministicBuildElements
* [MNG-3662] - Model interpolation crashes if property resolves to value with ampersand
* [MNG-3667] - Dependencies resolution is wrong in some cases (xfire-core:1.2.6 for example)
* [MNG-3671] - plugin-level dependencies in POMs are not interpolated at correct time
* [MNG-3679] - \<execution\>\<id\>$\{some.custom.var\}\</id\> ... broke
* [MNG-3680] - POM validation fails on projects in central repo starting with 2.0.10 RCs
* [MNG-3684] - Injection of Build instance as report parameter results in uninterpolated values for build.directory, etc.
* [MNG-3693] - Updating project POM via project.setFile(..) changes project basedir, and project classpath when used as a dependency in a reactor
* [MNG-3694] - plugin parameters injecting $\{project.compileSourceRoots\} get uninterpolated source directories
* [MNG-3697] - NPE at DefaultPluginManager line 700 (from Hudson CI)
* [MNG-3701] - ClassCastException when building settings.xml with profiles that have activeByDefault set
* [MNG-3703] - ExecutionProject contains relative paths in compileSourceRoots
* [MNG-3704] - NPE in DefaultLIfecycleExecutor when run from within Hudson builds
* [MNG-3705] - Expression: $\{executedProject\} doesn't work in reports
* [MNG-3710] - ModelUtils.cloneModel() and .cloneBuild() pollute existing Plugin instances with merged information
* [MNG-3716] - Aggregators that fork lifecycles don't have execution projects setup for all projects in the reactor.
* [MNG-3717] - Maven prompts for a password when one is provided over SSH in some circumstances
* [MNG-3718] - Build timestamp interpolator gives hours in AM/PM instead of 24-hour time
* [MNG-3722] - Fail to run CXF code generation with 2.0.10 RC
* [MNG-3723] - $\{project.basedir\} is not interpolated
* [MNG-3724] - ExecutionProject not getting updated compile/test-compile/script roots in RC10
* [MNG-3729] - Maven 2.0.10-RC10 fails with NPE on assembly:assembly
* [MNG-3740] - Plugin builds that reference earlier versions of themselves in the \<plugins\> section of the POM result in StackOverflowError in 2.1.0-M1-RC12
* [MNG-3741] - CLONE maven-plugin-tools-api requires relative script root paths
* [MNG-3743] - pluginManagement not consulted when building from lifecycle forked via javdoc reports
* [MNG-3746] - POM properties do not override default system properties during POM interpolation
* [MNG-3747] - relative build paths are not path-translated when using prefixed expressions (eg. project.build.directory) in plugin configurations
* [MNG-3748] - settings builder doesn't use strict mode in xml parser
* [MNG-3885] - Modules of Maven projects are deployed with Timestamp during reactor build when uniqueVersion is set to false in parent profile
* [MNG-3924] - FATAL ERROR if a variable contains &lt; or &gt;
*** Improvement
* [MNG-2609] - Mention 'activeByDefault' in the "Introduction to Build Profiles" guide
* [MNG-3268] - Command line doesn't handle multiple -P correctly
* [MNG-3478] - Use expression $\{project.build.directory\} instead of hard-coding "target" in super POM
* [MNG-3509] - Make "mvn -v" output locale/encoding
* [MNG-3511] - Review fix for MNG-2166
* [MNG-3520] - Korean message resource
* [MNG-3571] - Allow use of ! when deactivating profiles
* [MNG-3652] - set a user agent for Maven HTTP requests
* [MNG-3673] - Upgrade plugin versions in super-POM where appropriate
* [MNG-3698] - Improve performance regarding concrete/dynamic build transitions surrounding plugin executions and report instantiations
* [MNG-3709] - Be sure source distro has the same name as the binary distro in the repository.
*** New Feature
* [MNG-2562] - expose current time as a property for POM interpolation
* [MNG-2576] - Make Like Reactor Mode
* [MNG-3219] - Create a CLIRR/JarDiff setup for 2.0.x and 3.0.x
* [MNG-3675] - Add accessor for lifecycles list to LifecycleExecutor/DefaultLifecycleExecutor
* Release notes for earlier versions
* {{{../../release-notes-older.html}Release Notes for earlier versions}}