Skip to content

fix(deps): update mapstruct monorepo to v1.6.3

bullshit requested to merge renovate/mapstruct-monorepo into main

This MR contains the following updates:

Package Type Update Change
org.mapstruct:mapstruct-processor (source) dependencies patch 1.6.0 -> 1.6.3
org.mapstruct:mapstruct (source) dependencies patch 1.6.0 -> 1.6.3

Release Notes

mapstruct/mapstruct (org.mapstruct:mapstruct-processor)

v1.6.3

Compare Source

Bugs
  • Redundant if condition in Java record mapping with RETURN_DEFAULT strategy (#​3747)
  • Stackoverflow with Immutables custom builder (#​3370)
  • Unused import of java.time.LocalDate when mapping source LocalDateTime to target LocalDate (#​3732)
Documentation
  • Add section to README.md comparing mapstruct with Java Records (#​3751)

v1.6.2

Compare Source

Bugs
  • Regression from 1.6.1: ClassCastException when using records (#​3717)

v1.6.1

Compare Source

Enhancements
  • Use Java LinkedHashSet and LinkedHashMap new factory method with known capacity when on Java 19 or later (#​3113)
Bugs
  • Inverse Inheritance Strategy not working for ignored mappings only with target (#​3652)
  • Inconsistent ambiguous mapping method error when using SubclassMapping: generic vs raw types (#​3668)
  • Fix regression when using InheritInverseConfiguration with nested target properties and reversing target = "." (#​3670)
  • Deep mapping with multiple mappings broken in 1.6.0 (#​3667)
  • Two different constants are ignored in 1.6.0 (#​3673)
  • Inconsistent ambiguous mapping method error: generic vs raw types in 1.6.0 (#​3668)
  • Fix cross module records with interfaces not recognizing accessors (#​3661)
  • @AfterMapping methods are called twice when using target with builder (#​3678)
  • Compile error when using @AfterMapping method with Builder and TargetObject (#​3703)
Behaviour change
Inverse Inheritance Strategy not working for ignored mappings only with target

Prior to this fix @Mapping(target = "myProperty", ignore = true) was being ignored when using @InheritInverseConfiguration.

e.g.

@​Mapper
public interface ModelMapper {

    @​Mapping(target = "creationDate", ignore = true)
    Entity toEntity(Model model);    

    @​InheritInverseConfiguration
    Model toModel(Entity entity);
}

In the example above prior 1.6.1 the Model toModel(Entity entity) was going to map the id property. In order to keep that behavior you'll need to explicitly do the mapping for it.

@​Mapper
public interface ModelMappe {
    @​Mapping(target = "creationDate", ignore = true) // NOTE: Handled by JPA.
    Entity toEntity(Model model);    

    @​InheritInverseConfiguration
    @​Mapping(target = "creationDate", source = "creationDate") // Allow reading from Entity
    Model toModel(Entity entity);
}

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

♻️ Rebasing: Whenever MR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this MR and you won't be reminded about these updates again.


  • If you want to rebase/retry this MR, check this box

This MR has been generated by Renovate Bot.

Edited by bullshit

Merge request reports

Loading