- JSR 330 (Dependency Injection for Java) is used for extensions and plugins. While JSR 330 has been available in the core since Maven 3.0-beta-3, it is now also available for extensions and Maven plugins. Using this standard in an extension will make the code only compatible with Maven 3.1.0+.
- SLF4J is used for logging in the core.
- The core is switched from using Sonatype Aether to Eclipse Aether, a library for working with artifact repositories.
By the switch to Eclipse Aether, this new release has a number of incompatibilities with existing plugins. A list is maintained providing an overview of the affected plugins and the version numbers for these plugins with the incompatibilities fixed.
Should I upgrade?
In my opinion, upgrading to 3.1.0 is not recommended until the above mentioned compatibility issues have been mended for most Maven plugins. As the largest part of this new release brings only internal changes and improvements, switching to Maven 3.1.0 will provide no significant benefit to the end user. Users should wait for a later release with more useful features and without any compatibility issues.