forked from protostuff/protostuff
-
Notifications
You must be signed in to change notification settings - Fork 0
/
VERSION.txt
232 lines (214 loc) · 15 KB
/
VERSION.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
protostuff-1.1.0 2014-10-06
+ NOTE: The 1.1.x versions will be not be wire-compatible with the ff:
- protostuff-runtime-1.0.x
- protostuff-xml-1.0.x
+ Issue 161: Optimize ProtobufOutput for small nested messages (max size of 127)
+ Issue 157: ConcurrentLinkedDeque support
+ Issue 156: Support for newing object instances on Android 4.3+ devices
- thanks to eedzjee
+ Issue 153: YamlOutput bug on repeated message fields
+ Issue 151: optimize xml format
+ Issue 141: protostuff ser/der can not keep order of elements in an array which contain null value
- thanks to lzh0379
+ Issue 119: Reflection-based array operations are rather expensive
===================================================================
protostuff-1.0.8 2013-12-10
+ Issue 140: Multiple runtime schema contexts (IdStrategy groups)
+ new protostuff-runtime-view module
- select fields to include on ser/deser, without re-creating the expensive runtime fields.
+ Issue 139: Add functionality to load protobuf schema from Reader
+ Issue 138: CodedIpnut.skipRawBytes() incorrectly updates totalBytesRetired when going outside of its buffer.
- thanks to Max Lanin
+ Issue 135: PluginProtoCompiler throws IllegalStateException when one of the rules (message_block, enum_block) is missing
+ Issue 133: When the varint of large strings (2kb or more) are serialized, unnecessary bytes are written
A 2kb string previously needed 3 bytes for its varint.
Now anything under 16kb will only need 2 bytes.
This is a bug that was overlooked but doesn't have major side effects because of the way varint encoding works.
+ Issue 131: option can't be used as a field name in maven-plugin
+ Issue 129: Default value of optional bool properties is ignored.
+ Issue 128: Maven-Plugin fails for multi-module projects
+ added enums_by_name compiler option for java_v2protoc_schema (thanks to vitalyper)
+ Issue 124: proto-parser throws NPE when an annotation on a field contains a reference
+ update jackson-core-asl to 1.9.13
+ update woodstox-core-asl to 4.1.3
protostuff-1.0.7 2012-05-14
+ bugfix: an abstract class mapped to a single impl was not honored (bug introduced on 1.0.6)
protostuff-1.0.6 2012-05-14
+ allow @Tag annotations to override the field name
- E.g @Tag(value=1, alias="foo")
- useful for non-binary formats like json/xml/yaml
+ added Delegate, which handles ser/deser for:
- singletons
- pojos with no fields
- pojos that should not be merged
- could be used to encode a type to a byte array and write it (for example packing an int[] to a byte[])
+ added @Morph field annotation, which overrides:
-Dprotostuff.runtime.morph_non_final_pojos
-Dprotostuff.runtime.morph_collection_interfaces (new)
-Dprotostuff.runtime.morph_map_interfaces (new)
+ Issue 115: protostuff has problem to serialize java.lang.Throwable Object
+ Issue 120: Add serialization support for empty/singleton/synchronized/unmodifiable/checked collection/set/sortedset/list/map/sortedmap
+ Issue 118: Doc improvement for the compiler help message
+ Issue 104: 2 new compilers: proto_extender, java_bean_model (by Ivan Prisyazhniy and Igor Scherbak)
+ Issue 114: Allow collection/map registration on DefaultIdStrategy
+ Issue 111: NumericIdStrategy fails to use the enum ids when the field is an enum array
+ Issue 110: protostuff has problem serilize java.lang.Class Object
+ Issue 108: Ignore null values in json parser
* removes recursion and uses a loop instead
protostuff-1.0.5 2012-03-31
+ Issue 107: Fields that are interfaces are not being serialized correctly if assigned an enum/boxed primitive type at runtime
To optimize polymorphic ser/deser, use abstract classes or atleast declare the base abstract class.
+ add support for annotations on protostuff-runtime to have explicit control of field numbers (patch by Brice Jaglin).
Annotate all non-transient/non-static fields with @Tag(x) or none at all (all or nothing).
+ Issue 77: RuntimeSchema.getSchema on Android and Server (the solution is to use @Tag annotations)
+ Issue 86: Is RuntimeSchema.createFrom safe (the solution is to use @Tag annotations)
+ Issue 106: Use Double.doubleToRawLongBits (was Double.doubleToLongBits) on serialization (protostuff-core)
* Not applicable to protostuff-me since the method Double.doubleToRawLongBits does not exist on j2me api
+ new protostuff-runtime-registry module (compact ids for your polymorphic pojos)
+ Issue 105: ObjectSchema needs to check clazz.getSuperclass().isEnum() to detect complex enums
+ Issue 88: Add support for transparent handling of non-standard collections
+ Issue 96: user definable mapping: FQNC's --> integer, for serialized stream size-reduction (thanks to Leo Romanoff)
+ Issue 103: Deserialize failed when reading objects from ObjectInput/DataInput
+ Issue 101: Improve ByteString.equals
+ allow message/enum references on options and annotations (proto-parser).
+ add "cache_protos" config (cache/re-use protos being imported/loaded by multiple modules)
+ Issue 94: IllegalArgumentException thrown when instantiating a non-public class
+ Issue 93: Add runtime option to always use the constructor from sun reflection factory
+ Issue 92: [protostuff-me] Preverification fails (patch by thierry.monney)
+ Issue 91: Generated J2ME code not is not compatible
protostuff-1.0.4 2011-10-24
+ Issue 90: byte arrays on protostuff-runtime were not treated as scalar fields
Best to update to this version for performance reasons.
If you have existing data that came from a pojo with byte[] fields, it will not be compatible on deser.
You can safely update the data by deserializing with the old protostuff from a different classloader
and writing it back again using the new protostuff on another classloader.
protostuff-1.0.3 2011-10-22
+ Issue 89: graph serialization bug on IdentityHashMap and EnumMap
+ Issue 87: EnumSet and EnumMap without generics are not handled
+ Issue 85: graph serialization bug (protostuff-runtime) on collections/map without generics and dynamic objects
protostuff-1.0.2 2011-09-12
+ add protostuff-uberjar (osgi stuff from Thomas Kock)
+ Issue 83: Kvp input does not properly handle empty strings and misreported size
+ Issue 82: Serializing repeated fields on protostuff-runtime needs a null-check to only serialize non-nulls.
+ Issue 81: Xml input does not check required fields when the nested message is not empty.
+ Issue 80: Yaml does not handle polymorphic/cyclic serialization
+ Issue 79: Provide support for options in messages and enums
+ Issue 78: Field option missing on message fields (thanks to robert.herschke.de)
+ Issue 76: The protostuff compiler does not detect duplicate service/message/enum
+ update jackson to 1.7.9
protostuff-1.0.1 2011-07-13
+ new protostuff-me module (for j2me by Michael Donohue)
+ new protostuff-runtime-md module (for modern mobile devices like android and kindle)
api+core works fine but this is for those who prefer runtime schemas.
+ Issue 73: Remove unused enum default value from java_bean generated code
+ Issue 70: Use FQCN everywhere in classes generated by java_v2protoc_schema
+ Issue 69: Maven plugin to attach generated source directory to the project compile source roots
+ Issue 68: RuntimeSchema AccessControlException on amazon kindle
+ Issue 67: RuntimeSchema.getSchema on Android (thanks to matyas.bene)
+ Issue 66: static keyword missing on classes generated by java_v2protoc_schema
+ Issue 64: Merge method for json protobuf classes
+ Issue 62: IOUtil.mergeDelimitedFrom() reports truncated message on stream EOF reached
+ Issue 58: Compilation issues when the projects are loaded.
+ tiny optimizations for protostuff-graph
+ allow protostuff-runtime to use simple reflections or sun.misc.Unsafe(now the default scheme).
+ improve streaming support for large strings
+ update jackson-core-asl to 1.7.7
+ fixed protostuff-parser bug on handling int/double annotation attributes.
protostuff-1.0.0 2011-02-15
+ Issue 57: Add proto_path as a system property read by protostuff-compiler to load imported protos
+ add smile format
+ update jackson to 1.7.3
+ Issue 56: Signed int64 is not correctly serialized (zigzag encoding missing)
+ Issue 51: Compiler option to use primitive numbers if the field is optional
+ Issue 49: protostuff-maven-plugin:Incorrect relative path for <output> from super pom
+ Issue 54: StackOverflow using RuntimeSchema.getSchema()
+ Issue 53: UUIDs cannot be used with RuntimeSchemas
+ Issue 55: Optimize protostuff-runtime serialization of arrays by writing the length first (order dependent)
+ Issue 31: ProtoStuffRuntime cannot handle different subclasses
+ Issue 29: Empty list turns into null after serialization/deserialization
+ Issue 46: RuntimeSchema.getSchema() throws NPE on fields with type Object
+ Issue 48: Polymorphic serialization support for json and xml
+ Issue 52: Allow skipping constructor on immutable objects (fields marked final)
+ LinkedBuffer re-use for JsonIOUtil read/write operations on streams.
+ Issue 50: Xml deser does not handle empty messages well
+ minor xml optimizations
+ Issue 45: Double-checked locking concern
+ Issue 47: IllegalAccessException in when accessing a private Date field with RuntimeSchema
+ add protostuff-collectionschema (jdk standard collections support - map,list,set,queue,deque,etc)
+ Issue 43: Inheritance support for non-abstract base types
protostuff-1.0.0.M7 2011-01-20
+ add ser/deser support for object graphs (cyclic references/dependencies)
+ Issue 42: Support for Self Referential Classes
+ Issue 41: Support for polymorphic ser/deser for protostuff-runtime
+ Issue 40: ArrayIndexOutOfBoundsException when using streaming mulitple large delimited utf8 strings that exceeds the buffer size.
+ update jackson to 1.7.1
+ api for re-using the LinkedBuffer as a read-only buffer
+ add protostuff-kvp module
+ Issue 39: The field options (other than default) are ignored by the parser
+ add support for annotations on proto files (extra metadata for better code generation)
+ Issue 38: Parser: cannot import more than one .proto file from the same package (patch by avaskys)
+ add support for java.util.Date in protostuff-runtime
protostuff-1.0.0.M6 2010-10-28
+ Backward-forward compatibility support for runtime schemas via append-only fields in the pojo.
To add new fields, append the field in the declaration. To remove existing fields, annotate with @Deprecated.
+ Issue 37: The proto parser doesn't parse extensions without ranges
+ Issue 36: Incorrect deserialization when ProtobufIOUtil merges from InputStream
+ Issue 35: Native methods for repeated fields (patch by nordlig.ulv)
+ Issue 34: Allow schema generated from protostuff-runtime to write enums by their name
protostuff-1.0.0.M5 2010-10-12
+ add IO pipes w/c can transfer/transcode streams efficiently.
+ full streaming capability on protostuff format.
+ update jackson-core-asl to 1.6.1
+ add JsonXOutput for efficient writing of numeric keys and pre-encoded utf8 strings.
+ add base64 encoding/decoding support in protostuff-api
+ Issue 33: GWT json compiler produces unnecessary line wrap
+ IOUtil is no longer publicly accessible. (use ProtobufIOUtil or ProtostuffIOUtil)
protostuff-1.0.0.M4 2010-09-14
+ Issue 28: Class member with signature of interface causes NullPointerException
+ Issue 27: ArrayIndexOutOfBoundsException in StringSerializer.writeUTF8 (patch by Tim Underwood)
+ Add support for BigInteger and BigDecimal in protostuff-runtime
+ Issue 26: Bug in the reflection compiler with nested protobuf types (patch by Joseph Gentle)
+ Issue 25: Allow generating code for message extensions (patch by Philippe Laflamme)
+ Issue 5: Ignore "target" working directories in Subversion
protostuff-1.0.0.M3 2010-07-10
+ faster utf8 string serialization
+ write operations on IOUtil now require a buffer as an extra arg.
This allows the developer to determine the appropriate buffer size needed for a particular message (to avoid buffer allocation overhead).
The LinkedBuffer can be re-used by calling LinkedBuffer.clear() ... w/c is applicable to application/thread-local/network buffers.
+ added protostuf-yaml for yaml serialization (zero-copy capable).
+ Issue 24: JsonInput not able to skip repeated scalar fields that are unknown
+ support serializing Map fields via the MapSchema.
+ make Schema.typeClass() return the super type.
+ Issue 23: Validation missing (for required fields) when nested messages are "group_encoded"
protostuff-1.0.0.M2 2010-06-22
+ more IO optimizations
+ Issue 22: Enable parsing of service/rpc in proto for code generation
+ Issue 21: Support java-style compilation mode where imported messages do not need to be referenced by full name
+ Issue 20: Compiler throws NPE if no package defined in proto file
+ added protostuff-api (protostuff-core, protostuff-json and protostuff-xml will only contain their respective IO impl).
+ added a runtime option for nested messages to be "group-encoded" for more efficient serialization. (especially for rpc).
+ added an abstract helper class CustomSchema to easily customize how messages can be read/written and for adding filters/hooks as well.
+ added messageName() and messageFullName() methods to the schema to support full xml serialization of existing C++ protoc messages.
This also enables aliasing of the message names (especially for xml) by overriding the messageName() method.
+ added protostuff-xml for fast xml ser/deser via stax api.
protostuff-1.0.0.M1 2010-05-20
+ completed Issue 18: Generated GWT Protobuffers - base class, name
+ fixed Issue 17: trying to compile google/protobuf/descriptor.proto from protobuf-2.3.0
+ fixed Issue 15: JsonIOUtil.writeListTo fails when inner messages contain repeated fields
+ completed Issue 14: Allow packages to be overriden via compile time options
+ completed Issue 13: Allow unknown scalar fields to be ignored when parsing json-encoded messages
+ completed Issue 12: Add support for protobuf enums on GWT overlays hosted mode
+ completed Issue 11: Add serialization method (stringify) for GWT overlay types
+ fixed Issue 3: JSON parser converts null values to the string "null"
+ fixed Issue 10: JsonOutput bug when writing a message that contains an inner message with repeated fields
+ completed Issue 8: Use the default values of the optional fields of gwt-overlays
+ completed Issue 9: If enum's default value is not specified, it should be the first value listed in the enum's type definition
+ completed Issue 7: Add optional clear methods on code compiled to gwt_overlay
+ fixed Issue 4: .proto files that use "import" create non-compilable Java files
+ completed Issue 6: Support the header: syntax = "proto2"; (patch by J.D. Zamfirescu)
+ fixed Issue 2: Wrong enum type in generated code of GWT overlays
+ fixed benchmark deser bug on protostuff-json (duplicate parser created)
protostuff-1.0.0.M0 2009-10-24
+ code generator for json, numeric_json, gwt_json, gwt_numeric_json
+ maven archetypes for quick start and rapid development
+ benchmark module to relatively compare with protobuf