protostuff v1.0.5 Release Notes

Release Date: 2012-03-31 // almost 12 years ago
    • 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