-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGES
2663 lines (2554 loc) · 189 KB
/
CHANGES
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
Apache Thrift Changelog
Breaking Changes since 0.11.0 [for 0.12.0]:
--------------------------------------------------------------------------------
* [THRIFT-4448] - Support for golang 1.6 and earlier has been dropped.
* [THRIFT-4474] - PHP now uses the PSR-4 loader by default instead of class maps.
* [THRIFT-4532] - method signatures changed in the compiler's t_oop_generator.
Thrift 0.11.0
--------------------------------------------------------------------------------
## Sub-task
* [THRIFT-2733] - Erlang coding standards
* [THRIFT-2740] - Perl coding standards
* [THRIFT-3610] - Streamline exception handling in Python server handler
* [THRIFT-3686] - Java processor should report internal error on uncaught exception
* [THRIFT-4049] - Skip() should throw TProtocolException.INVALID_DATA on unknown data types
* [THRIFT-4053] - Skip() should throw TProtocolException.INVALID_DATA on unknown data types
* [THRIFT-4136] - Align is_binary() method with is_string() to simplify those checks
* [THRIFT-4137] - Fix remaining undefined behavior invalid vptr casts in Thrift Compiler
* [THRIFT-4138] - Fix remaining undefined behavior invalid vptr casts in C++ library
* [THRIFT-4296] - Fix Ubuntu Xenial build environment for the python language
* [THRIFT-4298] - Fix Ubuntu Xenial build environment for the go 1.6 language
* [THRIFT-4299] - Fix Ubuntu Xenial build environment for the D language
* [THRIFT-4300] - Fix make cross in Ubuntu Xenial docker environment, once all language support issues are fixed
* [THRIFT-4302] - Fix Ubuntu Xenial make cross testing for lua and php7
* [THRIFT-4398] - Update EXTRA_DIST for "make dist"
## Bug
* [THRIFT-381] - Fail fast if configure detects C++ problems
* [THRIFT-1677] - MinGW support broken
* [THRIFT-1805] - Thrift should not swallow ALL exceptions
* [THRIFT-2026] - Fix TCompactProtocol 64 bit builds
* [THRIFT-2642] - Recursive structs don't work in python
* [THRIFT-2889] - stable release 0.9.2, erlang tutorial broken
* [THRIFT-2913] - Ruby Server Thrift::ThreadPoolServer should serve inside a thread
* [THRIFT-2998] - Node.js: Missing header from http request
* [THRIFT-3000] - .NET implementation has trouble with mixed IP modes
* [THRIFT-3281] - Travis CI build passed but the log says BUILD FAILED
* [THRIFT-3358] - Makefile:1362: *** missing separator. Stop.
* [THRIFT-3600] - Make TTwisted server send exception on unexpected handler error
* [THRIFT-3602] - Make Tornado server send exception on unexpected handler error
* [THRIFT-3657] - D TFileWriterTransport close should use non-priority send
* [THRIFT-3700] - Go Map has wrong default value when optional
* [THRIFT-3703] - Unions Field Count Does Not Consider Map/Set/List Fields
* [THRIFT-3730] - server log error twice
* [THRIFT-3778] - go client can not pass method parameter to server of other language if no field_id is given
* [THRIFT-3784] - thrift-maven-plugin generates invalid include directories for IDL in dependency JARs
* [THRIFT-3801] - Node Thrift client throws exception with multiplexer and responses that are bigger than a single buffer
* [THRIFT-3821] - TMemoryBuffer buffer may overflow when resizing
* [THRIFT-3832] - Thrift version 0.9.3 example on Windows, Visual Studio, linking errors during compiling
* [THRIFT-3847] - thrift/config.h includes a #define for VERSION which will likely conflict with existing user environment or code
* [THRIFT-3873] - Fix various build warnings when using Visual Studio
* [THRIFT-3891] - TNonblockingServer configured with more than one IO threads does not always return from serve() upon stop()
* [THRIFT-3892] - Thrift uses TLS SNI extension provided by OpenSSL library. Older version of OpenSSL(< 0.9.8f) may create problem because they do not support 'SSL_set_tlsext_host_name()'.
* [THRIFT-3895] - Build fails using Java 1.8 with Ant < 1.9
* [THRIFT-3896] - map<string,string> data with number string key cannot access that deserialized by php extension
* [THRIFT-3938] - Python TNonblockingServer does not work with SSL
* [THRIFT-3944] - TSSLSocket has dead code in checkHandshake
* [THRIFT-3946] - Java 1.5 compatibility broken for binary fields (java5 option)
* [THRIFT-3960] - Inherited services in Lua generator are not named correctly
* [THRIFT-3962] - Ant build.xml broken on Windows for Java library
* [THRIFT-3963] - Thrift.cabal filename does not match module name
* [THRIFT-3967] - gobject/gparam.h:166:33: warning: enumerator value for ‘G_PARAM_DEPRECATED’ is not an integer constant expression
* [THRIFT-3968] - Deserializing empty string/binary fields
* [THRIFT-3974] - Using clang-3.8 and ThreadSanitizer on the concurrency_test claims bad PThread behavior
* [THRIFT-3984] - PHP7 extension causes segfault
* [THRIFT-4008] - broken ci due to upstream dependency versioning break
* [THRIFT-4009] - Use @implementer instead of implements in TTwisted.py
* [THRIFT-4010] - Q.fcall messing up with *this* pointer inside called function
* [THRIFT-4011] - Sets of Thrift structs generate Go code that can't be serialized to JSON
* [THRIFT-4012] - Python Twisted implementation uses implements, not compatible with Py3
* [THRIFT-4014] - align C# meta data in AssemblyInfo.cs
* [THRIFT-4015] - Fix wrongly spelled "Thirft"s
* [THRIFT-4016] - testInsanity() impl does not conform to test spec in ThriftTest.thrift
* [THRIFT-4023] - Skip unexpected field types on read/write
* [THRIFT-4024] - Skip() should throw on unknown data types
* [THRIFT-4026] - TSSLSocket doesn't work with Python < 2.7.9
* [THRIFT-4029] - Accelerated protocols do not build from thrift-py 0.10.0 on PyPI
* [THRIFT-4031] - Go plugin generates invalid code for lists of typedef'ed built-in types
* [THRIFT-4033] - Default build WITH_PLUGIN=ON for all builds results in packaging errors
* [THRIFT-4034] - CMake doesn't work to build compiler on MacOS
* [THRIFT-4036] - Add .NET Core environment/build support to the docker image
* [THRIFT-4038] - socket check: checking an unsigned number against >= 0 never fails
* [THRIFT-4042] - ExtractionError when using accelerated thrift in a multiprocess test
* [THRIFT-4043] - thrift perl debian package is placing files in the wrong place
* [THRIFT-4044] - Build job 17 failing on every pull request; hspec core (haskell) 2.4 issue
* [THRIFT-4046] - MinGW with gcc 6.2 does not compile on Windows
* [THRIFT-4060] - Thrift printTo ostream overload mechanism breaks down when types are nested
* [THRIFT-4062] - Remove debug print from TServiceClient
* [THRIFT-4065] - Document Perl ForkingServer signal restriction imposed by THRIFT-3848 and remove unnecessary code
* [THRIFT-4068] - A code comment in Java ServerSocket is wrong around accept()
* [THRIFT-4073] - enum files are still being generated with unused imports
* [THRIFT-4076] - Appveyor builds failing because ant 1.9.8 was removed from apache servers
* [THRIFT-4077] - AI_ADDRCONFIG redefined after recent change to PlatformSocket header
* [THRIFT-4079] - Generated perl code that returns structures from included thrift files is missing a necessary use clause
* [THRIFT-4087] - Spurious exception destroying TThreadedServer because of incorrect join() call
* [THRIFT-4102] - TBufferedTransport performance issue since 0.10.0
* [THRIFT-4106] - concurrency_test fails randomly
* [THRIFT-4108] - c_glib thrift ssl has multiple bugs and deprecated functions
* [THRIFT-4109] - Configure Script uses string comparison for versions
* [THRIFT-4129] - C++ TNonblockingServer fd leak when failing to dispatch new connections
* [THRIFT-4131] - Javascript with WebSocket handles oneway methods wrong
* [THRIFT-4134] - Fix remaining undefined behavior invalid vptr casts
* [THRIFT-4140] - Use of non-thread-safe function gmtime()
* [THRIFT-4141] - Installation of haxe in docker files refers to a redirect link and fails
* [THRIFT-4147] - Rust: protocol should accept transports with non-static lifetime
* [THRIFT-4148] - [maven-thrift-plugin] compile error while import a thrift in dependency jar file.
* [THRIFT-4149] - System.out pollutes log files
* [THRIFT-4154] - PHP close() of a TSocket needs to close any type of socket
* [THRIFT-4158] - minor issue in README-MSYS2.md
* [THRIFT-4159] - Building tests fails on MSYS2 (MinGW64) due to a (small?) linker error
* [THRIFT-4160] - TNonblocking server fix use of closed/freed connections
* [THRIFT-4161] - TNonBlocking server using uninitialized event in error paths
* [THRIFT-4162] - TNonBlocking handling of TSockets in error state is incorrect after fd is closed
* [THRIFT-4164] - Core in TSSLSocket cleanupOpenSSL when destroying a mutex used by openssl
* [THRIFT-4165] - C++ build has many warnings under c++03 due to recent changes, cmake needs better platform-independent language level control
* [THRIFT-4166] - Recent fix to remove boost::lexical_cast usage broke VS2010
* [THRIFT-4167] - Missing compile flag
* [THRIFT-4170] - Support lua 5.1 or earlier properly for object length determination
* [THRIFT-4172] - node.js tutorial client does not import assert, connection issues are not handled properly
* [THRIFT-4177] - Java compiler produces deep copy constructor that could make shallow copy instead
* [THRIFT-4184] - Building on Appveyor: invalid escape sequence \L
* [THRIFT-4185] - fb303 counter encoding fix
* [THRIFT-4189] - Framed/buffered transport Dispose() does not dispose the nested transport
* [THRIFT-4193] - Lower the default maxReadBufferBytes for non-blocking servers
* [THRIFT-4195] - Compilation to GO produces broken code
* [THRIFT-4196] - Cannot generate recursive Rust types
* [THRIFT-4204] - typo in compact spec
* [THRIFT-4206] - Strings in container fields are not decoded properly with py:dynamic and py:utf8strings
* [THRIFT-4208] - C# NamedPipesServer not really working in some scenarios
* [THRIFT-4211] - Fix GError glib management under Thrift
* [THRIFT-4212] - c_glib flush tries to close SSL even if socket is invalid
* [THRIFT-4213] - Travis build fails at curl -sSL https://www.npmjs.com/install.sh | sh
* [THRIFT-4215] - Golang TTransportFactory Pattern Squelches Errors
* [THRIFT-4216] - Golang Http Clients Do Not Respect User Options
* [THRIFT-4218] - Set TCP_NODELAY for PHP client socket
* [THRIFT-4219] - Golang HTTP clients created with Nil buffer
* [THRIFT-4231] - TJSONProtocol throws unexpected non-Thrift-exception on null strings
* [THRIFT-4232] - ./configure does bad ant version check
* [THRIFT-4234] - Travis build fails cross language tests with "Unsupported security protocol type"
* [THRIFT-4237] - Go TServerSocket Race Conditions
* [THRIFT-4240] - Go TSimpleServer does not close properly
* [THRIFT-4243] - Go TSimpleServer race on wait in Stop() method
* [THRIFT-4245] - Golang TFramedTransport's writeBuffer increases if writes to transport failed
* [THRIFT-4246] - Sequence number mismatch on multiplexed clients
* [THRIFT-4247] - Compile fails with openssl 1.1
* [THRIFT-4248] - Compile fails - strncpy, memcmp, memset not declared in src/thrift/transport/TSSLSocket.cpp
* [THRIFT-4251] - Java Epoll Selector Bug
* [THRIFT-4257] - Typescript async callbacks do not provide the correct types
* [THRIFT-4258] - Boost/std thread wrapping faultiness
* [THRIFT-4260] - Go context generation issue. Context is parameter in Interface not in implementation
* [THRIFT-4261] - Go context generation issue: breaking change in generated code regarding thrift.TProcessorFunction interface
* [THRIFT-4262] - Invalid binding to InterlockedCompareExchange64() with 64-bit targets
* [THRIFT-4263] - Fix use after free bug for thrown exceptions
* [THRIFT-4266] - Erlang library throws during skipping fields of composite type (maps, lists, structs, sets)
* [THRIFT-4268] - Erlang library emits debugging output in transport layer
* [THRIFT-4273] - erlang:now/0: Deprecated BIF.
* [THRIFT-4274] - Python feature tests for SSL/TLS failing
* [THRIFT-4279] - Wrong path in include directive in generated Thrift sources
* [THRIFT-4283] - TNamedPipeServer race condition in interrupt
* [THRIFT-4284] - File contains a NBSP: lib/nodejs/lib/thrift/web_server.js
* [THRIFT-4290] - C# nullable option generates invalid code for non-required enum field with default value
* [THRIFT-4292] - TimerManager::remove() is not implemented
* [THRIFT-4307] - Make ssl-open timeout effective in golang client
* [THRIFT-4312] - Erlang client cannot connect to Python server: exception error: econnrefused
* [THRIFT-4313] - Program code of the Erlang tutorial files contain syntax errors
* [THRIFT-4316] - TByteBuffer.java will read too much data if a previous read returns fewer bytes than requested
* [THRIFT-4319] - command line switch for "evhttp" incorrectly resolved to anon pipes
* [THRIFT-4323] - range check errors or NPE in edge cases
* [THRIFT-4324] - field names can conflict with local vars in generated code
* [THRIFT-4328] - Travis CI builds are timing out (job 1) and haxe builds are failing since 9/11
* [THRIFT-4329] - c_glib Doesn't have a multiplexed processor
* [THRIFT-4331] - C++: TSSLSockets bug in handling huge messages, bug in handling polling
* [THRIFT-4332] - Binary protocol has memory leaks
* [THRIFT-4334] - Perl indentation incorrect when defaulting field attribute to a struct
* [THRIFT-4339] - Thrift Framed Transport in Erlang crashes server when client disconnects
* [THRIFT-4340] - Erlang fix a crash on client close
* [THRIFT-4355] - Javascript indentation incorrect when defaulting field attribute to a struct
* [THRIFT-4356] - thrift_protocol call Transport cause Segmentation fault
* [THRIFT-4359] - Haxe compiler looks like it is producing incorrect code for map or set key that is binary type
* [THRIFT-4362] - Missing size-check can lead to huge memory allocation
* [THRIFT-4364] - Website contributing guide erroneously recommends submitting patches in JIRA
* [THRIFT-4365] - Perl generated code uses indirect object syntax, which occasionally causes compilation errors.
* [THRIFT-4367] - python TProcessor.process is missing "self"
* [THRIFT-4370] - Ubuntu Artful cppcheck and flake8 are more stringent and causing SCA build job failures
* [THRIFT-4372] - Pipe write operations across a network are limited to 65,535 bytes per write.
* [THRIFT-4374] - cannot load thrift_protocol due to undefined symbol: _ZTVN10__cxxabiv120__si_class_type_infoE
* [THRIFT-4376] - Coverity high impact issue resolution
* [THRIFT-4377] - haxe. socket handles leak in TSimpleServer
* [THRIFT-4381] - Wrong isset bitfield value after transmission
* [THRIFT-4385] - Go remote client -u flag is broken
* [THRIFT-4392] - compiler/..../plugin.thrift structs mis-ordered blows up ocaml generator
* [THRIFT-4395] - Unable to build in the ubuntu-xenial docker image: clap 2.28 requires Rust 1.20
* [THRIFT-4396] - inconsistent (or plain wrong) version numbers in master/trunk
## Documentation
* [THRIFT-4157] - outdated readme about Haxe installation on Linux
## Improvement
* [THRIFT-105] - make a thrift_spec for a structures with negative tags
* [THRIFT-281] - Cocoa library code needs comments, badly
* [THRIFT-775] - performance improvements for Perl
* [THRIFT-2221] - Generate c++ code with std::shared_ptr instead of boost::shared_ptr.
* [THRIFT-2364] - OCaml: Use Oasis exclusively for build process
* [THRIFT-2504] - TMultiplexedProcessor should allow registering default processor called if no service name is present
* [THRIFT-3207] - Enable build with OpenSSL 1.1.0 series
* [THRIFT-3272] - Perl SSL Authentication Support
* [THRIFT-3357] - Generate EnumSet/EnumMap where elements/keys are enums
* [THRIFT-3369] - Implement SSL/TLS support on C with c_glib
* [THRIFT-3467] - Go Maps for Thrift Sets Should Have Values of Type struct{}
* [THRIFT-3580] - THeader for Haskell
* [THRIFT-3627] - Missing basic code style consistency of JavaScript.
* [THRIFT-3706] - There's no support for Multiplexed protocol on c_glib library
* [THRIFT-3766] - Add getUnderlyingTransport() to TZlibTransport
* [THRIFT-3776] - Go code from multiple thrift files with the same namespace
* [THRIFT-3823] - Escape documentation while generating non escaped documetation
* [THRIFT-3854] - allow users to clear read buffers
* [THRIFT-3859] - Unix Domain Socket Support in Objective-C
* [THRIFT-3921] - C++ code should print enums as strings
* [THRIFT-3926] - There should be an error emitted when http status code is not 200
* [THRIFT-4007] - Micro-optimization of TTransport.py
* [THRIFT-4040] - Add real cause of TNonblockingServerSocket error to exception
* [THRIFT-4064] - Update node library dependencies
* [THRIFT-4069] - All perl packages should have proper namespace, version syntax, and use proper thrift exceptions
* [THRIFT-4071] - Consolidate the Travis CI jobs where possible to put less stress on the Apache Foundation's allocation of CI build slaves
* [THRIFT-4072] - Add the possibility to send custom headers in TCurlClient
* [THRIFT-4075] - Better MinGW support for headers-only boost (without thread library)
* [THRIFT-4081] - Provide a MinGW 64-bit Appveyor CI build for better pull request validation
* [THRIFT-4084] - Improve SSL security in thrift by adding a make cross client that checks to make sure SSLv3 protocol cannot be negotiated
* [THRIFT-4095] - Add multiplexed protocol to Travis CI for make cross
* [THRIFT-4099] - Auto-derive Hash for generated Rust structs
* [THRIFT-4110] - The debian build files do not produce a "-dbg" package for debug symbols of libthrift0
* [THRIFT-4114] - Space after '///' in doc comments
* [THRIFT-4126] - Validate objects in php extension
* [THRIFT-4130] - Ensure Apache Http connection is released back to pool after use
* [THRIFT-4151] - Thrift Mutex Contention Profiling (pthreads) should be disabled by default
* [THRIFT-4176] - Implement a threaded and threadpool server type for Rust
* [THRIFT-4183] - Named pipe client blocks forever on Open() when there is no server at the other end
* [THRIFT-4190] - improve C# TThreadPoolServer defaults
* [THRIFT-4197] - Implement transparent gzip compression for HTTP transport
* [THRIFT-4198] - Ruby should log Thrift internal errors to global logger
* [THRIFT-4203] - thrift server stop gracefully
* [THRIFT-4205] - c_glib is not linking against glib + gobject
* [THRIFT-4209] - warning CS0414 in T[TLS]ServerSocket.cs
* [THRIFT-4210] - include Thrift.45.csproj into CI runs
* [THRIFT-4217] - HttpClient should support gzip and deflate
* [THRIFT-4222] - Support Unix Domain Sockets in Golang TServerSocket
* [THRIFT-4233] - Make THsHaServer.invoker available (get method only) in inherited classes
* [THRIFT-4236] - Support context in go generated code.
* [THRIFT-4238] - JSON generator: make annotation-aware
* [THRIFT-4269] - Don't append '.' to Erlang namespace if it ends in '_'.
* [THRIFT-4270] - Generate Erlang mapping functions for const maps and lists
* [THRIFT-4275] - Add support for zope.interface only, apart from twisted support.
* [THRIFT-4285] - Pull generated send/recv into library to allow behaviour to be customised
* [THRIFT-4287] - Add c++ compiler "no_skeleton" flag option
* [THRIFT-4288] - Implement logging levels properly for node.js
* [THRIFT-4295] - Refresh the Docker image file suite for Ubuntu, Debian, and CentOS
* [THRIFT-4305] - Emit ddoc for generated items
* [THRIFT-4306] - Thrift imports not replicated to D service output
* [THRIFT-4315] - Add default message for TApplicationException
* [THRIFT-4318] - Delphi performance improvements
* [THRIFT-4325] - Simplify automake cross compilation by relying on one global THRIFT compiler path
* [THRIFT-4327] - Improve TimerManager API to allow removing specific task
* [THRIFT-4330] - Allow unused crates in Rust files
* [THRIFT-4333] - Erlang tutorial examples are using a different port (9999)
* [THRIFT-4343] - Change CI builds to use node.js 8.x LTS once available
* [THRIFT-4345] - Create a docker build environment that uses the minimum supported language levels
* [THRIFT-4346] - Allow Zlib transport factory to wrap other transports
* [THRIFT-4348] - Perl HTTP Client custom HTTP headers
* [THRIFT-4350] - Update netcore build for dotnet 2.0 sdk and make cross validation
* [THRIFT-4351] - Use Travis CI Build Stages to optimize the CI build
* [THRIFT-4353] - cannot read via thrift_protocol at server side
* [THRIFT-4378] - add set stopTimeoutUnit method to TThreadPoolServer
## New Feature
* [THRIFT-750] - C++ Compiler Virtual Function Option
* [THRIFT-2945] - Implement support for Rust language
* [THRIFT-3857] - thrift js:node complier support an object as parameter not an instance of struct
* [THRIFT-3933] - Port official C# .NET library for Thrift to C# .NET Core libary
* [THRIFT-4039] - Update of Apache Thrift .Net Core lib
* [THRIFT-4113] - Provide a buffer transport for reading/writing in memory byte stream
## Question
* [THRIFT-2956] - autoconf - possibly undefined macro - AC_PROG_BISON
* [THRIFT-4223] - Add support to the isServing() method for the C++ library
## Task
* [THRIFT-3622] - Fix deprecated uses of std::auto_ptr
* [THRIFT-4028] - Please remove System.out.format from the source code
* [THRIFT-4186] - Build and test rust client in Travis
## Test
* [THRIFT-4264] - PHP - Support both shared & static linking of sockets library
## Wish
* [THRIFT-4344] - Define and maintain the minimum language level for all languages in one place
Thrift 0.10.0
--------------------------------------------------------------------------------
## Bug
* [THRIFT-1840] - Thrift Generated Code Causes Global Variable Leaks
* [THRIFT-1828] - moc_TQTcpServer.cpp was removed from source tree but is in thrift-0.9.0.tar.gz
* [THRIFT-1790] - cocoa: Duplicate interface definition error
* [THRIFT-1776] - TPipeServer should implement "listen", so that TServerEventHandler preServe will work right
* [THRIFT-1351] - Compiler does not care about binary strings
* [THRIFT-1229] - Python fastbinary.c can not handle unicode as generated python code
* [THRIFT-749] - C++ TBufferedTransports do not flush their buffers on delete
* [THRIFT-747] - C++ TSocket->close calls shutdown breaking forked parent process
* [THRIFT-732] - server exits abnormally when client calls send_xxx function without calling recv_xxx function
* [THRIFT-3942] - TSSLSocket does not honor send and receive timeouts
* [THRIFT-3941] - WinXP version of thrift_poll() relies on undefined behavior by passing a destructed variable to select()
* [THRIFT-3940] - Visual Studio project file for compiler is broken
* [THRIFT-3943] - Coverity Scan identified some high severity defects
* [THRIFT-3929] - PHP "nsglobal" Option Results in Syntax Error in Generated Code (Trailing Backslash)
* [THRIFT-3936] - Cannot compile 0.10.0 development tip with VS2013 and earlier (snprintf, uint32_t)
* [THRIFT-3935] - Incorrect skipping of map and set
* [THRIFT-3920] - Ruby: Ensuring that HTTP failures will clear the http transport outbuf var
* [THRIFT-3919] - C# TTLSServerSocket does not use clientTimeout
* [THRIFT-3917] - Check backports.ssl_match_hostname module version
* [THRIFT-3909] - Fix c_glib static lib CMake build
* [THRIFT-3904] - Typo in node tutorial leads to wrong transport being used
* [THRIFT-3848] - As an implementer of a perl socket server, I do not want to have to remember to ignore SIGCHLD for it to work properly
* [THRIFT-3844] - thrift_protocol cannot compile in 7.0.7
* [THRIFT-3843] - integer issues with Haxe PHP targets cause ZigZag encoding to fail
* [THRIFT-3842] - Dart generates incorrect code for a const struct
* [THRIFT-3841] - dart compact protocol incorrectly serializes/deserialized doubles
* [THRIFT-3708] - NameError: global name 'TProtocol' is not defined
* [THRIFT-3704] - "TConnectedClient died: Could not refill buffer" message shown when using HTTP Server
* [THRIFT-3678] - Fix javadoc errors on JDK 8
* [THRIFT-3014] - AppVeyor support
* [THRIFT-2994] - Node.js TJSONProtocol cannot be used for object serialization.
* [THRIFT-2974] - writeToParcel throws NPE for optional enum fields
* [THRIFT-2948] - Python TJSONProtocol doesn't handle structs with binary fields containing invalid unicode.
* [THRIFT-2845] - ChildService.Plo: No such file or directory
* [THRIFT-3276] - Binary data does not decode correctly using the TJSONProtocol when the base64 encoded data is padded.
* [THRIFT-3253] - Using latest version of D gives deprecation notices
* [THRIFT-2883] - TTwisted.py, during ConnectionLost processing: exceptions.RuntimeError: dictionary changed size during iteration
* [THRIFT-2019] - Writing on a disconnected socket on Mac causes SIG PIPE
* [THRIFT-2020] - Thrift library has some empty files that haven't really been deleted
* [THRIFT-2049] - Go compiler doesn't build on native Windows
* [THRIFT-2024] - TServer.cpp warns on 64-bit platforms about truncating an rlim_t into an int
* [THRIFT-2023] - gettimeofday implementation on Windows errors when no time zone is passed in.
* [THRIFT-2022] - CoB and dense code generation still uses TR1 bind, even though that doesn't work with clang
* [THRIFT-2027] - Minor 64-bit and NOMINMAX issues in C++ library
* [THRIFT-2156] - TServerSocket::listen() is throwing exceptions with misleading information
* [THRIFT-2154] - Missing <operator body
* [THRIFT-2148] - TNonblockingMultiFetchClient imports log4j
* [THRIFT-2103] - [python] Support for SSL certificates with Subject Alternative Names
* [THRIFT-1931] - Sending a frame size of zero to a TNonblockingServer causes an assertion failure
* [THRIFT-1751] - definition of increase_max_fds doesn't compile when HAVE_SYS_RESOURCE_H is not defined
* [THRIFT-1522] - TServerSocket potential memory leak with addrinfo *res0
* [THRIFT-1547] - Problems building against static libevent
* [THRIFT-1545] - Generated javascript code uses "for in" for looping over arrays
* [THRIFT-1487] - Namespace problem, compile fails on generated code
* [THRIFT-1472] - Configuration conflicts with boost platform include header
* [THRIFT-6] - Thrift libraries and compiler lack version number
* [THRIFT-1680] - make install requires GNU make
* [THRIFT-3869] - Dart Tutorial build fails with Error 65 at "pub get"
* [THRIFT-3861] - Travis CI builds are timing out - C++TServerIntegrationTest appears to be hanging
* [THRIFT-3855] - In the go simple server, if Stop() is called multiple times it hangs
* [THRIFT-3885] - PHP: Error when readI64 in TCompactProtocol
* [THRIFT-3883] - Go TestAllConnection can fail with port 9090 collision
* [THRIFT-3884] - Fix Erlang compact protocol double endianess and boolean list
* [THRIFT-3880] - Erlang Compact protocol - boolean values inverted
* [THRIFT-3879] - Undefined evaluation order causes incorrect processing in the C++ library JSON protocol
* [THRIFT-3851] - Golang thrift continually adds the x/thrift content type
* [THRIFT-3850] - All apache builds are failing when initiated from a github pull request
* [THRIFT-3837] - Thift 0.9.3 can't be build with QuickCheck 2.8.2 and unordered-containers 0.2.6
* [THRIFT-3831] - build of test/cpp/src/TestClient.cpp fails with newer gcc on platforms with unsigned char due to narrowing conversions
* [THRIFT-3827] - php CompactProtocol readI64 function has bug, when value has 32bit ~64bit, Example:value=1461563457000
* [THRIFT-3825] - Javascript test dependency is no longer available
* [THRIFT-3814] - Fix contention in TNonblockingServerTest
* [THRIFT-3793] - Appveyor builds reference an ant version that is no longer there
* [THRIFT-3786] - Node.js TLS emits 'connect' before connection is ready
* [THRIFT-3780] - Fix dart int64 usage when compiled to js
* [THRIFT-3789] - Node.js lacks ability to destroy connection
* [THRIFT-3796] - There's no --dbg for dh_strip, maybe someone has mistaken this for --dbg-package.
* [THRIFT-3795] - Generated hashValue method in Swift will overflow
* [THRIFT-3790] - Fix Delphi named pipe client to use timeout even when pipe doesn't yet exist
* [THRIFT-3787] - Node.js Connection object doesn't handle errors correctly
* [THRIFT-3791] - Delphi pipe client may fail even in a non-error condition
* [THRIFT-3771] - TBufferedTransport gets in invalid state on read/write errors
* [THRIFT-3764] - PHP "make install" does not install TMultiplexedProtocol.php nor TSimpleJSONProtocol.php
* [THRIFT-3768] - TThreadedServer may crash if it is destroyed immediately after it returns from serve(); TThreadedServer disconnects clients
* [THRIFT-3765] - memory leak in python compact protocol extension
* [THRIFT-3758] - TApplicationException::getType and TProtocolException::getType should be const
* [THRIFT-3763] - Fix serialization of i64 larger than 2^53 for browserify
* [THRIFT-3759] - required fields that are nil are silently ignored on write
* [THRIFT-3753] - TServerFramework::stop may fail to interrupt connected clients
* [THRIFT-3755] - TDebugProtocol::writeString hits assert in isprint on Windows with debug CRT
* [THRIFT-3751] - Compiler allows field ids that are too large for generated code
* [THRIFT-3748] - Node.js Deserialization of lists of lists is broken
* [THRIFT-3760] - Fix install paths etc of debian packages for py and perl
* [THRIFT-3757] - Fix various build warnings on Windows with VS2015 compiler
* [THRIFT-3750] - NSCopying copyWithZone: implementation does not check isSet
* [THRIFT-3747] - Duplicate node.js build on Travis-CI
* [THRIFT-3744] - The precision should be 17 (16 bits need after dot) after dot for double type.
* [THRIFT-3741] - haxe test is broken
* [THRIFT-3739] - Deprecation warning in codegen/base.d
* [THRIFT-3735] - JSON protocol left in incorrect state when an exception is thrown during read or write operations
* [THRIFT-3734] - To compare two string as lowercase.
* [THRIFT-3743] - Java JSON protocol left in incorrect state when an exception is thrown during read or write operations
* [THRIFT-3731] - Perl multiplex test is flaky
* [THRIFT-3729] - Restrict rake version
* [THRIFT-3727] - Incorrect require paths in Node.js tutorial
* [THRIFT-3723] - Fix Lua include path
* [THRIFT-3722] - Fix cert path in C++ cross tests for non-Linux platform
* [THRIFT-3726] - Fix incorrect conditional in TMultiplexedProcessor.py
* [THRIFT-3725] - Skip a flaky cross test entry (d-dart compact framed-ip)
* [THRIFT-3724] - Fix incorrect timeval conversion in libevent.d
* [THRIFT-3721] - CLONE - why not add unicode strings support to python directly?
* [THRIFT-3720] - TTcpSocketStreamImpl.Read() returns 0 if not all requested bytes could be read
* [THRIFT-3719] - Dart generator should use lowerCamelCase for service names
* [THRIFT-3902] - TSocket.open throws NullPointerException
* [THRIFT-3901] - TFramedTransport.open throws NullPointerException
* [THRIFT-3893] - Command injection in format_go_output
* [THRIFT-3807] - Swift compiler does not escape reserved words
* [THRIFT-3798] - THttpClient does not use proxy from http_proxy, https_proxy environment variables
* [THRIFT-3809] - wrong/unused BINARY type code
* [THRIFT-3806] - Swift generator does not handle self-referring structs
* [THRIFT-3805] - Golang server susceptible to memory spike from malformed message
* [THRIFT-3797] - Generated Delphi processor shouldn't error out on timed out exceptions
* [THRIFT-3813] - Appveyor builds reference an openssl version that is no longer there
* [THRIFT-3658] - Missing file in THRIFT-3599
* [THRIFT-3649] - Python TSaslClientTransport initializes TTransportException incorrectly
* [THRIFT-3650] - incorrect union serialization
* [THRIFT-3713] - lib/d/test/thrift_test_runner.sh is flaky on Jenkins
* [THRIFT-3668] - range check error in compact protocol
* [THRIFT-3663] - CMake cpp test fails to build on system without zlib
* [THRIFT-3712] - TTornadoServer cannot handle IPv6 address
* [THRIFT-3710] - Dart generator does not camel case Constants class names
* [THRIFT-3697] - Dart generator does not name imports
* [THRIFT-3690] - Work around docker image build failures on Travis-CI
* [THRIFT-3689] - thrift_reconnecting_client start failed when server is not available
* [THRIFT-3695] - Fix D test scripts
* [THRIFT-3675] - Union is not serialized correctly by Thrift C Glib
* [THRIFT-3673] - API fails with std::exception after a timeout occured in earlier any API call
* [THRIFT-3709] - Comment syntax can produce broken code
* [THRIFT-3705] - Go map has incorrect types when used with forward-defined types
* [THRIFT-3702] - Fix cross tests for Dart compact protocol (3 failing)
* [THRIFT-3683] - BadYieldError in thrift py:tornado server
* [THRIFT-3682] - Do not reuse refused sockets in test scripts
* [THRIFT-3681] - Fix Dart tutorial build
* [THRIFT-3680] - Java async processor fails to notify errors to clients
* [THRIFT-3714] - Thrift.TProtocolException is not defined in js/src/thrift.js
* [THRIFT-3688] - Fix socket bind failure detection of cross test
* [THRIFT-3641] - Ruby client should try to connect to every result of getaddrinfo
* [THRIFT-3635] - D transport_test is flaky on Jenkins and Travis
* [THRIFT-3618] - Python TSSLSocket deprecation message should print caller's location
* [THRIFT-3145] - JSON protocol does not handle bool and empty containers correctly
* [THRIFT-3158] - TBase<T,F>#deepCopy should return T
* [THRIFT-3157] - TBase signature should be TBase<T extends TBase<T,F>, F extends TFieldIdEnum>
* [THRIFT-3156] - Node TLS: server executes processing logic two full times
* [THRIFT-3154] - tutorial/py.tornado throw EOF exception
* [THRIFT-3063] - C++ build -Wunused-parameter warnings on processor_test, TransportTest
* [THRIFT-3056] - Add string/collection length limits for Python protocol readers
* [THRIFT-3237] - Fix TNamedPipeServer::createNamedPipe memory leak
* [THRIFT-3233] - Fix C++ ThreadManager::Impl::removeWorker worker join
* [THRIFT-3232] - Cannot deserialize json messages created with fieldNamesAsString
* [THRIFT-3206] - Fix Visual Studio build failure due 'pthread_self': identifier not found
* [THRIFT-3200] - JS and nodejs do not encode JSON protocol binary fields as base64
* [THRIFT-3199] - Exception field has basic metadata
* [THRIFT-3182] - TFramedTransport is in an invalid state after frame size exception
* [THRIFT-2536] - new TSocket, uninitialised value reported by valgrind
* [THRIFT-2527] - Apache Thrift IDL Compiler code generated for Node.js should be jshint clean
* [THRIFT-2519] - "processor" class is not being generated
* [THRIFT-2431] - TFileTransportTest fails with "check delta < XXX failed"
* [THRIFT-2708] - Erlang library does not support "oneway" message type
* [THRIFT-3377] - Deep copy is actually shallow when using typedef members
* [THRIFT-3376] - C# and Python JSON protocol double values lose precision
* [THRIFT-3373] - Various fixes for cross test servers and clients
* [THRIFT-3370] - errno extern variable redefined. Not compiling for Android
* [THRIFT-3379] - Potential out of range panic in Go JSON protocols
* [THRIFT-3371] - Abstract namespace Unix domain sockets broken in C++
* [THRIFT-3380] - nodejs: 0.9.2 -> 0.9.3 upgrade breaks Protocol and Transport requires
* [THRIFT-3367] - Fix bad links to coding_standards.md #634
* [THRIFT-3401] - Nested collections emit Objective-C code that cannot compile
* [THRIFT-3403] - JSON String reader doesn't recognize UTF-16 surrogate pairs
* [THRIFT-3362] - make check fails for C++ at the SecurityTest
* [THRIFT-3395] - Cocoa compiler produces corrupt code when boxing enums inside map.
* [THRIFT-3394] - compiler generates uncompilable code
* [THRIFT-3388] - hash doesn't work on set/list
* [THRIFT-3391] - Wrong bool formatting in test server
* [THRIFT-3390] - TTornado server doesn't handle closed connections properly
* [THRIFT-3382] - TBase class for C++ Library
* [THRIFT-3392] - Java TZlibTransport does not close its wrapper streams upon close()
* [THRIFT-3383] - i64 related warnings
* [THRIFT-3386] - misc. warnings with make check
* [THRIFT-3385] - warning: format ‘%lu’ expects ‘long unsigned int’, but has type ‘std::basic_string<char>::size_type {aka unsigned int}
* [THRIFT-3355] - npm WARN package.json [email protected] No license field.
* [THRIFT-3360] - Improve cross test servers and clients further
* [THRIFT-3359] - Binary field incompatibilities
* [THRIFT-3354] - Fix word-extraction substr bug in initialism code
* [THRIFT-3350] - Python JSON protocol does not encode binary as Base64
* [THRIFT-3577] - assertion failed at line 512 of testcontainertest.c
* [THRIFT-3576] - Boost test --log_format arg does not accept lowercase
* [THRIFT-3575] - Go compiler tries to use unexported library methods when using read_write_private
* [THRIFT-3574] - Cocoa generator makes uncompilable imports
* [THRIFT-3570] - Remove duplicate instances that are added by upstream
* [THRIFT-3571] - Make feature test result browsable
* [THRIFT-3569] - c_glib protocols do not check number of bytes read by transport
* [THRIFT-3568] - THeader server crashes on readSlow
* [THRIFT-3567] - GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
* [THRIFT-3566] - C++/Qt: TQTcpServerTest::test_communicate() is never executed
* [THRIFT-3564] - C++/Qt: potential core dump in TQTcpServer in case an exception occurs in TAsyncProcessor::process()
* [THRIFT-3558] - typos in c_glib tests
* [THRIFT-3559] - Fix awkward extra semi-colons with Cocoa container literals
* [THRIFT-3555] - 'configure' script does not honor --with-openssl=<path> for libcrypto for BN_init
* [THRIFT-3554] - Constant decls may lead to "Error: internal error: prepare_member_name_mapping() already active for different struct"
* [THRIFT-3552] - glib_c Memory Leak
* [THRIFT-3551] - Thrift perl library missing package declaration
* [THRIFT-3549] - Exceptions are not properly stringified in Perl library
* [THRIFT-3546] - NodeJS code should not be namespaced (and is currently not strict-mode compliant)
* [THRIFT-3545] - Container type literals do not compile
* [THRIFT-3538] - Remove UnboundMethodType in TProtocolDecorator
* [THRIFT-3536] - Error 'char' does not contain a definition for 'IsLowSurrogate' for WP7 target
* [THRIFT-3534] - Link error when building with Qt5
* [THRIFT-3533] - Can not send nil pointer as service method argument
* [THRIFT-3507] - THttpClient does not use proxy from http_proxy, https_proxy environment variables
* [THRIFT-3502] - C++ TServerSocket passes small buffer to getsockname
* [THRIFT-3501] - Forward slash in comment causes compiler error
* [THRIFT-3498] - C++ library assumes optional function pthread_attr_setschedpolicy is available
* [THRIFT-3497] - Build fails with "invalid use of incomplete type"
* [THRIFT-3496] - C++: Cob style client fails when sending a consecutive request
* [THRIFT-3493] - libthrift does not compile on windows using visual studio
* [THRIFT-3488] - warning: unused variable 'program'
* [THRIFT-3489] - warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
* [THRIFT-3487] - Full support for newer Delphi versions
* [THRIFT-3528] - Fix warnings in thrift.ll
* [THRIFT-3527] - -gen py:dynamic,utf8strings ignores utf8strings option
* [THRIFT-3526] - Code generated by py:utf8strings does not work for Python3
* [THRIFT-3524] - dcc32 warning "W1000 Symbol 'IsLowSurrogate' is deprecated: 'Use TCharHelper'" in Thrift.Protocol.JSON.pas
* [THRIFT-3525] - py:dynamic fails to handle binary list/set/map element
* [THRIFT-3521] - TSimpleJSONProtocolTest is not deterministic (fails when run on JDK 8)
* [THRIFT-3520] - Dart TSocket onError stream should be typed as Object
* [THRIFT-3519] - fastbinary does not work with -gen py:utf8strings
* [THRIFT-3518] - TConcurrentClientSyncInfo files were missing for Visual Studio
* [THRIFT-3512] - c_glib: Build fails due to missing features.h
* [THRIFT-3483] - Incorrect empty binary handling introduced by THRIFT-3359
* [THRIFT-3479] - Oneway calls should not return exceptions to clients
* [THRIFT-3478] - Restore dropped method to THsHaServer.java
* [THRIFT-3477] - Parser fails on enum item that starts with 'E' letter and continues with number
* [THRIFT-3476] - Missing include in ./src/thrift/protocol/TJSONProtocol.cpp
* [THRIFT-3474] - Docker: thrift-compiler
* [THRIFT-3473] - When "optional' is used with a struct member, C++ server seems to not return it correctly
* [THRIFT-3468] - Dart TSocketTransport onError handler is too restrictive
* [THRIFT-3451] - thrift_protocol PHP extension missing config.m4 file
* [THRIFT-3456] - rounding issue in static assert
* [THRIFT-3455] - struct write method's return value is incorrect
* [THRIFT-3454] - Python Tornado tutorial is broken
* [THRIFT-3463] - Java can't be disabled in CMake build
* [THRIFT-3450] - NPE when using SSL
* [THRIFT-3449] - TBaseAsyncProcessor fb.responseReady() never called for oneway functions
* [THRIFT-3471] - Dart generator does not handle uppercase argument names
* [THRIFT-3470] - Sporadic timeouts with pipes
* [THRIFT-3465] - Go Code With Complex Const Initializer Compilation Depends On Struct Order
* [THRIFT-3464] - Fix several defects in c_glib code generator
* [THRIFT-3462] - Cocoa generates Incorrect #import header names
* [THRIFT-3453] - remove rat_exclude
* [THRIFT-3418] - Use of ciphers in ssl.wrap_socket() breaks python 2.6 compatibility
* [THRIFT-3417] - "namespace xsd" is not really working
* [THRIFT-3413] - Thrift code generation bug in Go when extending service
* [THRIFT-3420] - C++: TSSLSockets are not interruptable
* [THRIFT-3415] - include unistd.h conditionally
* [THRIFT-3414] - #include <pwd.h> in THeaderTransport.h breaks windows build
* [THRIFT-3411] - Go generates remotes with wrong package qualifiers when including
* [THRIFT-3430] - Go THttpClient does not read HTTP response body to completion when closing
* [THRIFT-3423] - First call to thrift_transport:read_exact fails to dispatch correct function
* [THRIFT-3422] - Go TServerSocket doesn't close on Interrupt
* [THRIFT-3421] - rebar as dependency instead of bundling (was: rebar fails if PWD contains Unicode)
* [THRIFT-3428] - Go test fails when running make check
* [THRIFT-3445] - Throwable messages are hidden from JVM stack trace output
* [THRIFT-3443] - Thrift include can generate uncompilable code
* [THRIFT-3444] - Large 64 bit Integer does not preserve value through Node.js JSONProtocol
* [THRIFT-3436] - misc. cross test issues with UTF-8 path names
* [THRIFT-3435] - Put generated Java code for fullcamel tests in a separate package/namespace
* [THRIFT-3433] - Doubles aren't interpreted correctly
* [THRIFT-3437] - Mingw-w64 build fail
* [THRIFT-3434] - Dart generator produces empty name in pubspec.yaml for includes without namespaces
* [THRIFT-3408] - JSON generator emits incorrect types
* [THRIFT-3406] - Cocoa client should not schedule streams on main runloop
* [THRIFT-3404] - JSON String reader doesn't recognize UTF-16 surrogate pair
* [THRIFT-3636] - Double precision is not fully preserved in C++ TJSONProtocol
* [THRIFT-3632] - c_glib testserialization fails with glib assertion
* [THRIFT-3619] - Using Thrift 0.9.3 with googletest on Linux gcc 4.9 / C++11
* [THRIFT-3617] - CMake does not build gv/xml generators
* [THRIFT-3615] - Fix Python SSL client resource leak on connection failure
* [THRIFT-3616] - lib/py/test/test_sslsocket.py is flaky
* [THRIFT-3643] - Perl SSL server crushes if a client disconnect without handshake
* [THRIFT-3639] - C# Thrift library forces TLS 1.0, thwarting TLS 1.2 usage
* [THRIFT-3633] - Travis "C C++ - GCC" build was using clang
* [THRIFT-3634] - Fix Python TSocket resource leak on connection failure
* [THRIFT-3630] - Debian/Ubuntu install docs need an update
* [THRIFT-3629] - Parser sets exitcode on errors, but generator does not
* [THRIFT-3608] - lib/cpp/test/SecurityTest is flaky in jenkins Thrift-precommit build.
* [THRIFT-3601] - Better conformance to PEP8 for generated code
* [THRIFT-3599] - Validate client IP address against cert's SubjectAltName
* [THRIFT-3598] - TBufferedTransport doesn't instantiate client connection
* [THRIFT-3597] - `make check` hangs in go tests
* [THRIFT-3589] - Dart generator uses wrong name in constructor for uppercase arguments with defaults
* [THRIFT-3588] - Using TypeScript with --noImplicitAny fails
* [THRIFT-3584] - boolean false value cannot be transferred
* [THRIFT-3578] - Make THeaderTransport detect TCompact framed and unframed
* [THRIFT-3323] - Python library does not handle escaped forward slash ("/") in JSON
* [THRIFT-3322] - CMake generated "make check" failes on python_test
* [THRIFT-3321] - Thrift can't be added as a subdirectory of another CMake-based project
* [THRIFT-3314] - Dots in file names of includes causes dots in javascript variable names
* [THRIFT-3307] - Segfault in Ruby serializer
* [THRIFT-3309] - Missing TConstant.php in /lib/php/Makefile.am
* [THRIFT-3810] - unresolved external symbol public: virtual void __cdecl apache::thrift::server::TServerFramework::serve(void)
* [THRIFT-3736] - C++ library build fails if OpenSSL does not surrpot SSLv3
* [THRIFT-3878] - Compile error in TSSLSocket.cpp with new OpenSSL [CRYPTO_num_locks]
* [THRIFT-3949] - missing make dist entry for compiler/cpp/test
* [THRIFT-449] - The wire format of the JSON Protocol may not always be valid JSON if it contains non-UTF8 encoded strings
* [THRIFT-162] - Thrift structures are unhashable, preventing them from being used as set elements
* [THRIFT-3961] - TConnectedClient does not terminate the connection to the client if an exception while processing the received message occures.
* [THRIFT-3881] - Travis CI builds are failing due to docker failures (three retries, and gives up)
* [THRIFT-3937] - Cannot compile 0.10.0 development tip with gcc-4.6.x
* [THRIFT-3964] - Unsupported mechanism type ????? due to dependency on default OS-dependent charset
* [THRIFT-3038] - Use of volatile in cpp library
* [THRIFT-3301] - Java generated code uses imports that can lead to class name collisions with IDL defined types
* [THRIFT-3348] - PHP TCompactProtocol bool&int64 readvalue bug
* [THRIFT-3955] - TThreadedServer Memory Leak
* [THRIFT-3829] - Thrift does not install Python Libraries if Twisted is not installed
* [THRIFT-3932] - C++ ThreadManager has a rare termination race
* [THRIFT-3828] - cmake fails when Boost_INCLUDE_DIRS (and other variables passed to include_directories()) is empty
* [THRIFT-3958] - CMake WITH_MT option for windows static runtime linking does not support the cmake build type RelWithDebInfo
* [THRIFT-3957] - TConnectedClient does not disconnect from clients when their timeout is reached.
* [THRIFT-3953] - TSSLSocket::close should handle exceptions from waitForEvent because it is called by the destructor.
* [THRIFT-3977] - PHP extension creates undefined values when deserializing sets
* [THRIFT-3947] - sockaddr type isn't always large enough for the return of getsockname
* [THRIFT-2755] - ThreadSanitizer reports data race in ThreadManager::Impl::addWorker
* [THRIFT-3948] - errno is not the correct method of getting the error in windows
* [THRIFT-4008] - broken ci due to upstream dependency versioning break
* [THRIFT-3999] - Fix Debian & Ubuntu package dependencies
* [THRIFT-3886] - PHP cross test client returns 0 even when failing
* [THRIFT-3997] - building thrift libs does not support new openssl
## Documentation
* [THRIFT-3867] - Specify BinaryProtocol and CompactProtocol
## Epic
* [THRIFT-3049] - As an iOS developer, I want a generator and library that produces Swift code
* [THRIFT-2336] - UTF-8 sent by PHP as JSON is not understood by TJsonProtocol
## Improvement
* [THRIFT-1867] - Python client/server should support client-side certificates.
* [THRIFT-1313] - c_glib compact support
* [THRIFT-1385] - make install doesn't install java library in the setted folder
* [THRIFT-1437] - Update RPM spec
* [THRIFT-847] - Test Framework harmonization across all languages
* [THRIFT-819] - add Enumeration for protocol, transport and server types
* [THRIFT-3927] - Emit an error instead of throw an error in the async callback
* [THRIFT-3931] - TSimpleServer: If process request encounter UNKNOWN_METHOD, don't close transport.
* [THRIFT-3934] - Automatically resolve OpenSSL binary version on Windows CI
* [THRIFT-3918] - Run subset of make cross
* [THRIFT-3908] - Remove redundant dependencies from Dockerfile
* [THRIFT-3907] - Skip Docker image build on CI when unchanged
* [THRIFT-3868] - Java struct equals should do identity check before field comparison
* [THRIFT-3849] - Port Go serializer and deserializer to dart
* [THRIFT-2989] - Complete CMake build for Apache Thrift
* [THRIFT-2980] - ThriftMemoryBuffer doesn't have a constructor option to take an existing buffer
* [THRIFT-2856] - refactor erlang basic transports and unify interfaces
* [THRIFT-2877] - Optimize generated hashCode
* [THRIFT-2869] - JSON: run schema validation from tests
* [THRIFT-3112] - [Java] AsyncMethodCallback should be typed in generated AsyncIface
* [THRIFT-3263] - PHP jsonSerialize() should cast scalar types
* [THRIFT-2905] - Cocoa compiler should have option to produce "modern" Objective-C
* [THRIFT-2821] - Enable the use of custom HTTP-Header in the Transport
* [THRIFT-2093] - added the ability to set compression level in C++ zlib transport
* [THRIFT-2089] - Compiler ignores duplicate typenames
* [THRIFT-2056] - Moved all #include config.h statements to #include <thrift/config.h>
* [THRIFT-2031] - Make SO_KEEPALIVE configurable for C++ lib
* [THRIFT-2021] - Improve large binary protocol string performance
* [THRIFT-2028] - Cleanup threading headers / libraries
* [THRIFT-2014] - Change C++ lib includes to use <namespace/> style throughout
* [THRIFT-2312] - travis.yml: build everything
* [THRIFT-1915] - Multiplexing Services
* [THRIFT-1736] - Visual Studio top level project files within msvc
* [THRIFT-1735] - integrate tutorial into regular build
* [THRIFT-1533] - Make TTransport should be Closeable
* [THRIFT-35] - Move language tests into their appropriate library directory
* [THRIFT-1079] - Support i64 in AS3
* [THRIFT-1108] - SSL support for the Ruby library
* [THRIFT-3856] - update debian package deependencies
* [THRIFT-3833] - haxe http server implementation (by embeding into php web server)
* [THRIFT-3839] - Performance issue with big message deserialization using php extension
* [THRIFT-3820] - Erlang: Detect OTP >= 18 to use new time correction
* [THRIFT-3816] - Reduce docker build duration on Travis-CI
* [THRIFT-3815] - Put appveyor dependency versions to one place
* [THRIFT-3788] - Compatibility improvements and Win64 support
* [THRIFT-3792] - Timeouts for anonymous pipes should be configurable
* [THRIFT-3794] - Split Delphi application, protocol and transport exception subtypes into separate exceptions
* [THRIFT-3774] - The generated code should have exception_names meta info
* [THRIFT-3762] - Fix build warnings for deprecated Thrift "byte" fields
* [THRIFT-3756] - Improve requiredness documentation
* [THRIFT-3761] - Add debian package for Python3
* [THRIFT-3742] - haxe php cli support
* [THRIFT-3733] - Socket timeout improvements
* [THRIFT-3728] - http transport for thrift-lua
* [THRIFT-3905] - Dart compiler does not initialize bool, int, and double properties
* [THRIFT-3911] - Loosen Ruby dev dependency version requirements
* [THRIFT-3906] - Run C# tests with make check
* [THRIFT-3900] - Add Python SSL flags
* [THRIFT-3897] - Provide meaningful exception type based on WebExceptionStatus in case of timeout
* [THRIFT-3808] - Missing `DOUBLE` in thrift type enumeration
* [THRIFT-3803] - Remove "file" attribute from XML generator
* [THRIFT-3660] - Add V4 mapped address to test client cert's altname
* [THRIFT-3661] - Use https to download meck in erlang test build
* [THRIFT-3659] - Check configure result of CMake on CI
* [THRIFT-3667] - Add TLS SNI support to clients
* [THRIFT-3651] - Make backports.match_hostname and ipaddress optional
* [THRIFT-3666] - Build D tutorial as part of Autotools build
* [THRIFT-3665] - Add D libevent and OpenSSL to docker images
* [THRIFT-3664] - Remove md5.c
* [THRIFT-3662] - Add Haskell to debian docker image
* [THRIFT-3711] - Add D to cross language test
* [THRIFT-3691] - Run flake8 Python style check on Travis-CI
* [THRIFT-3692] - (Re)enable Appveyor C++ and Python build
* [THRIFT-3677] - Improve CMake Java build
* [THRIFT-3679] - Add stdout log to testBinary in Java test server
* [THRIFT-3718] - Reduce size of docker image for build environment
* [THRIFT-3698] - [Travis-CI] Introduce retry to apt commands
* [THRIFT-3127] - switch -recurse to --recurse and reserve -r
* [THRIFT-3087] - Pass on errors like "connection closed"
* [THRIFT-3240] - Thrift Python client should support subjectAltName and wildcard certs in TSSLSocket
* [THRIFT-3213] - make cross should indicate when it skips a known failing test
* [THRIFT-3208] - Fix Visual Studio solution build failure due to missing source
* [THRIFT-3186] - Add TServerHTTP to Go library
* [THRIFT-2342] - Add __FILE__ and __LINE__ to Thrift C++ excpetions
* [THRIFT-3372] - Add dart generator to Visual Studio project
* [THRIFT-3366] - ThriftTest to implement standard return values
* [THRIFT-3402] - Provide a perl Unix Socket implementation
* [THRIFT-3361] - Improve C# library
* [THRIFT-3393] - Introduce i8 to provide consistent set of Thrift IDL integer types
* [THRIFT-3339] - Support for database/sql
* [THRIFT-3565] - C++: T[Async]Processor::getEventHandler() should be declared as const member functions
* [THRIFT-3563] - C++/Qt: removed usage of macro QT_PREPEND_NAMESPACE as it isn't consequently used for all references to Qt types.
* [THRIFT-3562] - Removed unused TAsyncProcessor::getAsyncServer()
* [THRIFT-3561] - C++/Qt: make use of Q_DISABLE_COPY() to get rid of copy ctor and assignment operator
* [THRIFT-3556] - c_glib file descriptor transport
* [THRIFT-3544] - Make cross test fail when server process died unexpectedly
* [THRIFT-3540] - Make python tutorial more in line with PEP8
* [THRIFT-3535] - Dart generator argument to produce a file structure usable in parent library
* [THRIFT-3505] - Enhance Python TSSLSocket
* [THRIFT-3506] - Eliminate old style classes from library code
* [THRIFT-3503] - Enable py:utf8string by default
* [THRIFT-3499] - Add package_prefix to python generator
* [THRIFT-3495] - Minor enhancements and fixes for cross test
* [THRIFT-3486] - Java generated `getFieldValue` is incompatible with `setFieldValue` for binary values.
* [THRIFT-3484] - Consolidate temporary buffers in Java's TCompactProtocol
* [THRIFT-3516] - Add feature test for THeader TBinaryProtocol interop
* [THRIFT-3515] - Python 2.6 compatibility and test on CI
* [THRIFT-3514] - PHP 7 compatible version of binary protocol
* [THRIFT-3469] - Docker: Debian support
* [THRIFT-3416] - Retire old "xxx_namespace" declarations from the IDL
* [THRIFT-3426] - Align autogen comment in XSD
* [THRIFT-3424] - Add CMake android build option
* [THRIFT-3439] - Run make cross using Python3 when available
* [THRIFT-3440] - Python make check takes too much time
* [THRIFT-3441] - Stabilize Travis-CI builds
* [THRIFT-3431] - Avoid "schemes" HashMap lookups during struct reads/writes
* [THRIFT-3432] - Add a TByteBuffer transport to the Java library
* [THRIFT-3438] - Enable py:new_style by default
* [THRIFT-3405] - Go THttpClient misuses http.Client objects
* [THRIFT-3614] - Improve logging of test_sslsocket.py
* [THRIFT-3647] - Fix php extension build warnings
* [THRIFT-3642] - Speed up cross test runner
* [THRIFT-3637] - Implement compact protocol for dart
* [THRIFT-3613] - Port Python C extension to Python 3
* [THRIFT-3612] - Add Python C extension for compact protocol
* [THRIFT-3611] - Add --regex filter to cross test runner
* [THRIFT-3631] - JSON protocol implementation for Lua
* [THRIFT-3609] - Remove or replace TestPortFixture.h
* [THRIFT-3605] - Have the compiler complain about invalid arguments and options
* [THRIFT-3596] - Better conformance to PEP8
* [THRIFT-3585] - Compact protocol implementation for Lua
* [THRIFT-3582] - Erlang libraries should have service metadata
* [THRIFT-3579] - Introduce retry to make cross
* [THRIFT-3306] - Java: TBinaryProtocol: Use 1 temp buffer instead of allocating 8
* [THRIFT-3910] - Do not invoke pip as part of build process
* [THRIFT-1857] - Python 3.X Support
* [THRIFT-1944] - Binding to zero port
* [THRIFT-3954] - Enable the usage of structs called "Object" in Java
* [THRIFT-3981] - Enable analyzer strong mode in Dart library
* [THRIFT-3998] - Document ability to add custom tags to thrift structs
* [THRIFT-4006] - Add a removeEventListener method on TSocket
## New Feature
* [THRIFT-640] - Support deprecation
* [THRIFT-948] - SSL socket support for PHP
* [THRIFT-764] - add Support for Vala language
* [THRIFT-3046] - Allow PSR4 class loading for generated classes (PHP)
* [THRIFT-2113] - Erlang SSL Socket Support
* [THRIFT-1482] - Unix domain socket support under PHP
* [THRIFT-519] - Support collections of types without having to explicitly define it
* [THRIFT-468] - Rack Middleware Application for Rails
* [THRIFT-1708] - Add event handlers for processor events
* [THRIFT-3834] - Erlang namespacing and exception metadata
* [THRIFT-2510] - Implement TNonblockingServer's ability to listen on unix domain sockets
* [THRIFT-3397] - Implement TProcessorFactory in C# to enable per-client processors
* [THRIFT-3523] - XML Generator
* [THRIFT-3510] - Add HttpTaskAsyncHandler implementation
* [THRIFT-3318] - PHP: SimpleJSONProtocol Implementation
* [THRIFT-3299] - Dart language bindings in Thrift
* [THRIFT-2835] - Add possibility to distribute generators separately from thrift core, and load them dynamically
* [THRIFT-184] - Add OSGi Manifest headers to the libthrift java library to be able to use Thrift in the OSGi runtime
* [THRIFT-141] - If a required field is not present on serialization, throw an exception
* [THRIFT-1891] - Add Windows ALPC transport which is right counterpart of Unix domain sockets
## Question
* [THRIFT-1808] - The Thrift struct should be considered self-contained?
* [THRIFT-2895] - Tutorial cpp
* [THRIFT-3860] - Elephant-bird application Test fails for Thrift
* [THRIFT-3811] - HTTPS Support for C++ applications
* [THRIFT-3509] - "make check" error
## Story
* [THRIFT-3452] - .travis.yml: Migrating from legacy to container-based infrastructure
## Sub-task
* [THRIFT-1811] - ruby tutorial as part of the regular build
* [THRIFT-2779] - PHP TJSONProtocol encode unicode into UCS-4LE which can't be parsed by other language bindings
* [THRIFT-2110] - Erlang: Support for Multiplexing Services on any Transport, Protocol and Server
* [THRIFT-3852] - A Travis-CI job fails with "write error"
* [THRIFT-3740] - Fix haxelib.json classpath
* [THRIFT-3653] - incorrect union serialization
* [THRIFT-3652] - incorrect serialization of optionals
* [THRIFT-3655] - incorrect union serialization
* [THRIFT-3654] - incorrect serialization of optionals
* [THRIFT-3656] - incorrect serialization of optionals
* [THRIFT-3699] - Fix integer limit symbol includes in Python C extension
* [THRIFT-3693] - Fix include issue in C++ TSSLSocketInterruptTest on Windows
* [THRIFT-3694] - [Windows] Disable tests of a few servers that are not supported
* [THRIFT-3696] - Install pip to CentOS Docker images to fix Python builds
* [THRIFT-3638] - Fix haxelib.json
* [THRIFT-3251] - Add http transport for server to Go lib
* [THRIFT-2424] - Recursive Types
* [THRIFT-2423] - THeader
* [THRIFT-2413] - Python: UTF-8 sent by PHP as JSON is not understood by TJsonProtocol
* [THRIFT-2409] - Java: UTF-8 sent by PHP as JSON is not understood by TJsonProtocol
* [THRIFT-2412] - D: UTF-8 sent by PHP as JSON is not understood by TJsonProtocol
* [THRIFT-2411] - C++: UTF-8 sent by PHP as JSON is not understood by TJsonProtocol
* [THRIFT-2410] - JavaMe: UTF-8 sent by PHP as JSON is not understood by TJsonProtocol
* [THRIFT-2668] - TestSuite: detailed result on passed tests by feature
* [THRIFT-2659] - python Test Server fails when throwing TException
* [THRIFT-3398] - Add CMake build for Haskell library and tests
* [THRIFT-3396] - DART: UTF-8 sent by PHP as JSON is not understood by TJsonProtocol
* [THRIFT-3364] - Fix ruby binary field encoding in TJSONProtocol
* [THRIFT-3381] - Fix for misc. codegen issues with THRIFT-2905
* [THRIFT-3573] - No rule to make target `../../../test/c_glib/src/.deps/testthrifttest-thrift_test_handler.Po'.
* [THRIFT-3572] - "Unable to determine the behavior of a signed right shift"
* [THRIFT-3542] - Add length limit support to Java test server
* [THRIFT-3537] - Remove the (now obsolete) csharp:asyncctp flag
* [THRIFT-3532] - Add configurable string and container read size limit to Python protocols
* [THRIFT-3531] - Create cross lang feature test for string and container read length limit
* [THRIFT-3482] - Haskell JSON protocol does not encode binary field as Base64
* [THRIFT-3425] - Minor fixes + simplification for CentOS Dockerfile
* [THRIFT-3442] - Run CMake tests on Appveyor
* [THRIFT-3409] - NodeJS binary field issues
* [THRIFT-3621] - Fix lib/cpp/test/SecurityTest.cpp to use ephemeral ports
* [THRIFT-3628] - Fix lib/cpp/test/TServerIntegrationTest.cpp to use ephemeral ports
* [THRIFT-3625] - Kill unused #include "TestPortFixture.h" in lib/cpp/test/TServerTransportTest.cpp.
* [THRIFT-3646] - Fix Python extension build warnings
* [THRIFT-3626] - Fix lib/cpp/test/TSocketInterruptTest.cpp to use ephemeral ports.
* [THRIFT-3624] - Fix lib/cpp/test/TServerSocketTest.cpp to use ephemeral ports
* [THRIFT-3623] - Fix Fix cpp/lib/test/TSSLSocketInterruptTest.cpp to use ephemeral ports
* [THRIFT-3592] - Add basic test client
* [THRIFT-3980] - add TExtendedBinaryProtocol.java
## Task
* [THRIFT-1801] - Sync up TApplicationException codes across languages and thrift implementations
* [THRIFT-1259] - Automate versioning
## Test
* [THRIFT-3400] - Add Erlang to cross test
* [THRIFT-3504] - Fix FastbinaryTest.py
## Wish
* [THRIFT-3923] - Maybe remove Aereo from the "Powered by" list
* [THRIFT-2149] - Add an option to disable the generation of default operators
Thrift 0.9.3
--------------------------------------------------------------------------------
## Bug
* [THRIFT-2441] - Cannot shutdown TThreadedServer when clients are still connected
* [THRIFT-2465] - TBinaryProtocolT breaks if copied/moved
* [THRIFT-2474] - thrift.h causes a compile failure
* [THRIFT-2540] - Running configure from outside the source directory fails
* [THRIFT-2598] - Add check for minimum Go version to configure.ac
* [THRIFT-2647] - compiler-hs: don't decapitalize field names, do decapitalize argument bindings
* [THRIFT-2773] - Generated Java code for 'oneway' methods is incorrect.
* [THRIFT-2789] - TNonblockingServer leaks socket FD's under load
* [THRIFT-2682] - TThreadedServer leaks per-thread memory
* [THRIFT-2674] - JavaScript: declare Accept: and Content-Type: in request
* [THRIFT-3078] - TNonblockingServerSocket's logger is not named after TNonblockingServerSocket
* [THRIFT-3077] - C++ TFileTransport ignores return code from ftruncate
* [THRIFT-3067] - C++ cppcheck performance related warnings
* [THRIFT-3066] - C++ TDenseProtocol assert modifies instead of checks
* [THRIFT-3071] - bootstrap.sh on Ubuntu 12.04 (Precise) automake error
* [THRIFT-3069] - C++ TServerSocket leaks socket on fcntl get or set flags error
* [THRIFT-3079] - TNonblockingServerSocket's logger is not named after TNonblockingServerSocket
* [THRIFT-3080] - C++ TNonblockingServer connection leak while accept huge number connections.
* [THRIFT-3086] - C++ Valgrind Error Cleanup
* [THRIFT-3085] - thrift_reconnecting_client never try to reconnect
* [THRIFT-3123] - Missing include in compiler/cpp/src/main.h breaks build in some environments
* [THRIFT-3125] - Fix the list of exported headers in automake input
* [THRIFT-3126] - PHP JSON serializer converts empty or int-indexed maps to lists
* [THRIFT-3132] - Properly format date in Java @Generated annotations
* [THRIFT-3137] - Travis build hangs after failure
* [THRIFT-3138] - "make check" parallel execution is underministic
* [THRIFT-3139] - JS library test is flaky
* [THRIFT-3140] - ConcurrentModificationException is thrown by JavaScript test server
* [THRIFT-3124] - Some signed/unsigned warnings while building compiler
* [THRIFT-3128] - Go generated code produces name collisions between services
* [THRIFT-3146] - Graphviz generates function name collisions between services
* [THRIFT-3147] - Segfault while receiving data
* [THRIFT-3148] - Markdown links to coding_standards are dead
* [THRIFT-3090] - cmake build is broken on MacOSX
* [THRIFT-3097] - cmake targets unconditionally depend on optional libraries
* [THRIFT-3094] - master as of 2015-APR-13 fails -DBOOST_THREADS cmake build
* [THRIFT-3099] - cmake build is broken on FreeBSD
* [THRIFT-3089] - Assigning default ENUM values results in non-compilable java code if java namespace is not defined
* [THRIFT-3093] - mingw compile fixes for c++ library 0.9.2
* [THRIFT-3098] - Thrift does not pretty print binary typedefs the way it does binary fields
* [THRIFT-3091] - c_glib service method should return result from handler method
* [THRIFT-3088] - TThreadPoolServer with Sasl auth may leak CLOSE_WAIT socket
* [THRIFT-3109] - Cross test log file cannot be browsed when served in HTTP server
* [THRIFT-3113] - m4 C++11 macro issue
* [THRIFT-3105] - C++ libthriftnb library on Windows build failure
* [THRIFT-3115] - Uncompileable code due to name collision with predefined used types
* [THRIFT-3117] - Java TSSLTransportFactory can't load certificates within JAR archive
* [THRIFT-3102] - could not make check for Go Library
* [THRIFT-3120] - Minor spelling errors and an outdated URL
* [THRIFT-3121] - Librt does not exist on OS X
* [THRIFT-3152] - Compiler error on Mac OSX (missing #include <cstdlib>)
* [THRIFT-3162] - make fails for dmd 2.067
* [THRIFT-3164] - Thrift C++ library SSL socket by default allows for unsecure SSLv3 negotiation
* [THRIFT-3168] - Fix Maven POM
* [THRIFT-3170] - Initialism code in the Go compiler causes chaos
* [THRIFT-3169] - Do not export thrift.TestStruct and thrift.TestEnum in thrift Go library
* [THRIFT-3191] - Perl compiler does not add support for unexpected exception handling
* [THRIFT-3178] - glib C does not compile
* [THRIFT-3189] - Perl ServerSocket should allow a specific interface to be listened to
* [THRIFT-3252] - Missing TConcurrentClientSyncInfo.h in cpp Makefile, so doesn't install
* [THRIFT-3255] - Thrift generator doesn't exclude 'package' keyword for thrift property names breaking java builds
* [THRIFT-3260] - multiple warnings in c_glib tutorial
* [THRIFT-3256] - Some D test timings are too aggressive for slow machines
* [THRIFT-3257] - warning: extra tokens at end of #endif directive
* [THRIFT-3184] - Thrift Go leaves file descriptors open
* [THRIFT-3203] - DOAP - please fix "Ocaml" => "OCaml"
* [THRIFT-3210] - (uncompileable) code generated for server events while are events not enabled
* [THRIFT-3215] - TJSONProtocol '(c++) uses "throw new" to throw exceptions instead of "throw"
* [THRIFT-3202] - Allow HSHAServer to configure min and max worker threads separately.
* [THRIFT-3205] - TCompactProtocol return a wrong error when the io.EOF happens
* [THRIFT-3209] - LGPL mentioned in license file
* [THRIFT-3197] - keepAliveTime is hard coded as 60 sec in TThreadPoolServer
* [THRIFT-3196] - Misspelling in lua TBinaryProtocol (stirctWrite => strictWrite)
* [THRIFT-3198] - Allow construction of TTransportFactory with a specified maxLength
* [THRIFT-3192] - Go import paths changed in 1.4, and expired June 1
* [THRIFT-3271] - Could not find or load main class configtest_ax_javac_and_java on some non-english systems
* [THRIFT-3273] - c_glib: Generated code tries to convert between function and void pointers
* [THRIFT-3264] - Fix Erlang 16 namespaced types
* [THRIFT-3270] - reusing TNonblockingServer::TConnection cause dirty TSocket
* [THRIFT-3267] - c_glib: "Critical" failure during unit tests
* [THRIFT-3277] - THttpClient leaks connections if it's used for multiple requests
* [THRIFT-3278] - NodeJS: Fix exception stack traces and names
* [THRIFT-3279] - Fix a bug in retry_max_delay (NodeJS)
* [THRIFT-3280] - Initialize retry variables on construction
* [THRIFT-3283] - c_glib: Tutorial server always exits with warning
* [THRIFT-3284] - c_glib: Empty service produces unused-variable warning
* [THRIFT-1925] - c_glib generated code does not compile
* [THRIFT-1849] - after transport->open() opens isOpen returns true and next open() goes thru when it shall not
* [THRIFT-1866] - java compiler generates non-compiling code with const's defined in a thrift when name includes non-identifier chars
* [THRIFT-1938] - FunctionRunner.h -- uses wrong path for Thread.h when installed
* [THRIFT-1844] - Password string not cleared
* [THRIFT-2004] - Thrift::Union violates :== method contract and crashes
* [THRIFT-2073] - Thrift C++ THttpClient error: cannot refill buffer
* [THRIFT-2127] - Autoconf scripting does not properly account for cross-compile
* [THRIFT-2180] - Integer types issues in Cocoa lib on ARM64
* [THRIFT-2189] - Go needs "isset" to fully support "union" type (and optionals)
* [THRIFT-2192] - autotools on Redhat based systems
* [THRIFT-2546] - cross language tests fails at 'TestMultiException' when using nodejs server
* [THRIFT-2547] - nodejs servers and clients fails to connect with cpp using compact protocol
* [THRIFT-2548] - Nodejs servers and clients does not work properly with -ssl
* [THRIFT-1471] - toString() does not print ByteBuffer values when nested in a List
* [THRIFT-1201] - getaddrinfo resource leak
* [THRIFT-615] - TThreadPoolServer doesn't call task_done after pulling tasks from it's clients queue
* [THRIFT-162] - Thrift structures are unhashable, preventing them from being used as set elements
* [THRIFT-810] - Crashed client on TSocket::close under loads
* [THRIFT-557] - charset problem with file Autogenerated by Thrift
* [THRIFT-233] - IDL doesn't support negative hex literals
* [THRIFT-1649] - contrib/zeromq does not build in 0.8.0
* [THRIFT-1642] - Miscalculation lead to throw unexpected "TTransportException::TIMED_OUT"(or called "EAGAIN (timed out)") exception
* [THRIFT-1587] - TSocket::setRecvTimeout error
* [THRIFT-1248] - pointer subtraction in TMemoryBuffer relies on undefined behavior