summaryrefslogtreecommitdiff
path: root/CHANGES
blob: 0371d1f761b7a437f58b4ac302c27b6d106ee118 (plain)
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
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
Apache Thrift Changelog

Thrift 0.9.2
--------------------------------------------------------------------------------
## Bug
    * [THRIFT-2645] - generated Go server code always sets Success retval
    * [THRIFT-2634] - undocumented php "nsglobal" option
    * [THRIFT-2627] - erlang backend doesn't support corecursive structs
    * [THRIFT-2595] - Node.js: Fix global leaks and copy-paste errors
    * [THRIFT-2594] - JS Compiler: Single quotes are not being escaped in constants.
    * [THRIFT-2610] - MSVC warning in TSocket.cpp
    * [THRIFT-2607] - ThreadManager.cpp warning on clang++ 3.4
    * [THRIFT-2609] - TFileTransport.h unused field warning (clang 3.4)
    * [THRIFT-2608] - TNonblockingServer.cpp warnings on clang 3.4
    * [THRIFT-2606] - ThreadManager.h warning in clang++ 3.4
    * [THRIFT-2605] - TSocket warning on gcc 4.8.3
    * [THRIFT-2604] - Fix debian packaging
    * [THRIFT-2601] - Fix vagrant to work again for builds again
    * [THRIFT-2599] - Uncompileable Delphi code due to naming conflicts with IDL
    * [THRIFT-2622] - Expecting > 4 bytes, found only 2
    * [THRIFT-2620] - Fix python packaging
    * [THRIFT-2619] - Go lib http transport does not handle EOF correctly
    * [THRIFT-2618] - Unignore /aclocal files required for build
    * [THRIFT-2614] - TNonblockingServer.cpp warnings on MSVC
    * [THRIFT-2591] - TFramedTransport does not handle payloads split across packets correctly
    * [THRIFT-2679] - golang generation fails for service names less than 5 characters
    * [THRIFT-2666] - Usage of PYTHONHASHSEED breaks older Python code
    * [THRIFT-2584] - Error handler not listened on javascript client
    * [THRIFT-2582] - "FileTransport error" exception is raised when trying to use Java's TFileTransport
    * [THRIFT-2581] - TFDTransport destructor should not throw
    * [THRIFT-2588] - Thrift compiler is not buildable in Visual Studio 2010
    * [THRIFT-2577] - TFileTransport  missuse of closesocket on windows platform
    * [THRIFT-2576] - Implement Thrift.Protocol.prototype.skip method in JavaScript library
    * [THRIFT-2575] - Thrift includes siginfo_t within apache::thrift::protocol namespace
    * [THRIFT-2570] - Wrong URL given in http://thrift.apache.org/developers
    * [THRIFT-2559] - Centos 6.5 unable to "make" with Thrift 0.9.1
    * [THRIFT-2565] - autoconf fails to find mingw-g++ cross compiler on travis CI
    * [THRIFT-2555] - excessive "unused field" comments
    * [THRIFT-2554] - double initialization in generated Read() method
    * [THRIFT-2562] - ./configure create MakeFile in lib/d with errors
    * [THRIFT-2560] - Thrift compiler generator tries to concat ints with strings using +
    * [THRIFT-2545] - Test CPP fails to build (possibly typo)
    * [THRIFT-2537] - Path for "go get" does not work (pull request 115)
    * [THRIFT-2551] - OutOfMemoryError "unable to create new native thread" kills serve thread
    * [THRIFT-2515] - TLS Method error during make
    * [THRIFT-2508] - Uncompileable C# code due to language keywords in IDL
    * [THRIFT-2557] - CS0542 member names cannot be the same as their enclosing type
    * [THRIFT-2506] - Update TProtocolException error codes to be used consistently throughout the library
    * [THRIFT-2505] - go: struct should always be a pointer to avoid copying of potentially size-unbounded structs
    * [THRIFT-2523] - Visual Studio project is missing OverlappedSubmissionThread files
    * [THRIFT-2528] - Thrift Erlang Library: Multiple thrift applications in one bundle
    * [THRIFT-2533] - Boost version in requirements should be updated
    * [THRIFT-2532] - Java version in installation requirements should be updated
    * [THRIFT-2529] - TBufferedTransport split  Tcp data bug in nodeJs
    * [THRIFT-2524] - Visual Studio project is missing TThreadedServer files
    * [THRIFT-2520] - cpp:cob_style generates incorrect .tcc file
    * [THRIFT-2590] - C++ Visual Studio solution doesn't include Multiplexing support
    * [THRIFT-2492] - test/cpp does not compile on mac
    * [THRIFT-2491] - unable to import generated ThriftTest service
    * [THRIFT-2490] - c_glib: if fail to read a exception from server, client may be occurred double free
    * [THRIFT-2489] - Peer host name not provied when performing AccessManager common name verification.
    * [THRIFT-2487] - Tutorial requires two IDL files but only one is linked from the Thrift web site
    * [THRIFT-2477] - thrift --help text with misplaced comma
    * [THRIFT-2340] - Generated server implementation does not send response type EXCEPTION on the Thrift.TApplicationExceptionType.UNKNOWN_METHOD exception
    * [THRIFT-2337] - Golang does not report TIMED_OUT exceptions
    * [THRIFT-2331] - Missing call to ReadStructBegin() in TApplicationException.Read()
    * [THRIFT-2329] - missing release tags within git
    * [THRIFT-2323] - Uncompileable Delphi code generated for typedef'd structs
    * [THRIFT-2322] - Correctly show the number of times ExecutorService (java) has rejected the client.
    * [THRIFT-2316] - ccp: TFileTransportTest
    * [THRIFT-2313] - nodejs server crash after processing the first request when using MultiplexedProcessor/FramedBuffer/BinaryProtocol
    * [THRIFT-2311] - Go: invalid code generated when exception name is a go keyword
    * [THRIFT-2367] - Build failure: stdlib and boost both define uint64_t
    * [THRIFT-2365] - C# decodes too many binary bytes from JSON
    * [THRIFT-2363] - Issue with character encoding of Success returned from Login using Thrift Proxy and NodeJS
    * [THRIFT-2359] - TBufferedTransport doesn't clear it's buffer on a failed flush call
    * [THRIFT-2357] - recurse option has no effect when generating php
    * [THRIFT-2356] - c++ thrift client not working with ssl (SSL_connect hangs)
    * [THRIFT-2354] - Connection errors can lead to case_clause exceptions
    * [THRIFT-2352] - msvc failed to compile thrift tests
    * [THRIFT-2351] - PHP TCompactProtocol has fails to decode messages
    * [THRIFT-2308] - node: TJSONProtocol parse error when reading from buffered message
    * [THRIFT-2306] - concurent client calls with nodejs
    * [THRIFT-2303] - TBufferredTransport not properly closing underlying transport
    * [THRIFT-2285] - TJsonProtocol implementation for Java doesn't allow a slash (/) to be escaped (\/)
    * [THRIFT-2282] - Incorect code generated for some typedefs
    * [THRIFT-2280] - TJSONProtocol.Flush() does not really flush the transport
    * [THRIFT-2281] - Generated send/recv code ignores errors returned by the underlying protocol
    * [THRIFT-2279] - TSerializer only returns the first 1024 bytes serialized
    * [THRIFT-2278] - Buffered transport doesn't support writes > buffer size
    * [THRIFT-2276] - java path in spec file needs updating
    * [THRIFT-2275] - Fix memory leak in golang compact_protocol.
    * [THRIFT-2240] - thrift.vim (contrib) does not correctly handle 'union'
    * [THRIFT-2232] - IsSet* broken in Go
    * [THRIFT-2230] - Cannot Build on RHEL/Centos/Amazon Linux 6.x
    * [THRIFT-2227] - Thrift compiler generates spurious warnings with Xlint
    * [THRIFT-2226] - TServerSocket - keepAlive wrong initialization order
    * [THRIFT-2259] - C#: unexpected null logDelegate() pointer causes AV in TServer.serve()
    * [THRIFT-2253] - Python Tornado TTornadoServer base class change
    * [THRIFT-2248] - Go generator doesn't deal well with map keys of type binary
    * [THRIFT-2247] - Go generator doesn't deal well with map keys of type binary
    * [THRIFT-2246] - Unset enum value is printed by ToString()
    * [THRIFT-2243] - TNonblockingServer in thrift crashes when TFramedTransport opens
    * [THRIFT-2225] - SSLContext destroy before cleanupOpenSSL
    * [THRIFT-2224] - TSSLSocket.h and TSSLServerSocket.h should use the platfromsocket too
    * [THRIFT-2222] - ruby gem cannot be compiled on OS X mavericks
    * [THRIFT-2219] - Thrift gem fails to build on OS X Mavericks with 1.9.3 rubies
    * [THRIFT-2216] - Extraneous semicolon in TProtocolUtil.h makes clang mad
    * [THRIFT-2215] - Generated HTML/Graphviz lists referenced enum identifiers as UNKNOWN.
    * [THRIFT-2503] - C++: Fix name collision when a struct has a member named "val"
    * [THRIFT-2500] - sending random data crashes thrift(golang) service
    * [THRIFT-2498] - Error message "Invalid method name" while trying to call HBase Thrift API
    * [THRIFT-2495] - JavaScript/Node string constants lack proper escaping
    * [THRIFT-2475] - c_glib: buffered_transport_write function return always TRUE.
    * [THRIFT-2470] - THttpHandler swallows exceptions from processor
    * [THRIFT-2468] - Timestamp handling
    * [THRIFT-2467] - Unable to build contrib/fb303 on OSX 10.9.2
    * [THRIFT-2466] - Improper error handling for SSL/TLS connections that don't complete a handshake
    * [THRIFT-2463] - test/py/RunClientServer.py fails sometimes
    * [THRIFT-2461] - Can't install thrift-0.8.0 on OS X 10.9.2
    * [THRIFT-2454] - c_glib: There is no gethostbyname_r() in some OS.
    * [THRIFT-2448] - thrift/test/test.sh has incorrect Node.js test path
    * [THRIFT-2459] - --version should not exit 1
    * [THRIFT-2458] - Generated golang server code for "oneway" methods is incorrect
    * [THRIFT-2443] - Node fails cross lang tests
    * [THRIFT-2456] - THttpClient fails when using async support outside Silverlight
    * [THRIFT-2451] - Do not use pointers for optional fields with defaults. Do not write such fields if its value set to default. Also, do not use pointers for any optional fields mapped to go map or slice. generate Get accessors
    * [THRIFT-2450] - include HowToContribute in the src repo
    * [THRIFT-2460] - unopened socket fd must be less than zero.
    * [THRIFT-2442] - Fix issue with cpp server on Windows (WSAStartup wasn't called)
    * [THRIFT-2439] - Bug in TProtocolDecorator Class causes parsing errors
    * [THRIFT-2438] - Unexpected readFieldEnd call causes JSON Parsing errors
    * [THRIFT-2437] - Author fields in Python setup.py must be strings not lists.
    * [THRIFT-2435] - Java compiler doesn't like struct member names that are identical to an existing enum or struct type
    * [THRIFT-2434] - Missing namespace import for php TMultiplexedProcessor implementation
    * [THRIFT-2432] - Flaky parallel build
    * [THRIFT-2430] - Crash during TThreadPoolServer shutdown
    * [THRIFT-2428] - Python 3 setup.py support
    * [THRIFT-2426] - clarify IP rights and contributions from fbthrift
    * [THRIFT-2420] - Go argument parser for methods without arguments does not skip fields
    * [THRIFT-2419] - golang - Fix fmt.Errorf in generated code
    * [THRIFT-2418] - Go handler function panics on internal error
    * [THRIFT-2416] - Cannot use TCompactProtocol with MSVC
    * [THRIFT-2414] - c_glib fix several bug.
    * [THRIFT-2405] - Node.js Multiplexer tests fail (silently)
    * [THRIFT-2402] - byte count of FrameBuffer in AWAITING_CLOSE state is not subtracted from readBufferBytesAllocated
    * [THRIFT-2399] - thrift.el: recognize "//"-style comments in emacs thrift-mode
    * [THRIFT-2400] - thrift.el: recognize "//"-style comments in emacs thrift-mode
    * [THRIFT-2396] - Build Error on MacOSX
    * [THRIFT-2395] - thrift Ruby gem requires development dependency 'thin' regardless of environment
    * [THRIFT-2390] - no close event when connection lost
    * [THRIFT-2389] - namespaces handled wrongly in acrionscript 3.0 implementation
    * [THRIFT-2388] - GoLang - Fix data races in simple_server and server_socket
    * [THRIFT-2386] - Thrift refuses to link yylex
    * [THRIFT-2385] - Problem with gethostbyname2 during make check
    * [THRIFT-2384] - Binary map keys produce uncompilable code in go
    * [THRIFT-2381] - code which generated by thrift2/hbase.thrift compile error
    * [THRIFT-2380] - unreachable code (CID 1174546, CID 1174679)
    * [THRIFT-2378] - service method arguments of binary type lead to uncompileable Go code
    * [THRIFT-2375] - Excessive <br>'s in generated HTML
    * [THRIFT-2373] - warning CS0414 in THttpClient.cs: private field 'Thrift.Transport.THttpClient.connection' assigned but never used
    * [THRIFT-2372] - thrift/json_protocol.go:160: function ends without a return statement
    * [THRIFT-2371] - ruby bundler version fails on ~1.3.1, remove and take latest avail
    * [THRIFT-2370] - Compiler SEGFAULTs generating HTML documentation for complex strucre
    * [THRIFT-2147] - Thrift IDL grammar allows for dotted identifier names
    * [THRIFT-2145] - Rack and Thin are not just development dependencies
    * [THRIFT-2146] - Unable to pass multiple "--gen" options to the thrift compiler
    * [THRIFT-2140] - Error compiling cpp tutorials
    * [THRIFT-2182] - segfault in regression tests (GC bug in rb_thrift_memory_buffer_write)
    * [THRIFT-2171] - NodeJS implementation has extremely low test coverage
    * [THRIFT-2169] - JavaME Thrift Library causes "java.io.IOException: No Response Entries Available" after using the Thrift client for some time
    * [THRIFT-2165] - Thrift Compiler fails at input files with UTF-8 BOM
    * [THRIFT-2160] - Warning in thrift.h when compiling with -Wunused and NDEBUG
    * [THRIFT-2158] - Compact, JSON, and SimpleJSON protocols are not working correctly
    * [THRIFT-2181] - oneway calls don't work in NodeJS
    * [THRIFT-2178] - Thrift generator returns error exit code on --version
    * [THRIFT-2173] - Move FrameBuffer creation to a factory method for cusomization
    * [THRIFT-2168] - Node.js appears broken (at least, examples don't work as intended)
    * [THRIFT-2167] - nodejs lib throws error if options argument isn't passed
    * [THRIFT-2139] - MSVC 2012 Error - Cannot compile due to BoostThreadFactory
    * [THRIFT-2138] - pkgconfig file created with wrong include path
    * [THRIFT-2130] - Thrift's D library/test: parts of "make check" code do not compile with recent dmd-2.062 through dmd-2.064alpha
    * [THRIFT-2122] - NPE in TSSLTransportFactory.createClient when no truststore password is passed in custom SSL params
    * [THRIFT-2288] - Go impl of Thrift JSON protocol wrongly writes/expects true/false for bools
    * [THRIFT-2294] - Incorrect Makefile generation
    * [THRIFT-2293] - TSSLTransportFactory.createSSLContext() leaves files open
    * [THRIFT-2274] - TNonblockingServer and TThreadedSelectorServer do not close their channel selectors on exit and leak file descriptors
    * [THRIFT-2273] - Please delete old releases from mirroring system
    * [THRIFT-2270] - Faulty library version numbering at build or documentation
    * [THRIFT-2267] - Should be able to choose socket family in Python TSocket
    * [THRIFT-2266] - ThreadManager.h:24:10: fatal error: 'tr1/functional' file not found on Mac 10.9 (Mavericks)
    * [THRIFT-2265] - php library doesn't build
    * [THRIFT-2262] - thrift server 'MutateRow' operation gives no indication of success / failure
    * [THRIFT-2261] - java: error: unmappable character for encoding ASCII
    * [THRIFT-2104] - Structs lose binary data when transferred from server to client in Java
    * [THRIFT-2209] - Ruby generator -- please namespace classes
    * [THRIFT-2210] - lib/java TSimpleJSONProtocol can emit invalid JSON
    * [THRIFT-2201] - Ternary operator returns different types (build error for some compilers)
    * [THRIFT-2200] - nested structs cause generate_fingerprint() to slow down at excessive CPU load
    * [THRIFT-2197] - fix jar output directory in rpm spec file
    * [THRIFT-2196] - Fix invalid dependency in Makefile.am
    * [THRIFT-2191] - Fix charp JSONProtocol.ReadJSONDouble (specify InvariantCulture)
    * [THRIFT-2203] - Tests keeping failing on Jenkins and Travis CI
    * [THRIFT-2202] - Delphi TServerImpl.DefaultLogDelegate may stop the server with I/O-Error 105
    * [THRIFT-2187] - Guard against ambiguous occurrences
    * [THRIFT-2214] - System header sys/param.h is included inside the Thrift namespace
    * [THRIFT-2211] - Exception constructor does not contain namespace prefix.
    * [THRIFT-2194] - Node: Not actually prepending residual data in TFramedTransport.receiver
    * [THRIFT-2193] - Java code generator emits spurious semicolon when deep copying binary data
    * [THRIFT-2184] - undefined method rspec_verify for Thrift::MemoryBufferTransport
    * [THRIFT-2183] - gem install fails on zsh
    * [THRIFT-2108] - Fix TAsyncClientManager timeout race
    * [THRIFT-2092] - TNonblocking server should release handler as soon as connection closes
    * [THRIFT-1999] - warning on gcc 4.7 while compiling BoostMutex.cpp
    * [THRIFT-1998] - TCompactProtocol.tcc - one more warning on Visual 2010
    * [THRIFT-2009] - Go redeclaration error
    * [THRIFT-2016] - Resource Leak in thrift struct under compiler/cpp/src/parse/t_function.h
    * [THRIFT-2045] - C++ compiler warning and build cleanup
    * [THRIFT-2026] - Fix TCompactProtocol 64 bit builds
    * [THRIFT-2025] - Fix TSSLServerSocket 64-bit builds
    * [THRIFT-1964] - 'Isset' causes problems with C#/.NET serializers
    * [THRIFT-1908] - Using php thrift_protocol accelerated transfer causes core dump
    * [THRIFT-1892] - Socket timeouts are declared in milli-seconds, but are actually set in micro-seconds
    * [THRIFT-2069] - TPipeServer creates overlapped pipes, then uses synchronous I/O on them with TPipe
    * [THRIFT-2068] - Multiple calls from same connection are not processed in node
    * [THRIFT-2048] - Prefer boolean context to nullptr_t conversion
    * [THRIFT-2041] - TNonblocking server compilation on windows (ARITHMETIC_RIGHT_SHIFT)
    * [THRIFT-1682] - Multiple thread calling a Service function unsafely causes message corruption and terminates with Broken Pipe
    * [THRIFT-1647] - NodeJS BufferedTransport does not work beyond the hello-world example
    * [THRIFT-1639] - Java/Python: Serialization/Deserialization of double type using CompactProtocol
    * [THRIFT-1771] - "make check" fails on x64 for libboost_unit_test_framework.a
    * [THRIFT-1841] - NodeJS Thrift incorrectly parses non-UTF8-string types
    * [THRIFT-1755] - Comment parsing bug
    * [THRIFT-1750] - Make compiler build cleanly under visual studio 10
    * [THRIFT-1803] - Ruby Thrift 0.9.0 tries to encode UUID to UTF8 and crashes
    * [THRIFT-1717] - Fix deb build in jenkins
    * [THRIFT-1609] - Cocoa import namespace
    * [THRIFT-1614] - Thrift build from svn repo sources fails with automake-1.12
    * [THRIFT-1584] - Error: could not SetMinThreads in ThreadPool on single-core machines
    * [THRIFT-1579] - PHP Extention - function thrift_protocol_read_binary not working from TBinarySerializer::deserialize
    * [THRIFT-1455] - TBinaryProtocolT<Transport_>::writeString casts from size_t to uint32_t, which is not safe on 64-bit platforms
    * [THRIFT-1481] - Unix domain sockets in C++ do not support the abstract namespace
    * [THRIFT-1357] - Erlang Dependency breaks build
    * [THRIFT-1260] - The thrift THttpclient in c# client is not closing the connections when calling SendRequest
    * [THRIFT-1300] - Test failures with parallel builds (make -j)
    * [THRIFT-1212] - Members capital case conflict
    * [THRIFT-841] - Build cruft
    * [THRIFT-1047] - rb_thrift_memory_buffer_write treats arg as string without check, segfaults if you pass non-string
    * [THRIFT-667] - Period should not be allowed in identifier names
    * [THRIFT-1389] - c_glib_generator.cc generates leaking code for cassandra_client_get_slice() and cassandra_client_get()
    * [THRIFT-2675] - md5 file content is malformed in the download website
    * [THRIFT-2284] - java.lang.OutOfMemoryError: Java heap space
    * [THRIFT-2596] - Cannot compile haskell thrift 0.6.0
    * [THRIFT-2064] - Node thrift can't handle maps with primitive values
    * [THRIFT-2656] - ./configure mis-reports minimum bison version required
    * [THRIFT-908] - Make required types actually required by the Haskell type system
    * [THRIFT-2690] - c_glib: Incorrect behaviour when serializing a map with typedef'd keys
    * [THRIFT-2651] - struct names that are restricted erlang terms generate invalid type signatures
    * [THRIFT-2667] - create Windows Installer via CPack
    * [THRIFT-1028] - field names of structs used with wrong casing in the generated haskell code
    * [THRIFT-2647] - compiler-hs: don't decapitalize field names, do decapitalize argument bindings
    * [THRIFT-2649] - TAsyncClientManager leaks the selector
    * [THRIFT-2683] - c_glib: Seg fault when deserializing a map with typedef'd keys
    * [THRIFT-2686] - Another extraneous semicolon - TBinaryProtocol.h
    * [THRIFT-1497] - i64 type not supported in JavaScript. Low-order bits lost.
    * [THRIFT-1266] - generated C code for iterating over nested maps is wrong
    * [THRIFT-2680] - c_glib: ThriftFramedTransport fails when peer unexpectedly closes connection
    * [THRIFT-2660] - Validate the bytes received in TSaslTransport
    * [THRIFT-2152] - Generated Haskell files does not compile
    * [THRIFT-2198] - THRIFT_CLOSESOCKET on win32 platforms is wrong defined for TFileProtocol
    * [THRIFT-2673] - PHP: generated Service_method_result code should not have validators
    * [THRIFT-2657] - py.twisted/test_suite.py:ThriftTestCase.testOneway spuriously fails on loaded machines
    * [THRIFT-2617] - Missing -lboost_system when compiling with boost threads
    * [THRIFT-2687] - struct/class inconsitency between forward decl and definition
    * [THRIFT-2696] - Unable to stop socket server while there are idle clients
    * [THRIFT-2702] - empty enums lead to invalid code
    * [THRIFT-2694] - Minor glitches in Delphi cross-test code
    * [THRIFT-2714] - Graphviz generator is missing from MSVC++ project files
    * [THRIFT-2706] - D library does not support "oneway" message type
    * [THRIFT-2676] - Cocoa code generator emits reserved symbol, 'i386'
    * [THRIFT-2543] - Generated enum type in haskell should be qualified
    * [THRIFT-2526] - Assignment operators and copy constructors in c++ don't copy the __isset struct
    * [THRIFT-2339] - Uncaught exception in thrift c# driver
    * [THRIFT-2719] - ObjectDisposedException in TSocket when sending rapidly
    * [THRIFT-2707] - Ruby library does not support "oneway" message type
    * [THRIFT-2701] - Update TCompactProtocol.php
    * [THRIFT-2711] - Travis reports false possitive while building with mingw
    * [THRIFT-2693] - Erlang test leaves a lot of generated files
    * [THRIFT-2716] - automake-1.13.4 reports warnings for some Makefile.am
    * [THRIFT-2664] - Python tornado generated oneway client functions crash on server error
    * [THRIFT-2662] - python bindings generate incorrect indentation for functions after a oneway function
    * [THRIFT-2663] - python library should not use the root logger
    * [THRIFT-2593] - Unable to build thrift on ubuntu-12.04 (Precise)
    * [THRIFT-585] - exceptions in the autogenerated send_METHOD functions are not propagated (Twisted)
    * [THRIFT-2669] - javascript thrift library can not deserialize nested list<map> structure
    * [THRIFT-1847] - TSSLSocket.cpp and TFileTransport.cpp incorrectly excluded from Visual Studio project file
    * [THRIFT-2745] - C++ - Unit-test compilation on Windows fixes
    * [THRIFT-2665] - tornado library debug messages are too verbose
    * [THRIFT-2715] - Wrong Import-Package directive in MANIFEST
    * [THRIFT-2229] - thrift failed to build on OSX 10.9 GM
    * [THRIFT-2759] - Trusty Vagrantfile does not make clean
    * [THRIFT-2186] - Build failure of Haskell example
    * [THRIFT-2778] - nodejs build cleanup
    * [THRIFT-2589] - C# generator: const of BaseType in IDL generates static instead of const properties
    * [THRIFT-2602] - Fix missing dist files
    * [THRIFT-1940] - Deploy Haskell package as part of release process
    * [THRIFT-2700] - Compiling from source for haskell reveals a missing cabal dependency
    * [THRIFT-2792] - Wrong option level for setsockopt(...TCP_DEFER_ACCEPT)
    * [THRIFT-2769] - D: std.traits.pointerTarget is deprecated
    * [THRIFT-2722] - Fix javascript service inheritance namespacing
    * [THRIFT-2628] - erlang: struct member name conflicts due to lowercased names
    * [THRIFT-2757] - TCompactProtocol and TJSONProtocol need boundary checking
    * [THRIFT-2775] - static assert fails in src/thrift/internal/ctfe.d
    * [THRIFT-2781] - D compiler stuck at idlgen due to compiler bug
    * [THRIFT-2782] - D: Timing-insensitive unit tests for thrift.internal.resource_pool
    * [THRIFT-2689] - struct names that differ only in capitalization of first character generate broken erlang code
    * [THRIFT-2767] - Transport.Empty is not externally available
    * [THRIFT-2788] - Java client and server does not enable tcp keep alive.
    * [THRIFT-2776] - D tests failing
    * [THRIFT-2770] - D: thrift.internal.traits unittest fails due to std.metastrings import
    * [THRIFT-2720] - nodejs - Error with enum generation
    * [THRIFT-2777] - erlang lib tests may fail due to permissions error

## Documentation
    * [THRIFT-2334] - add a tutorial for node JS
    * [THRIFT-2392] - Actionscript tutorial
    * [THRIFT-2383] - contrib: sample for connecting Thrift with Rebus
    * [THRIFT-2382] - contrib: sample for connecting Thrift with STOMP
    * [THRIFT-2155] - Adding one liner guide to rename the version.h.in and rename thrifty.cc.h
    * [THRIFT-1991] - Add exceptions to examples

## Improvement
    * [THRIFT-2639] - c_glib: Expose as properties members of generated structs
    * [THRIFT-2653] - improved Delphi const generation
    * [THRIFT-2638] - travis: build with Haskell
    * [THRIFT-2636] - c_glib: ThriftApplicationException: Expose "type" and "message" properties
    * [THRIFT-2635] - Travis CI build and test matrix
    * [THRIFT-2633] - remove 'this is a dummy struct' structs from generated erlang
    * [THRIFT-2632] - PHP: add "validate" option to generate read/write validation code
    * [THRIFT-2629] - JavaDoc style documentation should be reused
    * [THRIFT-2631] - c_glib: Support service inheritance in clients
    * [THRIFT-2624] - Add  TServerEventHandler support to C#
    * [THRIFT-2612] - Java TCompactProtocol.readBinary zero copying
    * [THRIFT-2621] - Add basic default hash code method to python
    * [THRIFT-2574] - Compiler option to generate namespace directories for Ruby
    * [THRIFT-2568] - Implement own certificate handler
    * [THRIFT-2569] - Introduce file to specify third party library locations on Windows
    * [THRIFT-2549] - Generate json tag for struct members. use go.tag annotation to override the default generated tag.
    * [THRIFT-2541] - reclaim TFramedTransport's read and write buffers for thrift cpp
    * [THRIFT-2535] - TJSONProtocol when serialized yields TField ids rather than names
    * [THRIFT-2544] - Add support for socket transport for c# library when using Windows Phone projects
    * [THRIFT-2552] - eliminate warning from configure.ac
    * [THRIFT-2571] - Simplify cross compilation using CMake
    * [THRIFT-2511] - Node.js needs the compact protocol
    * [THRIFT-2579] - Windows CE support
    * [THRIFT-2341] - Enable generation of Delphi XMLDoc comments (a.k.a. "Help Insight")
    * [THRIFT-2332] - RPMBUILD: run bootstrap (if needed)
    * [THRIFT-2330] - Generate PHPDoc comments
    * [THRIFT-2320] - Program level doctext does not get attached by parser
    * [THRIFT-2318] - perl: dependency Class::Accessor not checked
    * [THRIFT-2317] - exclude tutorial from build
    * [THRIFT-2309] - Ruby (gem) & PHP RPM subpackages
    * [THRIFT-2355] - Add SSL and Web Socket Support to Node and JavaScript
    * [THRIFT-2350] - Add async calls to normal JavaScript
    * [THRIFT-2349] - Golang - improve tutorial
    * [THRIFT-2348] - PHP Generator: add array typehint to functions
    * [THRIFT-2344] - configure.ac: compiler-only option
    * [THRIFT-2343] - Golang - Return a single error for all exceptions instead of multiple return values
    * [THRIFT-2305] - TFramedTransport empty constructor should probably be private
    * [THRIFT-2304] - Move client assignments from construtor in method
    * [THRIFT-2300] - D configure info output should follow same format as other languages
    * [THRIFT-2239] - Address FindBugs errors
    * [THRIFT-2233] - Java compiler should defensively copy its binary inputs
    * [THRIFT-2260] - Thrift imposes unneeded dependency on commons-lang3
    * [THRIFT-2258] - Add TLS v1.1/1.2 support to TSSLSocket.cpp
    * [THRIFT-2254] - Exceptions generated by Go compiler should implement error interface
    * [THRIFT-2249] - Add SMP Build option to thrift.spec (and three config defines)
    * [THRIFT-2220] - Add a new struct structv?
    * [THRIFT-2497] - server and client for test/go, also several fixes and improvements
    * [THRIFT-2496] - server and client for test/go, also several fixes and improvements
    * [THRIFT-2494] - Add enum toString helper function in c_glib
    * [THRIFT-2502] - Optimize go implementations of binary and compact protocols for speed
    * [THRIFT-2471] - Make cpp.ref annotation language agnostic
    * [THRIFT-2449] - Enhance typedef structure to distinguish between forwards and real typedefs
    * [THRIFT-2453] - haskell tutorial: fix up division by 0 example
    * [THRIFT-2455] - Allow client certificates to be used with THttpClient
    * [THRIFT-2446] - There is no way to handle server stream errors
    * [THRIFT-2433] - Allow manual control of OpenSSL initialization/cleanup
    * [THRIFT-2417] - C# Union classes are not partial
    * [THRIFT-2415] - Named pipes server performance & message mode
    * [THRIFT-2407] - use markdown (rename README => README.md)
    * [THRIFT-2404] - emit warning on (typically inefficient) list<byte>
    * [THRIFT-2401] - Haskell tutorial compiles
    * [THRIFT-2398] - Improve Node Server Library
    * [THRIFT-2397] - Add CORS and CSP support for JavaScript and Node.js libraries
    * [THRIFT-2394] - TCurlClient: an HTTP transport implementation using libcurl
    * [THRIFT-2391] - simple socket transport for actionscript 3.0
    * [THRIFT-2387] - nodejs: external imports should be centralized in index.js
    * [THRIFT-2376] - nodejs: allow Promise style calls for client and server
    * [THRIFT-2369] - Add ssl support for nodejs implementation
    * [THRIFT-2142] - Minor tweaks to thrift.el for better emacs package compatibility
    * [THRIFT-2172] - Java compiler allocates optionals array for every struct with an optional field
    * [THRIFT-2268] - Modify TSaslTransport to ignore TCP health checks from loadbalancers
    * [THRIFT-2263] - Always generate good hashCode for Java
    * [THRIFT-2264] - GitHub page incorrectly states that Thrift is still incubating
    * [THRIFT-2095] - Use print function for Python 3 compatiblity
    * [THRIFT-2185] - use cabal instead of runhaskell in haskell library
    * [THRIFT-2204] - SSL client for the cocoa client
    * [THRIFT-2205] - Node.js Test Server to support test.js JavaScript Browser test and sundry fixes
    * [THRIFT-2054] - TSimpleFileTransport - Java Lib has no straight forward TTransport based file transport
    * [THRIFT-2037] - More general macro THRIFT_UNUSED_VARIABLE
    * [THRIFT-2029] - Port C++ tests to Windows
    * [THRIFT-2034] - Give developers' C++ code direct access to socket FDs on server side
    * [THRIFT-1926] - PHP Constant Generation Refactoring
    * [THRIFT-2040] - "uninitialized variable" warnings on MSVC/windows
    * [THRIFT-2043] - visual 2010 warnings - unreachable code
    * [THRIFT-1683] - Implement alternatives to Javascript Client side Transport protocol, just as NPAPI and WebSocket.
    * [THRIFT-1868] - Make the TPC backlog configurable in the Java servers
    * [THRIFT-1772] - Serialization does not check types of embedded structures.
    * [THRIFT-1743] - Add composer.json for new Symfony 2.1 Dependency Manager
    * [THRIFT-1746] - provide a SPDX file
    * [THRIFT-1815] - Code generators line buffer output
    * [THRIFT-1813] - Add @Generated annotation to generated classes
    * [THRIFT-1541] - The thrift compiler is not buildable with visual studio 2010 in Windows 7
    * [THRIFT-1544] - Create correct Ruby namespace directories
    * [THRIFT-1457] - Capacity of TframedTransport write buffer is never reset
    * [THRIFT-1442] - TNonblockingServer: Refactor to allow multiple IO Threads
    * [THRIFT-1371] - Socket timeouts (SO_RCVTIMEO and SO_SNDTIMEO) not supported on Solaris
    * [THRIFT-1349] - Remove unnecessary print outs
    * [THRIFT-1352] - Thrift server
    * [THRIFT-1135] - Node.js tutorial
    * [THRIFT-1114] - Maven publish shouldn't require passwords hardcoded in settings.xml
    * [THRIFT-989] - Push boost m4 macros upstream
    * [THRIFT-2691] - C++ - new operator<< could be used in tutorial
    * [THRIFT-2067] - Thrift objects should have a default string representation
    * [THRIFT-2641] - Improvements to Haskell Compiler/Libraries
    * [THRIFT-2231] - Support tornado-4.x (Python)
    * [THRIFT-2643] - Optional offset/length for TDeserializer.deserialize()
    * [THRIFT-2684] - c_glib: Improvements to map deserialization in generated code
    * [THRIFT-2672] - Provide origin of call via TTransport
    * [THRIFT-2677] - Haskell library needs to build with network >= 2.6
    * [THRIFT-2648] - cleanup erlang lib
    * [THRIFT-2493] - Node.js lib needs HTTP client
    * [THRIFT-2718] - Align command line args for Thrift test server/client
    * [THRIFT-2709] - c_glib: Support server implementation
    * [THRIFT-976] - c_glib tutorial
    * [THRIFT-2752] - Centos 6.5 Installation Docs update
    * [THRIFT-2269] - Can deploy libthrift-source.jar to maven center repository
    * [THRIFT-2512] - lib/${language}/README.md
    * [THRIFT-2783] - Correctly propagate binary encoding of WebSocket frames Node.js library
    * [THRIFT-2692] - Allow unit testing of compiler parts
    * [THRIFT-2787] - Delphi Lib README
    * [THRIFT-2786] - Cpp Tutorial: Make TThreadPoolServer / TThreadedServer a bit easier to use
    * [THRIFT-2785] - Wrap errors in iostream_transport.go
    * [THRIFT-2062] - cpp flag for using unordered_set instead of set
    * [THRIFT-2654] - reduce number of server exceptions
    * [THRIFT-2360] - Json Generator
    * [THRIFT-2791] - Allowing use of buffered sockets in go server
    * [THRIFT-809] - Javascript client: Please make required fields actually required.
    * [THRIFT-2784] - Eliminate compiler warnings in generated C++ code
    * [THRIFT-2538] - Apache Thrift needs an official NuGet package
    * [THRIFT-2046] - The worktask can be timed out in TThreadPoolServer (Java) when the max# thrift thread is reached

## New Feature
    * [THRIFT-2637] - "java:fullcamel_service_methods" option to automatically camel-case Java service methods
    * [THRIFT-2572] - Add string/collection length limit checks (from C++) to java protocol readers
    * [THRIFT-795] - Importing service functions (simulation multiple inheritance)
    * [THRIFT-2347] - C# TLS Transport based on THRIFT-181
    * [THRIFT-2256] - Using c++11/c++0x std library  replace boost library
    * [THRIFT-2255] - add Parent Class for generated Struct class
    * [THRIFT-2250] - JSON and MemoryBuffer for JavaME
    * [THRIFT-2469] - "java:fullcamel" option to automatically camel-case underscored attribute names
    * [THRIFT-2408] - Named Pipe Transport Option for C#
    * [THRIFT-2377] - Allow addition of custom HTTP Headers to an HTTP Transport
    * [THRIFT-2164] - Add a Get/Post Http Server to Node along with examples
    * [THRIFT-2114] - Python Service Remote SSL Option
    * [THRIFT-1894] - Thrift multi-threaded async Java Server using Java 7 AsynchronousChannelGroup
    * [THRIFT-2058] - Add reconnect support to node.js library
    * [THRIFT-1719] - SASL client support for Python
    * [THRIFT-1188] - C++: Use bit fields for a more compact __isset struct
    * [THRIFT-1012] - Transport for DataInput DataOutput interface
    * [THRIFT-2688] - Generating *Null implementations should be optional
    * [THRIFT-728] - Make generated Haskell code an instance of Arbitrary
    * [THRIFT-2522] - TypeScript extension for Thrift Compiler
    * [THRIFT-1893] - HTTP/JSON server/client for node js
    * [THRIFT-2670] - Android Parcelable Java generation option
    * [THRIFT-1536] - Maven thrift plugin
    * [THRIFT-2712] - PHP: add "json" option to create JsonSerializable code

## Question
    * [THRIFT-2573] - thrift 0.9.2 release
    * [THRIFT-2567] - Csharp slow ?
    * [THRIFT-2539] - Tsocket.cpp addrinfo ai_flags = AI_ADDRCONFIG
    * [THRIFT-2277] - Thrift: installing fb303 error
    * [THRIFT-2440] - how to connect as3 to java by thrift ,
    * [THRIFT-2379] - Memmory leaking while using multithreading in C++ server.
    * [THRIFT-2699] - Which version of Thrift to be used for WinCE
    * [THRIFT-2703] - Thrift on Windows CE
    * [THRIFT-2705] - make a package out of the haskell libraries for thrift

## Sub-task
    * [THRIFT-2534] - Cross language test results should recorded to a status.md or status.html file automatically
    * [THRIFT-2558] - CSharp compiler generator tries to concat ints with strings using +
    * [THRIFT-2507] - Additional LUA TProtocolException error code needed?
    * [THRIFT-334] - Compact Protocol for PHP
    * [THRIFT-66] - Java: Allow multiplexing multiple services over a single TCP connection
    * [THRIFT-2338] - First doctext wrongly interpreted as program doctext in some cases
    * [THRIFT-2325] - SSL test certificates
    * [THRIFT-2310] - PHP: Client-side support for Multiplexing Services
    * [THRIFT-2358] - C++: add compact protocol to cross language test suite
    * [THRIFT-2297] - TJsonProtocol implementation for Delphi does not allow for both possible slash (solidus) encodings
    * [THRIFT-2299] - TJsonProtocol implementation for Ruby does not allow for both possible slash (solidus) encodings
    * [THRIFT-2298] - TJsonProtocol implementation for C# does not allow for both possible slash (solidus) encodings
    * [THRIFT-2251] - go test for compact protocol is not running
    * [THRIFT-2499] - Compiler: allow annotations without "= value"
    * [THRIFT-2444] - pull request 88: thrift: clean up enum value assignment
    * [THRIFT-2425] - PHP: Server-side support for Multiplexing Services
    * [THRIFT-2421] - Tree/Recursive struct support in thrift
    * [THRIFT-2175] - Wrong field type set for binary
    * [THRIFT-2176] - TSimpleJSONProtocol.ReadFieldBegin() does not return field type and ID
    * [THRIFT-2174] - Deserializing JSON fails in specific cases
    * [THRIFT-2132] - Go: Support for Multiplexing Services on any Transport, Protocol and Server
    * [THRIFT-2290] - Update Go tutorial to align with THRIFT-2232
    * [THRIFT-2271] - JavaScript: Support for Multiplexing Services
    * [THRIFT-2195] - Delphi: Add event handlers for server and processing events
    * [THRIFT-2053] - NodeJS: Support for Multiplexing Services
    * [THRIFT-1914] - Python: Support for Multiplexing Services on any Transport, Protocol and Server
    * [THRIFT-1810] - add ruby to test/test.sh
    * [THRIFT-1681] - Add Lua Support
    * [THRIFT-1766] - [Ruby] Provide support for binary types
    * [THRIFT-1727] - Ruby-1.9: data loss: "binary" fields are re-encoded
    * [THRIFT-1726] - Ruby-1.9: "binary" fields are represented by string whose encoding is "UTF-8"
    * [THRIFT-988] - perl: add version Info to the library via configure
    * [THRIFT-981] - cocoa: add version Info to the library
    * [THRIFT-2345] - Delphi: UTF-8 sent by PHP as JSON is not understood by TJsonProtocol
    * [THRIFT-2346] - C#: UTF-8 sent by PHP as JSON is not understood by TJsonProtocol
    * [THRIFT-2652] - THRIFT_TEST_PORT variable via to run tests in parallel
    * [THRIFT-2513] - clean up enum value assignment
    * [THRIFT-2144] - Cocoa: Client-side support for Multiplexing Services on any Transport and Protocol
    * [THRIFT-2746] - Compiler C++98 conformance
    * [THRIFT-2750] - JS Lib ant build.xml fails on older ants
    * [THRIFT-2751] - NodeJS Lib clean up
    * [THRIFT-2749] - C++ Lib Transport Clean Up
    * [THRIFT-2747] - Add .vagrant to .gitignore
    * [THRIFT-2758] - lib/go/test/Makefile.am uses ln -s which breaks in vagrant
    * [THRIFT-2760] - thrift/test/cpp depends on boost libs not installed by Vagrantfile
    * [THRIFT-2762] - Python Twisted tests crash in Trusty Vagrantfile
    * [THRIFT-2768] - Whitespace fixups
    * [THRIFT-2761] - go make crashes with Trusty Vagrantfile
    * [THRIFT-2763] - D is not installed (and thus not built/tested) in the Trusty Vagrantfile
    * [THRIFT-2774] - Add documentation for new erlang case feature flag
    * [THRIFT-2764] - Haskell does not build/test when using the Trusty Vagrantfile
    * [THRIFT-1462] - add more strict compiler flags
    * [THRIFT-2727] - C glib coding standards
    * [THRIFT-2728] - C# coding standards
    * [THRIFT-2741] - Python coding standards

## Task
    * [THRIFT-2566] - Please create a DOAP file for your TLP
    * [THRIFT-2237] - Update archive to contain all versions
    * [THRIFT-2223] - Spam links on wiki
    * [THRIFT-962] - Tutorial page on our website is really unhelpful

## Test
    * [THRIFT-2327] - nodejs: nodejs test suite should be bundled with the library
    * [THRIFT-2501] - C# The test parameters from the TestServer and TestClient are different from the http://thrift.apache.org/test/
    * [THRIFT-2445] - THRIFT-2384 (code generation for go maps with binary keys) should be tested
    * [THRIFT-2685] - c_glib: Include in integration test suite
    * [THRIFT-2754] - erlang lib tests don't clean up after themselves properly

## Wish
    * [THRIFT-2190] - Add the JavaScript thrift.js lib to the Bower registry
    * [THRIFT-2076] - boost::optional instead of __isset


Thrift 0.9.1
--------------------------------------------------------------------------------
## Bug
    * [THRIFT-1440] - debian packaging: minor-ish policy problems
    * [THRIFT-1402] - Generated Y_types.js does not require() X_types.js when an include in the IDL file was used
    * [THRIFT-1551] - 2 thrift file define only struct (no service), one include another, the gen nodejs file didn't have "requires" at the top
    * [THRIFT-1264] - TSocketClient is queried by run loop after deallocation in Cocoa
    * [THRIFT-1600] - Thrift Go Compiler and Library out of date with Go 1 Release.
    * [THRIFT-1603] - Thrift IDL allows for multiple exceptions, args or struct member names to be the same
    * [THRIFT-1062] - Problems with python tutorials
    * [THRIFT-864] - default value fails if identifier is a struct
    * [THRIFT-930] - Ruby and Haskell bindings don't properly support DESTDIR (makes packaging painful)
    * [THRIFT-820] - The readLength attribute of TBinaryProtocol is used as an instance variable and is decremented on each call of checkReadLength
    * [THRIFT-1640] - None of the tutorials linked on the website contain content
    * [THRIFT-1637] - NPM registry does not include version 0.8
    * [THRIFT-1648] - NodeJS clients always receive 0 for 'double' values.
    * [THRIFT-1660] - Python Thrift library can be installed with pip but not easy_install
    * [THRIFT-1657] - Chrome browser sending OPTIONS method before POST in xmlHttpRequest
    * [THRIFT-2118] - Certificate error handling still incorrect
    * [THRIFT-2137] - Ruby test lib fails jenkins build #864
    * [THRIFT-2136] - Vagrant build not compiling java, ruby, php, go libs due to missing dependencies
    * [THRIFT-2135] - GO lib leaves behind test files that are auto generated
    * [THRIFT-2134] - mingw-cross-compile script failing with strip errors
    * [THRIFT-2133] - java TestTBinaryProtocol.java test failing
    * [THRIFT-2126] - lib/cpp/src/thrift/concurrency/STD* files missing from DIST
    * [THRIFT-2125] - debian missing from DIST
    * [THRIFT-2124] - .o, .so, .la, .deps, .libs, gen-* files left tutorials, test and lib/cpp when making DIST
    * [THRIFT-2123] - GO lib missing files in DIST build
    * [THRIFT-2121] - Compilation bug for Node.js
    * [THRIFT-2129] - php ext missing from dist
    * [THRIFT-2128] - lib GO tests fail with funct ends without a return statement
    * [THRIFT-2286] - Failed to compile Thrift0.9.1 with boost1.55 by VS2010 if select Debug-mt&x64 mode.
    * [THRIFT-1973] - TCompactProtocol in C# lib does not serialize and deserialize negative int32 and int64 number correctly
    * [THRIFT-1992] - casts in TCompactProtocol.tcc causing "dereferencing type-punned pointer will break strict-aliasing rules" warnings from gcc
    * [THRIFT-1930] - C# generates unsigned byte for Thrift "byte" type
    * [THRIFT-1929] - Update website to use Mirrors for downloads
    * [THRIFT-1928] - Race may still exist in TFileTransport::flush()
    * [THRIFT-1934] - Tabs in Example section on main page are not working
    * [THRIFT-1933] - Delphi generator crashes when a typedef references another typedef from an included file
    * [THRIFT-1942] - Binary accelerated cpp extension does not use Thrift namespaces for Exceptions
    * [THRIFT-1959] - C#: Add Union TMemoryBuffer support
    * [THRIFT-1958] - C#: Use static Object.Equals instead of .Equals() calls in equals
    * [THRIFT-1957] - NodeJS TFramedTransport and TBufferedTransport read bytes as unsigned
    * [THRIFT-1955] - Union Type writer generated in C# does not WriteStructBegin
    * [THRIFT-1952] - Travis CI
    * [THRIFT-1949] - WP7 build broken
    * [THRIFT-1943] - docstrings for enum values are ignored
    * [THRIFT-2070] - Improper `HexChar' and 'HexVal' implementation in TJSONProtocol.cs
    * [THRIFT-2017] - Resource Leak in thrift struct under compiler/cpp/src/parse/t_program.h
    * [THRIFT-2032] - C# client leaks sockets/handles
    * [THRIFT-1996] - JavaME Constants generation is broken / inconsistent with regular Java generation
    * [THRIFT-2002] - Haskell: Test use Data.Maybe instead of Maybe
    * [THRIFT-2051] - Vagrant fails to build erlang
    * [THRIFT-2050] - Vagrant C# lib compile fails with TException missing
    * [THRIFT-1978] - Ruby: Thrift should allow for the SSL verify mode to be set
    * [THRIFT-1984] - namespace collision in python bindings
    * [THRIFT-1988] - When trying to build a debian package it fails as the file NEWS doesn't exist
    * [THRIFT-1975] - TBinaryProtocol CheckLength can't be used for a client
    * [THRIFT-1995] - '.' allowed at end of identifier generates non-compilable code
    * [THRIFT-2112] - Error in Go generator when using typedefs in map keys
    * [THRIFT-2088] - Typos in Thrift compiler help text
    * [THRIFT-2080] - C# multiplex processor does not catch IOException
    * [THRIFT-2082] - Executing "gmake clean" is broken
    * [THRIFT-2102] - constants are not referencing to correct type when included from another thrift file
    * [THRIFT-2100] - typedefs are not correctly referenced when including from other thrift files
    * [THRIFT-2066] - 'make install' does not install two headers required for C++ bindings
    * [THRIFT-2065] - Not valid constants filename in Java
    * [THRIFT-2047] - Thrift.Protocol.TCompactProtocol, intToZigZag data lost (TCompactProtocol.cs)
    * [THRIFT-2036] - Thrift gem warns about class variable access from top level
    * [THRIFT-2057] - Vagrant fails on php tests
    * [THRIFT-2105] - Generated code for default values of collections ignores t_field::T_REQUIRED
    * [THRIFT-2091] - Unnecessary 'friend' declaration causes warning in TWinsockSingleton
    * [THRIFT-2090] - Go generator, fix including of other thrift files
    * [THRIFT-2106] - Fix support for namespaces in GO generator
    * [THRIFT-1783] - C# doesn't handle required fields correctly
    * [THRIFT-1782] - async only defined in silverlight
    * [THRIFT-1779] - Missing process_XXXX method in generated TProcessor implementation for all 'oneway' service functions
    * [THRIFT-1692] - SO_REUSEADDR allows for socket hijacking on Windows
    * [THRIFT-1720] - JRuby times out on successful connection
    * [THRIFT-1713] - Named and Anonymous Pipe transport (Delphi)
    * [THRIFT-1699] - Native Union#read has extra read_field_end call
    * [THRIFT-1749] - Python TSSLSocket error handling obscures actual error
    * [THRIFT-1748] - Guard and RWGuard macros defined in global namespace
    * [THRIFT-1734] - Front webpage is still advertising v0.8 as current release
    * [THRIFT-1729] - C glib refactor left empty folders in svn
    * [THRIFT-1767] - unions can't have required fields (Delphi)
    * [THRIFT-1765] - Incorrect error message printed for null or negative keys
    * [THRIFT-1778] - Configure requires manual intervention due to tar failure
    * [THRIFT-1777] - TPipeServer is UNSTOPPABLE
    * [THRIFT-1753] - Multiple C++ Windows, OSX, and iOS portability issues
    * [THRIFT-1756] - 'make -j 8' fails with "unterminated #ifdef" error
    * [THRIFT-1773] - Python library should run on python 2.4
    * [THRIFT-1769] - unions can't have required fields (C++)
    * [THRIFT-1768] - unions can't have required fields (Compiler)
    * [THRIFT-1666] - htonll usage in TBinaryProtocol.tcc generates warning with MSVC2010
    * [THRIFT-1919] - libthrift depends on httpcore-4.1.3 (directly) and httpcore-4.1.4 (transitively)
    * [THRIFT-1864] - implement event handler for non-blocking server
    * [THRIFT-1859] - Generated error c++ code with -out and include_prefix param
    * [THRIFT-1869] - TThreadPoolServer (java) dies when threadpool is consumed
    * [THRIFT-1842] - Memory leak with Pipes
    * [THRIFT-1838] - Can't build compiler on OS X because of missing thrifty.h
    * [THRIFT-1846] - Restore socket.h header to support builds with Android NDK
    * [THRIFT-1850] - make check hangs on TSocket tests in TransportTest.cpp
    * [THRIFT-1873] - Binary protocol factory ignores struct read/write flags
    * [THRIFT-1872] - issues with TBufferedTransport buffer
    * [THRIFT-1904] - Incorrect code is generated for typedefs which use included types
    * [THRIFT-1903] - PHP namespaces cause binary protocols to not be used
    * [THRIFT-1895] - Delphi: reserved variable name "result" not detected properly
    * [THRIFT-1881] - TNonblockingServer does not release open connections or threads on shutdown
    * [THRIFT-1888] - Java Thrift client can't connect to Python Thrift server on same host
    * [THRIFT-1831] - Bug in list deserializer
    * [THRIFT-1824] - many compile warning, becase Thread.h includes config.h
    * [THRIFT-1823] - Missing parenthesis breaks "IS_..." macro in generated code
    * [THRIFT-1806] - Python generation always truncates __init__.py files
    * [THRIFT-1795] - Race condition in TThreadedServerPool java implementation
    * [THRIFT-1794] - C# asyncctp broken
    * [THRIFT-1804] - Binary+compact protocol single byte error in Ruby library (ARM architecture): caused by different char signedness
    * [THRIFT-1800] - Documentation text not always escaped correctly when rendered to HTML
    * [THRIFT-1788] - C#: Constants static constructor does not compile
    * [THRIFT-1816] - Need "require" included thrift files in "xxx_types.js"
    * [THRIFT-1907] - Compiling namespace and sub-namespace directives for unrecognized generators should only be a warning
    * [THRIFT-1913] - skipping unknown fields in java unions
    * [THRIFT-2553] - C++ linker error - transport/TSocket
    * [THRIFT-274] - Towards a working release/versioning process

## Documentation
    * [THRIFT-1971] - [Graphviz] Adds tutorial/general description documentation
    * [THRIFT-2001] - http://thrift.apache.org/ Example "C++ Server" tab is broken

## Improvement
    * [THRIFT-1574] - Apache project branding requirements: DOAP file [PATCH]
    * [THRIFT-1347] - Unify the exceptions returned in generated Go code
    * [THRIFT-1353] - Switch to performance branch, get rid of BinaryParser
    * [THRIFT-1629] - Ruby 1.9 Compatibility during Thrift configure, make, install
    * [THRIFT-991] - Refactor Haskell code and generator
    * [THRIFT-990] - Sanify gettimeofday usage codebase-wide
    * [THRIFT-791] - Let C++ TSimpleServer be driven by an external main loop
    * [THRIFT-2117] - Cocoa TBinaryProtocol strictWrite should be set to true by default
    * [THRIFT-2014] - Change C++ lib includes to use <namespace/> style throughout
    * [THRIFT-1972] - Add support for async processors
    * [THRIFT-1970] - [Graphviz] Adds option to render exceptions relationships
    * [THRIFT-1966] - Support different files for SSL certificates and keys
    * [THRIFT-1965] - Adds Graphviz (graph description language) generator
    * [THRIFT-1956] - Switch to Apache Commons Lang 3
    * [THRIFT-1962] - Multiplex processor should send any TApplicationException back to client
    * [THRIFT-1960] - main() declares 22 unused gen bools
    * [THRIFT-1951] - libthrift.jar has source files in it
    * [THRIFT-1997] - Add accept backlog configuration method to  TServerSocket
    * [THRIFT-2003] - Deprecate senum
    * [THRIFT-2052] - Vagrant machine image defaults to only 384MB of RAM
    * [THRIFT-1980] - Modernize Go tooling, fix go client libary.
    * [THRIFT-1977] - C# compiler should generate constant files prefixed with thrift file name
    * [THRIFT-1985] - add a Vagrantfile to build and test Apache Thrift fully reproducable
    * [THRIFT-1994] - Deprecate slist
    * [THRIFT-1993] - Factory to create instances from known (generated) interface types with Delphi
    * [THRIFT-2081] - Specified timeout should be used in TSocket.Open()
    * [THRIFT-2084] - Delphi: Ability to create entity Thrift-generated instances based on TypeInfo
    * [THRIFT-2083] - Improve the go lib: buffered Transport, save memory allocation, handle concurrent request
    * [THRIFT-2109] - Secure connections should be supported in Go
    * [THRIFT-2107] - minor Go generator fixes
    * [THRIFT-1695] - allow warning-free compilation in VS 2012 and GNU 4.6
    * [THRIFT-1735] - integrate tutorial into regular build
    * [THRIFT-1716] - max allowed connections should be PIPE_UNLIMITED_INSTANCES
    * [THRIFT-1715] - Allow excluding python parts when building contrib/fb303
    * [THRIFT-1733] - Fix RPM build issues on RHEL6/OL6 systems
    * [THRIFT-1728] - Upgradation of httpcomponents
    * [THRIFT-1876] - Use enum names instead of casted integers in assignments
    * [THRIFT-1874] - timeout for the server-side end of a named pipe
    * [THRIFT-1897] - Support validation of required fields
    * [THRIFT-1896] - Add TBase protocol for Cocoa
    * [THRIFT-1880] - Make named pipes server work asynchronously (overlapped) to allow for clean server stops
    * [THRIFT-1878] - Add the possibility to send custom headers
    * [THRIFT-1882] - Use single include
    * [THRIFT-1793] - C#: Use static read instead of instance read
    * [THRIFT-1799] - Option to generate HTML in "standalone mode"
    * [THRIFT-1815] - Code generators line buffer output
    * [THRIFT-1890] - C++: Make named pipes server work asynchronously
    * [THRIFT-474] - Generating Ruby on Rails friendly code

## New Feature
    * [THRIFT-801] - Provide an interactive shell (irb) when generating ruby bindings
    * [THRIFT-2292] - Android Library Project
    * [THRIFT-2012] - Modernizing Go
    * [THRIFT-1969] - C#: Tests not properly linked from the solution
    * [THRIFT-1785] - C#: Add TMemoryBuffer serializer/deserializer
    * [THRIFT-1780] - Add option to generate nullable values
    * [THRIFT-1786] - C# Union Typing
    * [THRIFT-591] - Make the C++ runtime library be compatible with Windows and Visual Studio
    * [THRIFT-514] - Add option to configure compiler output directory

## Question
    * [THRIFT-1764] - how to get the context of client when on a rpc call in server side?
    * [THRIFT-1791] - thrift's namespace directive when generating haskell code

## Sub-task
    * [THRIFT-1594] - Java test clients should have a return codes that reflect whether it succeeds or not.
    * [THRIFT-1595] - Java test server should follow the documented behavior as of THRIFT-1590
    * [THRIFT-986] - st: add version Info to the library
    * [THRIFT-985] - php: add version Info to the library
    * [THRIFT-984] - ocaml: add version Info to the library
    * [THRIFT-1924] - Delphi: Inconsistency in serialization of optional fields
    * [THRIFT-1922] - C#: Inconsistency in serialization of optional fields
    * [THRIFT-1961] - C# tests should be in lib/csharp/test/...
    * [THRIFT-1822] - PHP unit test does not work
    * [THRIFT-1902] - C++: Support for Multiplexing Services on any Transport, Protocol and Server
    * [THRIFT-1901] - C#: Support for Multiplexing Services on any Transport, Protocol and Server
    * [THRIFT-1899] - Delphi: Support for Multiplexing Services on any Transport, Protocol and Server
    * [THRIFT-563] - Support for Multiplexing Services on any Transport, Protocol and Server



Thrift 0.9
--------------------------------------------------------------------------------
## Bug
    * [THRIFT-1438] - lib/cpp/src/windows/config.h should read version from configure.ac rather than a #define
    * [THRIFT-1446] - Compile error with Delphi 2009 in constant initializer
    * [THRIFT-1450] - Problems building thrift 0.8.0 for Python and Ruby
    * [THRIFT-1449] - Ruby client does not work on solaris (?)
    * [THRIFT-1447] - NullpointerException in ProcessFunction.class :in "oneway" method
    * [THRIFT-1433] - TServerSocket fix for MSVC
    * [THRIFT-1429] - The nonblocking servers is supposed to use TransportFactory to read the data
    * [THRIFT-1427] - PHP library uses non-multibyte safe functions with mbstring function overloading
    * [THRIFT-1421] - Debian Packages can not be built
    * [THRIFT-1394] - Treatment of optional fields is not consistent between C++ and Java
    * [THRIFT-1511] - Server with oneway support ( JAVA )
    * [THRIFT-1496] - PHP compiler not namespacing enums
    * [THRIFT-1495] - PHP TestClient fatals on missing class
    * [THRIFT-1508] - TServerSocket does not allow for the user to specify the IP address to bind to
    * [THRIFT-1504] - Cocoa Generator should use local file imports for base Thrift headers
    * [THRIFT-1512] - Thrift socket support for Windows XP
    * [THRIFT-1502] - TSimpleServer::serve(): Do not print out error message if server was stopped.
    * [THRIFT-1501] - PHP old namespaces not generated for enums
    * [THRIFT-1483] - java compiler does not generate type parameters for services in extended clauses
    * [THRIFT-1479] - Compiled PHP process functions missing writeMessageEnd()
    * [THRIFT-1492] - enabling c_glib render thrift unusable (even for C++ code)
    * [THRIFT-1491] - Uninitialize processorFactory_ member in TServer.h
    * [THRIFT-1475] - Incomplete records generation for Erlang
    * [THRIFT-1486] - Javascript manual testserver not returning content types
    * [THRIFT-1488] - src/concurrency/Thread.h:91:58: error: invalid conversion from 'pthread_t {aka _opaque_pthread_t*}' to 'apache::thrift::concurrency::Thread::id_t {aka long long unsigned int}' [-fpermissive]
    * [THRIFT-1490] - Windows-specific header files - fixes & tweaks
    * [THRIFT-1526] - Union TupleSchemeFactory returns StandardSchemes
    * [THRIFT-1527] - Generated implementation of tupleReadStruct in unions return null when the setfield is unrecognized
    * [THRIFT-1524] - TNonBlockingServer does not compile in Visual Studio 2010
    * [THRIFT-1529] - TupleProtocol can unintentionally include an extra byte in bit vectors when number of optional fields is an integral of 8
    * [THRIFT-1473] - JSON context stack may be left in an incorrect state when an exception is thrown during read or write operations
    * [THRIFT-1456] - System.Net.HttpWebRequest' does not contain a definition for 'Proxy'
    * [THRIFT-1468] - Memory leak in TSaslServerTransport
    * [THRIFT-1461] - Recent TNonblockingServer changes broke --enable-boostthreads=yes, Windows
    * [THRIFT-1460] - why not add unicode strings support to python directly?
    * [THRIFT-1464] - AbstractNonblockingServer.FrameBuffer TNonblockingTransport accessor changed from public to private
    * [THRIFT-1467] - Possible AV with empty strings when using JSON protocol
    * [THRIFT-1523] - clientTimeout not worked as expected in TServerSocket created by TSSLTransportFactory
    * [THRIFT-1537] - TFramedTransport issues
    * [THRIFT-1519] - Thirft Build Failure referencing rb_intern2 symbol
    * [THRIFT-1518] - Generated C++ code only sends the first optional field in the write() function for a struct.
    * [THRIFT-1515] - NameError: global name 'TApplicationException' is not defined
    * [THRIFT-1554] - Inherited service methods are not resolved in derived service implementations
    * [THRIFT-1553] - thrift nodejs service side can't read map structure, key as enum, value as Object
    * [THRIFT-1575] - Typo in server/TThreadPoolServer.h
    * [THRIFT-1327] - Fix Spec Suite under Ruby-1.8.7 (works for MRI Ruby-1.9.2)
    * [THRIFT-1326] - on some platforms, #include <stdint.h> is necessary to be included in Thrift.h
    * [THRIFT-1159] - THttpClient->Flush() issue (connection thru proxy)
    * [THRIFT-1277] - Node.js serializes false booleans as null
    * [THRIFT-1224] - Cannot insert UTF-8 text
    * [THRIFT-1267] - Node.js can't throw exceptions.
    * [THRIFT-1338] - Do not use an unpatched autoconf 2.65 to generate release tarball
    * [THRIFT-1128] - MAC OS X: thrift.h incompatibility with Thrift.h
    * [THRIFT-1631] - Fix C++ server constructor typos
    * [THRIFT-1602] - PHP C Extension is not Compatible with PHP 5.4
    * [THRIFT-1610] - IWebProxy not available on WP7 platform
    * [THRIFT-1606] - Race condition in BoostThreadFactory.cpp
    * [THRIFT-1604] - Python exception handeling for changes from PEP 3110
    * [THRIFT-1607] - Incorrect file modes for several source files
    * [THRIFT-1583] - c_glib leaks memory
    * [THRIFT-1582] - Bad includes of nested thrift files in c_glib
    * [THRIFT-1578] - C_GLib generated code does not compile
    * [THRIFT-1597] - TJSONProtocol.php is missing from Makefile.am
    * [THRIFT-1591] - Enable TCP_NODELAY for ruby gem
    * [THRIFT-1624] - Isset Generated differently on different platforms
    * [THRIFT-1622] - Incorrect size returned on read
    * [THRIFT-1621] - Memory leaks
    * [THRIFT-1612] - Base64 encoding is broken
    * [THRIFT-1627] - compiler built using compilers.vcxproj cannot be used to build some test .thrift files
    * [THRIFT-1571] - Update Ruby HTTP transport for recent Ruby versions
    * [THRIFT-1023] - Thrift encoding  (UTF-8) issue with Ruby 1.9.2
    * [THRIFT-1090] - Document the generation of a file called "Constants.java"
    * [THRIFT-1082] - Thrift::FramedTransport sometimes calls close() on an undefined value
    * [THRIFT-956] - Python module's version meta-data should be updated
    * [THRIFT-973] - Cocoa library won't compile using clang
    * [THRIFT-1632] - ruby: data corruption in thrift_native implementation of MemoryBufferTransport
    * [THRIFT-1665] - TBinaryProtocol: exceeded message length raises generic TException
    * [THRIFT-1664] - Reference to non-existing variable in build script
    * [THRIFT-1663] - Java Thrift server is not throwing exceptions
    * [THRIFT-1662] - "removeObject:" should be "removeObserver:" in [-TSocketServer dealloc]?
    * [THRIFT-1643] - Denial of Service attack in TBinaryProtocol.readString
    * [THRIFT-1674] - Update Thrift D library to be compatible with 2.060
    * [THRIFT-1673] - Ruby compile flags for extension for multi arch builds (os x)
    * [THRIFT-1655] - Configure still trying to use thrift_generators in output
    * [THRIFT-1654] - c_glib thrift_socket_read() returns corrupted data
    * [THRIFT-1653] - TThreadedSelectorServer leaks CLOSE_WAIT sockets
    * [THRIFT-1658] - Java thrift server is not throwing TApplicationException
    * [THRIFT-1656] - Setting proper headers in THttpServer.cpp so that "Cross-Origin Resource Sharing" on js client can work.
    * [THRIFT-1652] - TSaslTransport does not log the error when kerberos auth fails
    * [THRIFT-2272] - CLONE - Denial of Service attack in TBinaryProtocol.readString
    * [THRIFT-2086] - Invalid generated code for Node.JS when using namespaces
    * [THRIFT-1686] - t_php_generator.cc uses "and" instead of "&&", and causes compiler errors with Visual Studio
    * [THRIFT-1693] - libthrift has dependency on two different versions of httpcore
    * [THRIFT-1689] - don't exit(-1) in TNonblockingServer
    * [THRIFT-1679] - NodeJS: protocol readString() should treat string as utf8, not binary
    * [THRIFT-1721] - Dist broken due to 0.8.0 to 0.9.0 changes
    * [THRIFT-1710] - Minor issues in test case code
    * [THRIFT-1709] - Warning "Bitwise-or operator used on a sign-extended operand; consider casting to a smaller unsigned type first" in TBinaryProtocol.cs at ReadInt64()
    * [THRIFT-1707] - [ruby] Adjust server_spec.rb for RSpec 2.11.x and Ruby 1.9.3
    * [THRIFT-1671] - Cocoa code generator does not put keywords into generated method calls
    * [THRIFT-1670] - Incompatibilities between different versions of a Thrift interface
    * [THRIFT-1669] - NameError: global name 'TApplicationException' is not defined
    * [THRIFT-1668] - Compile error in contrib/fb303, thrift/TDispatchProcessor.h: No such file or directory
    * [THRIFT-1845] - Fix compiler warning caused by implicit string conversion with Xcode 4.6
    * [THRIFT-304] - Building the Python library requires development headers
    * [THRIFT-369] - sets and maps break equality
    * [THRIFT-556] - Ruby compiler does not correctly referred to top-level modules when a submodule masks the top-level name
    * [THRIFT-481] - indentation of ruby classes is off by a few

## Improvement
    * [THRIFT-1498] - Allow TThreadedPoolServer.Args to pass a ExecutorService
    * [THRIFT-1444] - FunctionRunner - add syntactic sugar to create shared_ptrs
    * [THRIFT-1443] - define a TProcessor helper class to implement process()
    * [THRIFT-1441] - Generate constructor with parameters for exception class to let it update message property automatically.
    * [THRIFT-1520] - Embed version number in erlang .app file
    * [THRIFT-1480] - python: remove tabs, adjust whitespace and address PEP8 warnings
    * [THRIFT-1485] - Performance: pass large and/or refcounted arguments as "const"
    * [THRIFT-1484] - Introduce phpunit test suite
    * [THRIFT-1532] - The type specifications in the generated Erlang code should include "undefined" where it's used as a default value
    * [THRIFT-1534] - Required fields in the Delphi code generator.
    * [THRIFT-1469] - Java isset space optimization
    * [THRIFT-1465] - Visibility of methods in generated java code
    * [THRIFT-1453] - Don't change types of arguments when serializing with thrift php extension
    * [THRIFT-1452] - generate a swap() method for all generated structs
    * [THRIFT-1451] - FramedTransport: Prevent infinite loop when writing
    * [THRIFT-1521] - Two patches for more Performance
    * [THRIFT-1555] - Delphi version of the tutorial code
    * [THRIFT-1535] - Why thrift don't use wrapped class for optional fields ?
    * [THRIFT-1204] - Ruby autogenerated files should require 'thrift' gem
    * [THRIFT-1344] - Using the httpc module directly rather than the deprecated http layer
    * [THRIFT-1343] - no_auto_import min/2 to avoid compile warning
    * [THRIFT-1340] - Add support of ARC to Objective-C
    * [THRIFT-1611] - Improved code generation for typedefs
    * [THRIFT-1593] - Pass on errors like "connection closed" to the handler module
    * [THRIFT-1615] - PHP Namespace
    * [THRIFT-1567] - Thrift/cpp: Allow alternate classes to be used for
    * [THRIFT-1072] - Missing - (id) initWithSharedProcessor in TSharedProcessorFactory.h
    * [THRIFT-1650] - [ruby] Update clean items and svn:ignore entries for OS X artifacts
    * [THRIFT-1661] - [PATCH] Add --with-qt4 configure option
    * [THRIFT-1675] - Do we have any plan to support scala?
    * [THRIFT-1645] - Replace Object#tee with more conventional Object#tap in specs
    * [THRIFT-1644] - Upgrade RSpec to 2.10.x and refactor specs as needed
    * [THRIFT-1672] - MonoTouch (and Mono for Android) compatibility
    * [THRIFT-1702] - a thrift manual
    * [THRIFT-1694] - Re-Enable serialization for WP7 Silverlight
    * [THRIFT-1691] - Serializer/deserializer support for Delphi
    * [THRIFT-1688] - Update IDL page markup
    * [THRIFT-1725] - Tutorial web pages for Delphi and C#
    * [THRIFT-1714] - [ruby] Explicitly add CWD to Ruby test_suites.rb
    * [THRIFT-317] - Issues with Java struct validation
    * [THRIFT-164] - Build web tutorial on Incubator web site
    * [THRIFT-541] - Cocoa code generator doesn't put keywords before all arguments.
    * [THRIFT-681] - The HTML generator does not handle JavaDoc style comments very well

## New Feature
    * [THRIFT-1500] - D programming language support
    * [THRIFT-1510] - There should be an implementation of the JsonProtocol for ruby
    * [THRIFT-1115] - python TBase class for dynamic (de)serialization, and __slots__ option for memory savings
    * [THRIFT-1953] - support for asp.net mvc 3

## Question
    * [THRIFT-1235] - How could I use THttpServerTransportFactory withTNonBlockingServer
    * [THRIFT-1368] - TNonblockingServer usage
    * [THRIFT-1061] - Read an invalid frame size of 0. Are you using TFramedTransport on the client side?
    * [THRIFT-491] - Ripping raw pthreads out of TFileTransport and associated test issues

## Sub-task
    * [THRIFT-1596] - Delphi: Test clients should have a return codes that reflect whether they succeeded or not
    * [THRIFT-982] - javame: add version Info to the library
    * [THRIFT-1722] - C# WP7 Assembly addition beaks mono build
    * [THRIFT-336] - Compact Protocol in C#

## Test
    * [THRIFT-1613] - Add code back into empty source file ToStringTest.java
    * [THRIFT-1718] - Incorrect check in TFileTransportTest

## Wish
    * [THRIFT-1463] - Decouple Thrift IDL from generators
    * [THRIFT-1466] - Proper Documentation for Thrift C Glib
    * [THRIFT-1539] - Build and distribute the fb303 python libraries along with thrift
    * [THRIFT-1685] - Please add "aereo.com" to "Powered by Apache Thrift" list in about page
    * [THRIFT-330] - TProcessor - additional method to called when connection is broken



Thrift 0.8
--------------------------------------------------------------------------------
## Bug
    * [THRIFT-1436] - pip install thrift fails on Windows with "Unable to find vcvarsall.bat"
    * [THRIFT-1432] - Javascript struct constants declared in the same file as their struct definition will cause an error
    * [THRIFT-1428] - shared.thrft does not include namespace for php, so thrift compiler generate incorrect name
    * [THRIFT-1426] - Dist package missing files for release 0.8
    * [THRIFT-1425] - The Node package is incompatible with latest node (0.6) & npm (1.0.27)
    * [THRIFT-1416] - Python Unit test is broken on ci
    * [THRIFT-1419] - AbstractNonBlockingServer does not catch errors when invoking the processor
    * [THRIFT-1424] - Ruby specs fail when run with rake
    * [THRIFT-1420] - Nonblocking and HsHa server should make sure to close all their socket connections when the selector exits
    * [THRIFT-1413] - Generated code does not read MapEnd / ListEnd / SetEnd
    * [THRIFT-1409] - Name conflict check does not work properly for exception object(Delphi).
    * [THRIFT-1408] - Delphi Test Server: Exception test case fails due to naming conflict with e.message
    * [THRIFT-1407] - Typo in Python socket server causes Thrift to fail when we enable a global socket timout
    * [THRIFT-1397] - CI server fails during build due to unused parameters in delphi generator
    * [THRIFT-1404] - Delphi compiler generates struct reader code with problem.
    * [THRIFT-1400] - Ruby native extension aborts with __stack_chk_fail in OSX
    * [THRIFT-1399] - One of the TServerImpl.Create CTORs lacks implementation
    * [THRIFT-1390] - Debian packages build fix for Squeeze (build from the official  0.7.0 tarball)
    * [THRIFT-1393] - TTransportException's thrown from THttpClient contain superfluous slashes in the Exception message
    * [THRIFT-1392] - Enabling both namespaces and autoloading in generated PHP code won't work.
    * [THRIFT-1406] - Build error after applying THRIFT-1395
    * [THRIFT-1405] - Delphi compiler does not generates container serializer properly.
    * [THRIFT-1411] - java generator does not provide type parameter for TBaseProcessor
    * [THRIFT-1473] - JSON context stack may be left in an incorrect state when an exception is thrown during read or write operations
    * [THRIFT-1331] - Ruby library deserializes an empty map to nil
    * [THRIFT-1330] - PHP Namespaces no longer generated
    * [THRIFT-1328] - TBaseHelper.toString(...) appends ByteBuffer data outside of valid buffer range
    * [THRIFT-1322] - OCaml lib fail to compile: Thrift.ml line 305, int vs int32 mismatch
    * [THRIFT-1143] - Build doesn't detect correct architecture type on 64bit osx
    * [THRIFT-1205] - port server unduly fragile with arbitrary input
    * [THRIFT-1279] - type set is handled incorrectly when writing object
    * [THRIFT-1298] - Standard scheme doesn't read or write metadata along with field values
    * [THRIFT-1265] - C++ container deserialize
    * [THRIFT-1263] - publish ruby client to rubygems
    * [THRIFT-1384] - Java help menu missing newline near javame flag
    * [THRIFT-1382] - Bundle install doesnot work because thrift crashes
    * [THRIFT-1381] - Thrift C++ libs have incorrectly versioned names
    * [THRIFT-1350] - Go library code does not build as of r60 (most recent release)
    * [THRIFT-1365] - TupleProtocol#writeBitSet unintentionally writes a variable length byte array
    * [THRIFT-1359] - --gen-cob cpp:cob_style does not compile anymore
    * [THRIFT-1319] - Mismatch between how a union reads and writes a container
    * [THRIFT-1309] - libfb303-0.7.0.jar missing in maven repository
    * [THRIFT-1238] - Thrift JS client cannot read map of structures
    * [THRIFT-1254] - Code can't be compiled against a regular JRE: Object.clone() override has a different return type
    * [THRIFT-1367] - Mac OSX build fails with "no such file to load -- spec/rake/spectask"
    * [THRIFT-1355] - Running make in lib/rb doesn't build the native extensions
    * [THRIFT-1370] - Debian packaging should Build-Depend on libglib2.0-dev
    * [THRIFT-1342] - Compilation problem on Windows of fastbinary.c
    * [THRIFT-1341] - TProtocol.h endian detection wrong with boost
    * [THRIFT-1583] - c_glib leaks memory
    * [THRIFT-1582] - Bad includes of nested thrift files in c_glib
    * [THRIFT-1578] - C_GLib generated code does not compile
    * [THRIFT-1027] - 'make -j 16' fails with "unterminated #ifdef" error
    * [THRIFT-1121] - Java server performance regression in 0.6
    * [THRIFT-857] - tests run by "make install" fail if generators are disabled
    * [THRIFT-380] - Use setuptools for python build

## Dependency upgrade
    * [THRIFT-1257] - thrift's dependency scope on javax.servlet:servlet-api should be 'provided'

## Improvement
    * [THRIFT-1445] - minor C++ generator variable cleanup
    * [THRIFT-1435] - make TException.Message property conformant to the usual expectations
    * [THRIFT-1431] - Rename 'sys' module to 'util'
    * [THRIFT-1396] - Dephi generator has dependacy on boost 1.42 later.
    * [THRIFT-1395] - Patch to prevent warnings for integer types in some cases
    * [THRIFT-1275] -  thrift: always prefix namespaces with " ::"
    * [THRIFT-1274] -  thrift: fail compilation if an unexpected token is
    * [THRIFT-1271] -  thrift: fix missing namespace in generated local
    * [THRIFT-1270] -  thrift: add --allow-neg-keys argument to allow
    * [THRIFT-1345] - Allow building without tests
    * [THRIFT-1286] - Modernize the Thrift Ruby Library Dev Environment
    * [THRIFT-1284] -  thrift: fix processor inheritance
    * [THRIFT-1283] -  thrift: wrap t_cpp_generator::generate_process_function() to 80
    * [THRIFT-1282] - Upgrade httpclient to 4.1.2 (from 4.0.1)
    * [THRIFT-1281] -  add @generated to the docblock
    * [THRIFT-1280] -  Thrift: Improve Monitor exception-free interfaces
    * [THRIFT-1278] - javadoc warnings - compilation
    * [THRIFT-1227] - Erlang implementation of thrift JSON protocol
    * [THRIFT-1295] - Duplicate include in TSocket.cpp
    * [THRIFT-1294] -  thrift: fix log message typos in TSimpleServer
    * [THRIFT-1293] -  thrift: improve handling of exceptions thrown by
    * [THRIFT-1292] -  thrift: silence log spew from TThreadedServer
    * [THRIFT-1288] -  Allow typedefed exceptions in throws clauses
    * [THRIFT-1290] -  thrift: TNonblockingServer: clean up state in the
    * [THRIFT-1287] -  thrift: start refactoring some of the C++ processor
    * [THRIFT-1289] -  thrift: implement TNonblockingServer::stop()
    * [THRIFT-1305] -  thrift: make TConnection a private inner class of
    * [THRIFT-1304] -  TNonblockingServer: pass in the connection context to
    * [THRIFT-1302] -  thrift: raise an exception if send() times out in
    * [THRIFT-1301] -  thrift: consolidate common code in TNonblockingServer
    * [THRIFT-1377] - abort PHP deserialization on unknown field type
    * [THRIFT-1379] - fix uninitialized enum values in thrift C++ objects
    * [THRIFT-1376] - Make port specification option in thrift remote
    * [THRIFT-1375] - fixed a hex char conversion bug in TJSONProtocol
    * [THRIFT-1373] - Fix user-defined exception generation in thrift (python)
    * [THRIFT-1361] - Optional replacement of pthread by boost::thread
    * [THRIFT-1320] - Consistency of configure generated config.h
    * [THRIFT-1317] -  Remove copy constructibility from
    * [THRIFT-1316] -  thrift: update server classes to accept
    * [THRIFT-1315] -  thrift: generate server interface factory classes
    * [THRIFT-1314] -  thrift: add TProcessorFactory
    * [THRIFT-1335] -  Add accept timeout to TServerSocket
    * [THRIFT-1334] -  Add more info to IllegalStateException
    * [THRIFT-1333] -  Make RWGuard not copyable
    * [THRIFT-1332] - TSSLTransportParameters class uses hard coded value keyManagerType: SunX509
    * [THRIFT-1251] - Generated java code should indicate which fields are required and which are optional
    * [THRIFT-1387] - Build MSVC libraries with Boost Threads instead of Pthreads
    * [THRIFT-1339] - Extend Tuple Protocol to TUnions
    * [THRIFT-1031] - Patch to compile Thrift for vc++ 9.0 and 10.0
    * [THRIFT-1130] - Add the ability to specify symbolic default value for optional boolean
    * [THRIFT-1123] - Patch to compile Thrift server and client for vc++ 9.0 and 10.0
    * [THRIFT-386] - Make it possible to build the Python library without the extension

## New Feature
    * [THRIFT-1401] - JSON-protocol for Delphi XE Libraries
    * [THRIFT-1167] - Java nonblocking server with more than one thread for select and handling IO
    * [THRIFT-1366] - Delphi generator, lirbrary and unit test.
    * [THRIFT-1354] - Add rake task to build just the gem file
    * [THRIFT-769] - Pluggable Serializers

## Sub-task
    * [THRIFT-1415] - delphi: add version Info to the library
    * [THRIFT-1391] - Improved Delphi XE test cases



Thrift 0.7
--------------------------------------------------------------------------------
## Bug
    * [THRIFT-1140] - Framed Transport Client using C (Glib) Library hangs when connecting to Ruby Server
    * [THRIFT-1154] - HttpClient does not specify the connection close parameter
    * [THRIFT-1153] - HttpClient does not specify the connection close parameter
    * [THRIFT-1149] - Nonblocking server fails when client connection is reset
    * [THRIFT-1146] - Android Incompatibility : in Android < 2.3 java.io.IOException doesn't support for Throwable parameter in constructor
    * [THRIFT-1133] - Java and JavaScript tutorial is broken since we have Java maven deployment
    * [THRIFT-1132] - Deserialization error in TApplicationException C#
    * [THRIFT-1131] - C# JSON Protocol is unable to decode escaped characters in string
    * [THRIFT-1208] - python TCompactProtocol.py writeBool and readBool not follow the compact-proto-spec-2.txt spec for CONTAINER_WRITE, CONTAINER_READ
    * [THRIFT-1200] - JS compiler generates code that clobbers existing namespaces
    * [THRIFT-1183] - Pure-ruby CompactProtocol raises ArgumentError when deserializing under Ruby 1.9
    * [THRIFT-1182] - Native deserializer segfaults on incorrect list element type
    * [THRIFT-1181] - AS3 compiler generates incorrect code for setting default values in constructor
    * [THRIFT-1234] - thrift --help is missing doc on py:utf8strings
    * [THRIFT-1180] - AS3 compiler generates uncompilable code for binary types.
    * [THRIFT-1194] - Java lib does not install artifacts to local dir correctly
    * [THRIFT-1193] - Potential infinite loop in nonblocking_server
    * [THRIFT-1192] - Typo: TProtocol.h tests for HAVE_SYS_PARAM_H_
    * [THRIFT-1190] - readBufferBytesAllocated in TNonblockingServer.java should be AtomicLong to fix FD leakage and general server malfunction
    * [THRIFT-1187] - nonblocking_server shutdown race under Ruby 1.9
    * [THRIFT-1178] - Java: TBase signature should be T extends TBase<?,?>
    * [THRIFT-1164] - Segmentation fault on NULL pointer in t_js_generator::generate_const
    * [THRIFT-1171] - Perl write/readDouble assumes little-endian platform
    * [THRIFT-1222] - Unhandled exception for TEvhttpServer request
    * [THRIFT-1220] - TProcessor::process never returns false
    * [THRIFT-1285] - Stable 0.7.0 Windows compiler exe available on the webside is not the good one
    * [THRIFT-1218] - c_glib uses wrong name in pkg-config
    * [THRIFT-1215] - Undefined property Thirft in lib/js/thrift.js
    * [THRIFT-1211] - When using THttpClient, non 200 responses leave the connection open
    * [THRIFT-1228] - The php accelerator module calls flush incorrectly
    * [THRIFT-1308] - libfb303-0.7.0.jar missing in maven repository
    * [THRIFT-1255] - Mismatch of method name between JavaME's lib and generated code (compareTo/compareObjects)
    * [THRIFT-1253] - Code generated for maps is not compiling
    * [THRIFT-1252] - Segfault in Ruby deserializer
    * [THRIFT-1094] - bug in TCompactProto python readMessageEnd method and updated test cases
    * [THRIFT-1093] - several bugs in python TCompactProtocol
    * [THRIFT-1092] - generated validate() method has wrong indentation
    * [THRIFT-1011] - Error generating package imports when using classes from other packages
    * [THRIFT-1050] - Declaring an argument named "manager" to a service method produces code that fails compile due to name conflicts with protected ivars in TAsyncClient
    * [THRIFT-1074] - .keystore and .truststore are missing from the 0.6.0 distribution
    * [THRIFT-1067] - Tons of bugs in php implementation
    * [THRIFT-1065] - Unexpected exceptions not proper handled on JS
    * [THRIFT-1076] - Erlang Thrift socket server has a bug that causes java thrift client of framed binary client to throw "out of sequence" exception
    * [THRIFT-1057] - casts in TBinaryProtocol.tcc causing "dereferencing type-punned pointer will break strict-aliasing rules" warnings from gcc
    * [THRIFT-1055] - csharp TServerSocket and TSocket do not disable Nagle via Socket.NoDelay = true like cpp and java do
    * [THRIFT-1054] - explicit call to PKG_PROG_PKG_CONFIG is missing and first use of PKG_CHECK_MODULES may not happen, causes mono detection to fail
    * [THRIFT-1117] - JavaScript Unit Test does not work anymore because libthrift*.jar where moved by Maven Deployment
    * [THRIFT-1111] - The HTML generator does not distinguish between string and binary types
    * [THRIFT-1032] - "make dist" fails due to c_glib problem
    * [THRIFT-1036] - Auto-generated C++ code fails to compile with "-Werror -Wextra -Wall" g++ compiler flags
    * [THRIFT-1041] - TDeserializer holds onto a reference of the array it reads after it is done deserializing
    * [THRIFT-1106] - C++ code TAsyncProtocolProcessor.h & TAsyncBufferProcessor.h dont have virtual functions but no virtual destructor. Causes warnings on -Wall
    * [THRIFT-1105] - OCaml generator does not prefix methods of included structs with their type
    * [THRIFT-1104] - INSTALLDIRS should be included in configure script
    * [THRIFT-1102] - typo in configure.ac: "==" operator in 'test' (instead of"'=")
    * [THRIFT-1101] - bytebuffer length calculation in TBinaryProtocol writeBinary
    * [THRIFT-1098] - Undefined properties in TBinaryProtocolFactory
    * [THRIFT-1081] - PHP tests broken and somewhat incomplete
    * [THRIFT-1080] - erlang test's 'make' fails on Mac OSX
    * [THRIFT-1078] - ThriftTest.thrift generates invalid PHP library
    * [THRIFT-1120] - proto.WriteListEnd being called in the wrong place
    * [THRIFT-1119] - TJSONProtocol fails to UTF8 decode strings
    * [THRIFT-867] - PHP accelerator module's output transport is incompatible with TFramedTransport
    * [THRIFT-826] - PHP TSocket Write Timeout
    * [THRIFT-835] - Bad AS3 syntax in constructors that set default values
    * [THRIFT-788] - thrift_protocol.so: multiget/multiget_slice does not handle more than 17 keys correctly
    * [THRIFT-125] - OCaml libraries don't compile with 32-bit ocaml
    * [THRIFT-342] - PHP: can't have sets of complex types
    * [THRIFT-731] - configure doesn't check for ant >= 1.7
    * [THRIFT-690] - Update TApplicationException codes
    * [THRIFT-638] - BufferedTransport + C extensions block until recv timeout is reached on last fread call

## Dependency upgrade
    * [THRIFT-1177] - Update thrift to reflect changes in Go's networking libraries

## Improvement
    * [THRIFT-1155] - Remove log4j dependency from java client
    * [THRIFT-1151] - Produce more informative runtime error in case of schema and data mismatch during serialization
    * [THRIFT-1207] - Support DESTDIR on "make install" of ruby libs
    * [THRIFT-1199] - Union structs should have generated methods to test whether a specific field is currently set
    * [THRIFT-1233] - Remove unused include in generated C++ code
    * [THRIFT-1189] - Ruby deserializer speed improvements
    * [THRIFT-1170] - Thrift Generated Code and Java 5
    * [THRIFT-1174] - Publish as3 client implementation via Maven for use by flex-mojos users
    * [THRIFT-1225] - TCompactProtocol for PHP
    * [THRIFT-1221] - Remove SimpleCallback.h
    * [THRIFT-1217] - Use evutil_socketpair instead of pipe (Windows port)
    * [THRIFT-1216] - build Java Library behind a proxy
    * [THRIFT-1231] - Remove bogus include
    * [THRIFT-1213] - Membuffer should provide a way to get back the buffer
    * [THRIFT-1237] - Java fb303 missing some methods
    * [THRIFT-1063] - Fix Erlang Tutorial Files
    * [THRIFT-1053] - Make remote client's IP address available for all socket related transports
    * [THRIFT-1109] - Deploy fb303 along side libthrift to maven repo
    * [THRIFT-1107] - improvement for compiler-generated python for 'None' object comparisons
    * [THRIFT-1069] - Add command line option to prevent thrift from inserting gen-* directories
    * [THRIFT-1049] - Allow for TServerSocket python library to bind to a specific host
    * [THRIFT-1126] - Extending struct_info for erlang bindings
    * [THRIFT-1100] - python TSSLSocket improvements, including certificate validation
    * [THRIFT-994] - Don't try to invoke phpize if we don't have it
    * [THRIFT-993] - Some improvements in C++ stubs for oneway operations
    * [THRIFT-997] - Using valueOf for base types in getFieldValue
    * [THRIFT-418] - Don't do runtime sorting of struct fields
    * [THRIFT-151] - TSSLServerSocket and TSSLSocket implementation
    * [THRIFT-27] - Generated erlang types don't contain default values for records
    * [THRIFT-113] - to-string methods should omit optional null fields from output
    * [THRIFT-363] - Maven Deploy
    * [THRIFT-447] - Make an abstract base Client class so we can generate less code
    * [THRIFT-627] - should c++ have setters for optional fields?

## New Feature
    * [THRIFT-1236] - Erlang Reconnecting Thrift Client
    * [THRIFT-1021] - Framed transport support for OCaml
    * [THRIFT-1068] - Python SSL Socket Support
    * [THRIFT-1103] - TZlibTransport for python, a zlib compressed transport
    * [THRIFT-1083] - Preforking python process pool server
    * [THRIFT-999] - Add TForkingServer

## Sub-task
    * [THRIFT-1152] - Attributes from private to protected
    * [THRIFT-1038] - Generated Java code for structures containing binary fields (or collections thereof) are not serializable (in the Java sense) even though they implement java.io.Serializable

## Task
    * [THRIFT-892] - Refactor erlang build system with rebar

## Wish
    * [THRIFT-625] - Add support for 'Go'



Thrift 0.6.1
--------------------------------------------------------------------------------
## Bug
    * [THRIFT-1133] - Java and JavaScript tutorial is broken since we have Java maven deployment
    * [THRIFT-1131] - C# JSON Protocol is unable to decode escaped characters in string
    * [THRIFT-1074] - .keystore and .truststore are missing from the 0.6.0 distribution

## Improvement
    * [THRIFT-1109] - Deploy fb303 along side libthrift to maven repo
    * [THRIFT-363] - Maven Deploy

## Question
    * [THRIFT-1206] - did the THRIFT 0.6.1 merge THRIFT-563 ?

## Sub-task
    * [THRIFT-1163] - How can i use multi service in one program?

## Task
    * [THRIFT-1112] - Apply THRIFT-363 to 0.6 branch
    * [THRIFT-1113] - Apply THRIFT-1074 to 0.6 branch



Thrift 0.6
--------------------------------------------------------------------------------
## Bug
    * [THRIFT-1020] - OCaml compiler generates invalid OCaml
    * [THRIFT-1015] - TUnion does not handle ByteBuffer in toString
    * [THRIFT-1013] - generated java code may have name clashes with thrift library
    * [THRIFT-1009] - TUnion does not correctly deep copy a ByteBuffer
    * [THRIFT-1032] - "make dist" fails due to c_glib problem
    * [THRIFT-868] - Referencing constant values doesn't work with with typedef types
    * [THRIFT-971] - java module can't be compiled without ivy and network connection
    * [THRIFT-970] - Under heavy load, THttpClient may fail with "too many open files"
    * [THRIFT-969] - Java Tutorial broken, move CalculatorHandler to a separate file
    * [THRIFT-807] - JavaScript: Initialization of Base Types with 0 instead of null
    * [THRIFT-955] - Thrift compiler for Windows uses lowercase names and directories which is inconsistent with compiling on other platforms
    * [THRIFT-992] - Naming convention in C# constructor is not consistent with other fields causes compile errors
    * [THRIFT-1008] - byte[] accessors throw NPE on unset field
    * [THRIFT-1006] - Impossible to correctly qualify an enum constant in an external thrift file
    * [THRIFT-950] - Haskell bindings treat 'byte' as unsigned 8-bit int (Data.Word.Word8), java/cpp as signed (byte/int8_t).
    * [THRIFT-975] - lib/c_glib/README is missing => breaks make dist
    * [THRIFT-944] - Support all version-4s of base
    * [THRIFT-939] - optional binary fields throw NPE on default byte[] getters
    * [THRIFT-935] - PHP Extension aborts the build if php-config is not installed
    * [THRIFT-933] - Haskell's Thrift.cabal has warnings
    * [THRIFT-932] - Haskell tests need to be run through 'make check' (and probably 'cabal check') too
    * [THRIFT-904] - C# TSocket should disable nagle and linger
    * [THRIFT-941] - Make PHP C Extension use the defined Protocol writeMessageBegin function
    * [THRIFT-940] - 'make check' fails if boost is not in the std include and link paths
    * [THRIFT-924] - Fix generated php structure constants
    * [THRIFT-979] - ruby bindings used to work on jruby
    * [THRIFT-977] - Hex Conversion Bug in C++ TJSONProtocol
    * [THRIFT-347] - PHP TSocket Timeout Issues
    * [THRIFT-517] - TExceptions thrown by server result in cryptic error message on client - Tried to read 4 bytes, but only got 0 bytes

## Improvement
    * [THRIFT-1024] - Add Python Twisted example to the Tutorial
    * [THRIFT-958] - Change accessmodifer on trans_ field in the FrameBuffer class to public.
    * [THRIFT-957] - THsHaServer: Change access modifier of the invoker field.
    * [THRIFT-1002] - CodeStyle: t_c_glib_generator.cc
    * [THRIFT-1005] - Give unions byte[] signature methods to go along with their ByteBuffer counterparts
    * [THRIFT-951] - Add a new isServing() method to TServer
    * [THRIFT-943] - Silly readme typo fix.
    * [THRIFT-961] - JavaScript TestSuite using ant/ivy and Java's ServerTestBase Handler
    * [THRIFT-960] - add TestServer, TestNonblockingServer and TestClient again
    * [THRIFT-949] - Modify the TEnum interface so it defines a method similar to findByValue
    * [THRIFT-946] - Augment FieldValueMetaData so it differentiates 'string' and 'binary' fields.
    * [THRIFT-903] - custom ThreadFactory in THsHaServer
    * [THRIFT-913] - Test Case for Url encoded strings + simple enhancement to lib/js/test/RunTestServer.sh
    * [THRIFT-926] - Miscellaneous C++ improvements
    * [THRIFT-929] - Improvements to the C++ test suite
    * [THRIFT-893] - add JavaScript to the tutorial examples
    * [THRIFT-1003] - Polishing c_glib code
    * [THRIFT-71] - Debian packaging for thrift

## New Feature
    * [THRIFT-1033] - Node.js language target
    * [THRIFT-947] - Provide a helper method to determine the TProtocol used to serialize some data.
    * [THRIFT-928] - Make more statistics available in C++ servers
    * [THRIFT-922] - Templatized [de]serialization code for C++
    * [THRIFT-923] - Event-driven client and server support for C++
    * [THRIFT-925] - Provide name<->value map for enums in C++
    * [THRIFT-927] - Add option to modify the PHP include path
    * [THRIFT-377] - TFileTransport port in Java
    * [THRIFT-106] - TSSLServerSocket
    * [THRIFT-582] - C implementation of Thrift
    * [THRIFT-745] - Make it easier to instantiate servers

## Sub-task
    * [THRIFT-1038] - Generated Java code for structures containing binary fields (or collections thereof) are not serializable (in the Java sense) even though they implement java.io.Serializable

## Task
    * [THRIFT-862] - Async client issues / improvements

## Test
    * [THRIFT-581] - Add a testsuite for txThrift (Twisted)



Thrift 0.5.0 - Incubating
--------------------------------------------------------------------------------
THRIFT-505   Build                Make configure give a summary of the enabled components (David Reiss)
THRIFT-506   Build                Allow Thrift to be built without the C++ library (David Reiss)
THRIFT-844   Build                Build Requirements state autoconf 2.59+ is required, but 2.60+ is needed (Harlan Lieberman-Berg)
THRIFT-850   Build                Perl runtime requires Bit::Vector which may not be installed by default, but configure does not fail (Michael Lum)
THRIFT-854   Build                Provide configure option and make rules to build/install php extension (Anthony Molinaro)
THRIFT-858   Build                Have bootstrap.sh check for a suitable autoconf version before running (David Reiss)
THRIFT-871   Build                Thrift compiler for WIndows (binary distribution) (David Reiss)
THRIFT-323   C#                   TJSONProtocol (Roger Meier)
THRIFT-634   C#                   C# Compiler Generates Incorrect Code For Fields which begin with an uppercase letter (Jon S Akhtar)
THRIFT-881   C#                   add csharp to the tutorial (Roger Meier)
THRIFT-856   C++                  Building cpp library fails on OS X with malloc and free not being declared in scope (James Clarke)
THRIFT-865   C++                  C++ compiler build depends on libfl even when flex/lex not detected (David Reiss)
THRIFT-900   C++                  Unix domain socket (Roger Meier)
THRIFT-920   C++                  C++ Test and Tutorial does not compile anymore due to the change within Enum handling (Roger Meier)
THRIFT-567   C++                  Can't immediately stop a TSimpleServer thread that is idle (Rush Manbert)
THRIFT-756   C++                  Exposing TSocket(int) constructor to public (Rajat Goel)
THRIFT-798   C++                  TNonblockingServer leaks resources when destroyed (David Reiss)
THRIFT-812   C++, Python          Demo of Thrift over ZeroMQ (David Reiss)
THRIFT-629   Cocoa                Unused Field In TSocketServer Appears To Break iPhone Build (Jon S Akhtar)
THRIFT-838   Cocoa                Generated Cocoa classes have useless @dynamic declarations (Kevin Ballard)
THRIFT-805   Cocoa                Don't generate process_XXXX methods for oneway methods (Brad Taylor)
THRIFT-507   Compiler             Remove the compiler's dependency on Boost (David Reiss)
THRIFT-895   Compiler (General)   Thrift compiler does not allow two different enumerations to have the same key name for one of the enum values (David Reiss)
THRIFT-852   Compiler (General)   Missing newline causes many compiler warnings (Anthony Molinaro)
THRIFT-877   Compiler (General)   smalltalk namespace doesn't work (Bruce Lowekamp)
THRIFT-897   Compiler (General)   Don't allow unqualified constant access to enum values (Bryan Duxbury)
THRIFT-9     Compiler (General)   Add a default namespace declaration for all languages (David Reiss)
THRIFT-599   Erlang               Don't use unnecessary processes in the Erlang transports and clients (David Reiss)
THRIFT-646   Erlang               Erlang library is missing install target (David Reiss)
THRIFT-698   Erlang               Generated module list should contain atoms, not strings (Anthony Molinaro)
THRIFT-866   Erlang               term() in spec definitions seems to not work in erlang R12 (Anthony Molinaro)
THRIFT-886   Erlang               Dialyzer warning (Anthony Molinaro)
THRIFT-785   Erlang               Framed transport server problems (Anthony Molinaro)
THRIFT-884   HTML                 HTML Generator: add Key attribute to the Data Types Tables (Roger Meier)
THRIFT-652   Haskell              Generated field name for strut is not capitalized correctly (Christian Lavoie)
THRIFT-743   Haskell              compile error with GHC 6.12.1 (Christian Lavoie)
THRIFT-901   Haskell              Allow the bindings to compile without -fglasgow-exts and with -Wall -Werror (Christian Lavoie)
THRIFT-905   Haskell              Make haskell thrift bindings use automake to compile and install (Christian Lavoie)
THRIFT-906   Haskell              Improve type mappings (Christian Lavoie)
THRIFT-914   Haskell              Make haskell bindings 'easily' compilable (Christian Lavoie)
THRIFT-918   Haskell              Make haskell tests run again (Christian Lavoie)
THRIFT-919   Haskell              Update Haskell bindings README (Christian Lavoie)
THRIFT-787   Haskell              Enums are not read correctly (Christian Lavoie)
THRIFT-250   Java                 ExecutorService as a constructor parameter for TServer (Ed Ceaser)
THRIFT-693   Java                 Thrift compiler generated java code that throws compiler warnings about deprecated methods. (Bryan Duxbury)
THRIFT-843   Java                 TNonblockingSocket connects without a timeout (Bryan Duxbury)
THRIFT-845   Java                 async client does not respect timeout (Ning Liang)
THRIFT-870   Java                 Java constants don't get Javadoc comments (Bryan Duxbury)
THRIFT-873   Java                 Java tests fail due to Too many open files (Todd Lipcon)
THRIFT-876   Java                 Add SASL support (Aaron T. Myers)
THRIFT-879   Java                 Remove @Override from TUnion.clear (Dave Engberg)
THRIFT-882   Java                 deep copy of binary fields does not copy ByteBuffer characteristics (arrayOffset, position) (Bryan Duxbury)
THRIFT-888   Java                 async client should also have nonblocking connect (Eric Jensen)
THRIFT-890   Java                 Java tutorial doesn't work (Todd Lipcon)
THRIFT-894   Java                 Make default accessors for binary fields return byte[]; provide new accessors to get ByteBuffer version (Bryan Duxbury)
THRIFT-896   Java                 TNonblockingSocket.isOpen() returns true even after close() (Eric Jensen)
THRIFT-907   Java                 libfb303 doesn't compile in 0.4.0 (Todd Lipcon)
THRIFT-912   Java                 Improvements and bug fixes to SASL implementation (Todd Lipcon)
THRIFT-917   Java                 THsHaServer should not accept an ExecutorService without catching RejectedExecutionException (Ed Ceaser)
THRIFT-931   Java                 Use log4j for Java tests (Todd Lipcon)
THRIFT-880   JavaME               JavaME code generator and runtime library (Dave Engberg)
THRIFT-846   JavaScript           JavaScript Test Framwork: extended Testcases (Roger Meier)
THRIFT-885   JavaScript           Url encoded strings never get decoded? How do we fix this? (T Jake Luciani)
THRIFT-911   JavaScript           (JavaScript compiler) Const structs, maps, sets, and lists generate a trailing comma (T Jake Luciani)
THRIFT-860   OCaml                copy method and reset method (Lev Walkin)
THRIFT-682   PHP                  PHP extension doesn't compile on Mac OS X (Bryan Duxbury)
THRIFT-851   PHP                  php extension fails to compile on centos 5.x (Todd Lipcon)
THRIFT-840   Perl                 Perl protocol handler could be more robust against unrecognised types (Conrad Hughes)
THRIFT-758   Perl                 incorrect deference in exception handling (Yann Kerherve)
THRIFT-257   Python               Support validation of required fields (Esteve Fernandez)
THRIFT-335   Python               Compact Protocol for Python (David Reiss)
THRIFT-596   Python               Make Python's TBufferedTransport use a configurable input buffer (David Reiss)
THRIFT-597   Python               Python THttpServer performance improvements (David Reiss)
THRIFT-598   Python               Allow Python's threading servers to use daemon threads (David Reiss)
THRIFT-666   Python               Allow the handler to override HTTP responses in THttpServer (David Reiss)
THRIFT-673   Python               Generated Python code has whitespace issues (Ian Eure)
THRIFT-721   Python               THttpClient ignores url parameters (Thomas Kho)
THRIFT-824   Python               TApplicationException.__str__() refers to class constants as globals (Peter Schuller)
THRIFT-855   Python               Include optimized compiled python objects in install (Anthony Molinaro)
THRIFT-859   Python               Allow py:twisted to be generated in different namespace than py (Bruce Lowekamp)
THRIFT-869   Python               TSocket.py on Mac (and FreeBSD) doesn't handle ECONNRESET from recv() (Steven Knight)
THRIFT-875   Python               Include python setup.cfg in dist (Anthony Molinaro)
THRIFT-610   Ruby                 binary_protocol.rb segfaults [line 86] (Unassigned)
THRIFT-899   Ruby                 Ruby read timeouts can sometimes be 2x what they should be (Ryan King)
THRIFT-909   Ruby                 allow block argument to struct constructor (Michael Stockton)
THRIFT-456   Test Suite           Bad IP address string in test/cpp/src/main.cpp (Rush Manbert)


Thrift 0.4.0 - Incubating
--------------------------------------------------------------------------------
THRIFT-650   Build        Make Check fails on Centos/OSX with 0.2.0 tarball (Anthony Molinaro)
THRIFT-770   Build        Get 'make dist' to work without first compiling source code (Anthony Molinaro)
THRIFT-160   C#           Created THttpTransport for the C# library based on WebHttpRequest (Michael Greene)
THRIFT-834   C#           THttpClient resends contents of message after transport errors (Anatoly Fayngelerin)
THRIFT-247   C++          THttpServer Transport (Unassigned)
THRIFT-676   C++          Change C++ code generator so that generated classes can be wrapped with SWIG (Unassigned)
THRIFT-570   Compiler     Thrift compiler does not error when duplicate method names are present (Bruce Simpson)
THRIFT-808   Compiler     Segfault when constant declaration references a struct field that doesn't exist (Bryan Duxbury)
THRIFT-646   Erlang       Erlang library is missing install target (Anthony Molinaro)
THRIFT-544   General      multiple enums with the same key generate invalid code (Ben Taitelbaum)
THRIFT-434   General      ruby compiler should warn when a reserved word is used (Michael Stockton)
THRIFT-799   General      Files missing proper Apache license header (Bryan Duxbury)
THRIFT-832   HTML         HTML generator shows unspecified struct fields as 'required' (Bryan Duxbury)
THRIFT-226   Java         Collections with binary keys or values break equals() (Bryan Duxbury)
THRIFT-484   Java         Ability to use a slice of a buffer instead of a direct byte[] for binary fields (Bryan Duxbury)
THRIFT-714   Java         maxWorkerThreads parameter to THsHaServer has no effect (Bryan Duxbury)
THRIFT-751   Java         Add clear() method to TBase (Bryan Duxbury)
THRIFT-765   Java         Improved string encoding and decoding performance (Bryan Duxbury)
THRIFT-768   Java         Async client for Java (Bryan Duxbury)
THRIFT-774   Java         TDeserializer should provide a partialDeserialize method for primitive types (Piotr Kozikowski)
THRIFT-783   Java         .equals java method is broken on structs containing binary-type fields (Unassigned)
THRIFT-804   Java         CompareTo is broken for unions set to map, set, or list (Bryan Duxbury)
THRIFT-814   Java         Include a TServlet in the standard Thrift distribution (Mathias Herberts)
THRIFT-818   Java         Async client doesn't send method args (Bryan Duxbury)
THRIFT-830   Java         Switch binary field implementation from byte[] to ByteBuffer (Bryan Duxbury)
THRIFT-831   Java         FramedTransport implementation that reuses its buffers (Bryan Duxbury)
THRIFT-833   Java         build.xml in lib/java is missing a classpathref attribute for the javadoc task (Bryan Duxbury)
THRIFT-836   Java         Race condition causes CancelledKeyException in TAsyncClientManager (Bryan Duxbury)
THRIFT-842   Java         Upgrade to current version of commons-lang (2.5 instead of 2.4) and/or change dependency in ivy.xml to not be exact (Bryan Duxbury)
THRIFT-815   JavaScript   Deserialization of lists is critically broken. (T Jake Luciani)
THRIFT-827   OCaml        OCaml generator to take default values into account (Lev Walkin)
THRIFT-647   PHP          PHP library is missing install target (Anthony Molinaro)
THRIFT-682   PHP          PHP extension doesn't compile on Mac OS X (Bryan Duxbury)
THRIFT-718   PHP          Thrift PHP library includes closing tags and extraneous whitespace (Nicholas Telford)
THRIFT-778   PHP          PHP socket listening server (Nick Jones)
THRIFT-780   PHP          PHP extension sometimes causes an abort with two exceptions at the same time (David Reiss)
THRIFT-837   PHP          PHP accelerator bug for writes > 8k (Thomas Kho)
THRIFT-782   Perl         Perl code for writing containers doesn't count length of write*Begin or write*End (Conrad Hughes)
THRIFT-395   Python       Python library + compiler does not support unicode strings (Unassigned)
THRIFT-133   Ruby         'namespace ruby' should error out, or be an alias to 'namespace rb' (Bryan Duxbury)
THRIFT-664   Ruby         Ruby extension fails to build with Ruby 1.9.1 (Rajesh Malepati)
THRIFT-699   Ruby         Excise unused "native protocol method table" stuff from thrift_native (Bryan Duxbury)
THRIFT-767   Ruby         ruby compiler does not keep comments for enum values (Bryan Duxbury)
THRIFT-811   Ruby         http_client_transport.rb: allow custom http headers (Tony Kamenick)
THRIFT-459   Ruby         Ruby installation always tries to write to /Library/Ruby/site (Matthieu Imbert)


Thrift 0.1.0 - Incubating (not released)
--------------------------------------------------------------------------------
Compatibility Breaking Changes:
  C++:
    * It's quite possible that regenerating code and rebuilding will be
      required.  Make sure your headers match your libs!

  Java:

  Python:

  Ruby:
    * Generated files now have underscored names [THRIFT-421]
    * The library has been rearranged to be more Ruby-like [THRIFT-276]

  Erlang:
    * Generated code will have to be regenerated, and the new code will
      have to be deployed atomically with the new library code [THRIFT-136]

New Features and Bug Fixes:
  C++:
    * Support for TCompactProtocol [THRIFT-333]

  Java:
    * Support for TCompactProtocol [THRIFT-110]

  Python:
    * Support for Twisted [THRIFT-148]

  Ruby:
    * Support for TCompactProtocol [THRIFT-332]