-
Notifications
You must be signed in to change notification settings - Fork 1
/
Changelog.txt
152 lines (123 loc) · 6.64 KB
/
Changelog.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
ObjectSerialization
===========================================
Version 1.1.0
-------------------------------------------
+ updated library support to cover .net461 and .netstandard2.1
+ added support for deserializing readonly fields
Version 1.0.27
-------------------------------------------
+ corrected bug #1 Collection serialization issue, where objects having fields of interface type like IList<> were not serializing
Version 1.0.26
-------------------------------------------
+ ensured proper and constant order of registered types with TypeInfoRepository.RegisterPredefinedUsingSerializableFrom
Version 1.0.25
-------------------------------------------
+ added RegisterPredefinedUsingSerializableFrom to TypeInfoRepository
Version 1.0.24
-------------------------------------------
+ created NuGet package
Version 1.0.23
-------------------------------------------
+ added support for serialization of classes without parameterless constructor
+ updated Measurement class to omit 1% of lovest and highest values
+ renamed test cases for performance monitor
+ added text result presenter for performance results
+ extended performance tests
+ added tests for Newsoft BSON and DataContractSerializer
+ reorganized performance tests and improved time measurement to exclude stream/writers creation
Version 1.0.22
-------------------------------------------
+ modified TypeMembersSerializerBuilder to throw SerializationException when exception occurs during serializer construction
+ renamed unit tests
Version 1.0.21
-------------------------------------------
+ optimized sealed class serialization
+ optimized interface, abstract and object member type serialization
+ added performance tests for sealed classes
Version 1.0.20
-------------------------------------------
+ added NonSerializedBackendAttribute allow to mark backend field of automatic properties to not be serialized (if automatic virtual property is overriden with another automatic property implementation, both has to be marked with NonSerializedBackendAttribute if none of them should be serialized. Otherwise only the marked one will not be serialized.)
+ extended Measurement class to dump also total value on ToString() method
Version 1.0.19
-------------------------------------------
+ modified class serializer to serialize fields (public/protected/private) instead of public properties and public fields
+ merged Class/StructMembersSerializerBuilder into TypeMembersSerializerBuilder
Version 1.0.18
-------------------------------------------
+ added support to omit class/struct field serialization if it is marked with NonSerialized attribute
+ disallowed class/struct serialization if contains readonly fields not marked with NonSerialized attribute (an SerializationException suggesting addition of NonSerialized attribute removal of readonly modifier is thrown)
+ modified Class/Struct/TypeSerializerBuilder to generate serialization code on first SerializeFn/DeserializeFn property acces instead of on type loading to avoid TypeInitializationExceptions.
+ modified readonly field serialization exception to be more specified about type.
Version 1.0.17
-------------------------------------------
+ modified class serializer to serialize public properties and fields that are not static and not readonly
+ modified struct serializer to omit readonly fields (Expression.Assign() method does not allow to overwrite readonly fields)
Version 1.0.16
-------------------------------------------
+ introduced TypeInfoRepository class with ability to register type (to decrease size of serialized data)
Version 1.0.15
-------------------------------------------
+ extended IObjectSerializer interface to support streams
+ added performance test for huge object
+ refactored adapter classes in performance tests
+ added tests for empty struct / class serialization
Version 1.0.14
-------------------------------------------
+ simplified IObjectSerializer interface
Version 1.0.13
-------------------------------------------
+ added ProtoBuf-net serializer for performance comparison
+ annotated TestObjects with ProtoBuf attributes
+ refactored PerformanceMonitor and added HtmlResultPresenter
+ updated internal comments for serializers
+ modified TypeSerializerBuilder to not use additional variable for deserialized object
Version 1.0.12
-------------------------------------------
+ optimized TypeSerializerFactory to cache type information
Version 1.0.11
-------------------------------------------
+ optimized struct and class members serialization
+ added more performance monitor cases
Version 1.0.10
-------------------------------------------
+ added serialization performance project to compare serialization times/serialized data size for various object graphs and serializer implementations
+ optimized GenericSerializerFactory to cache loaded types
+ optimized serialization by reduced objects casting into one helper variable
Version 1.0.9
-------------------------------------------
+ added support for collection serialization (any implementing ICollection)
Version 1.0.8
-------------------------------------------
+ added support for struct serialization
+ modified BuildContext to display generated serialization code for classes on console if project is compiled in DEBUG mode
Version 1.0.7
-------------------------------------------
+ added support for null string serialization
Version 1.0.6
-------------------------------------------
+ added support for array serialization at root and class member level
Version 1.0.5
-------------------------------------------
+ added support for direct serialization of built-in primitive types, strings and null objects on root level
Version 1.0.4
-------------------------------------------
+ merged ClassTypeSerializer with PolymorphicClassTypeSerializer
+ added support for serialization of derived classes (property no longer have to be object, interface or abstract class type to trigger it)
Version 1.0.3
-------------------------------------------
+ added support for nested polymorphic classes serialization
+ added verification of serialized object
+ added test for array serialization
+ extracted serialization logic into several classes
+ finished serialization classes refactoring
Version 1.0.2
-------------------------------------------
+ added support for nested classes serialization
+ added BSD 2-Clause License file
Version 1.0.1
-------------------------------------------
+ added support for built-in types serialization
Version 1.0.0
-------------------------------------------
+ created project structure
+ implemented basic string property serializers