forked from mgholam/fastBinaryJSON
-
Notifications
You must be signed in to change notification settings - Fork 0
/
history.txt
287 lines (238 loc) · 7.5 KB
/
history.txt
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
v1.6.1
------
- optimized black list checking
v1.6.0
------
- friday 13th json attack checking
v1.5.3
------
- synced Reflection.cs with fastJSON v2.2.5
v1.5.2
------
- bug fix datasets with sbyte data
v1.5.1
------
- fixed fast creating lists without capacity constructor
- fixed signing in .net35 project
- unified Reflection.cs
- backward compatible v1.4 typed arrays data bytes with BJSONParameters.v1_4TypedArray
- * breaking runtime change if using RegisterCustomType() *
v1.5.0
------
- moved .net 3.5 project to own folder to mitigate conflicting obj builds
- carried over fastjson style optimizations
- major string optimizations ~46% faster if using unicode strings
- * breaking changes in output bytes (when using typed arrays) *
v1.4.24
-------
- fixed Typed Arrays of value types are serialized incorrectly when they are the root object (thanks to rbeurskens)
- ability to create internal/private objects (removed the public access restriction on classes)
v1.4.23
-------
- fixed side effect of changing BJSONParameters.UsingGlobalTypes inside classes and affecting the original value
- fixed deserialize nested Dictionary without extensions with generic ToObject<>
- fixed root enum deserialize (thanks to al6uiz)
- Non public setter / readonly property support (thanks to rbeurskens)
- unify reflection.cs with fastJSON
v1.4.22
-------
- bug fix edge case in typed array with long >255 byte type names
v1.4.21
-------
- bug fix deserializing array of objects with type information
- test for above
- support for .net core and netstandard2.0 via separate project
v1.4.20
-------
- added TimeSpan
- added digit limit tests
v1.4.19
-------
- added TOKENS.ARRAY_TYPED for typed arrays
- deserialize t[] into an object correctly as t[] not object[]
- added BJSONParameters.UseTypedArrays to control above (default = true)
- renamed main solution file
- added TOKENS.TYPES_POINTER for $types into bytes stream at the end
- optimize serialize memory usage
- if you put a DataSet into an object then it will deserialize correctly
v1.4.18
-------
- bug fix enumerating dynamic objects
v1.4.17
-------
- bug fix nested dictionary D<,D<,>>
v1.4.16
-------
- added support for interface object properties (thanks to DrDeadCrash)
v1.4.15
-------
- synced reflection.cs with fastJSON
- bug fix read only properties to output
- added test for readonly properties
- added NonSerialized to the list of ignore default attributes
- support for ExpandoObject serialization with test
v1.4.14
-------
- bug fix DateTime in anonymous type InvalidProgramException (thanks to skottmckay)
- fixed broken custom type handler (sorry to all)
- added test for custom types
- fixed byte[] in Dictionary values with test
v1.4.13
-------
- bug fix ToObject<Dictionary<string, List<X>>>() (thanks to sleiN13)
- bug fix CreateStringKeyDictionary() (thanks to John Earnshaw)
- type access optimizations
- test restructuring
v1.4.12
-------
- usings cleanup
- bug fix : edge case CreateArray() bt is null -> default to typeof(object)
v1.4.11
-------
- added support for char type
- dynamic object processing enhancements (thanks to Justin Dearing)
v1.4.10
-------
- added BJSONParameters.SerializerMaxDepth
- speed optimize (thanks to wmjordan)
- added BJSONSerializer.Dispose() to get rid of compiler warnings
v1.4.9
------
- support for multidimensional arrays (thanks to wmjordan)
v1.4.8
------
- bug fix public static properties
v1.4.7
------
- bug fix byte[] keys with Dictionary (thanks to Stanislav Lukeš)
v1.4.6
------
- bug fix serializing static fields and properties
- skip indexer properties on objects (thanks to scymen)
v1.4.5
------
- code sync reflection.cs with fastJSON v2.1.7
v1.4.4
------
- bug fix deserialize private set and no set properties
- added ReadonlyTest() test for the above
v1.4.3
------
- bug fix deserializing a struct property in a class
v1.4.2
------
- bug fix circular references
v1.4.1
------
- bug fix obj.List<List<object>> and obj.List<object[]>
- added code intellisense help for methods
- added ClearReflectionCache() to reset all internal structures
v1.4.0
------
- *breaking change* : removed the BJSON.Instance singleton
- moved all the state from BJSON to the Reflection singleton
- all of the BJSON interface is now static
- added BJSONParameters overloads for ToObject()
- support for circular referenced object structures
- added circular test
v1.3.14.1
---------
- added ParametricConstructorOverride parameter to control non default constructors
v1.3.14
-------
- fixed create enum from value and string
- replaced safedictionary with dictionary for some of the internals so no locks on read
- added custom ignore attributes (Thanks to Jared Thirsk)
- using IsDefined instead of GetCustomAttributes (Thanks to Andrew Rissing)
- moved all the reflection code out of BJSON.cs
- now you can deserialize non default constructor classes (Thanks to Anton Afanasyev)
v1.3.13
-------
- fixed working with const properties and fields (i.e ignored)
v1.3.12
-------
- bug fix dynamic json and root arrays e.g. [1,2,3,4]
- bug fix objects in array dynamic types e.g. [1,2,{"prop":90}]
- added support for special collections : StringDictionary, NameValueCollection
v1.3.11
-------
- added signed assembly
- version numbers will stay at 1.0.0.0 for drop in compatibility
- file version will reflect the build number
- bug fix deserializing to dictionaries instead of dataset when type is not defined
- access inner property in arrays in dynamic types e.g. d.arr[1].a
v1.3.10
-------
- fixed hastable deserialize
- added test for hashtable
- changed list of getters to array ~3% performance gain
- removed unused code
v1.3.9
------
- fix dynamic objects and lists
- fix deserialize Dictionary<T, List<V>> and Dictionary<T, V[]>
- added tests for dictionary with lists
v1.3.8
------
- added serialization of static fields and properties
- fixed disabling extensions in the output
- fixed serializing anonymous types
- added support for dynamic objects
v1.3.7
------
- customtype is now builtin
- added UseUTCTimes property for datetime
- switched to properttype enum instead of booleans
- using switch instead of linked if statements
- unified DynamicMethod between silverlight and full .net
- SafeDictionary lock fixes
v1.3.6
-------
- bug fix comma and nulls
- UTC parameter for controlling dates
- unified reflection code with Silverlight4
- locks in SafeDictionary
v1.3.5
------
- added support for root level DataSet and DataTable deserialize (you have to do ToObject<DataSet>(...) )
- added dataset tests
- added MonoDroid project
v1.3.4
------
- singleton uses ThreadStatic for concurrency (thanks to Philip Jander)
- bug fix extra comma in the output when only 1 property in the object (thanks to Philip Jander)
v1.3.3
------
- bug fix deserialize zero length arrays
- test for German locale numbers
v1.3.2
------
- null object serialize fixed
- added sealed keyword to classes
- bug fix SerializeNullValues=false and an extra comma at the end
- FillObject nested types
v1.3.1
------
- bug fix $types and arrays
- optimize writting $types
v1.3
----
- bug fix reflection code
- added unit tests
- changed ArrayList to List<object>
- updated code to be similar to fastJSON
- deserialize ToObject< Dictionary<T,V> >
- deserialize ToObject< List<T> >
- added FillObject method
v1.2
----
- refactored reflection code into Reflection class
- added support for top level struct object serialize/deserialize
v1.1
----
- bug fix datetime to local time
- added BJSONParameters
- added global types (reverse format from fastJSON to overcome size limits on name strings)
v1.0
----
- initial release