Announcing Gem Tools

Lately, we have been busy working on the release of MapStruct 1.4, adding new features and trying to simplify our codebase so we can maintain it easier and add features faster.

From the start of the project we have been using a utility tool Hickory for generating Prisms (partial reflection access to annotations) during compilation time. Basically, we’ve been using an annotation processor to generate access to the MapStruct annotations, this allows us to access the MapStruct annotation in a type-safe way, without requiring the annotation JAR to be on the processor path. This is a really old project and the only release on Maven Central is from March 2010.

Thus we needed something newer and created our own utility. Say hi to Gem Tools.

Read more...

MapStruct 1.3.1.Final bug fix released

It is my pleasure to announce the 1.3.1.Final bug fix release of MapStruct. Since the Final release of MapStruct 1.3.0.Final we have received amazing feedback from the community.

This release includes 3 enhancements, 12 bug fixes and 7 documentation improvements.

The enhancements include:

  • Ability to disable builders on method level via Builder#disableBuilder
  • Stricter matching for lifecycle methods / non-unique parameters
Read more...

MapStruct 1.3.0.Final is out in the wild

Long overdue it is our pleasure to announce the final version MapStruct 1.3. This is our 3rd release since november 2015.

Besides bug fixes, the 1.3 release brings some new exciting features:

  • Mapping (immutable) objects using builders
  • Enhanced and more flexible update method (@MappingTarget) handling
  • Constructor injection for Annotation Based component models
  • Source policy for unmapped source properties (unmappedSourcePolicy)
  • Support for defaultExpression
  • Limit mapping only to explicitly defined mappings
  • Performance improvement of constant / defaultValue primitive to String mappings
  • Warnings for precision loss
Read more...

Java 8 as a baseline, null value property mappings improved builders support and much more: MapStruct 1.3.0.Beta2 is out

It’s my pleasure to announce the second Beta release of MapStruct 1.3.

With the new Release we have finally made the switch to Java 8 as a baseline.

There are a whole lot of new enhancements as well, e.g.:

  • New NullValuePropertyMappingStrategy for controlling how properties are for update methods
  • Warnings for precision loss
  • Caching and reusing javax.xml.datatype.DatatypeFactory
  • Recursive source presence tracking
  • Improvements in the builders support
Read more...