-
Notifications
You must be signed in to change notification settings - Fork 184
/
ChangeLog
318 lines (234 loc) · 9.52 KB
/
ChangeLog
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
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
2024-09-08 Christian Weiske <[email protected]>
* BC break: Enforce bStrictObjectTypeChecking on arrays
by @dktapps
https://github.com/cweiske/jsonmapper/pull/225
* BC break: Only objects implementing both ArrayAccess and Traversable
are handled as arrays now.
Previously classes implementing only ArrayAccess were used as arrays,
which broke non-traversable objects providing array access.
by @daniser
https://github.com/cweiske/jsonmapper/pull/224
* BC break: Reject NULL values in arrays unless explicitly allowed
Set $bStrictNullTypesInArrays to get old behavior back.
by @cweiske
https://github.com/cweiske/jsonmapper/issues/233
* BC break: Default $bStrictObjectTypeChecking to true
Class constructors are not called automatically anymore.
by @cweiske
https://github.com/cweiske/jsonmapper/issues/226
* Version 5.0.0
2024-09-08 Christian Weiske <[email protected]>
* Add support "?type" syntax for nullable types
by @RobinvanderVliet
https://github.com/cweiske/jsonmapper/pull/235
* Clean up phpunit tests
by @SvenRtbg
https://github.com/cweiske/jsonmapper/pull/232
* Increase test coverage to 100%
by @cweiske
* Version 4.5.0
2024-01-31 Christian Weiske <[email protected]>
* Fix crash for case-insentive match without docblock
by @jorrit
https://github.com/cweiske/jsonmapper/pull/222
* Version 4.4.1
2024-01-28 Christian Weiske <[email protected]>
* Add optional arguments for post mapping event
by @maikschneider
* Version 4.4.0
2024-01-27 Christian Weiske <[email protected]>
* Add support for "mixed" class property types
by @jorrit
* Add support for PHP 8.0 constructor property promotion
by @wundii
* Fix notice when mapping non-flat values in flat typed properties
and throw an exception instead
by @dktapps
* Version 4.3.0
2023-04-09 Christian Weiske <[email protected]>
* Add support for backed enums
by @Reinfi
* Undefined property handler may return string to override variable name
by @Reinfi
* Support ArrayAccess instead of only ArrayObject
by @Reinfi
* map() supports class names as 2nd parameter now
by @Reinfi
* Add support for variadic method arguments in setters
by @Reinfi
* Version 4.2.0
2022-12-08 Christian Weiske <[email protected]>
* Throw exception when "union|types" are encountered (issue #192)
* Version 4.1.0
2020-12-01 Christian Weiske <[email protected]>
* Add support for PHP 8.0
by @daniser
* Add support for PHPUnit 8 and 9
by @daniser
* Drop support for PHP 5.6 and 7.0
* Drop support for PHPUnit < 7.5
* Version 4.0.0
* Thank you @SvenRtbg for caring about JsonMapper
2020-11-02 Christian Weiske <[email protected]>
* Fix PHP version check that breaks in PHP 8
by @TysonAndre
* Version 3.1.1
2020-08-15 Christian Weiske <[email protected]>
* Prefer docblock annotations above reflected type for properties
by @jorrit
* Version 3.1.0
2020-06-28 Christian Weiske <[email protected]>
* Add support for PHP 7.4 class type properties
by @lukascernydis
* Version 3.0.0
2020-04-16 Christian Weiske <[email protected]>
* Add postMappingMethod property
by @mrcnpdlk
* Version 2.1.0
2020-03-04 Christian Weiske <[email protected]>
* Fix PHP 7.4 warning: ReflectionType::__toString() is deprecated
by @DeyV
* Make "createInstance" protected instead of public (BC break)
* Version 2.0.0
2019-08-15 Christian Weiske <[email protected]>
* Add PHP extension dependencies to composer.json (pull request #132)
by @CybotTM
* Add support for polymorphism in arrays (issue #134, pull request #135)
by @GregorySech
* Add new option $bRemoveUndefinedAttributes (issue #126)
by @Acolyte
* Call constructor when instantiating a class (pull request #129)
by @soldierm
* Fix PHP 7.4 error: array offset on value of type null (pull request #131)
by @remicollet
* Version 1.6.0
2019-08-04 Christian Weiske <[email protected]>
* Fix PHP 7.4 curly braces deprecation notice (pull request #130)
by @TysonAndre
* Version 1.5.2
2019-07-08 Christian Weiske <[email protected]>
* Fix support for "mixed" in namespaced classes
* Version 1.5.1
2019-07-07 Christian Weiske <[email protected]>
* Add support for PHP 7 scalar type hints (issue #98)
by @patrickallaert
* Add support for namespaced classes in classMap keys without backslash (issue #111)
* Throw exception when an object shall be converted into a string (pull request #106)
by @m1ke
* Throw exception when an object is passed as value into a string array (pull request #107)
by @m1ke
* Correctly support setting private properties defined in parent classes (issue #109)
* Use class map as early as possible (issues #96 and #122)
* Version 1.5.0
2017-11-28 Christian Weiske <[email protected]>
* Fix do not modify keys when mapping objects to arrays (issue #87)
* Add support for lists of ArrayObjects
by @DerManoMann
* Add support for callback functions in $classMap
by @DerManoMann
* Use PHPUnit 5+ for tests
* Version 1.4.0
2017-08-14 Christian Weiske <[email protected]>
* Fix "Missing argument" error when instantiating class with required
constructor parameter by @jaredchu (pull request #85)
* Raise minimum PHP version to 5.6.0
* Version 1.3.0
2017-07-13 Christian Weiske <[email protected]>
* Add support for multidimensional arrays
by @thomasphansen (issue #81)
* Version 1.2.0
2017-01-27 Christian Weiske <[email protected]>
* Fix namespace resolution of ArrayObject child classes (issue #69)
* Add PHP 7.1 nullability support
by @MHarutunian (issue #67)
* Version 1.1.1
2016-11-17 Christian Weiske <[email protected]>
* Add support for mapping to private properties/methods
by @jonaswouters
* Add classname to "NULL not allowed" exception message
by @veteran29
* Version 1.1.0
2016-10-11 Christian Weiske <[email protected]>
* Add option to turn off the "must not be NULL" exception
by @kamranahmedse (issue #58)
* Add support for properties with hyphens "-"
by @redshark1802 (issue #55)
* Add support for both "double" and "float" types
* Move to PEAR channel zustellzentrum.cweiske.de
* Version 1.0.0
2016-04-14 Christian Weiske <[email protected]>
* Add $undefinedPropertyHandler (issue #51)
* Add $classMap to override class names (issue #53)
* Add option to enable strict object type checks (issue #50)
* Add composer autoloader performance improvement
* Add exception when an array is expected, but simple type given
(issue #44)
* Fix non-nullable object handling: Exception is now thrown when
NULL is given and an object was expected.
THIS WILL PROBABLY BREAK YOUR CODE
Add "|null" to all your "@var ClassName" lines to fix that.
* Version 0.11.0
2015-09-24 Christian Weiske <[email protected]>
* Add dependency injection support (issue #42)
* Fix casting of arrays of simple types
* Version 0.10.0
2015-08-14 Christian Weiske <[email protected]>
* Add case-insensitive property matching (issue #40)
* Add option to disable map() parameter type enforcement (issue #37)
* Release 0.9.0
2015-07-06 Christian Weiske <[email protected]>
* Add support for seting objects directly if they have
the correct type already by @radmen
* Throw exception when a non-object is passed to map()
* Release 0.8.0
2015-06-19 Christian Weiske <[email protected]>
* Support "mixed" variable type (issue #33)
* Release 0.7.0
2015-05-28 Christian Weiske <[email protected]>
* Fix namespace error with setter type hints
* Release 0.6.1
2015-04-09 Christian Weiske <[email protected]>
* Prefer setter methods over directy property access
* Change setter method name calculation for properties
with _ underscores by @msankhala
* Release 0.6.0
2015-03-18 Christian Weiske <[email protected]>
* Add support for nullable types (int|null) by @barryvdh
* Increase test coverage to 100%
* Fix float value detection by @sonicgd
* Release 0.5.0
2015-01-08 Christian Weiske <[email protected]>
* Fix bug #23: handle empty variable types
* Fix bug #24: Namespaced ArrayObject class with namespaced
value type does not work
* Release 0.4.4
2014-12-17 Christian Weiske <[email protected]>
* Change license from AGPL v3 to OSL-3.0
* Release 0.4.3
2014-12-05 Christian Weiske <[email protected]>
* Fix array mapping when value is NULL by @darkgaro
* Release 0.4.2
2014-11-04 Christian Weiske <[email protected]>
* Fix handling of private properties with public setters
* Fix handling of simple array types in namespaced files
* Release 0.4.1
2014-08-20 Sebastian Mendel <[email protected]>
* Incorporate performance tweaks from @Jalle19
* Release 0.4.0
2014-06-11 Andre Hähnel <[email protected]>
* Optional exceptions for missing or undefined data
* Release 0.3.0
2014-05-16 Christian Weiske <[email protected]>
* Handle NULL values when mapping simple data types onto objects
* Release 0.2.1
2014-05-15 Christian Weiske <[email protected]>
* Add support for mapping simple data types onto objects
* Fix tests on phpunit 4.x
* Release version 0.2.0
2014-03-17 Christian Weiske <[email protected]>
* Prevent autoloading classes with ] in its name
* Release version 0.1.3
2014-02-03 Christian Weiske <[email protected]>
* Fix issue #2: Namespace is prepended two times
* Fix issue #1: Remove declare(encoding="UTF-8") calls
* Release version 0.1.2