All Versions
Latest Version
Avg Release Cycle
100 days
Latest Release
153 days ago

Changelog History
Page 3

  • v1.3.1 Changes

    February 12, 2015

    ๐Ÿ‘Œ Improvements

    ๐Ÿ”ง #86: Configure system properties for maven plugin in the POM

    Now it is possible to specify proto-compiler options directly in pom.xml


    ๐Ÿ›  Fixes

    #84: Value of @Generated annotation is not valid string [code generator] #90:

  • v1.3.0 Changes

    January 13, 2015

    ๐Ÿ‘Œ Improvements

    • #74: Switch to com.fasterxml.jackson v2.4.4
    • #79: Add @Generated annotation to generated classes

    ๐Ÿ›  Fixes

    • #58: Do not wrap lists into Collections.unmodifiableList(source) (code generated by java_bean template)
  • v1.2.0 Changes

    December 15, 2014

    ๐Ÿ‘Œ Improvements

    • ๐Ÿ‘ #25: Added @Tag support for enums in protostuff-runtime
    • ๐Ÿ‘ #32: Added support for messages without fields (empty messages)
    • ๐Ÿ‘ #35: Added support for RPC service code generation. Example.
    • #38: Added ability to import proto in multi-module project. Example.

    ๐Ÿ›  Fixes

    • ๐Ÿ›  #34: Fixed issue with CESU-8 charset and Java 8.


    • #29: The minimum requirement for Java has now been raised to Java SE 7.
    • ๐Ÿšš #36: Move protostuff-me to separate project.
  • v1.1.0 Changes

    October 06, 2014
    • 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
  • v1.0.8 Changes

    December 10, 2013
    • 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
    • 0๏ธโƒฃ 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
  • v1.0.7 Changes

    May 14, 2012
    • ๐Ÿ›  bugfix: an abstract class mapped to a single impl was not honored (bug introduced on 1.0.6)
  • v1.0.6 Changes

    May 14, 2012
    • ๐Ÿ‘ 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)
    • 0๏ธโƒฃ 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
  • v1.0.5 Changes

    March 31, 2012
    • 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
  • v1.0.4 Changes

    October 24, 2011
    • 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.
  • v1.0.3 Changes

    October 22, 2011
    • 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