@@ -60,31 +60,44 @@ for a higher control compared to the EasyML Facade.
6060
6161### Release Notes
6262
63- !Release 1.5.2
63+ Release 1.6.0 (requires Java 9, recommended up to Java 17)
64+ - XMLWriter and XMLReader use getters and setters.
65+ - feature: support for Java 9 modules.
66+ - NON-BACKWARD COMPATIBLE refactor of ReflectionUtil.
67+
68+
69+ Release 1.5.3
70+ - refactor: remove deprecated Class.newInstance() usages.
71+ - refactor: limited reflection usage from Properties, EnumSet, EnumMap,
72+ SingletonList, SingletonSet, SingletonMap strategies.
73+ - feature: added java.util.concurrent.atomic strategies.
74+ - feature: added java.util.Collections emptyList, emptyMap, emptySet strategies.
75+
76+
77+ Release 1.5.2 (requires Java 8, recommended up to Java 9)
6478- feature: added generic mechanism for cache clearing.
6579
6680
67- ! Release 1.5.1
81+ Release 1.5.1
6882- feature: added functional API.
6983- feature: added CalendarStrategy and OptionalStrategy.
7084- feature: added java.time strategies.
7185- performance: added caching to SerializableStrategy.
7286- refactor: remove Profile feature.
7387
7488
75- ! Release 1.5.0
76- - requires Java 8 or later .
89+ Release 1.5.0 (requires Java 8)
90+ - feature: support for Java 9 security .
7791- NON-BACKWARD COMPATIBLE refactor of ReflectionUtil.
78- - feature: support for Java 9 security model.
7992
8093
81- ! Release 1.4.7
94+ Release 1.4.7
8295- last Java 7 compatible release.
8396- bugfix: performance regression in Serialization strategy.
8497- remove AccessibleObject.isAccessible calls.
8598
8699
87- ! Release 1.4.6
100+ Release 1.4.6
88101- remove deprecated v1.3.4 object-o and array-o strategies.
89102- replaced MarshalContext aliasFor methods with aliasOrNameFor methods.
90103- bugfix: EnumStrategy marshalling fix.
@@ -93,20 +106,20 @@ for a higher control compared to the EasyML Facade.
93106- feature: added serialization serialPersistentFields support.
94107
95108
96- ! Release 1.4.5
109+ Release 1.4.5
97110- performance: improved n.s.e.EasyML.deserialize() speed by reusing the
98111XmlPullParser when available.
99112- refactor: minor code improvements.
100113
101114
102- ! Release 1.4.4
115+ Release 1.4.4
103116- refactor: made n.s.e.m.CompositeStrategy.unmarshalInit return type more
104117loose to better support readResolve in n.s.e.m.j.i.ExternalizableStrategy.
105118- refactor: n.s.e.XMLReader and n.s.e.XMLWriter use HashMap instead of
106119ConcurrentHashMap if not in shared mode (i.e. if in standalone mode).
107120
108121
109- ! Release 1.4.3
122+ Release 1.4.3
110123- feature: new n.s.e.m.j.i.ExternalizableStrategy offers support for the
111124Java Externalizable protocol.
112125- feature: new n.s.e.XMLReader.hasMore method.
@@ -116,35 +129,40 @@ EasyML.Profile.Generic for more portable XML.
116129object input and output streams.
117130
118131
119- ! Release 1.4.2
132+ Release 1.4.2
120133- bugfix: n.s.e.m.j.i.SerializableStrategy GetFieldImpl readFields fix.
121134
122135
123- ! Release 1.4.1
136+ Release 1.4.1
124137- bugfix: XMLWriter text driver empty line when pretty printing.
125138
126139
127- ! Release 1.4.0
140+ Release 1.4.0
128141- NON-BACKWARD COMPATIBLE refactor: EasyML now immutable(removed setters).
129142- feature: EasyMLBuilder for easyml customization.
130143
131144
132- !Release 1.3.10
145+ Release 1.3.11
146+ - bugfix: n.s.e.m.j.i.SerializableStrategy GetFieldImpl readFields fix.
147+ - bugfix: XMLWriter text driver startElement impl improvement.
148+
149+
150+ Release 1.3.10
133151- bugfix: XMLWriter text driver empty line when pretty printing.
134152- javadoc: improvements.
135153
136154
137- ! Release 1.3.9
155+ Release 1.3.9
138156- feature: EasyML, XMLReader, XMLWriter custom XML root tag setting.
139157- refactor: source level 1.7 warnings fixed.
140158
141159
142- ! Release 1.3.8
160+ Release 1.3.8
143161- performance: EasyML cache reflected class constructors.
144162- feature: EasyML, XMLReader, XMLWriter clearCache() methods.
145163
146164
147- ! Release 1.3.7
165+ Release 1.3.7
148166- performance: EasyML and XMLReader cache reflected classes and fields.
149167This is done via n.s.e.m.UnmarshalContext's classFor() and fieldFor().
150168Distinct EasyML instances have separate caches.
@@ -154,13 +172,13 @@ XMLReaders share caches only when isSharedConfiguration().
154172- bugfix: remove duplicate encoded.clear() from XMLWriter.reset().
155173
156174
157- ! Release 1.3.6
175+ Release 1.3.6
158176- feature: added n.s.e.EasyML.releaseCurrentReader()
159- and n.s.e.EasyML.releaseCurrentWriter() methods.
177+ and n.s.e.EasyML.releaseCurrentWriter() methods.
160178- performance: removed the redundant easyml version attribute.
161179
162180
163- ! Release 1.3.5
181+ Release 1.3.5
164182- performance: reduced the impact of class aliasing and field aliasing
165183features, even when NOT used, on serialize() and deserialize() times.
166184- performance: n.s.e.u.ReflectionUtil unsafe instantiation method now
@@ -172,7 +190,7 @@ security reasons.
172190it was deprecated since version 1.2.2.
173191- refactor: renamed "object-o", "array-o" to "objectx", "arrayx"
174192- bugfix: object field values could get inverted at read if ALL of the
175- following conditions hold:
193+ following conditions hold:
176194 1 . skipDefaults is enabled.
177195 2 . instance has same name fields on different inheritance levels.
178196 3 . instance defines default values on each level.
@@ -184,32 +202,32 @@ XML outputted by versions 1.3.5 down to 1.2.1 and will produce only
1842021.3.5 formatted XML.
185203
186204
187- ! Release 1.3.4
205+ Release 1.3.4
188206- performance: n.s.e.XMLWriterTextDriver improvements allow EasyML to
189- perform up to 20% faster. The performance improvement is more
190- pronounced when pretty printing is enabled.
207+ perform up to 20% faster. The performance improvement is more
208+ pronounced when pretty printing is enabled.
191209
192210
193- ! Release 1.3.3
211+ Release 1.3.3
194212- doc: better javadoc for n.s.e.EasyML, n.s.e.XMLReader, n.s.e.XMLWriter.
195213- bugfix: include position descriptor in each InvalidFormatException case.
196214- bugfix: n.s.e.XMLReaderTextDriver.consumeFully() fix.
197215
198216
199- ! Release 1.3.2
217+ Release 1.3.2
200218- performance: n.s.e.EasyML serialize() and deserialize() methods use
201219ThreadLocal internally for XMLWriter and XMLReader instance reuse,
202220in order to improve performance, while remaining thread-safe.
203221
204222
205- ! Release 1.3.1
223+ Release 1.3.1
206224- feature: added n.s.e.EasyML newReader() and newWriter methods in order
207225to expose more API features at facade level.
208226- bugfix: prevent shared-config readers and writers from allowing config
209227modifications.
210228
211229
212- ! Release 1.3.0
230+ Release 1.3.0
213231- NON-BACKWARD COMPATIBLE refactor:
214232merged n.s.e.ExtendedEasyML into n.s.e.EasyML.
215233- feature: n.s.e.EasyML facade is now thread-safe while the thread-unsafe
@@ -222,25 +240,3 @@ multithread features.
222240Note: except for the last mentioned bugfix, all other changes were made
223241 to offer an easier and faster API for multithreaded environments.
224242
225-
226- !Release 1.2.6
227- - feature: fail first security policy enforcement for n.s.e.XMLReader
228- readObject and readArray.
229- - bugfix: security policy now validates params at add and addHierarchy.
230- - bugfix: consume remaining XML on security policy exception, to allow
231- subsequent reads, if possible.
232- - bugfix: better XMLWriter and XMLReader close method impls.
233-
234-
235- !Release 1.2.5
236- - feature: n.s.e.EasyML and n.s.e.XMLReader: new securityPolicy settings
237- used to configure, if needed, black- or whitelists for objects found at
238- deserialization time.
239-
240-
241- !Release 1.2.4
242- - NON-BACKWARD COMPATIBLE refactor: n.s.e.m.CompositeStrategy: removed the
243- "defTarget" parameter as it was only used when skipDefaults was true
244- and it was buggy in some cases such as a bean setting a property in a
245- default sub-bean (composition, not inheritance) within it's default constructor.
246-
0 commit comments