summaryrefslogtreecommitdiff
path: root/CHANGES
blob: 4f9ee3e50b8c4da821278ed40ed342ec7a33eeed (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
Thrift Changelog

Version 0.7.0

THRIFT-1252   Ruby                 Segfault in Ruby deserializer
THRIFT-940    Build                'make check' fails if boost is not in the std include and link paths (Christian Lavoie)
THRIFT-1038   Java                 Generated Java code for structures containing binary fields are not serializable correctly
THRIFT-1098   PHP                  Undefined properties in TBinaryProtocolFactory		
THRIFT-1076   Erlang               Erlang Thrift socket server causes java framed client to throw ""out of sequence"" exception"		
THRIFT-1171   Perl                 Perl write/readDouble assumes little-endian platform		
THRIFT-151    C                    TSSLServerSocket and TSSLSocket implementation		
THRIFT-1068   Python               Python SSL Socket Support		
THRIFT-1011   AS3                  Error generating package imports when using classes from other packages		
THRIFT-1069   Compiler (General)   Add command line option to prevent thrift from inserting gen-* directories		
THRIFT-1055   C#                   csharp TServerSocket and TSocket do not disable Nagle via Socket.NoDelay = true like cpp and java do		
THRIFT-638    PHP                  BufferedTransport + C extensions block until recv timeout is reached on last fread call		
THRIFT-867    PHP                  PHP accelerator module's output transport is incompatible with TFramedTransport		
THRIFT-1054                        explicit call to PKG_PROG_PKG_CONFIG is missing and first use of PKG_CHECK_MODULES may not happen
THRIFT-125    OCaml                OCaml libraries don't compile with 32-bit ocaml		
THRIFT-1200   JavaScript           JS compiler generates code that clobbers existing namespaces		
THRIFT-1102   Build                "typo in configure.ac: ""=="" operator in 'test' (instead of""'="")"		
THRIFT-994    Build                Don't try to invoke phpize if we don't have it		
THRIFT-864    Compiler (General)   default value fails if identifier is a struct		
THRIFT-1021   OCaml                Framed transport support for OCaml		
THRIFT-1032                        make dist fails due to c_glib problem		
THRIFT-1057   C++                  casts in TBinaryProtocol.tcc causing dereferencing type-punned pointer will break strict-aliasing rules
THRIFT-1053   Java                 Make remote client's IP address available for all socket related transports		
THRIFT-1036   C++                  "Auto-generated C++ code fails to compile with ""-Werror -Wextra -Wall"" g++ compiler flags"		
THRIFT-1063   Tutorial             Fix Erlang Tutorial Files		
THRIFT-625    Go                   Add support for 'Go'		
THRIFT-1093   Python               several bugs in python TCompactProtocol		
THRIFT-1101   Java                 bytebuffer length calculation in TBinaryProtocol writeBinary		
THRIFT-1094   Python               bug in TCompactProto python readMessageEnd method and updated test cases		
THRIFT-1100   Python               python TSSLSocket improvements, including certificate validation		
THRIFT-1104   Build                INSTALLDIRS should be included in configure script		
THRIFT-1103   Python               TZlibTransport for python, a zlib compressed transport		
THRIFT-1105   OCaml                OCaml generator does not prefix methods of included structs with their type		
THRIFT-1107   Python               improvement for compiler-generated python for 'None' object comparisons		
THRIFT-1109   Java                 Deploy fb303 along side libthrift to maven repo		
THRIFT-1111   Compiler (General)   The HTML generator does not distinguish between string and binary types		
THRIFT-1074   Java                 .keystore and .truststore are missing from the 0.6.0 distribution		
THRIFT-1119   C#                   TJSONProtocol fails to UTF8 decode strings		
THRIFT-1120   C# - Compiler        proto.WriteListEnd being called in the wrong place		
THRIFT-1126   Erlang               Extending struct_info for erlang bindings		
THRIFT-1132   C#                   Deserialization error in TApplicationException C#		
THRIFT-1131   C#                   C# JSON Protocol is unable to decode escaped characters in string		
THRIFT-1133   Tutorial             Java and JavaScript tutorial is broken since we have Java maven deployment		
THRIFT-1140   GlibC                Framed Transport Client using C (Glib) Library hangs when connecting to Ruby Server		
THRIFT-342    PHP                  PHP: can't have sets of complex types		
THRIFT-1149   Ruby                 Nonblocking server fails when client connection is reset		
THRIFT-363    Java                 Maven Deploy		
THRIFT-1155   Java				   Remove log4j dependency from java client		
THRIFT-1170   Java                 Thrift Generated Code and Java 5		
THRIFT-835    AS3                  Bad AS3 syntax in constructors that set default values		
THRIFT-1174   Build                Publish as3 client implementation via Maven for use by flex-mojos users		
THRIFT-1178   Java                 Java: TBase signature should be T extends TBase<?,?>		
THRIFT-1067   PHP                  Tons of bugs in php implementation		
THRIFT-1182   Ruby                 Native deserializer segfaults on incorrect list element type		
THRIFT-1190   Java                 readBufferBytesAllocated in TNonblockingServer.java should be AtomicLong to fix FD leakage 
THRIFT-1183   Ruby                 Pure-ruby CompactProtocol raises ArgumentError when deserializing under Ruby 1.9		
THRIFT-1192                        Typo: TProtocol.h tests for HAVE_SYS_PARAM_H_		
THRIFT-1194   Java                 Java lib does not install artifacts to local dir correctly		
THRIFT-1208   Python               python TCompactProtocol.py writeBool and readBool not follow the compact-proto-spec-2.txt spec 
THRIFT-1211   Java                 When using THttpClient, non 200 responses leave the connection open		
THRIFT-627    C++                  should c++ have setters for optional fields?		
THRIFT-1218   GLibC                c_glib uses wrong name in pkg-config		
THRIFT-1189   Ruby                 Ruby deserializer speed improvements		
THRIFT-1225   PHP                  TCompactProtocol for PHP		
THRIFT-1227   Erlang               Erlang implementation of thrift JSON protocol		
THRIFT-1228   PHP                  The php accelerator module calls flush incorrectly		
THRIFT-1234   Python               thrift --help is missing doc on py:utf8strings		
THRIFT-1237   Java                 Java fb303 missing some methods		
THRIFT-1248   C++                  pointer subtraction in TMemoryBuffer relies on undefined behavior		
THRIFT-1253   Java                 Code generated for maps is not compiling		
THRIFT-1255   Java                 Mismatch of method name between JavaME's lib and generated code (compareTo/compareObjects)		
THRIFT-1238   JavaScript           Thrift JS client cannot read map of structures		
THRIFT-1213                        Membuffer should provide a way to get back the buffer		
THRIFT-1117   JavaScript           JavaScript Unit Test does not work anymore because libthrift*.jar where moved by Maven Deployment		
THRIFT-1164   JavaScript           Segmentation fault on NULL pointer in t_js_generator::generate_const		
THRIFT-788    PHP                  thrift_protocol.so: multiget/multiget_slice does not handle more than 17 keys correctly		
THRIFT-1222   C++                  Unhandled exception for TEvhttpServer request		
THRIFT-1241   PHP                  php namespace generation		
THRIFT-1236   Erlang               Erlang Reconnecting Thrift Client		
THRIFT-1151   Erlang               Produce more informative runtime error in case of schema and data mismatch during serialization		
THRIFT-1146   Java                 Android Incompatibility : in Android < 2.3 java.io.IOException doesn't support for Throwable 
THRIFT-826    PHP                  PHP TSocket Write Timeout		
THRIFT-27     Erlang               Generated erlang types don't contain default values for records		
THRIFT-1153   C++                  HttpClient does not specify the connection close parameter		
THRIFT-1154   Cocoa                HttpClient does not specify the connection close parameter		
THRIFT-1081   PHP                  PHP tests broken and somewhat incomplete		
THRIFT-1078   Test Suite           ThriftTest.thrift generates invalid PHP library		
THRIFT-447    Java                 Make an abstract base Client class so we can generate less code		
THRIFT-1181   AS3                  AS3 compiler generates incorrect code for setting default values in constructor		
THRIFT-997    Java                 Using valueOf for base types in getFieldValue		
THRIFT-999    PHP                  Add TForkingServer		
THRIFT-1041   Java                 TDeserializer holds onto a reference of the array it reads after it is done deserializing		
THRIFT-1065   JavaScript           Unexpected exceptions not proper handled on JS		
THRIFT-993    C++                  Some improvements in C++ stubs for oneway operations		
THRIFT-1083   Python               Preforking python process pool server		
THRIFT-1092   Python               generated validate() method has wrong indentation		
THRIFT-1050   Java                 "Declaring an argument named ""manager"" to a service method produces code that fails compile 
THRIFT-1106   C++                  C++ code TAsyncProtocolProcessor.h & TAsyncBufferProcessor.h dont have virtual functions 
THRIFT-1080   Erlang               erlang test's 'make' fails on Mac OSX		
THRIFT-731    Java                 configure doesn't check for ant >= 1.7		
THRIFT-1180   AS3                  AS3 compiler generates uncompilable code for binary types.		
THRIFT-1187   Ruby                 nonblocking_server shutdown race under Ruby 1.9		
THRIFT-1193   Ruby                 Potential infinite loop in nonblocking_server		
THRIFT-891    Compiler (General)   Comments are not properly handled in some cases		
THRIFT-1216   Java                 build Java Library behind a proxy		
THRIFT-1177   Go                   Update thrift to reflect changes in Go's networking libraries		
THRIFT-1220   C++                  TProcessor::process never returns false		
THRIFT-1231   C++                  Remove bogus include		
THRIFT-1217   C++                  Use evutil_socketpair instead of pipe (Windows port)		
THRIFT-1215   JavaScript           Undefined property Thirft in lib/js/thrift.js		
THRIFT-418    Ruby                 Don't do runtime sorting of struct fields		
THRIFT-1244   C++                  'using' to disambiguate between functions in different bases does not conform to C++ standard
THRIFT-892    Erlang               Refactor erlang build system with rebar		
THRIFT-690    Compiler (General)   Update TApplicationException codes		
THRIFT-1199   Java                 Union structs should have generated methods to test whether a specific field is currently set		
THRIFT-113    Compiler (General)   to-string methods should omit optional null fields from output		
THRIFT-1049   Python               Allow for TServerSocket python library to bind to a specific host		
THRIFT-1152   PHP                  THRIFT-1144 Attributes from private to protected		
THRIFT-1207   Ruby                 "Support DESTDIR on ""make install"" of ruby libs"		
THRIFT-1123   C++                  Patch to compile Thrift server and client for vc++ 9.0 and 10.0		
THRIFT-1031   C++                  Patch to compile Thrift for vc++ 9.0 and 10.0		
THRIFT-1221   C++                  Remove SimpleCallback.h		
THRIFT-1233   C++                  Remove unused include in generated C++ code		
THRIFT-1246   Java                 Improve logging: Change TNonblockingServer internalRead to trace from warn		
THRIFT-1251   Java                 Generated java code should indicate which fields are required and which are optional


Version 0.6.0

THRIFT-940    Build                'make check' fails if boost is not in the std include and link paths (Christian Lavoie)
THRIFT-1032   Build                "make dist" fails due to c_glib problem (Michael Lum)
THRIFT-1002   C glib               CodeStyle: t_c_glib_generator.cc (Anatol Pomozov)
THRIFT-975    C glib               lib/c_glib/README is missing => breaks make dist (Michael Lum)
THRIFT-1003   C glib               Polishing c_glib code (Anatol Pomozov)
THRIFT-582    C glib               C implementation of Thrift (Anatol Pomozov)
THRIFT-992    C#                   Naming convention in C# constructor is not consistent with other fields causes compile errors (Roger Meier)
THRIFT-977    C++                  Hex Conversion Bug in C++ TJSONProtocol (Aravind Narayanan)
THRIFT-922    C++                  Templatized [de]serialization code for C++ (David Reiss)
THRIFT-923    C++                  Event-driven client and server support for C++ (David Reiss)
THRIFT-925    C++                  Provide name<->value map for enums in C++ (David Reiss)
THRIFT-926    C++                  Miscellaneous C++ improvements (David Reiss)
THRIFT-928    C++                  Make more statistics available in C++ servers (David Reiss)
THRIFT-929    C++                  Improvements to the C++ test suite (David Reiss)
THRIFT-868    Compiler (General)   Referencing constant values doesn't work with with typedef types (David Reiss)
THRIFT-1006   General              Impossible to correctly qualify an enum constant in an external thrift file (Bryan Duxbury)
THRIFT-932    Haskell              Haskell tests need to be run through 'make check' (and probably 'cabal check') too (Christian Lavoie)
THRIFT-933    Haskell              Haskell's Thrift.cabal has warnings (Christian Lavoie)
THRIFT-943    Haskell              Silly readme typo fix. (Christian Lavoie)
THRIFT-944    Haskell              Support all version-4s of base (Christian Lavoie)
THRIFT-950    Haskell              Haskell bindings treat 'byte' as unsigned 8-bit int (Data.Word.Word8), java/cpp as signed (byte/int8_t). (Christian Lavoie)
THRIFT-1009   Java                 TUnion does not correctly deep copy a ByteBuffer (Takashi Yonebayashi)
THRIFT-1013   Java                 generated java code may have name clashes with thrift library (Peter Schuller)
THRIFT-1015   Java                 TUnion does not handle ByteBuffer in toString (Takashi Yonebayashi)
THRIFT-1038   Java                 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 (Mathias Herberts)
THRIFT-106    Java                 TSSLServerSocket (Nirmal Ranganathan)
THRIFT-377    Java                 TFileTransport port in Java (Joydeep Sen Sarma)
THRIFT-745    Java                 Make it easier to instantiate servers (Bryan Duxbury)
THRIFT-862    Java                 Async client issues / improvements (Ning Liang)
THRIFT-903    Java                 custom ThreadFactory in THsHaServer (Bryan Duxbury)
THRIFT-939    Java                 optional binary fields throw NPE on default byte[] getters (Bryan Duxbury)
THRIFT-947    Java                 Provide a helper method to determine the TProtocol used to serialize some data. (Mathias Herberts)
THRIFT-951    Java                 Add a new isServing() method to TServer (Bryan Duxbury)
THRIFT-957    Java                 THsHaServer: Change access modifier of the invoker field. (Benjamin Coverston)
THRIFT-958    Java                 Change accessmodifer on trans_ field in the FrameBuffer class to public. (Benjamin Coverston)
THRIFT-959    Java                 TSocket seems to do its own buffering inefficiently (Bryan Duxbury)
THRIFT-970    Java                 Under heavy load, THttpClient may fail with "too many open files" (Mathias Herberts)
THRIFT-971    Java                 java module can't be compiled without ivy and network connection (Roger Meier)
THRIFT-807    JavaScript           JavaScript: Initialization of Base Types with 0 instead of null (Roger Meier)
THRIFT-913    JavaScript           Test Case for Url encoded strings + simple enhancement to lib/js/test/RunTestServer.sh (Roger Meier)
THRIFT-961    JavaScript           JavaScript TestSuite using ant/ivy and Java's ServerTestBase Handler (Roger Meier)
THRIFT-1005   Java                 Give unions byte[] signature methods to go along with their ByteBuffer counterparts (Bryan Duxbury)
THRIFT-1008   Java                 byte[] accessors throw NPE on unset field (Bryan Duxbury)
THRIFT-517    Java                 TExceptions thrown by server result in cryptic error message on client - Tried to read 4 bytes, but only got 0 bytes (Bryan Duxbury)
THRIFT-946    Java                 Augment FieldValueMetaData so it differentiates 'string' and 'binary' fields. (Mathias Herberts)
THRIFT-949    Java                 Modify the TEnum interface so it defines a method similar to findByValue (Mathias Herberts)
THRIFT-960    Java                 add TestServer, TestNonblockingServer and TestClient again (Roger Meier)
THRIFT-969    Java                 Java Tutorial broken, move CalculatorHandler to a separate file (Roger Meier)
THRIFT-71     Misc                 Debian packaging for thrift (Roger Meier)
THRIFT-1020   OCaml                OCaml compiler generates invalid OCaml (Richard Low)
THRIFT-347    PHP                  PHP TSocket Timeout Issues (Tyler Hobbs)
THRIFT-924    PHP                  Fix generated php structure constants (David Reiss)
THRIFT-927    PHP                  Add option to modify the PHP include path (David Reiss)
THRIFT-935    PHP                  PHP Extension aborts the build if php-config is not installed (David Reiss)
THRIFT-941    PHP                  Make PHP C Extension use the defined Protocol writeMessageBegin function (Chris Goffinet)
THRIFT-955    PHP                  Thrift compiler for Windows uses lowercase names and directories which is inconsistent with compiling on other platforms (Roger Meier)
THRIFT-979    Ruby                 ruby bindings used to work on jruby (Jeff Hodges)
THRIFT-581    Test Suite           Add a testsuite for txThrift (Twisted) (Esteve Fernandez)
THRIFT-1024   Tutorial             Add Python Twisted example to the Tutorial (Roger Meier)
THRIFT-893    Tutorial             add JavaScript to the tutorial examples (Roger Meier)


Version 0.5.0

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)


Version 0.4.0

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)


Version 0.1.0 RC1 / Unreleased

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]