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

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-904    C#		   Disable nagle and linger
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)
           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-1051   Java		   Fix compiler issue for java 1.5
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
THRIFT-1033   JavaScript           Node.js support (Wade Simmons)
THRIFT-1042   JavaScript           Node.js Fix TApplicationException.read Patch (Wade Simmons)
THRIFT-1043   JavaScript	   Node.js Fix how the length of a map is calculated
THRIFT-1044   JavaScript	   Fix JavaScript inheritance Patch (Wade Simmons)
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]