blob: d7acf60eabf0d1c747bacae3e06f648ead476f7b [file] [log] [blame]
Avro Change Log
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)