Releases: apache/maven
4.0.0-rc-2
Release notes
Maven has entered the release candidate phase and aims to be finally released in a few weeks. Please give it a try and report errors.
Upgrading from Maven 3
Maven 4 brings a tons of changes. We've tried hard to maximise compatibility with Maven 3.x, but in order to have your build work with Maven 4, you will need to upgrade some plugins (such as maven-enforcer-plugin
, maven-remote-resources-plugin
, maven-shade-plugin
, etc...) to their most recent versions.
If your build is leveraging Maven extensions, you may very well expect some breakage. Some extensions may need to be updated:
- the useful, but unmaintained,
os-maven-plugin
extension has been forked and now maintained atos-detector-maven-plugin
Contact the extensions' developers team to know their plans regarding supporting to Maven 4.
Known issues
- the
mvnenc
tool used to encrypt passwords in settings is broken - download rates appearing in the console display wrong values
Change log
Improvements
- [MNG-5729] Use monotonic time measurements by @gnodet in #1965
- [MNG-8394] Event bridge and properties fix by @cstamas in #1937
- [MNG-8403] Maven ITs use maven-executor by @cstamas in #1940
- [MNG-8407] Add target attribute to SVG links by @kwin in #1954
- [MNG-8415] Add constant for the security settings xml file by @gnodet in #1956
- [MNG-8419][MNG-8424] Too aggressive warning for pre-Maven4 passwords by @cstamas in #1970
Bug fixes
- IT: Move ITs off maven-shared-utils by @cstamas in #1941
- [MNG-8389] MavenExReq lacks u/p/i settings file paths by @cstamas in #1939
- [MNG-8391] Wrong effective model when conflicting values come from parents and profiles by @gnodet in #1942
- [MNG-8396] Add a cache layer to the filtered dependency graph by @gnodet in #1944
- [MNG-8400] Make sure base parser uses canonical maven.home by @cstamas in #1945
- [MNG-8402] System properties can take precedence over builtin expressions by @gnodet in #1947
- [MNG-8405] Fail On Severity, when set, is not reset (in resident instances) by @gnodet in #1950
- [MNG-8403] Collapse IT utils and helpers by @cstamas in #1949
- IT: Drop dead stuff by @cstamas in #1951
- [MNG-8404] ModelValidator: add unit tests and simplify a bit by @gnodet in #1948
- IT: Streamline ITs more by @cstamas in #1952
- [MNG-8388] Fix escape characters being replaced to change the original configuration by @CrazyHZM in #1946
- Use https for www.apache.org/licenses/ by @slawekjaranowski in #1955
- [MNG-8401] Reference global Maven download page by @kwin in #1953
- [MNG-8410] API cleanup by @gnodet in #1957
- [MNG-8411][MNG-8412][MNG-8416] mvnenc fixes by @cstamas in #1959
- [MNG-8393] Enable consumer pom by default for 4.1.0 model version only by @gnodet in #1963
- [MNG-8421] Move all of logging setup to LookupInvoker; mvnenc IT by @cstamas in #1964
- [MNG-8423] mvnenc -h by @cstamas in #1971
- [MNG-8406] Proper IT isolation by @cstamas in #1968
- Add missing package infos by @gnodet in #1980
- [MNG-5729] Fix possible NPE with introduction of mononic clock by @gnodet in #1972
- [MNG-5729] Fix transfer rate computation by @gnodet in #1969
- [MNG-8244] Using before:all / all / after:all is not triggered by @gnodet in #1973
- [MNG-8245][MNG-8246] Warn when calling before: or after: phases by @gnodet in #1974
- [MNG-3282] Docgen: remove property numbering, they are misleading and properties are "floating" anyway (alphabetically) by @gnodet in #1979
- [MNG-8414] The consumer pom should warn if not able to downgrade the model version to 4.0.0 by @gnodet in #1981
Dependency upgrade
- [MNG-8420] Bump jlineVersion from 3.27.1 to 3.28.0 by @dependabot in #1962
- [MNG-8430] Resolver 2.0.5 by @cstamas in #1975
- [MNG-8427] Bump PlexusSecDispatcher to 4.0.3 by @cstamas in #1959
Full changelog
maven-4.0.0-rc-1
What's Changed
- [MNG-8335] The mvnenc command is busted by @cstamas in #1825
- Tidy up generated BOMs by @cstamas in #1828
- [MNG-8334] Fix output redirection by @gnodet in #1826
- [MNG-8342] Add command line and terminal information when verbose by @gnodet in #1840
- [MNG-8348] Fix typos in deprecation warning message by @gnodet in #1844
- [MNG-8330] Enforce attached artifacts to have the same GAV than their project by @gnodet in #1838
- [MNG-8344] Support multiple operators in variable expansion by @gnodet in #1832
- [MNG-8354] Bump org.junit:junit-bom from 5.11.2 to 5.11.3 by @dependabot in #1830
- [MNG-8355] Bump org.apache.velocity:velocity-engine-core from 2.4 to 2.4.1 by @dependabot in #1831
- [MNG-8357] Bump org.codehaus.mojo:exec-maven-plugin from 3.4.1 to 3.5.0 by @dependabot in #1833
- [MNG-8353] Bump com.fasterxml.woodstox:woodstox-core from 7.0.0 to 7.1.0 by @dependabot in #1834
- [MNG-8352] Bump net.bytebuddy:byte-buddy from 1.15.5 to 1.15.7 by @dependabot in #1845
- [MNG-8358] Semi-generated dependency graph by @gnodet in #1829
- [MNG-8328] Clean up assembly from Jansi remains and add JLine native libraries by @gnodet in #1839
- [MNG-8339] An error during transfer output seems to freeze the output by @gnodet in #1842
- [MNG-8350] Improve storage and computation of locations in model objects by @gnodet in #1847
- [MNG-8349] Avoid exceptions with invalid modelVersion by @gnodet in #1848
- [MNG-8189] Warn about plugin versions not pinned for all lifecycles by @gnodet in #1846
- [MNG-8345] Maven generates both settings 1.3.0 and 2.0.0 by @gnodet in #1835
- [MNG-8341] Fix possible deadlock in ModelBuilder by @gnodet in #1843
- [MNG-8361][MNG-8300] Fix color styles" by @gnodet in #1851
- [MNG-8346] Reorganize subprojects by @gnodet in #1837
- [MNG-8347] Resolver 2.0.3 by @cstamas in #1850
- Better subproject names by @cstamas in #1853
- [MNG-8347] Resolver 2.0.3 by @cstamas in #1855
- [MNG-8360] Fix parent profiles not reported as activated by @gnodet in #1852
- Remove unused files by @gnodet in #1854
- [MNG-8329] ArtifactInstallerRequest and ArtifactDeployerRequest should use Collection by @gnodet in #1836
- Drop staging repository for Resolver 2.0.3 by @cstamas in #1860
- Bump net.bytebuddy:byte-buddy from 1.15.7 to 1.15.10 by @dependabot in #1863
- Bump ch.qos.logback:logback-classic from 1.5.11 to 1.5.12 by @dependabot in #1859
- [MNG-8367] Merge ITs into Maven by @gnodet in #1858
- Remove unused class by @gnodet in #1866
- [MNG-8368] Fix dependency resolver not using project repositories by @gnodet in #1865
- [MNG-8362] Adding some missing config properties by @cstamas in #1861
- Bump org.apache.maven:maven-archiver from 3.6.0 to 3.6.3 by @dependabot in #1877
- Bump org.apache.maven.plugins:maven-scm-publish-plugin from 1.1 to 3.3.0 by @dependabot in #1876
- Bump org.ow2.asm:asm from 7.3.1 to 9.7.1 by @dependabot in #1875
- Bump org.eclipse.jetty:jetty-server from 9.4.53.v20231009 to 9.4.55.v20240627 in /its/core-it-suite by @dependabot in #1872
- Bump org.apache.maven:maven-core from 3.6.0 to 3.8.1 in /its/core-it-support/core-it-plugins/mng7529-plugin by @dependabot in #1871
- Bump org.apache.maven.shared:maven-shared-utils from 0.1 to 3.3.3 in /its/core-it-support/maven-it-helper by @dependabot in #1869
- Bump commons-io:commons-io from 1.4 to 2.14.0 in /its/core-it-support/core-it-plugins/maven-it-plugin-plexus-utils-new by @dependabot in #1868
- Bump org.codehaus.plexus:plexus-utils from 1.1 to 3.0.24 in /its/core-it-support/core-it-plugins/maven-it-plugin-plexus-utils-11 by @dependabot in #1867
- IT: Ant update by @cstamas in #1879
- [MNG-8370] Add maven.repo.local.head by @cstamas in #1881
- IT: cleanup by @cstamas in #1886
- CLIng: finish TODO by @cstamas in #1888
- IT fix: Drop ancient reporting, use latest by @cstamas in #1887
- [MNG-8332] Detach CLIng from deprecated Embedder by @cstamas in #1882
- Bump junit:junit from 3.8.1 to 4.13.2 by @dependabot in #1892
- Bump org.codehaus.plexus:plexus-container-default from 1.0-alpha-9 to 2.1.1 by @dependabot in #1891
- Bump log4j:log4j from 1.2.14 to 1.2.17 by @dependabot in #1890
- Bump org.apache.maven.shared:maven-shared-utils from 0.9 to 3.4.2 by @dependabot in #1896
- Bump org.junit.jupiter:junit-jupiter from 5.8.0 to 5.11.3 by @dependabot in #1894
- Bump org.hamcrest:hamcrest from 2.2 to 3.0 by @dependabot in #1900
- Bump commons-io:commons-io from 2.14.0 to 2.17.0 by @dependabot in #1899
- Bump org.codehaus.plexus:plexus-velocity from 1.1.7 to 2.2.0 by @dependabot in #1901
- CLIng diet by @cstamas in #1897
- [MNG-8372] Augment error message to give users more context when running into deprecated encryption warning by @ottlinger in #1898
- IT: update archaic deps by @cstamas in #1903
- Bump org.codehaus.plexus:plexus-component-annotations from 2.1.1 to 2.2.0 by @dependabot in #1878
- [MNG-8340] Resolve parent according to the exact model location by @gnodet in #1857
- [MNG-8336] Only inject plugins information if requested by @gnodet in #1904
- Cleanup file access and assertions in ITs by @gnodet in #1912
- [MNG-8379] Decrypt all of settings on building it by @cstamas in #1913
- Move everything out of bootstrap by @gnodet in #1909
- Exception usage cleanup by @cstamas in #1910
- Add CI cache by @gnodet in #1914
- Bump org.apache.maven.plugin-tools:maven-plugin-annotations from 3.6.4 to 3.15.1 by @dependabot in #1908
- Bump org.codehaus.plexus:plexus-component-metadata from 2.1.1 to 2.2.0 by @dependabot in #1905
- Bump org.sonatype.maven.plugin:emma4it-maven-plugin from 1.2 to 1.3 by @dependabot in #1918
- [MNG-8376] Exit with a nicer error message when running on JDK < 17 by @gnodet in #1916
- [MNG-8378] Upgrade to Resolver 2.0.4 by @cstamas in #1919
- Rename versionFilter property and tidy up documentation by @cstamas in #1920
- [MNG-8383] Fix unsupported type dependencies put on classpath by @gnodet in #1921
- Bump org.apache.maven.wagon:wagon-webdav-jackrabbit from 3.0.0 to 3.5.3 by @dependabot in #1923
- IT: Consolidate ITs somewhat by @cstamas in #1924
- Bump commons-io:commons-io from 2.17.0 to 2.18.0 by @dependabot in #1927
- [MNG-8384] Make sure plugin's artifacts have a scope by @gnodet in #1928
- [MNG-8385] Introduce proto session by @cstamas in #1929
- [MNG-8286] Add a condition profile based on a simple expressions by @gnodet in #1771
- CLIng+resident: logging subsystem still needs an update by @cstamas in #1931
- Post merge fix by @cstamas in #1933
- Fix CI cache for ITs by @gnodet in #1934
- [MNG-8386] Pull out executor by @cstamas in #1932
- The IT properties creeped in into main build by @cstamas in #1935
New Contributors
- @ottlinger made their first contribution in #1898
Full Changelog: https://github.com/apache/maven/compare...
4.0.0-beta-5
What's Changed
- Disable automated JIRA comments from GitHub by @kwin in #1689
- [MNG-8255] Bump ch.qos.logback:logback-classic from 1.5.7 to 1.5.8 by @dependabot in #1709
- Bump org.apache.commons:commons-lang3 from 3.16.0 to 3.17.0 by @dependabot in #1691
- Bump net.bytebuddy:byte-buddy from 1.15.0 to 1.15.1 by @dependabot in #1692
- Bump org.codehaus.mojo:buildnumber-maven-plugin from 3.2.0 to 3.2.1 by @dependabot in #1698
- [MNG-8249] Provide an annotation processor for DI by @gnodet in #1704
- [MNG-8210] Fix broken inference of version when using -f option by @gnodet in #1720
- [MNG-8252] Fully infer the parent coordinates if the location points to a valid model by @gnodet in #1706
- [MNG-8190] Restrict build pom feature to 4.1.0 model version by @gnodet in #1707
- [MNG-8252] Fully infer the parent coordinates if the location points to a valid model (#1706) by @gnodet in #1721
- [MNG-8237] Option deprecation notices cleanup by @gnodet in #1713
- DI improvements by @gnodet in #1717
- [MNG-8232] Introduce ModelTransformer by @gnodet in #1702
- [MNG-8234] Revert the addition of the priority tag by @gnodet in #1711
- [MNG-8235] Move remote repositories into requests by @gnodet in #1712
- [MNG-8256] FilteredProjectDependencyGraph fix for non-transitive case by @cstamas in #1723
- [MNG-8259] Improve Sisu / DI bridge by @gnodet in #1722
- [MNG-8239] Add missing ModelCacheFactory by @gnodet in #1728
- [MNG-8260] Fix warning on latest JDK 24.ea by @gnodet in #1718
- [MNG-7255] Infer groupId for intra-reactor dependencies by @gnodet in #1696
- [MNG-8242] Cache flattened parents during model building by @gnodet in #1703
- [MNG-8233] Client should handle modelIds as "opaque" by @cstamas in #1701
- Simple typo bugfix (NPE) by @cstamas in #1731
- [MNG-8263] Remove last remnants of wrapper integration by @cstamas in #1736
- No issue, no change by @cstamas in #1745
- [MNG-8120] Refactor ModelBuilder and ProjectBuilder by @gnodet in #1700
- [MNG-8261] Remove jline-terminal-ffm direct dependency by @gnodet in #1719
- [MNG-8264] Deprecate maven 3 specific modules by @gnodet in #1739
- More readable formatting of the warning about automatic modules by @desruisseaux in #1733
- Disable parallelism by @gnodet in #1760
- Disable Jenkins temporarily by @gnodet in #1761
- [MNG-8274] Bump net.bytebuddy:byte-buddy from 1.15.1 to 1.15.3 by @dependabot in #1749
- [MNG-8277] Bump org.junit:junit-bom from 5.11.0 to 5.11.1 by @dependabot in #1747
- [MNG-8273] Bump mockitoVersion from 5.13.0 to 5.14.1 by @dependabot in #1762
- [MNG-8276] Bump org.apache.velocity:velocity-engine-core from 2.3 to 2.4 by @dependabot in #1741
- [MNG-8275] Bump com.google.guava:guava from 33.3.0-jre to 33.3.1-jre by @dependabot in #1740
- Fix possible NPE during project building by @gnodet in #1759
- Cleanup assembly rat plugin config by @gnodet in #1758
- Improve model validator wrt modelVersion which is now set in the file model by @gnodet in #1757
- Use Version and Severity directly by @gnodet in #1756
- [MNG-8278] Improve speed in stax readers by @gnodet in #1748
- [MNG-8230] Rewrite CI friendly versions by @gnodet in #1710
- Remove a module-related exception which is not used anywhere. by @desruisseaux in #1734
- [MNG-8280] Bump jlineVersion from 3.26.3 to 3.27.0 by @dependabot in #1764
- [MNG-8258] activate Reproducible Builds by default by @hboutemy in #1726
- Probable bug: method that nullifies model by @cstamas in #1735
- [MNG-8281] Interpolator service by @gnodet in #1769
- [MNG-8279] The project local repository and project collectors are using maven.multiModuleProjectDirectory instead of rootDirectory by @gnodet in #1767
- Restore the default parallelism in the model builder by @gnodet in #1768
- [MNG-8283] Maven CLIng by @cstamas in #1750
- Fix phaser by @gnodet in #1770
- [MNG-8283] Maven CLIng smaller bugfixes and improvements by @cstamas in #1772
- [MNG-8283] More mvnd related changes by @cstamas in #1775
- [MNG-8283] Parser must not alter global state by @cstamas in #1776
- [MNG-8283] Make resident able to restore state by @cstamas in #1779
- [MNG-8291] Bump org.junit:junit-bom from 5.11.1 to 5.11.2 by @dependabot in #1780
- [MNG-8290] Bump org.ow2.asm:asm from 9.7 to 9.7.1 by @dependabot in #1781
- [MNG-8288] "path cannot be null" by @cstamas in #1782
- [MNG-8293] Fix resolution of reactor models by @gnodet in #1783
- Fix concurrency issue in DefaultModelValidator by @gnodet in #1786
- Cut link between maven-core maven-resolver-provider by @gnodet in #1777
- [MNG-5910] Warn if both exists and missing file activation are set by @gnodet in #1773
- Make rootDirectory mandatory by @cstamas in #1787
- [MNG-8294] Consistency checks when loading parent by @gnodet in #1784
- [MNG-8305] Fix MER showErrors setting by @cstamas in #1795
- [MNG-8285] Implement mvnenc CLI tool by @cstamas in #1793
- [MNG-8303] Bump ch.qos.logback:logback-classic from 1.5.8 to 1.5.10 by @dependabot in #1794
- [MNG-8304] Bump net.bytebuddy:byte-buddy from 1.15.3 to 1.15.4 by @dependabot in #1791
- [MNG-8295] Dependency Manager Transitivity (now default) handles dependency management inconsistently by @gnodet in #1788
- [MNG-8309] Improve log infrastructure (first step toward multi-threading log view support) by @gnodet in #1792
- Cleanup after last commit by @cstamas in #1798
- Minor fixes: proper help syntax and ability to extend core exports by @cstamas in #1799
- [MNG-8296] Support creating unknown Language on the fly by @gnodet in #1809
- [MNG-8041] Move PathScope into the dependency collection request by @gnodet in #1807
- [MNG-8318] Bump mockitoVersion from 5.14.1 to 5.14.2 by @dependabot in #1805
- [MNG-8316] Bump jlineVersion from 3.27.0 to 3.27.1 by @dependabot in #1803
- [MNG-8317] Bump ch.qos.logback:logback-classic from 1.5.10 to 1.5.11 by @dependabot in #1804
- [MNG-8299] Fix ordering of phases from custom lifecycles by @gnodet in #1802
- [MNG-8311] empty but existing in settings.xml by @danthe1st in #1801
- [MNG-8302] Revert "Make rootDirectory really mandatory" by @gnodet in #1800
- [MNG-8320] Bump jakarta.inject:jakarta.inject-api from 2.0.1 to 2.0.1.MR by @dependabot in #1729
- [MNG-8313] Upgrade to Resolver 2.0.2 by @cstamas in #1796
- [MNG-8302] Warn when appropriate by @cstamas in #1810
- [MNG-8322] Use the new ToolchainsBuilder and SettingsBuilder by @gnodet in #1778
- [MNG-8315] Fix MAVEN_PROJECTBASEDIR in mvn.cmd when .mvn is at drive root by @gnodet in #1808
- Remove unused exclusions by @cstamas in #1814
- Get rid of slf4j warning by @cstamas in #1816
- [MNG-8306] Fix wrong order in merged xml nodes and double profile injection by @gnodet in #1811
- [MNG-8258] Change the fixed reproducible build outputTimestamp to 1 Feb 1980 by @st...
4.0.0-beta-4
What's Changed
- [MNG-7902] Sort plugins in the validation report by @yuehcw in #1510
- Allow to manually execute GitHub Action by @slawekjaranowski in #1552
- Use Maven Wrapper to build by @slawekjaranowski in #1550
- [MNG-5693] Remove unhelpful links that don't describe failure reasons from output by @elharo in #1545
- [MNG-8136] Update Eclipse Sisu to 0.9.0.M3 by @cstamas in #1546
- [MNG-8135] Fix capital OS name can not activate profile by @liutang123 in #1549
- Fix grammar in validation message by @Bananeweizen in #1544
- Move modelVersion inference to model builder so that it is also effective on consumer models by @gnodet in #1566
- [MNG-8141] Model Builder report issues during build by @cstamas in #1569
- [MNG-8153] Add back missing classes from the v3 api by @gnodet in #1577
- [MNG-8134] Add a @resolution annotation to mojos to inject project dependencies collection / resolution result by @gnodet in #1559
- Remove commons-io:commons-io dependency by @gnodet in #1578
- [MNG-8150] Handle absent source/target files in transfer listener by @pshevche in #1575
- [MNG-8150] Remove unused locale argument from FileSizeFormat by @pshevche in #1579
- [MNG-7758] Report dependency problems for all repository by @slawekjaranowski in #1563
- Remove hardcoded references to woodstox stax implementation by @gnodet in #1585
- [MNG-8160] Recreate the transformed artifact if it has been deleted (by the clean goal for example) by @gnodet in #1587
- [MNG-8164] Session#collectDependencies(Project) does not obey exclusions by @gnodet in #1591
- [MNG-7194] Test missing property evaluation by @pzygielo in #1573
- Fix Toolchain toString() method by @gnodet in #1593
- [MNG-8155] Improve not built error message by @elharo in #1599
- Fix Maven 4 extensions by @gnodet in #1601
- [MNG-8179] Upgrade Parent to 43 by @slawekjaranowski in #1605
- [MNG-8178] Fall back to system properties for missing profile activation context properties by @gnodet in #1609
- [MNG-8180] Fail install/deploy if rogue Maven Plugin metadata found by @cstamas in #1612
- [4.0.x][MNG-8194] Update to Resolver 2.0.1 by @cstamas in #1626
- [MNG-8182] Resolved errors were created based on collect exceptions by @cstamas in #1635
- [MNG-8192] Consistently throw InvalidArtifactRTException for invalid by @kwin in #1637
- [MNG-8197] Use default classifier when Eclipse Aether specifies none by @desruisseaux in #1621
- [API] Expose InputLocation formatter in the XmlFactory by @gnodet in #1616
- [MNG-8132] Fix BOM dependency exclusions by @gnodet in #1622
- [MNG-8180] Handle NPE due non-existent tags by @cstamas in #1639
- [MNG-8180] Back out from failing the build by @cstamas in #1645
- [MNG-8206] Remove bad plugin.xml in maven-compat by @gnodet in #1644
- [MNG-8177] Add contextual info for model warnings by @cstamas in #1636
- [MNG-8010]: Minimize and make generic the README.txt by @hiufung-kwok in #1624
- Fix StringIndexOutOfBoundsException by @gnodet in #1618
- [MNG-8176] Restrict classloader for Maven 4 plugins by @gnodet in #1336
- [MNG-8165] Align mvn.sh script with mvn.cmd by @cstamas in #1648
- [MNG-8165] Get rid of bashism creeped in by @cstamas in #1652
- [MPLUGIN-530] Deprecate requirements in plugin descriptor 1.1.0 by @kwin in #1638
- [MNG-7344] track dependencyManagement import location in effective Model for MPH-183 by @jjkester in #603
- [MNG-8195] Add
DependencyResolverResult.getModuleName(Path)
method by @desruisseaux in #1625 - [MNG-8196] Make exception messages match Maven 3 again by @oehme in #1628
- [MNG-8172] Fix site building by @gnodet in #1594
- [MNG-8215] Add location tracking for toolchains by @gnodet in #1608
- [MNG-8211] Fail the build if project effective version has expression by @cstamas in #1673
- [MNG-7914] Provide a single entry point for configuration by @gnodet in #1595
- Document that V4 mojo are supposed to be threadsafe by @gnodet in #1675
- [MNG-8181] Provide a variable for maven central repo url, backed by an environment variable by @gnodet in #1615
- [MNG-8214] Improve model velocity template to support subclasses by @kwin in #1660
- [MNG-7914] Add doc for the new maven.properties file by @gnodet in #1674
- Renaming of
ArtifactCoordinate.getVersion()
+ documentation by @gnodet in #1662 - [MNG-8052] New lifecycle for Maven 4 by @gnodet in #1448
- [MNG-8220] Fix loading DI-powered beans from extensions by @gnodet in #1683
- [MNG-7897] Support ${project.rootDirectory} in file profile activation by @gnodet in #1687
- [MNG-8228] Enable Sisu Plexus strict classpath scanning by @kwin in #1688
- [MNG-8218] Always normalize Path in PathSource by @gnodet in #1684
- [MNG-8225] Fully concurrent builder for Maven 4 by @gnodet in #1429
- [MNG-8210] Replace Maven "module" term by "subproject" by @gnodet in #1651
- [MNG-7838] Fix usage of older packaged artifacts from project local repository by @gnodet in #1199
- [MNG-8229][MNG-8090] Fix jenkins build by @gnodet in #1693
Dependencies
- Bump commons-cli:commons-cli from 1.5.0 to 1.8.0 by @dependabot in #1537
- Bump org.junit:junit-bom from 5.10.1 to 5.10.2 by @dependabot in #1535
- Bump com.google.guava:guava from 33.2.0-jre to 33.2.1-jre by @dependabot in #1582
- Bump net.bytebuddy:byte-buddy from 1.14.15 to 1.14.17 by @dependabot in #1581
- Bump org.jline:jline from 3.26.1 to 3.26.2 by @dependabot in #1588
- Bump com.fasterxml.woodstox:woodstox-core from 6.6.2 to 7.0.0 by @dependabot in #1590
- Bump org.junit:junit-bom from 5.10.2 to 5.10.3 by @dependabot in #1592
- Bump org.codehaus.woodstox:stax2-api from 4.2.1 to 4.2.2 by @dependabot in #1583
- Bump org.codehaus.plexus:plexus-testing from 1.3.0 to 1.4.0 by @dependabot in #1596
- Bump net.bytebuddy:byte-buddy from 1.14.17 to 1.14.18 by @dependabot in #1602
- Bump resolverVersion from 2.0.0-alpha-11 to 2.0.0 by @dependabot in #1600
- Bump slf4jVersion from 2.0.13 to 2.0.14 by @dependabot in #1629
- Bump org.hamcrest:hamcrest from 2.2 to 3.0 by @dependabot in #1623
- Bump org.jline:jline from 3.26.2 to 3.26.3 by @dependabot in #1619
- Bump com.github.siom79.japicmp:japicmp-maven-plugin from 0.21.2 to 0.22.0 by @dependabot in #1620
- Bump slf4jVersion from 2.0.14 to 2.0.16 by @dependabot in #1643
- Bump org.junit:junit-bom from 5.10.3 to 5.11.0 by @dependabot in #1655
- Bump commons-cli:commons-cli from 1.8.0 to 1.9.0 by @dependabot in #1654
- Bump ch.qos.logback:logback-classic from 1.5.6 to 1.5.7 by @dependabot in #1657
- Bump org.assertj:assertj-core from 3.26.0 to 3.26.3 by @dependabot in #1658
- Bump net.bytebuddy:byte-buddy from 1.14.18 to 1.14.19 by @dependabot in #1659
- Bump com.github.siom79.japicmp:japicmp-maven-plugin from 0.22.0 to 0.23.0 by @dependabot in #1664
- Bump org.apache.commons:commons-lang3 from 3.14.0 to 3.16.0 by @dependabot in #1677
- Bump org.codehaus.mojo:exec-maven-plugin from 3.3.0 to 3.4.1 by @dependabot in http...
3.9.9
Release Notes - Maven - Version 3.9.9
Bug
- [MNG-8159] - Fix search for topDirectory when using -f / --file for Maven 3.9.x
- [MNG-8165] - Maven does not find extensions for -f when current dir is root
- [MNG-8177] - Warning "'dependencyManagement.dependencies.dependency.systemPath' for com.sun:tools:jar refers to a non-existing file C:\Temp\jdk-11.0.23\..\lib\tools.jar"
- [MNG-8178] - Profile activation based on OS properties is broken for "mvn site"
- [MNG-8180] - Resolver will blindly assume it is deploying a plugin by presence of META-INF/maven/plugins.xml in JAR
- [MNG-8182] - Missing or mismatching Trusted Checksum for some artifacts is not properly reported
- [MNG-8188] - [REGRESSION] Property not resolved in profile pluginManagement
Task
- [MNG-8206] - Remove Maven 2.1 (v 2.0) compatibility bits
Dependency upgrade
- [MNG-8175] - Resolver 1.9.21
- [MNG-8179] - Upgrade Parent to 43
- [MNG-8193] - Resolver 1.9.22
- [MNG-8198] - (build) Animal Sniffer 1.24
- [MNG-8199] - Hamcrest 3.0
What's Changed
- [MNG-8159] Fix search for topDirectory when using -f / --file by @gzm55 in #1589
- [MNG-7194] Test missing property evaluation by @pzygielo in #1570
- [3.9.x] [MNG-8175] Update Resolver to 1.9.21 by @cstamas in #1598
- [MNG-8178] Fall back to system properties for missing profile activation context properties by @kohlschuetter in #1603
- [MNG-8179] Upgrade Parent to 43 by @slawekjaranowski in #1610
- [MNG-8180] Fail install/deploy if rogue Maven Plugin metadata found by @cstamas in #1611
- [3.9.x][MNG-8193] Update to Resolver 1.9.22 by @cstamas in #1627
- [MNG-8199] Hamcrest 3.0 by @cstamas in #1631
- [MNG-8182] Resolved errors were created based on collect exceptions by @cstamas in #1632
- [MNG-8180] Handle NPE due non-existent tags by @cstamas in #1641
- [MNG-8180] Back out from failing the build by @cstamas in #1642
- [MNG-8206] Remove bad plugin.xml from maven-compat by @cstamas in #1646
- [MNG-8177] Add contextual info for model warnings by @cstamas in #1633
- [MNG-8188] Profile properties are not interpolated by @cstamas in #1634
- [MNG-8165] Align mvn.sh script with mvn.cmd by @cstamas in #1647
- [MNG-8165] Get rid of bashism creeped in by @cstamas in #1653
New Contributors
- @gzm55 made their first contribution in #1589
- @kohlschuetter made their first contribution in #1603
Full Changelog: maven-3.9.8...maven-3.9.9
3.9.8
Release Notes - Maven - Version 3.9.8
Bug
- [MNG-7758] - o.e.aether.resolution.ArtifactResolutionException incorrectly examined when multiple repositories are involved
- [MNG-8066] - Maven hangs on self-referencing exceptions
- [MNG-8116] - Plugin configuration can randomly fail in case of method overloading as it doesn't take into account implementation attribute
- [MNG-8131] - Property replacement in dependency pom no longer works
- [MNG-8135] - Profile activation based on OS properties is no longer case insensitive
- [MNG-8142] - If JDK profile activator gets "invalid" JDK version for whatever reason, it chokes but does not tell why
- [MNG-8147] - Profile interpolation broke their evaluation in case of duplicate IDs
Improvement
- [MNG-7902] - Sort plugins in validation report
- [MNG-8140] - When a model is discarded (by model builder) for whatever reason, show why it happened
- [MNG-8141] - Model Builder should report if not sure about "fully correct" outcome
- [MNG-8150] - Make SimplexTransferListener handle absent source/target files
Task
- [MNG-8146] - Drop use of commons-lang
Dependency upgrade
- [MNG-8136] - Update to Eclipse Sisu 0.9.0.M3
- [MNG-8143] - Update to commons-cli 1.8.0
- [MNG-8144] - Update to Guava 32.2.1-jre
- [MNG-8154] - Upgrade default plugin bindings
What's Changed
- Use Maven Wrapper to build by @slawekjaranowski in #1553
- [3.9.x] [MNG-8136] Update Eclipse Sisu to 0.9.0.M3 by @cstamas in #1547
- [MNG-8135] Profile activation based on OS properties is no longer case insensitive by @cstamas in #1561
- [3.9.x] Dependency updates by @cstamas in #1560
- [MNG-7902] Sort plugins in the validation report (#1510) by @slawekjaranowski in #1562
- [MNG-8066] Default exception handler does not handle recursion by @cstamas in #1558
- [MNG-8142] Hidden bug: JDK profile activator throw NumberFormatEx by @cstamas in #1557
- [MNG-8146] Drop commons-lang by @cstamas in #1564
- [MNG-8140] Always tell why model was discarded as "invalid" by @cstamas in #1555
- [MNG-8141] Model builder should report problems it finds during build by @cstamas in #1556
- [MNG-8141][MNG-8147] Restore profile ID invariance but warn if duplicate IDs present by @cstamas in #1568
- [MNG-8141] Aftermath, and tidy up by @cstamas in #1572
- [MNG-8150] Backport TransferListener improvements for Maven 3.9.x by @pshevche in #1576
- [MNG-7758] Report dependency problems for all repository by @slawekjaranowski in #1584
- [MNG-8154] Upgrade default plugin bindings by @slawekjaranowski in #1586
Full Changelog: maven-3.9.7...maven-3.9.8
3.9.7
Release Notes - Maven - Version 3.9.7
Bug
- [MNG-8106] - Maven Metadata corruption if repository directory role overlaps
- [MNG-8121] - NullPointerException at org.apache.maven.artifact.repository.metadata.Metadata.merge (Metadata.java:293)
New Feature
- [MNG-5726] - Update OS Activation To Allow Wildcards In OS Version
- [MNG-8030] - Backport: Add ability to ignore dependency repositories: mvn -itr
Improvement
- [MNG-8019] - Streamline update policy of pluginRepository/repository of Maven Central in Super POM
- [MNG-8029] - improve documentation of mirror in settings
- [MNG-8031] - Backport: Make Maven transfer listener used with Resolver more concurrent friendly
- [MNG-8081] - default profile activation should consider available system and user properties
- [MNG-8085] - swtich from png+imagemap to svg
- [MNG-8117] - Improve prerequisite evaluation and plugin version selection logging
Task
- [MNG-7309] - Remove redundant MojoDescriptor parameterMap
- [MNG-8011] - Minimize and make generic the README.txt
- [MNG-8055] - Investigate possible solutions for build number diffs on deploy
Dependency upgrade
- [MNG-8094] - Resolver 1.9.19
- [MNG-8100] - Upgrade default plugin bindings
- [MNG-8101] - Upgrade Parent to 42
- [MNG-8109] - Resolver 1.9.20
- [MNG-8115] - Upgrade minimal set of dependencies
- [MNG-8125] - (build) Bump buildhelper-maven-plugin to 3.6.0 (was 3.4.0)
- [MNG-8126] - Bump logback classic to 1.2.13 (was 1.2.12)
- [MNG-8127] - Bump guava to 33.2.0-jre
What's Changed
- [MNG-6776] Inconsistent list of parameters for MojoDescriptor (#584) by @michael-o in #1361
- [MNG-8055] Ability to force build number by @cstamas in #1415
- [MNG-8029] improve documentation about mirror settings by @hboutemy in #1395
- MNG-8019 streamline central update policy by @kwin in #1381
- MNG-5726 (backport for Maven 3.9) by @kwin in #1431
- [MNG-4840] document requiredMavenVersion in plugin descriptor by @hboutemy in #1444
- [MNG-8085] switch png+imagemap to svg by @hboutemy in #1452
- [MNG-4840] fix requiredMavenVersion description #1444 by @hboutemy in #1456
- [MNG-6399] Lift JDK minimum to JDK 8 by @turbanoff in #1382
- Update GitHub actions to v4 by @slawekjaranowski in #1472
- [MNG-8101] Upgrade Parent to 42 by @slawekjaranowski in #1473
- [MNG-8100] Upgrade default plugin bindings by @slawekjaranowski in #1474
- [MNG-8031] Backport concurrent friendly transport listener by @cstamas in #1471
- [MNG-8030] Backport itr: ignore transitive repositories by @cstamas in #1469
- [MNG-8011] Neuter the README by @cstamas in #1470
- [MNG-8094] Resolver 1.9.19 by @cstamas in #1468
- [3.9.x][MNG-8106] Fix metadata merge by @cstamas in #1480
- [3.9.x][MNG-8109] Resolver 1.9.20 by @cstamas in #1490
- [MNG-8081] Interpolate available properties during default profile selection (Maven 3.9.x) by @mbenson in #1447
- [3.9.x][MNG-8117] Backport to Maven 3.9.x by @cstamas in #1505
- [MNG-8115] Upgrade dependencies by @slachiewicz in #1496
- [MNG-8121] Fix NPE in metadata merge by @cstamas in #1508
- [MNG-8126] Mild updates by @cstamas in #1533
New Contributors
- @turbanoff made their first contribution in #1382
Full Changelog: maven-3.9.6...maven-3.9.7
maven-4.0.0-beta-3
Release Notes - Maven - Version 4.0.0-beta-3
New Feature
-
[MNG-8084] - Make the v4 api usable outside the Maven runtime by @gnodet in #1441, #1457 and #1465, by @desruisseaux in #1527
Improvement
- [MNG-8015] - Adjustments in new API related to PathType by @desruisseaux in #1501
- [MNG-8038] - Model builder API
- [MNG-8050] - Same repositories IDs in settings.xml and POM are not detected by @kwin in #1412
- [MNG-8075] - Allow project.baseUri in repository.url by @slawekjaranowski in #1438
- [MNG-8081] - default profile activation should consider available system and user properties by @mbenson in #1446
- [MNG-8089] - Introduce "fat" type for JAR by @cstamas in #1459
- [MNG-8117] - Improve prerequisite evaluation and plugin version selection logging by @cstamas in #1502
- [MNG-8119] - Remove build section in consumer pom profiles by @gnodet in #1503
- [MNG-8128] - Custom packaging not found
Bug
- [MNG-8025] - API incompatibility with m-remote-resources-p by @gnodet in #1467
- [MNG-8079] - Maven Resolver breaks compatibility due Resolver breakage
- [MNG-8082] - Exceptions of proxied SessionScoped components are not working correctly by @jonasrutishauser in #1449
- [MNG-8106] - Maven Metadata corruption if repository directory role overlaps by @cstamas in #1481
- [MNG-8108] - Failure to create the consumer POM by @gnodet in #1506
- [MNG-8118] - Merge BOM exclusions instead of overwriting by @gnodet in #1504
- [MNG-8121] - NullPointerException at org.apache.maven.artifact.repository.metadata.Metadata.merge (Metadata.java:293) by @cstamas in #1509
- [MNG-8123] - Maven 4.0.0-beta-2 fails with maven-build-cache-extension 1.2.0 by @gnodet in #1524
- Fix nasty concurrency issue in AbstractSession by @gnodet in #1479
- Fix terminal usage in mvnd by @gnodet in #1486
- Fix consumer pom builder by @gnodet in #1491
- Reactor loading problems by @gnodet in #1497
- Fix packaging not found by @gnodet in #1507
Dependency upgrade
- [MNG-8091] - Update Resolver to 2.0.0-alpha-10 by @cstamas in #1460
- [MNG-8102] - Upgrade Parent to 42 by @slawekjaranowski in #1476
- [MNG-8103] - Upgrade default plugin bindings by @slawekjaranowski in #1475
- [MNG-8105] - Upgrade JLine to 3.26.1 by @gnodet in #1478 and #1485
- [MNG-8107] - Upgrade to Resolver 2.0.0-alpha-11 by @cstamas in #1488
- Bump ognl:ognl from 2.5.1 to 3.0.12 in /maven-compat/src/test/resources by @dependabot in #1439
- Bump mockitoVersion from 5.7.0 to 5.12.0 by @dependabot in #1521
- Bump com.fasterxml.woodstox:woodstox-core from 6.5.1 to 6.6.2 by @dependabot in #1518
- Bump net.bytebuddy:byte-buddy from 1.14.9 to 1.14.15 by @dependabot in #1514
- Bump com.github.siom79.japicmp:japicmp-maven-plugin from 0.17.2 to 0.21.2 by @dependabot in #1520
- Bump org.codehaus.plexus:plexus-classworlds from 2.6.0 to 2.8.0 by @dependabot in #1522
- Bump org.codehaus.plexus:plexus-interpolation from 1.26 to 1.27 by @dependabot in #1523
- Bump org.codehaus.mojo:build-helper-maven-plugin from 3.4.0 to 3.6.0 by @dependabot in #1526
- Bump ch.qos.logback:logback-classic from 1.2.13 to 1.5.6 by @dependabot in #1515
- Bump slf4jVersion from 2.0.11 to 2.0.13 by @dependabot in #1519
- Bump org.ow2.asm:asm from 9.6 to 9.7 by @dependabot in #1529
- Bump com.google.guava:guava from 32.1.3-jre to 33.2.0-jre by @dependabot in #1532
- Bump org.codehaus.plexus:plexus-xml from 4.0.1 to 4.0.4 by @dependabot in #1530
- Bump org.xmlunit:xmlunit-core from 2.9.1 to 2.10.0 by @dependabot in #1494
- Upgrade plexus-interactivity-api to 1.3 by @gnodet in #1498
Task
- [MNG-4840] fix requiredMavenVersion description #1445 by @hboutemy in #1458
- [MNG-8043] document new default types, replacing artifact handlers by @hboutemy in #1463
- [MNG-8070] - Document Maven Runtime Requirement for Java 17
- [MNG-8073] - Generated XSD files needs to have ASL2.0 license headers by @cstamas in #1499
- [MNG-8084] Fix maven code schema by @hboutemy in #1461 and #1492
- [MNG-8085] switch png+imagemap to svg by @hboutemy in #1453
- [MNG-8088] - Apply Resolver ScopeManager by @cstamas in #1442
- Typo fixes: remove repetitive words by @carrychair in #1436
- Remove unneeded dependencies in maven-di by @gnodet in #1440
- This is NOT a component by @cstamas in #1462
- Improve maven startup time by @gnodet in #1464
- Fix split package in org.apache.maven.api.di by @gnodet in #1455
- Clean warnings by @gnodet in #1482
- Make Maven 4.0.0 be beta-1 by @cstamas in #1484
- Enable dependabot by @gnodet in #1513
- Fix distribution licenses by @gnodet in #1525
- Simplified redundant judgment by @CrazyHZM in #1489
- Resolver updates by @gnodet in #1495
- Use the new resolver provider by @gnodet in #1483
- Add system properties to test by @hboutemy in #1500
New Contributors
- @carrychair made their first contribution in #1436
- @jonasrutishauser made their first contribution in #1449
- @desruisseaux made their first contribution in #1501
Full Changelog: maven-4.0.0-alpha-13...maven-4.0.0-beta-3
4.0.0-alpha-13
Release Notes - Maven - Version 4.0.0-alpha-13
Bug
- [MNG-8005] - IDE WorkspaceReader is ignored in Maven 4
- [MNG-8014] - Maven concurrent model builder deadlocks
- [MNG-8017] - Maven fails at start with "Cannot run program "infocmp": error=2, No such file or directory"
- [MNG-8021] - The user properties and system properties on session should be immutable
- [MNG-8022] - 'mvn -version' results in NullPointerException
- [MNG-8024] - Maven 3 models are not serializable, despite marked as such
- [MNG-8039] - DefaultProjectBuilder should not change given artifact
New Feature
- [MNG-5726] - Update OS Activation To Allow Wildcards In OS Version
- [MNG-7954] - Provide a cleaner DI api
- [MNG-8006] - Provide a SPI so that extension can interact with user properties at session creation time
Improvement
- [MNG-7854] - Non directly managed imported and conflicting depMgt entries should warn
- [MNG-8012] - Warn on BOM import within same reactor
- [MNG-8015] - Control the type of path where each dependency can be placed
- [MNG-8029] - improve documentation of mirror in settings
- [MNG-8037] - Restrict project to the entity being built and make it immutable
- [MNG-8045] - Use DependencyGraphDumper instead of own implementation
- [MNG-8053] - Profile activation by packaging in the POM
Task
- [MNG-7976] - Investigate MNG-6127 IT instability
- [MNG-8013] - Integration testing process logs can be output github artifact
- [MNG-8016] - Simplify ModelCache
- [MNG-8023] - New method for project artifacts
- [MNG-8026] - Maven should define from ground up scopes used with Resolver
- [MNG-8043] - Dependency properties should be provided by Resolver consumer
- [MNG-8046] - Upgrade github action version from v3 to v4
- [MNG-8054] - Investigate possible solutions for build number diffs on deploy
- [MNG-8059] - Move Resolver off java.io.File to NIO2 Paths
- [MNG-8060] - Use String#isEmpty instead of length
- [MNG-8061] - Upgrade Maven runtime requirement to Java 17
- [MNG-8067] - Refer to latest schema for extensions.xml
Dependency upgrade
- [MNG-8035] - Upgrade Resolver version to 2.0.0-alpha-7
- [MNG-8036] - Upgrade to JLine 3.25.1
- [MNG-8057] - Upgrade Modello to 2.3.0
What's Changed
- [MNG-8016] Simplify ModelCache by @gnodet in #1377
- [MNG-8014] Workaround for deadlocks in model building by @gnodet in #1376
- Simplify graph by @gnodet in #1380
- [MNG-8005] Fix workspace reader drop bug by @cstamas in #1385
- [MNG-8006] SPI to contribute to effective properties and more by @cstamas in #1384
- [MNG-8014] Fix multithreaded builder by @gnodet in #1386
- [MNG-8023] New method + javadoc on Project by @cstamas in #1387
- [MNG-8026] Maven drives regarding scopes by @cstamas in #1392
- [MNG-8035] Update to Resolver 2.0.0-alpha-7 by @cstamas in #1394
- [MNG-8036] [MNG-8017] [MNG-8022] Upgrade JLine to 3.25.1 by @gnodet in #1390
- [MNG-8037] Restrict project to the entity being built and make it immutable by @gnodet in #1389
- [MNG-7854] Warn if imported dep is ignored by @cstamas in #1370
- [MNG-8013] Integration testing process logs can be output github artifact by @CrazyHZM in #1375
- [MNG-8026] Maven drives regarding scopes by @cstamas in #1391
- [MNG-7954] New dependency injection mechanism by @gnodet in #1393
- [MNG-8043] Dependency properties should be provided by Maven by @cstamas in #1399
- Remove empty dependency scope from the api by @gnodet in #1402
- Clean mdo schemas by @gnodet in #1365
- [MNG-8045] Use DependencyGraphDumper instead of own implementation by @slawekjaranowski in #1404
- DI and API fixes by @gnodet in #1407
- [MNG-8046] Upgrade github action version from v3 to v4 by @CrazyHZM in #1405
- [MNG-8053] Profile activation by packaging in the POM by @gnodet in #1410
- [MNG-8039] Don't change resolved artifact by DefaultProjectBuilder by @slawekjaranowski in #1408
- [MNG-8054] Ability to force build number by @cstamas in #1414
- [MNG-8029] improve documentation about mirror settings by @hboutemy in #1417
- [MNG-8057] Upgrade Modello to 2.3.0 by @gnodet in #1418
- [MNG-8006] Switch property contributors to use a lazy lookup by @gnodet in #1419
- [MNG-8059] Paths everywhere by @cstamas in #1413
- [MNG-8060] Use String#isEmpty instead of length by @CrazyHZM in #1420
- [MNG-7976] Investigate MNG-6127 IT instability by @CrazyHZM in #1422
- [MNG-5726] Support regular expression matching in profile activation for by @kwin in #1421
- Use v4 api to resolve project dependencies by @gnodet in #1409
- Use SessionData to store ProjectIndex by @gnodet in #1423
- Fix concurrent cache access by @gnodet in #1425
- Extract JLine support into its own module by @gnodet in #1426
- Add a SpiService marker interface by @gnodet in #1427
- Missing annotations on api by @gnodet in #1428
- Make LifecycleStarter pluggable by @gnodet in #1424
- [MNG-8024] Make WrapperProperties and WrapperList serializable by @gnodet in #1433
- [MNG-8015] Control the type of path where each dependency can be placed by @gnodet in #1401
- [MNG-8012] Warn if in-reactor BOM import happens by @cstamas in #1434
- [MNG-8061] Maven: Require Java 17 by @bmarwell in #1430
New Contributors
Full Changelog: maven-4.0.0-alpha-12...maven-4.0.0-alpha-13