-
-
Notifications
You must be signed in to change notification settings - Fork 38
/
change-notes.html
155 lines (154 loc) · 7.58 KB
/
change-notes.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
<html lang="en">
<h2>1.8.0</h2>
<ul>
<li>
New Inspections:
<ul>
<li><code>target</code> mapped more than once by <code>@Mapping</code> annotations with quick fixes: Remove annotation and change target property.</li>
<li><code>*</code> used as a source in <code>@Mapping</code> annotations with quick fixes: Replace <code>*</code> with method parameter name.</li>
</ul>
</li>
<li>Support Kotlin K2</li>
<li>Fix incorrect no source property defined inspection for <code>@Mapping</code></li>
</ul>
<h2>1.7.0</h2>
<ul>
<li>
New Inspections:
<ul>
<li>No source defined in <code>@Mapping</code></li>
<li>
More than one source defined in <code>@Mapping</code>.
Quick fixes:
<ul>
<li>Remove <code>source</code></li>
<li>Remove <code>constant</code></li>
<li>Remove <code>expression</code></li>
<li>Use <code>constant</code> as <code>defaultValue</code></li>
<li>Use <code>expression</code> as <code>defaultExpression</code></li>
</ul>
</li>
<li>
More than one default source in <code>@Mapping</code>.
Quick fixes:
<ul>
<li>Remove <code>defaultValue</code></li>
<li>Remove <code>defaultExpression</code></li>
</ul>
</li>
</ul>
</li>
<li>Align <code>@InheritConfiguration</code> with MapStruct core and support auto inheritance</li>
<li>Support collection getters as viable target setter</li>
<li>Support java text blocks for expression injection</li>
<li>Support <code>Map<String, ?></code>, as a valid mapping source</li>
<li>Support fluent setters with super types (e.g. Lomboks <code>@SuperBuilder</code></li>
<li>Align expression detection with MapStruct core</li>
<li>Fix "Remove usage of Mappers factory" inspection ignoring component model defined in <code>@MapperConfig</code></li>
</ul>
<h2>1.6.1</h2>
<ul>
<li>Add smart completion for target in <code>Mapping</code> (already mapped target are not proposed)</li>
<li>Bug fix: Fix auto-completion for nested public fields</li>
<li>Bug fix: Fix IndexOutOfBoundsException for target methods without parameter</li>
</ul>
<h2>1.6.0</h2>
<ul>
<li>Support <code>@InheritConfiguration</code> for unmapped target properties inspection</li>
<li>Use <code>unmappedTargetPolicy</code> for severity for unmapped target properties inspection</li>
<li>Bug fix: Fix missing completion and go to declaration for <code>Mapping#qualifiedByName</code> in <code>MapperConfig</code></li>
<li>Bug fix: Fix incorrect unmapped target property when using Mapping Composition within Mapping Composition</li>
<li>Bug fix: Fix autocompletion for nested records</li>
<li>Bug fix: Fix incorrect unmapped target property when <code>Mapping#target</code> contains a dot</li>
<li>Bug fix: Fix incorrect unmapped target property with fluent setters</li>
</ul>
<h2>1.5.0</h2>
<ul>
<li>Support for completion and go to declaration for <code>Mapping#qualifiedByName</code></li>
<li>Adding unmapped target property quick fix should move cursor to source</li>
</ul>
<h2>1.4.0</h2>
<ul>
<li>Support for Java records</li>
<li>Support MapStruct explicit <code>Builder#disableBuilder</code> through <code>@MapperConfig</code></li>
<li>Suppress redundant default parameter value assignment warning for <code>Mapping#constant</code> and <code>Mapping#defaultValue</code></li>
<li><code>@ValueMapping</code> source code completion should only suggest unmapped source constants</li>
<li>Bug fix: Language injections inside expressions when target is field</li>
<li>Bug fix: Avoid a redundant variable warning when injecting a Java expression</li>
</ul>
<h2>1.3.1</h2>
<ul>
<li>Improve language injections, especially for generics</li>
<li>Bug fix: Crash in case using static constant in target field of <code>@Mapping</code> annotation</li>
</ul>
<h2>1.3.0</h2>
<ul>
<li>Support code completion in <code>BeanMapping#ignoreUnmappedSourceProperties</code></li>
<li>Support MapStruct explicit <code>Builder#disableBuilder</code> through <code>@BeanMapping</code> or <code>@Mapper</code></li>
<li>Quick Fix: support for configuring the order of source and target in <code>@Mapping</code> for "Add unmapped property" fix</li>
<li>Bug fix: Code completion for generic builder</li>
<li>Bug fix: Code completion uses build constructor parameters</li>
</ul>
<h2>1.2.4</h2>
<ul>
<li>Add plugin icon</li>
<li>Kotlin: Use UAST instead of Kotlin plugin specific APIs</li>
<li>Bug fix: Missing type information in auto complete for source parameters and value mappings</li>
</ul>
<h2>1.2.3</h2>
<ul>
<li>Kotlin: Code completion for <code>target</code> and <code>source</code> in <code>@Mapping</code> and <code>@ValueMapping</code></li>
<li>Bug fix: False positive unmapped target property for multi source methods</li>
</ul>
<h2>1.2.2</h2>
<ul>
<li>Support for mapping nested bean properties to current target</li>
<li>Support <code>@BeanMapping#ignoreByDefault</code> for the unmapped target properties inspection</li>
<li>Bug fix: ClassCastException in language injection in expressions</li>
</ul>
<h2>1.2.1</h2>
<ul>
<li>Support code completion in Mapping#expression and Mapping#defaultExpression</li>
<li>Support meta annotations for when looking for unmapped target properties</li>
<li>Bug fix: public static fields / methods should not be considered as unmapped properties or resolved in auto completion</li>
</ul>
<h2>1.2.0</h2>
<ul>
<li>Support for public fields (auto-completion and unmapped target / source inspection warnings)</li>
<li>Support for constructor auto-completion (find usages and renaming of constructor fields doesn't work yet)</li>
<li>Quick Fix: Add ignore all unmapped target properties</li>
<li>Bug fix: Correctly resolve fluent Boolean accessor</li>
<li>Bug fix: Only treat public non-static getters and setters as accessors</li>
</ul>
<h2>1.1.1</h2>
<ul>
<li>Bug fix: MissingMapperOrMapperConfigAnnotationInspection should only check class defined methods</li>
<li>Bug fix: UnmappedTargetProperties inspection should only check abstract methods</li>
</ul>
<h2>1.1.0</h2>
<ul>
<li>Support for types with Builders and fluent setters</li>
<li>
Added errors and quick fixes:
<ul>
<li><code>@Mapper</code> or <code>@MapperConfig</code> annotation missing</li>
<li>Unmapped target properties and quick fixes for it: Add unmapped property or Ignore unmapped property.
NB: <code>unmappedTargetPolicy</code> is not yet considered</li>
</ul>
</li>
</ul>
<h2>1.0.1</h2>
<ul>
<li>Bug fix: Properly handle methods with less than 3 characters</li>
</ul>
<h2>1.0.0</h2>
<ul>
<li>Initial version</li>
<li>Code completion for <code>target</code> and <code>source</code> in <code>@Mapping</code> and <code>@ValueMapping</code></li>
<li>Code completion for <code>componentModel</code> in <code>@Mapper</code> and <code>@MapperConfig</code></li>
<li>Go To Declaration for properties in <code>target</code> and <code>source</code> to setters / getters</li>
<li>Find usages of properties in <code>target</code> and <code>source</code> and find usages of setters / getters in <code>@Mapping</code> annotations</li>
<li>Highlighting properties in <code>target</code> and <code>source</code></li>
<li>Refactoring support for properties and methods renaming</li>
</ul>
</html>