forked from confluentinc/avro
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGES.txt
3600 lines (2267 loc) · 122 KB
/
CHANGES.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
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
Avro Change Log
Trunk (not yet released)
INCOMPATIBLE CHANGES
AVRO-2003: Report specific location of schema incompatibilities (teabot via nkollar)
AVRO-2035: Java: validate default values when parsing schemas. (cutting)
AVRO-2043: Move to java8
AVRO-2061: Improve Invalid File Format Error Message (Beluga Behr via gabor)
AVRO-1933: Add more specific error details to SchemaCompatibility class
(Anders Sundelin via gabor)
AVRO-2072: ResolvingGrammarGenerator doesn't implement schema resolution correctly for unions
(Nandor Kollar via gabor)
AVRO-2059: Remove support of Hadoop 1 (gabor)
NEW FEATURES
AVRO-1704: Java: Add support for single-message encoding. (blue)
AVRO-1704: Spec: Add single-message encoding format. (Niels Basjes via blue)
AVRO-1884: Java: Add method to set the compiler output suffix.
(shijinkui via blue)
AVRO-1932: Java: Allow setting the SchemaStore on generated classes.
(Niels Basjes)
OPTIMIZATIONS
IMPROVEMENTS
AVRO-1889: Update maven-shade-plugin to enable building in Java 8 on Mac.
(Sachin Goyal via blue)
AVRO-1695. Java: Fix GenericData#deepCopy() to support logical types.
(cutting)
AVRO-1719: C++: Fix tests with Boost >= 1.59. (Romain Geissler via blue)
AVRO-1879: Make conversions field static. (Michael Wong via blue)
AVRO-1919: Formalize the presence of build.sh. (Suraj Acharya via cutting)
AVRO-1918: Improve logical type documentation. (Gabor Szadovszky via cutting)
AVRO-1907: Java: Add debug logging for invalid logical types.
(Gabor Szadovszky via blue)
AVRO-1897: Fix build issues due to VERSION.txt newline, avro-tools.
(Suraj Acharya via blue)
AVRO-1993: C++ Byte ordering macro does not work on FreeBSD (thiru)
AVRO-1975: Upgrade java dependencies (gabor)
AVRO-1960: Add log4j properties for avro-tools
AVRO-1748. Add Snappy Compression to C++ DataFile (J. Langley via thiru)
AVRO-1723. Add support for forward declarations in avro IDL (Zoltan Farcas via thiru)
AVRO-1971: Allow alias annotation on fields (Johannes Schulte via gabor)
AVRO-2021: uuid logical type is not documented (Nandor Kollar via gabor)
AVRO-2056: DirectBinaryEncoder Creates Buffer For Each Call To writeDouble
(Beluga Behr via gabor)
AVRO-2054: Use StringBuilder instead of StringBuffer
(Beluga Behr via gabor)
AVRO-2050: Clear Array To Allow GC
(Beluga Behr via gabor)
AVRO-2049: Remove Superfluous Configuration From AvroSerializer
(Beluga Behr via gabor)
AVRO-2048: Avro Binary Decoding - Gracefully Handle Long Strings
(Beluga Behr via gabor)
AVRO-2053: Remove Reference To Deprecated Property mapred.output.compression.type
(Beluga Behr via gabor)
AVRO-2055: Remove Magic Value From org.apache.avro.hadoop.io.AvroSequenceFile
(Beluga Behr via gabor)
AVRO-1047: Remaining warnings in generated Java code exposed by -Xlint:all fixed.
(Michael Werle via Niels Basjes)
AVRO-2080: Fix Javadoc Warnings in Generated Records
(Bridger Howell via Niels Basjes)
AVRO-2114: Make missing value exceptions in nested structures easier to read.
(Niels Basjes)
AVRO-2115: Java: Permit @Union annotations on fields of classes.
(Miguel Martinez-Espronceda via cutting).
AVRO-2119: Run Apache Rat check on every java build (Niels Basjes)
AVRO-2117: Overall cleanup of java code (Niels Basjes)
BUG FIXES
AVRO-1741: Python3: Fix error when codec is not in the header.
(Matthew Hayes via blue)
AVRO-1869: Java: Fix Decimal conversion from ByteBuffer. (blue)
AVRO-607: Java: Make SpecificData schema cache thread-safe.
(Andrius Druzinis-Vitkus via blue)
AVRO-1888: Java: Fix single-record encoding marker check. (blue)
AVRO-1848: Ruby: Fix handling of falsey default values.
(Brian McKelvey via blue)
AVRO-1874: Py3: Use recommended module-level logging.
(Torgeir Børresen via blue)
AVRO-1883: Java: Fix incompatible schema detection nested in unions.
(Yibing Shi via blue)
AVRO-1908: Fix TestSpecificCompiler reference to private method.
(blue)
AVRO-1873: Ruby: Add CRC32 checksum to Snappy-compressed blocks.
(blue)
AVRO-1900: Java: Remove dev-tools to fix Java build. (blue)
AVRO-1913: No warnings in the generated Java code. (Niels Basjes)
AVRO-1914: Fix licencing errors reported by rat. (Niels Basjes)
AVRO-1901: Record named "Exception" generated bad code.
(Radai Rosenblatt via Niels Basjes)
AVRO-1849: C++: printJson fails on record with no fields.
(Simon Woodford vai tomwhite)
AVRO-1853: C++: Compiler::toBin crashes on empty string.
(Zoltan Ivanfi via tomwhite)
AVRO-1923, AVRO-1944: Stop infinite recursion in GenericData.toString. (Niels Basjes)
AVRO-1860: Java: Field#DefaultVal() returns Ints for Long fields.
(Gabor Szadovszky via cutting)
AVRO-1929: Java: SchemaCompatibility fails to recognize
string<->bytes promotion. (Anders Sundelin via cutting)
AVRO-1882: Java: Fix ConcurrentHashMap with non-string keys.
(Sachin Goyal via blue)
AVRO-1943: Java: Flaky test:
TestNettyServerWithCompression.testConnectionsCount
(Gabor Szadovszky via tomwhite)
AVRO-1947: Java: Inconsistent maven profile activation
(Gabor Szadovszky via tomwhite)
AVRO-1626: C#: Fix Avro.pref build error. (Naruto Takahashi via blue)
AVRO-1951: Python: Fix ipc_test.py with a valid DNS name. (blue)
AVRO-1966: Java: Fix NPE When copying builder with nullable record. (Niels Basjes)
AVRO-1967: Java: Fix NPE when calling getXyzBuilder on instance where the xyz is null
(Niels Basjes)
AVRO-1970: Java: Flaky test: TestInputBytes. (Gabor Szadovszky via tomwhite)
AVRO-1881: Java: Avro (Java) Memory Leak when reusing JsonDecoder instance.
(Nandor Kollar via tomwhite)
AVRO-1954: Java: Schema.Field.defaultVal() generates: Unknown datum type
(Nandor Kollar via tomwhite)
AVRO-1930: JsonParser doesn't handle integer scientific notation (Pietro Cerutti via thiru)
AVRO-1912: C++ Resolving Decoding doesn't work if element removed from record in array. (via thiru)
AVRO-1866. JsonNullFormatter fwd-declared as class, defined as struct ( Pietro Cerutti via thiru)
AVRO-1750. GenericDatum API behavior breaking change (thiru)
AVRO-1995: JSON Parser does not properly check current state (Victor Mota via thiru)
AVRO-1216. Setting precision for the output stream (John McClean via thiru)
AVRO-1813: Incorrect link to build instructions in Java Getting Started (Pietro Menna via gabor)
AVRO-1937: C++ generator for recursive structure crashes (thiru)
AVRO-1892. C++ library cannot parse unions with default values (Hua Zhang via thiru)
AVRO-1994. C++ Code Generator Generates Invalid Code if Field is of type Null (Darryl Green via thiru)
AVRO-1997. Avro Field.defaultVal broken for Fixed fields. (Zoltan Farkasi via thiru)
AVRO-2033. GenericUnions constructor defaults to a broken state (Philip Rizk via thiru)
AVRO-1857: GenericDatumWriter.write using BufferedBinaryEncoder leaves ByteBuffer in indeterminate state
(Nandor Kollar via gabor)
AVRO-1990: CreateRandomFileTool should validate arguments (Nandor Kollar via gabor)
AVRO-1401: @Nullable does not work with byte[] (Nandor Kollar via gabor)
AVRO-1985: Unreleased resources (gabor)
AVRO-1485: Specification says Record field type can be record name but implementation allows any named type.
(Nandor Kollar via gabor)
AVRO-2120: Fix NullPointerException thrown by Schema.Parser#parse("")
Avro 1.8.1 (14 May 2016)
INCOMPATIBLE CHANGES
NEW FEATURES
OPTIMIZATIONS
IMPROVEMENTS
AVRO-1793. Python2: Retain stack trace and original exception when failing
to parse schemas. Contributed by Jakob Homan (jghoman).
AVRO-1778: JavaScript: Add IPC/RPC support. (mtth)
AVRO-1824: C++: Fix docs for building Avro C++. (William S. Fulton via blue)
AVRO-1701: Fix for "warning: comparison between 'const enum testgen_r::ExampleEnum' and 'const enum testgen::ExampleEnum'" (peter liu via thiru)
AVRO-1823: Java: Do not swallow IOException while reading magic bytes.
(Koji Noguchi via blue)
AVRO-1825: Allow running build.sh dist under git (nielsbasjes)
AVRO-1819, AVRO-1820: Java: Add aliases, custom properties to Protocol.
(Konstantin Usachev via blue)
AVRO-1834: Lower the Javadoc warnings on the generated code. (nielsbasjes)
AVRO-1835: Running tests using JDK 1.8 complains about MaxPermSize (nielsbasjes)
AVRO-1828: Add EditorConfig file and cleanup of whitespace violations (nielsbasjes)
AVRO-1839: Update the gitignore files to hide generated files (nielsbasjes)
AVRO-1838: Java: Update checkstyle to catch trailing whitespace.
(nielsbasjes via blue)
AVRO-1840: Ensure that build.sh clean really cleans all generated files (nielsbasjes)
AVRO-1841: Add clientside githooks to do basic commit validation (nielsbasjes)
AVRO-1807: Java/JSON: Throw for unsupported objects rather than ignoring. (blue)
BUG FIXES
AVRO-1493. Java: Avoid the "Turkish Locale Problem". Schema fingerprints are
now consistent regardless of the environment's locale.
AVRO-1799: Fix GenericRecord#toString ByteBuffer handling. (blue)
AVRO-1667: Fix parser grammar flattening for recursive cases.
(Zoltan Farkas via blue)
AVRO-1829. C++ documentation improvements (William S Fulton via thiru)
AVRO-1821: Java: Fix possible memory leak in ReflectData accessor cache.
(Bryan Harclerode via blue)
AVRO-1642: Java: Do not generate invalid all-args constructor.
(Prateek Rungta and Barry Jones via blue)
AVRO-1826: build.sh rat fails over extra license files and many others (nielsbasjes).
AVRO-1814: Generated java code fails on variables with a TLD name like 'org' (nielsbasjes)
AVRO-1711: Java: Fix JsonParser#skipChildren to implement its defined contract.
(Zoltan Farkas and Thiruvalluvan M. G. via blue)
Avro 1.8.0 (22 January 2016)
INCOMPATIBLE CHANGES
AVRO-1334. Java: Update versions of many dependencies. (scottcarey, cutting)
AVRO-997. Java: For enum values, no longer sometimes permit any
Object whose toString() names an enum symbol, but rather always
require use of distinct enum types. (Sean Busbey via cutting)
AVRO-1602. Java: Remove Dapper-style RPC trace facility. This
seems unused and has been a source of build problems. (cutting)
AVRO-1586. Build against Hadoop 2. With this change the avro-mapred and
trevni-avro JARs without a hadoop1 or hadoop2 Maven classifier are Hadoop 2
artifacts. To use with Hadoop 1, set the classifier to hadoop1.
(tomwhite)
AVRO-1502. Java: Generated classes now implement Serializable.
Generated classes need to be regenerated to use this release. (cutting)
NEW FEATURES
AVRO-1555. C#: Add support for RPC over HTTP. (Dmitry Kovalev via cutting)
AVRO-739. Add date, time, timestamp, and duration binary types to
specification. (Dmitry Kovalev and Ryan Blue via tomwhite)
AVRO-1590. Java: In resolving records in unions, permit structural
and shortname matches when fullname matching fails.
(Ryan Blue via cutting)
AVRO-570. Python: Add connector for tethered mapreduce.
(Jeremy Lewi and Steven Willis via cutting)
AVRO-834. Java: Data File corruption recovery tool.
(scottcarey and tomwhite)
AVRO-1614. Java: In generated builder classes, add accessors to
field sub-builders, permitting easier creation of nested, optional
structures. (Niels Basjes via cutting)
AVRO-1537. Make it easier to set up a multi-language build environment.
Support for running a Docker container with all build dependencies.
(tomwhite)
AVRO-680. Java: Support non-string map keys. (Sachin Goyal via Ryan Blue).
AVRO-1497. Java: Add support for logical types. (blue)
AVRO-1685. Java: Allow specifying sync in DataFileWriter.create
(Sehrope Sarkuni via tomwhite)
AVRO-1683. Add microsecond time and timestamp logical types to the
specification. (blue)
AVRO-1672. Java: Add date/time logical types and conversions. (blue)
AVRO-1747. JS: Add Javascript IO implementation. (Matthieu Monsch via blue)
AVRO-1767. JS: Fall back to unwrapped union values. (Matthieu Monsch via blue)
AVRO-1784. C++: Should have a json encoder that pretty prints. (John McClean via thiru)
OPTIMIZATIONS
AVRO-1760. Java: Thread scalability problem with the use of SynchronizedMap
(tomwhite)
IMPROVEMENTS
AVRO-843. C#: Change Visual Studio project files to specify .NET 3.5.
(Dmitry Kovalev via cutting)
AVRO-1583. Java: Add stdin support to the tojson tool.
(Clément Mahtieu via cutting)
AVRO-1551. Java: Add an output encoding option to the compiler
command line tool. (Keegan Witt via cutting)
AVRO-1585. Java: Deprecate Jackson classes in public API. (tomwhite)
AVRO-1619. Java: Improve javadoc comments in generated code.
(Niels Basjes via cutting)
AVRO-1616. Add IntelliJ files to .gitignore. (Niels Basjes via cutting)
AVRO-1539. Java: Add FileSystem based FsInput constructor.
(Allan Shoup via cutting)
AVRO-1628. Java: Add Schema#createUnion(Schema ...) convenience method.
(Clément Mahtieu via cutting)
AVRO-1655. Java: Add Schema.createRecord with field list.
(Lars Francke via blue)
AVRO-1681. Improve generated JavaDocs.
(Charles Gariépy-Ikeson via tomwhite)
AVRO-1645. Ruby: Improved handling of missing named types.
(Daniel Schierbeck via tomwhite)
AVRO-1693. Ruby: Allow writing arbitrary metadata to data files.
(Daniel Schierbeck via tomwhite)
AVRO-1692. Allow more than one logical type for a Java class. (blue via
tomwhite)
AVRO-1697. Ruby: Add support for the Snappy codec to the Ruby library.
(Daniel Schierbeck via tomwhite)
AVRO-1739. Update Avro URLs and mailing lists. (Gabor Liptak via blue)
AVRO-1765: JS: Update node.js version in docker to 4.x. (blue)
BUG FIXES
AVRO-1553. Java: MapReduce never uses MapOutputValueSchema (tomwhite)
AVRO-1544. Java: Fix GenericData#validate for unions with null.
(Matthew Hayes via cutting)
AVRO-1589. Java: Fix ReflectData.AllowNulls to not create unions
for primitive types. (Ryan Blue via cutting)
AVRO-1591. Java: Fix specific RPC so that proxies implement hashCode(),
equals() and toString(). (Mark Spadoni via cutting)
AVRO-1489. Java: Avro fails to build with OpenJDK 8. (Ricardo Arguello via
tomwhite)
AVRO-1302. Python: Update documentation to open files as binary to
prevent EOL substitution. (Lars Francke via cutting)
AVRO-1598. Java: Fix flakiness in TestFileSpanStorage.
(Ryan Blue via cutting)
AVRO-1592. Java: Fix handling of Java reserved words as enum
constants in generated code. (Lukas Steiblys via cutting)
AVRO-1597. Java: Random data tool writes corrupt files to standard out.
(cutting)
AVRO-1596. Java: Cannot read past corrupted block in Avro data file.
(tomwhite)
AVRO-1564. Java: Fix handling of optional byte field in Thrift.
(Michael Pershyn via cutting)
AVRO-1407: Java: Fix infinite loop on slow connect in NettyTransceiver.
(Gareth Davis via cutting)
AVRO-1604. Java: Fix ReflectData.AllowNull to work with @Nullable
annotations. (Ryan Blue via cutting)
AVRO-1545. Python. Fix to retain schema properties on primitive types.
(Dustin Spicuzza via cutting)
AVRO-1623. Java: Fix GenericData#validate to correctly resolve unions.
(Jeffrey Mullins via cutting)
AVRO-1621. PHP: FloatIntEncodingTest fails for NAN. (tomwhite)
AVRO-1573. Javascript. Upgrade to Grunt 0.4 for testing. (tomwhite)
AVRO-1624. Java. Surefire forkMode is deprecated. (Niels Basjes via
tomwhite)
AVRO-1630. Java: Creating Builder from instance loses data. (Niels Basjes
via tomwhite)
AVRO-1653. Fix typo in spec (lenghted => length). (Sehrope Sarkuni via blue)
AVRO-1656. Fix 'How to Contribute' link. (Benjamin Clauss via blue)
AVRO-1652. Java: Do not warn or validate defaults if validation is off.
(Michael D'Angelo via blue)
AVRO-1655. Java: Fix NPE in RecordSchema#toString when fields are null.
(Lars Francke via blue)
AVRO-1689. Update Dockerfile to use official Java repository. (tomwhite)
AVRO-1576. TestSchemaCompatibility is platform dependant.
(Stevo Slavic via tomwhite)
AVRO-1688. Ruby test_union(TestIO) is failing. (tomwhite)
AVRO-1673. Python 3 EnumSchema changes the order of symbols.
(Marcin Białoń via tomwhite)
AVRO-1491. Avro.ipc.dll not included in release zip/build file.
(Dmitry Kovalev via tomwhite)
AVRO-1676. Java: Do not treat enum symbols as immutable when deep copying.
(Mike Rodriguez via tomwhite)
AVRO-1593. C++: Use classic locale to escape control chars.
(Hatem Helal via blue)
AVRO-1700. C++: Fix avro_BufferStreambuf_hh__ header guard.
(Liu Yanbo via blue)
AVRO-1715. Java: Close files opened by the Schema parser.
(Pavel Safrata via blue)
AVRO-1729: Ruby: Add LICENSE and NOTICE to ruby gems. (blue)
AVRO-1732: C++: Add LICENSE and NOTICE to binary distribution. (blue)
AVRO-1733: C#: Add LICENSE and NOTICE to binary distribution. (blue)
AVRO-1755. Java: avro-mapred should not depend on avro-ipc:test.
(Clément MAHTIEU via tomwhite)
AVRO-1754. C++ ValiditingDecoder handles null incorrectly. (John McClean via thiru)
AVRO-1731: C: Add LICENSE and NOTICE to binary distribution. (blue)
AVRO-1735: Perl: Add LICENSE and NOTICE to distribution. (blue)
AVRO-1736: PHP: Add LICENSE and NOTICE to distribution. (blue)
AVRO-1730: Python 2, 3: Add LICENSE and NOTICE to distribution. (blue)
AVRO-1722: Update root LICENSE.txt and NOTICE.txt. (blue)
AVRO-1584: Java: Escape characters not allowed in JSON in toString. (blue)
AVRO-1728: Java: Add LICENSE and NOTICE files to jars. (blue)
AVRO-1572: C: Fix EOF handling on data files that are multiples of
4096 bytes. (Ben Walsh via martinkl)
AVRO-1617: C: Fix equality checking of record schemas. (Skye
Wanderman-Milne via martinkl)
AVRO-1560: C: Fix build for custom libsnappy location. (Ujjwal via martinkl)
AVRO-1770. Python 3 overwrites custom README.txt (blue via tomwhite)
AVRO-1771. Add LICENSE and NOTICE to avro-doc artifact. (blue via tomwhite)
AVRO-1772. Ruby: load error in rubygem when loading schema normalization.
(blue and martinkl via tomwhite)
AVRO-1725. Docs: clarify restrictions on enum symbols. (martinkl)
AVRO-1779. Avro docs convenience artifact missing LICENSE/NOTICE.
(blue via tomwhite)
AVRO-1781. Java: Fix Schema.parse thread safety bug introduced by logical
types. (blue)
AVRO-1782. Ruby: Fix unit test failures in new versions of Ruby. (martinkl)
AVRO-1769. C: Use operating system's libjansson instead of bundling
it with Avro. (Magnus Edenhill via martinkl)
AVRO-1691. C: Allow schemas consisting only of a primitive type.
(Magnus Edenhill via martinkl)
AVRO-1663. C: Fix handling of namespaces for enum and fixed types.
(martinkl)
AVRO-1775. Ruby: Use test-unit gem for running tests. (martinkl)
AVRO-1783. Ruby: Ensure correct binary encoding for byte strings.
(martinkl)
Avro 1.7.7 (23 July 2014)
NEW FEATURES
AVRO-1315. Java: Schema Validation utilities. (scottcarey and tomwhite)
AVRO-1439. Java: Add AvroMultipleInputs for mapred. (Harsh J via cutting)
AVRO-974. Add a Perl implementation of Avro. (Yann Kerhervé & John Karp)
AVRO-1471. Java: Permit writing generated code in different
character encodings. (Eugene Mustaphin via cutting)
AVRO-1402. Add optional subtypes to specification, initially
including a subtype of bytes and fixed for decimal values.
(tomwhite & Ryan Blue via cutting)
AVRO-1522. Java: Add support for compression codecs to SortedKeyValueFile.
(Steven Willis via cutting)
AVRO-1474. C++ resolvind decoder doesn't work when reader schema
has more fields than writer schema. (thiru with help from Ramana
Suvarapu)
AVRO-1352. Schema for fixed types corrupted when writing out in
JSON format (Steve Roehrs via thiru)
AVRO-1533. Java: In schema resolution, permit conversion between
bytes and string. (cutting)
OPTIMIZATIONS
AVRO-1455. Deep copy does not need to create new instances for primitives.
(tomwhite)
IMPROVEMENTS
AVRO-1441. Java: Improve documentation for Maven configuration.
(Jesse Anderson via cutting)
AVRO-1447. Java: Remove dead code from example in documentation.
(Jesse Anderson via cutting)
AVRO-1449. Java: Optionally validate default values while reading schemas.
(cutting)
AVRO-1472. Java: Clarify parse method in getting started guide.
(Michael Knapp via cutting)
AVRO-1465. Java: Improve the error message when union dispatch fails.
(Gabriel Reid via cutting)
AVRO-1482. In specification, place "null" first in unions as best practice.
(cutting)
AVRO-1476. Java: Remove transient declaration from Schema.Field#position.
(Robert Chu via cutting)
AVRO-1512. Java: Support Thrift unions. (cutting)
AVRO-1535. Java: Make the name .X to refer to X in the null namespace.
This permits aliases to names in the null namespace. (cutting)
AVRO-1536. Ruby: Remove monkeypatching of Enumerable.
(Willem van Bergen via martinkl)
AVRO-1546. Java: Change GenericData.Record#toString() to not
escape forward slashes. (Brandon Forehand via cutting)
BUG FIXES
AVRO-1446. C#: Correctly handle system errors in RPC.
(David Taylor via cutting)
AVRO-1445. Java: Fix protobuf support to correctly handle enums
with default values. (cutting)
AVRO-1436. C#: Fix tests to run multiple times. (David Taylor via cutting)
AVRO-1458. Java: Setting char record field via reflection affects other
fields. (tomwhite)
AVRO-1454. Java: Fix GenericData#toString and AvroAsTextRecordReader
to generate valid Json for NaN and infinities. (cutting)
AVRO-1473. Java: Fix references to names in the empty namespace.
(Gabriel Reid via cutting)
AVRO-1459. Ruby: Fix a typo in Rakefile that breaks 'gem install'.
(Tomas Svarovsky via cutting)
AVRO-1457. Java: Fix Encoder so that offset in non-array-backed
ByteBuffers is not altered when written. (Rob Turner via cutting)
AVRO-1442. Java: Fix ResolvingGrammarGenerator to work with fixed type.
(Jim Pivarski via cutting)
AVRO-1500. Java: Fix bug in handling of Thrift shorts in unions.
(Michael Pershyn via cutting)
AVRO-1513. Perl: Remove test plans from unit test files.
(John Karp via cutting)
AVRO-1462. Perl: Stop spurious serializer warnings about Non-ASCII
decimal characters. (John Karp via cutting)
AVRO-1470. Perl: Fix encoding of boolean values. (John Karp via cutting)
AVRO-1525. Java: ReflectData cannot resolve union with fixed. (tomwhite)
AVRO-1499. Ruby: Fix encoding issue that caused corrupted data files
to be written under Ruby 2.0+. (Willem van Bergen and martinkl)
AVRO-1498. Java: Fix custom encodings to work in reflect without
Unsafe access. (Christopher Mann via cutting)
AVRO-1448. Python3: Fix setup.py installation through PyPI. (taton)
AVRO-1540. C++ doesn't build in Ubuntu. (thiru)
Avro 1.7.6 (15 January 2014)
NEW FEATURES
AVRO-975. C#: Add RPC support. (Mark Lamley via cutting)
AVRO-1388. Java: Add fsync support to DataFileWriter.
(Hari Shreedharan via cutting)
AVRO-1373. Java: Add support for "xz" compresssion codec, using LZMA2.
(Nick White via cutting)
AVRO-1400. Java: Add AvroDefault reflect annotation to specify
default values. (cutting)
AVRO-1397. Java: Binary fragment tools can now read multiple
objects from their input. (Rob Turner via cutting)
AVRO-1396. Java: Enable tojson command-line tool to pretty print output.
(Rob Turner via cutting)
AVRO-1409. Java: Add an API for testing schema compatibility.
(Christophe Taton via cutting)
AVRO-1379. C: avro_file_writer_append_encoded() function.
(Mark Teodoro via dcreager)
AVRO-1414. C++: Add support for deflate-compressed data files.
(Daniel Russel via cutting)
AVRO-1418. Java: Add sync support to AvroMultipleOutputs.
(Deepak Kumar V via cutting)
AVRO-1421. Java: Add an @AvroSchema annotation to reflect. (cutting)
AVRO-1382. Add support for Python3. (Christophe Taton via cutting)
OPTIMIZATIONS
AVRO-1348. Java: Improve UTF-8 to String conversion performance in
Java 6. (cutting)
IMPROVEMENTS
AVRO-1355. Java: Reject schemas with duplicate field
names. (Christophe Taton via cutting)
AVRO-1332. C#: Improve DatumReader performance.
(David McIntosh via cutting)
AVRO-1387. Java: Add DataFileWriter option to inhibit flush per block.
(Hari Shreedharan via cutting)
AVRO-1384. Java: Permit Maven to find imports within project.
(Alexandre Normand via cutting)
AVRO-1397. Java: Improve error message when missing field has no default.
(David Carr via cutting)
AVRO-1398. Increase default sync interval from 16k to 64k.
(Rob Turner via cutting)
AVRO-1234. Java: Permit AvroInputFormat to process files whose
names don't end in .avro. (Dave Beech & Sandy Ryza via cutting)
AVRO-1344. Java: Expose sync interval configuration in mapreduce API.
(Rob Turner via cutting)
AVRO-1406. C++. GenericRecord (GenericDatum, etc.) doesn't support
getters and setters with field name argument.
(Iaroslav Zeigerman via thiru)
AVRO-1063. Ruby: Use multi_json instead of requiring yajl.
(Duke via cutting)
AVRO-1225. Java: Add guide for MapReduce API. (Brock Noland via cutting)
AVRO-1426. Java: Add mapreduce word count example.
(Jesse Anderson via cutting)
AVRO-987. Java: Make Avro OSGI-ready. (Ioannis Canellos via cutting)
AVRO-1427. Java: Improve ResolvingDecoder tests. (Rob Turner via cutting)
AVRO-1432. Java: Reduce javadoc warnings. (cutting)
AVRO-1415. C++ binary encoder and decoder doesn't handle
uninitialzed enums (Ramana Suvarapu via thiru)
AVRO-1434. C#: Fix ObjectCreator to be thread safe.
(David Taylor via cutting)
BUG FIXES
AVRO-1368. Fix SpecificDatumWriter to, when writing a string
schema, not silently convert any object to a string.
(Christophe Taton via cutting)
AVRO-1374. Java: Fix compilation against Hadoop 2.1.
(Julian Zhou via cutting)
AVRO-1366. Fix specification's description of metadata format.
(cutting)
AVRO-1377. Java: Fix a bug in Schema#toString() when a namespaced
enum or fixed is defined within an un-namespaced record.
(Graham Sanderson via cutting)
AVRO-1399. Java: Fix a test within TestAvroKeyOutputFormat.
(Rob Turner via cutting)
AVRO-1410. Explicit version specification in pom prevents dependency
management. (Eric Sammer via tomwhite)
AVRO-1358. C: Hide symbols that aren't in the public API. (dcreager)
AVRO-1237. C: Bounds-check union discriminant when reading a data file.
(Michael Cooper via dcreager)
AVRO-1369. C: Use correct byte-swapping functions on Mac OS X.
(thinker0 via dcreager)
AVRO-1405. C: Check for end-of-file correctly.
(Mika Ristimaki via dcreager)
AVRO-1424. ValidatingDecoder hangs on large schema (thiru)
AVRO-1433. Java: Fix compiler to not drop aliases when StringType
is String. (cutting)
Avro 1.7.5 (12 August 2013)
NEW FEATURES
AVRO-1307. Java: Add 'cat' tool to append and sample data files.
(Vincenz Priesnitz via cutting)
AVRO-1274. Java: Add a schema builder API. (tomwhite)
AVRO-1319. Java: Add command line tools to generate random data
files and to convert Avro to Trevni. (cutting)
AVRO-823: C#: Add data file support. (David McIntosh via cutting)
AVRO-896. C: Snappy compression codec. (Grisha Trubetskoy via dcreager)
AVRO-1337. Java: Add a command line tool to generate schema files
from a protocol. (Bertrand Dechoux via cutting)
AVRO-1341. Java: Add reflection annotations @AvroName, @AvroIgnore,
@AvroMeta, @AvroAlias and @AvroEncode. (Vincenz Priesnitz via cutting)
AVRO-1353. Java: Permit specification of data model (generic,
specific, reflect, or other) in mapreduce job configuration.
(Marshall Bockrath-Vandegrift via cutting)
IMPROVEMENTS
AVRO-1260. Ruby: Improve read performance. (Martin Kleppmann via cutting)
AVRO-1267. Java: Permit dashes in IDL property names. (cutting)
AVRO-1272. Ruby: Improve schema namespace handling.
(Martin Kleppmann via cutting)
AVRO-1268. Java: Extend support for stringables from reflect to
specific. String schemas in generated classes now support the
"java-class" and "java-key-class" properties. The built-in Java
types BigDecimal, BigInteger, URI, URL, and File can now be fields
in generated classes. (Alexandre Normand and cutting)
AVRO-1259. Java: Improve Trevni's encoding of sparse columns.
(cutting)
AVRO-1287. Add data file with deflate codec to the interoperability
test suite. (martinkl)
AVRO-1288. Ruby: Add support for deflate codec in data files.
(martinkl)
AVRO-867. Java: Enable command-line tools to read data files from
any Hadoop FileSystem implementation. (Vincenz Priesnitz via cutting)
AVRO-1299. Java: SpecificRecordBase implements GenericRecord.
(Christophe Taton via cutting)
AVRO-1282. Java: Use sun.misc.Unsafe to improve Reflect API Performance.
(Leo Romanoff via scottcarey)
AVRO-1313. Java: Add system property avro.disable.unsafe for disabling
use of sun.misc.Unsafe. (scottcarey)
AVRO-1327. Java: Make GenericEnumSymbol implement Comparable. (cutting)
AVRO-1314. Java: add @threadSafe annotation to maven plugins.
(scottcarey)
AVRO-1334. Java: Upgrade snappy-java dependency to 1.0.5
(scottcarey)
AVRO-1238. C: EOF detection in avro_file_reader_read_value.
(Michael Cooper via dcreager)
AVRO-1324. C: Handle namespaces in schema parsing.
(Ben Walsh via dcreager)
AVRO-1290. Handling NaN and positive and negative infinities in
C++ Json (Daniel Russel via thiru)
AVRO-1351. Extend SortedKeyValueFile to support data models
besides generic. (cutting)
AVRO-1261. Clarify in documentation that generated no-arg
constructors do not use default values from schema. (cutting)
AVRO-1297. NettyTransceiver: Provide overloaded
close(boolean awaitCompletion). (jbaldassari)
AVRO-1279. C: Treat missing codec in data files as null codec.
(Carl Steinbach via dcreager)
AVRO-1325. Java: Enhanced Schema Builder API. (scottcarey)
BUG FIXES
AVRO-1296. Python: Fix schemas retrieved from protocol types
to not ignore namespaces. (Jeremy Kahn via philz)
AVRO-1266. Java: Fix mapred.AvroMultipleOutputs to support multiple
different schemas. (Ashish Nagavaram via martinkl)
AVRO-1295. Java: Fix printing of a non-null namespace within a
null namespace. (cutting)
AVRO-1300. Java: Fix generated copy constructors to copy field
values. (Christophe Taton via cutting)
AVRO-1309. Java: Fix nested protobuf enums. (cutting)
AVRO-1308. Java: Fix repeated protobuf messages & enums.
(Steve Zesch & cutting)
AVRO-1306. Java mapred: Fix incorrect documentation for combiners.
(Mina Naguib via martinkl)
AVRO-1320. Java: Fix Trevni to correctly read unions and specific enums.
(cutting)
AVRO-1326. Java: Fix bug in BZip2 codec. (cutting)
AVRO-1322. Java: Add Hadoop version classifier to trevni-avro
Maven artifacts. (massie)
AVRO-1316. Java: Fix compiler to split long schema string
constants so javac can compile them. (Jeremy Kahn via cutting)
AVRO-1331. Java: Fix schema-parsing incompatibility from AVRO-1295.
(cutting)
AVRO-1181. compileJsonSchemaFromString(std::string) declared in
Compiler.hh but not defined (Daniel Russel via thiru)
AVRO-1346. C++: schema parser cannot parse verbose primitive types
(Skye Wanderman-Milne via thiru)
AVRO-1171. Avro C++ Json Decoder: Double cannot be decoded (Sam
Overend via thiru)
AVRO-1293. Java: Fix potential deadlock in NettyTransceiver.
(James Baldassari via cutting)
AVRO-1292. Java: Fix potential client blocking in NettyTransceiver.
(James Baldassari via cutting)
AVRO-1144. Java: Deadlock with FSInput and Hadoop NativeS3FileSystem.
(scottcarey)
AVRO-1356. Java: Fix AvroMultipleOutputs for map-only jobs.
(Alan Paulsen via cutting)
Avro 1.7.4 (22 February 2013)
NEW FEATURES
AVRO-1248. Avro Tool to dump protocol of a remote RPC Service
(Gareth Davis via philz)
AVRO-1229. Add support for booleans to Trevni. (cutting)
AVRO-1250. Add a command-line tool to concatenate data files.
(Nick White via cutting)
AVRO-1243. Java: Add support for bzip2 file compression and
translate Hadoop job compression options. (Ted Malaska via cutting)
AVRO-1253. Java: Add support for bzip2 file compression to Trevni.
(Ted Malaska via cutting)
AVRO-1254. Java: Add support for new mapreduce APIs to Trevni.
(Ted Malaska via cutting)
IMPROVEMENTS
AVRO-1211. Add MR guide to documentation. (Skye Wanderman-Milne via
tomwhite)
AVRO-1221. Java: Fix TestSaslDigestMd5 to pass on IBM JVM.
(Rodrigo Trujillo via cutting)
AVRO-1008. Java: Improve support for forcing connection
handshakes. (jbaldassari & cutting)
AVRO-970. Java: Make Codec API public. (Rui Pereira via cutting)
AVRO-1223. Java: Add a static method to generated classes that
returns its schema, getClassSchema(). (cutting)