| Avro Change Log |
| |
| Avro 1.2.0 (14 October 2009) |
| |
| INCOMPATIBLE CHANGES |
| |
| AVRO-115. Remove RPC's session notion to facilliate the use of |
| stateless transports like UDP and HTTP. Add a UDP transport. |
| (cutting) |
| |
| AVRO-120. Improved package and namespace handling, including: |
| |
| * Removed explicit package-name specification from specific and |
| reflect public APIs. Package names are now determined either |
| by namespace declarations or by a Java classes, as appropriate. |
| |
| * Changed the specific compiler to generate separate java files |
| per class, rather than nested classes. This permits generated |
| classes to be in packages declared in their schema namespaces. |
| |
| * Fix namespace defaulting. The default namespace is declared in |
| the outermost schema or protocol. Nested schemas can now |
| declare different namespaces than the default. |
| |
| * Names may now be specified with a dotted notation, e.g., |
| "foo.bar.Baz", to indicate the name "Baz" in namespace |
| "foo.bar". This permits one to refer to schemas in a namespace |
| other than the default. |
| |
| NEW FEATURES |
| |
| AVRO-121. Permit reflect and specific datum readers to read data |
| written with a different version of the schema than is current. |
| (cutting) |
| |
| AVRO-129. Add HTTP-based RPC client and server. (cutting) |
| |
| AVRO-24. Add a simple bulk-data benchmark. (cutting) |
| |
| AVRO-139. Refactor HTTP servlet to separate, public class. (cutting) |
| |
| IMPROVEMENTS |
| |
| AVRO-99. Use Boost framework for C++ unit tests. |
| (Scott Banachowski via cutting) |
| |
| AVRO-116. Make C++ compatible with Boost 1.32. |
| (Scott Banachowski via cutting) |
| |
| AVRO-119. Add Java GenericData.Array#toString() implementation, |
| to facillitate debugging. (cutting) |
| |
| AVRO-118. JSON encoder and decoder now permit one to write |
| multiple instances without flushing or explicitly resetting the |
| codec between each instance. (Thiruvalluvan M. G. via cutting) |
| |
| AVRO-133. Update version number in specification document and |
| documentation tab automatically from build version. (cutting) |
| |
| AVRO-131. Permit specification of JUnit test output format. |
| (Giridharan Kesavan via cutting) |
| |
| AVRO-134. Update data file format specification to include |
| reserved metadata keys "codec" and "sync". The only codec |
| currently defined is "null". (Thiruvalluvan M. G. via cutting) |
| |
| AVRO-138. Add a "unit-test-java" Ant target that runs tests |
| without running checkstyle or javadoc. (Thiruvalluvan M. G. via |
| cutting) |
| |
| AVRO-140. Add javadoc to public classes with none. (cutting) |
| |
| OPTIMIZATIONS |
| |
| BUG FIXES |
| |
| AVRO-132. Fix multi-threading race condition when threads share schema objects. |
| (sbanacho) |
| |
| AVRO-113. Fix endian bug with C++ integer/long varint codec. |
| (Scott Banachowski via cutting) |
| |
| AVRO-117. Fix memory leak in C++ JSON parser. |
| (Scott Banachowski via cutting) |
| |
| AVRO-122. Fix so that, when multiple Ant targets are specified on |
| the command line that depend on ivy, ivy does not fail. (phunt |
| via cutting) |
| |
| AVRO-123. Fix Java's specific protocol compiler so that |
| parameters and return types are unboxed. (cutting) |
| |
| AVRO-125. Fix sample protocol in specification document to use |
| the correct syntax. (cutting) |
| |
| AVRO-101. Add Java reflect API test case using nested classes. |
| (Eelco Hillenius via cutting) |
| |
| AVRO-124. Remove Ivy's jar from distributions. (cutting) |
| |
| AVRO-137. Suppress warnings in generated java code. (cutting via sharad) |
| |
| Avro 1.1.0 (8 September 2009) |
| |
| INCOMPATIBLE CHANGES |
| |
| AVRO-110. GenericData and ReflectData have been converted to use a |
| singleton pattern. Calls to static methods on these classes must |
| be replaced with calls on the singleton instance. (cutting) |
| |
| AVRO-41. GenericArray's constructor now requires a Schema, so that |
| it may implement Comparable consistently with AVRO-108. (cutting) |
| |
| AVRO-41. Several GenericDatumWriter methods (instanceOf(), |
| isRecord(), etc.) have been moved to GenericData, where they can |
| better be shared with comparators. Applications which subclassed |
| GenericDatumWriter overriding these methods must now instead |
| subclass GenericData and pass their subclass to |
| GenericDatumWriter. (cutting) |
| |
| AVRO-41. SpecificRecord's schema() method has been renamed |
| getSchema(), since it now implements the new GenericContainer |
| interface shared with GenericRecord. (cutting) |
| |
| NEW FEATURES |
| |
| AVRO-50. Implmenent JSON data codec in Java. (Thiruvalluvan |
| M. G. & cutting) |
| |
| AVRO-76. Add Java RPC plugin framework. (George Porter) |
| |
| AVRO-104. Permit null fields in Java reflection. |
| (Eelco Hillenius via cutting) |
| |
| AVRO-92. Describe JSON data encoding in specification |
| document. (cutting) |
| |
| AVRO-108. Add Java implementation of binary comparator. |
| (cutting) |
| |
| AVRO-41. Java generic and specific data instances now implement |
| Comparable. The implementation is consistent with the binary |
| comparator added in AVRO-108. (cutting) |
| |
| AVRO-109. Add Java support for controlling sort order via schema |
| annotations. Record fields now support an "order" attribute whose |
| possible values are "increasing" (the default), "decreasing", and |
| "ignore". (cutting) |
| |
| AVRO-111. Document sort ordering in the specification. (cutting) |
| |
| IMPROVEMENTS |
| |
| AVRO-71. C++: make deserializer more generic. (Scott Banachowski |
| via cutting) |
| |
| AVRO-60. Fix C JSON parser to correctly handle escapes and |
| multi-byte characters. Add tests. (Matt Massie via cutting) |
| |
| AVRO-54. Re-upgrade to testng 5.9 and re-enable listeners. (cutting) |
| |
| AVRO-82. Add checkstyle to java compilation. (Thiruvalluvan |
| M. G. via cutting) |
| |
| AVRO-81. Switch back from TestNG to JUnit. (Konstantin Boudnik via |
| cutting) |
| |
| AVRO-84, AVRO-85. Clarify a few things in the specification |
| document. (Thiruvalluvan M. G. and cutting) |
| |
| AVRO-89. In fields of Java generated classes, use unboxed numeric |
| types. (cutting) |
| |
| AVRO-83. In generated Java code, elide unions with null. (cutting) |
| |
| AVRO-98. Fix C++ schema parser to permit JSON attributes in any |
| order and to ignore extra attributes. (Scott Banachowski via cutting) |
| |
| OPTIMIZATIONS |
| |
| BUG FIXES |
| |
| AVRO-78. Fix Java reflect to work on non-public fields. (cutting) |
| |
| AVRO-79. Specify format for default fixed values, and implement |
| correctly in Java. (Thiruvalluvan M. G. via cutting) |
| |
| AVRO-87. Fix broken links in javadoc introduced by AVRO-82. Also |
| change test-java build target to fail on javadoc warnings. |
| (Thiruvalluvan M. G. and cutting) |
| |
| AVRO-90. Fix Java's JSON codec to correctly encode unions. (cutting) |
| |
| AVRO-95. Fix writing of Java reflect-based unions. Also extend |
| DataFileWriter to permit adding branches to a union schema while |
| writing. |
| |
| AVRO-88. Fix Java's BlockingBinaryEncoder to correctly override |
| writeEnum(). (Ravi Gummadi via cutting) |
| |
| AVRO-61. Add Python support for reading blocked data. |
| (Ravi Gummadi via cutting) |
| |
| AVRO-97. Fix various C++ bugs. (Scott Banachowski via cutting) |
| |
| AVRO-100. In spec, remove warning about blocking being draft. (cutting) |
| |
| AVRO-107. Fix Protocol#equals() and Protocol#hashCode() to |
| consider the protocol's types, and also fix Schema#equals() to not |
| throw ClassCastException when a fixed schema is compared to |
| non-fixed. (cutting) |
| |
| AVRO-112. Turn off C++ debug output. (Scott Banachowski via cutting) |
| |
| AVRO-114. Fix "cdoc" Ant target to correctly run doxygen. |
| (Matt Massie via cutting) |
| |
| Avro 1.0.0 -- 9 July 2009 |
| |
| INCOMPATIBLE CHANGES |
| |
| AVRO-1. Record fields are now defined with JSON arrays, rather |
| than JSON objects, since fields are ordered. (cutting & sharad) |
| |
| AVRO-9. Restrict map keys to strings. (cutting & sharad) |
| |
| AVRO-2. Optimized RPC handshake protocol for Java. (cutting) |
| |
| AVRO-57. Make ValueWriter an abstract class named Encoder and make |
| ValueReader an abstract class named Decoder, and add concrete |
| implementations named BinaryEncoder and BinaryDecoder. (cutting) |
| |
| AVRO-46. Optimized RPC handshake protocol for Python. (sharad) |
| |
| AVRO-66. Add per-call RPC metadata to Java and Python. (George |
| Porter & cutting) |
| |
| NEW FEATURES |
| |
| AVRO-6. Permit easier implementation of alternate generic data |
| representations, especially records with integer-indexed fields. |
| (Hong Tang via cutting) |
| |
| AVRO-8. Add Java support for default values. (cutting) |
| |
| AVRO-33. C support for primitive types. (Matt Massie via cutting) |
| |
| AVRO-18. Add support for enum types. (cutting & sharad) |
| |
| AVRO-10. Add Java support for fixed-sized types. (cutting) |
| |
| AVRO-38. Add Python support for fixed-sized types. (sharad) |
| |
| AVRO-42. Add partial C++ implementation. (Scott Banachowski via cutting) |
| |
| AVRO-25. Add blocking value writer that permits arbitrarily long |
| arrays and maps to be efficiently written as sequences of blocks. |
| (Thiruvalluvan M. G. via cutting) |
| |
| AVRO-48. Add JSON parser for C. (Matt Massie via cutting) |
| |
| AVRO-29. Add to Java a validating encoder & decoder, and a |
| resolving decoder. (Thiruvalluvan M. G. & Raymie Stata) |
| |
| AVRO-67. Add per-call RPC metadata to spec. (George Porter via cutting) |
| |
| AVRO-28. Add Python support for default values. (sharad via cutting) |
| |
| IMPROVEMENTS |
| |
| AVRO-11. Re-implement specific and reflect datum readers and |
| writers to leverage AVRO-6. (cutting) |
| |
| AVRO-13. Use dictionary instead of if-else in validate. (sharad) |
| |
| AVRO-5. Add java versus python RPC interoperability tests. |
| (sharad) |
| |
| AVRO-16. Minor documentation improvements. (cutting) |
| |
| AVRO-15. Override __eq__() and __hash__() in Schema classes. |
| (sharad) |
| |
| AVRO-26. Switch tests from JUnit to TestNG. (Konstantin Boudnik |
| via cutting) |
| |
| AVRO-34. Upgrade to Jackson version 1.0.0. (cutting) |
| |
| AVRO-37. Add C api docs. Also link to py docs. (Matt Massie & cutting) |
| |
| AVRO-32. Java specific generated record classes now implement |
| equals() and hashCode(). (cutting) |
| |
| AVRO-48. Remove unused imports and annotations. |
| (Thiruvalluvan M. G. via cutting) |
| |
| AVRO-53. Use Ivy to retrieve Java dependencies. (cutting) |
| |
| AVRO-56. Use Jackson to generate JSON from Java. (cutting) |
| |
| AVRO-36. Correctly encode and decode binary default values. |
| (cutting) |
| |
| AVRO-59. C++: make serializer more generic. (Scott Banachowski |
| via cutting) |
| |
| AVRO-68. Add license headers to C sources and improve C packaging. |
| (Matt Massie via cutting) |
| |
| OPTIMIZATIONS |
| |
| BUG FIXES |
| |
| AVRO-3. Fix ValueReader to throw an exception at EOF. |
| (Pat Hunt via cutting) |
| |
| AVRO-4. Fix so that specific code generation works under Eclipse. |
| (Pat Hunt via cutting) |
| |
| AVRO-14. Fix so that EOF is not thrown when one attempts to read |
| an empty buffer. (sharad via cutting) |
| |
| AVRO-31. Fix Java package imports in generated specific classes. |
| (sharad via cutting) |
| |
| AVRO-21. Default Java namespace from containing definition. (cutting) |
| |
| AVRO-12. Fix recursive schemas in Java so that equals() and |
| hashCode() do not cause a stack overflow. (cutting) |
| |
| AVRO-22. When parsing schemas in Java, do not permit anonymous. |
| (cutting) |
| |
| AVRO-39. Fix bug in Java record schema toString(). (sharad) |
| |
| AVRO-40. Fix typo in specfication, where 'unsigned' was used where |
| 'signed' was intended. (cutting) |
| |
| AVRO-44. Fix so that 'ant clean' works even if C has not been |
| built. (Matt Massie via cutting) |
| |
| AVRO-45. Fix c++ compliation so that python script need not be |
| made executable. (Scott Banachowski via cutting) |
| |
| AVRO-51. Fix testio.py to exit correctly. (Philip Zeyliger |
| via sharad) |
| |
| AVRO-55. Fix two spec document typos. (cutting) |
| |
| AVRO-69. Make C's install-sh script executable. (Matt Massie via cutting) |
| |
| AVRO-70. Add license header to json_schema.y. (Matt Massie via cutting) |
| |
| AVRO-74. Add missing license headers in C++. (cutting) |
| |
| AVRO-73. Workaround in python to fix simplejson bug on Mac OS. (sharad) |
| |
| AVRO-64. Fix socket and parser issue on Mac OS. (sharad) |
| |
| AVRO-77. Fix C unit tests on Mac OS. (Matt Massie via cutting) |