I’m very happy to announce the first candidate release of MapStruct 1.2!
The CR1 release mostly provides bug fixes and other smaller improvements since the Beta 3,
e.g. related to the handling of the
@ObjectFactory annotation (issues #1131 and #1242).
Further fixes concern the handling of imports in the generated code (#1227, #543) and the error reporting in case of incorrect mapper definitions (#1150, #1185).
One useful improvement relates to the usage of MapStruct under Java 9: we have defined module names now which will take effect when using MapStruct as automatic module (#1224).
The module names are
org.mapstruct for the annotation JARs (only one of them is to be used at a given time, so using the same name is fine) and
org.mapstruct.processor for the processor JAR.
This is done using the new JAR manifest header
Automatic-Module-Name which is supported by recent Java 9 preview builds.
Kudos to everyone contributing to this release: Aleksandr Shalugin, Cornelius Dirmeier, Darren Rambaud and Tillerino as well as long-term MapStruct afficionados Andreas Gudian, Filip Hrisafov and Sjaak Derksen.
You can find MapStruct 1.2 CR 1 in Maven Central under the following GAV coordinates:
- Annotation JAR: org.mapstruct:mapstruct-jdk8:1.2.0.CR1 (for usage with Java >= 8) or org.mapstruct:mapstruct:1.2.0.CR1 (for earlier Java versions)
- Annotation processor JAR: org.mapstruct:mapstruct-processor:1.2.0.CR1
Alternatively, you can get ZIP and TAR.GZ distribution bundles - containing all the JARs, documentation etc. - from GitHub.
With this candidate release we believe that we’re mostly ready for releasing MapStruct 1.2 Final.
No further feature development is planned for 1.2 at this point. Depending on the number of bug reports popping up in the next few days and weeks, we’ll either do another CR or go to 1.2 Final right away. The final release should be in your hands in late summer.
Please give the candidate release a spin and let us know as soon as possible if you run into any trouble. To get in touch, post a comment below or use one the following channels: