Todd Lipcon | 72a1a88 | 2009-12-08 03:40:31 +0000 | [diff] [blame^] | 1 | Release Notes for Thrift 0.2.0 |
| 2 | |
| 3 | General changes: |
| 4 | * First release under the Apache Incubator |
| 5 | * THRIFT-34, THRIFT-270: Namespaces have been updated to Apache instead of Facebook |
| 6 | * THRIFT-110, THRIFT-332, THRIFT-333: Beginnings of a new "Compact Protocol" implemented in Ruby, Java, and C++ |
| 7 | * THRIFT-136: "async" has been renamed "oneway" |
| 8 | * THRIFT-409: Support for unions |
| 9 | * THRIFT-173: New HTML generator for generating documentation |
| 10 | |
| 11 | C++: |
| 12 | THRIFT-91. cpp: Fix compilation on Fedora Core 9 |
| 13 | THRIFT-95. cpp: Fix write buffer initialization in TBufferedTransport |
| 14 | THRIFT-96. cpp: TSocket.peek fails on FreeBSD |
| 15 | THRIFT-149. cpp: Make TNonblockingServer handle a shut-down ThreadManager |
| 16 | THRIFT-168. cpp: Clear transport buffers before a flush |
| 17 | THRIFT-177. cpp: Add a missing "std::" |
| 18 | THRIFT-178. java, csharp, cpp: Final Keyword |
| 19 | THRIFT-194. cpp: Properlyl namespace exception types in catch |
| 20 | THRIFT-203. cpp: Make library headers compile under g++ -pedantic |
| 21 | THRIFT-214. cpp: Qualify another cast |
| 22 | THRIFT-214. cpp: Qualify a cast to fix OSX compilation |
| 23 | THRIFT-215. cpp: Disable an assertion that fails on various platforms |
| 24 | THRIFT-225. java/cpp: Handle non-i32 integer constants properly |
| 25 | THRIFT-244. cpp: Fix TJSONProtocol::writeMessageBegin |
| 26 | THRIFT-244. cpp: Make TJSONProtocolFactor inherit from TProtocolFactory |
| 27 | THRIFT-255. cpp: Add TSimpleFileTransport, a wrapper around TFDTransport |
| 28 | THRIFT-265. cpp: Reset buffers every 512 calls in TNonblockingServer |
| 29 | THRIFT-289. cpp: Fix "make check" by defining a comparator for "Instanity" |
| 30 | THRIFT-333. cpp: Initial TCompactProtocol implementation |
| 31 | THRIFT-348. cpp: Fix readBool for vectors of bools (again) |
| 32 | THRIFT-351. cpp: Allow a custom ThreadFactory in TThreadedServer |
| 33 | Thrift-357. cpp: Fix buffer and connection bloat in TNonBlockingServer |
| 34 | THRIFT-411. cpp: Make TNonblockingServer::connectionStackLimit_ accessors use the right type |
| 35 | THRIFT-425. cpp: numeric_limits is declared in <limits> |
| 36 | THRIFT-426. cpp: Fix include path under test/cpp |
| 37 | THRIFT-464. cpp: Fix some STL misuse in the concurrency library |
| 38 | THRIFT-465. cpp: Fix some STL misuse in the concurrency library test |
| 39 | THRIFT-466. cpp: Make the concurrency library test more thorough |
| 40 | THRIFT-469. cpp: Fix a bug in TimerManager::add |
| 41 | THRIFT-497. cpp: Fix TSocket::read and peek on Max OS |
| 42 | THRIFT-555. cpp: Fix macro defintions for TCompact on non-GNU big endian |
| 43 | THRIFT-587. cpp: Properly set addrLen before accept calls |
| 44 | THRIFT-606. cpp: Fix build on Solaris Nevada |
| 45 | THRIFT-621. cpp: Fix generated files using "apache" namespaces |
| 46 | cpp: Add some missing includes to fix OpenBSD compilation |
| 47 | cpp: Deal with systems without AI_ADDRCONFIG (OpenBSD) |
| 48 | cpp: Deal with systems without sched_get_priority_{min,max} (OpenBSD) |
| 49 | cpp: Eliminate a buffer overflow in the tutorial server |
| 50 | cpp: Eliminate the use of fprintf [THRIFT-77] |
| 51 | cpp: Fix an OpenBSD compilation bug by moving a typedef |
| 52 | cpp: Fix an OpenBSD compilation error that appears to be a real bug |
| 53 | cpp: Fix compilation on OpenBSD by including sys/types.h |
| 54 | cpp: Fix compiler and library compilation with newer glibc |
| 55 | cpp: Fix implementations of "list<bool>" |
| 56 | cpp: Fix test server/client under test/cpp |
| 57 | cpp: Fix "make check" by defining a comparator for "Empty" |
| 58 | cpp: Make the test server compatible with the Python test client |
| 59 | cpp: Rename Makefiles under test/cpp |
| 60 | cpp: Resolve an ambiguous overload in some tests |
| 61 | |
| 62 | Java: |
| 63 | Minor whitespace fixes in the Java generator and gen-code |
| 64 | THRIFT-10. java: Descriptors used during serialization should be immutable objects |
| 65 | THRIFT-34 Java libraries should be namespaced under org.apache.thrift, not com.facebook.thrift |
| 66 | THRIFT-64. java: Allow TServerSocket to bind to a specific IP address |
| 67 | THRIFT-81. java: TNonblockingServer: Support a limit on read buffer size |
| 68 | THRIFT-100. java: Set __isset better in beans style |
| 69 | THRIFT-110. java: A more compact format |
| 70 | THRIFT-115. java: Isset structure has a large memory footprint |
| 71 | THRIFT-116. java: Isset fields for non-primitive types unnecessary |
| 72 | THRIFT-119. java: structs' toString omits unset optional fields |
| 73 | THRIFT-120. java: Make the nocamel option work for more methods |
| 74 | THRIFT-130. java: Eliminate frame{Read,Write} from TFramedTransport |
| 75 | THRIFT-138. java: Create deep-copy constructors for Thrift structs |
| 76 | THRIFT-138. java: Fix copy constructor for binary fields |
| 77 | THRIFT-139. java: Expose field ids in more useful ways |
| 78 | THRIFT-139. java: Fix indentation in beans mode |
| 79 | THRIFT-142. java: Better handling of required fields |
| 80 | THRIFT-144. java: Generated classes should implement Comparable |
| 81 | THRIFT-145. java: Make TNonblockingServer more robust against errors |
| 82 | THRIFT-152. java: Set isset appropriately in structure constructors |
| 83 | THRIFT-166. java: Java tests should be in lib/java/test/ THRIFT-221. java: Make java build classpath more dynamic and configurable |
| 84 | THRIFT-172. java: Improve toString output for binary fields |
| 85 | THRIFT-178. java, csharp, cpp: Final Keyword |
| 86 | THRIFT-179. java: Include per-field docstrings in generated code |
| 87 | THRIFT-191. java: Create a static field id -> name map for each struct |
| 88 | THRIFT-202: java: Fix "make check" |
| 89 | THRIFT-218. java: When validation fails on serialization/deserialization, print out the invalid object |
| 90 | THRIFT-222. java: Better exposure if __isset in beans style |
| 91 | THRIFT-225. java/cpp: Handle non-i32 integer constants properly |
| 92 | THRIFT-235. java: Explicitly cast integer constants to double |
| 93 | THRIFT-239. java: Generate @Override annotations for all overrided methods |
| 94 | THRIFT-240. java: TBase should implement Cloneable |
| 95 | THRIFT-249. java: Add @param lines to function docstrings |
| 96 | THRIFT-253. java: Enhance FieldMetaData |
| 97 | THRIFT-262. java: Generate Javadocs for library classes |
| 98 | THRIFT-278. java: #validate exceptions should contain the offending value |
| 99 | THRIFT-288. java: Generated code iterates maps during write inefficiently |
| 100 | THRIFT-289. test: "make check" no longer runs the Java tests |
| 101 | THRIFT-290. java: Metadata map doesn't properly reference external thrift file's types |
| 102 | THRIFT-292. Auto-generate the Java gen-code in build.xml |
| 103 | THRIFT-297. java: getFieldValue and setFieldValue should be abstract TBase methods |
| 104 | THRIFT-303. java: Changes to __isset interface |
| 105 | THRIFT-316. java: @Override isn't generated for hashCode() without the hash code builder |
| 106 | THRIFT-318. java: Performance of HashSet for enumeration VALID_VALUES seems poor |
| 107 | THRIFT-321. java: THRIFT-303 broke EqualityTest Regenerated test code. |
| 108 | THRIFT-359. java: nocamel style breaks generated services |
| 109 | THRIFT-364. java: Use of enums in other namespaces breaks java generated code |
| 110 | THRIFT-366. java: Lots of little warnings in java library |
| 111 | THRIFT-367. java: Some dead code in TNonblockingSocket.java |
| 112 | THRIFT-368. java: setFieldValue should allow nulls for all field types |
| 113 | THRIFT-378. java: Java servers do not turn internal errors into thrift exceptions |
| 114 | THRIFT-379. java: Print enum value names |
| 115 | THRIFT-382. java: Unused imports in generated code |
| 116 | THRIFT-409. java: Add "union" to Thrift |
| 117 | THRIFT-416. java: java.util.logging eats exceptions without warning |
| 118 | THRIFT-427. java: Fix print_const_value |
| 119 | THRIFT-446. java: PartialDeserialization in Java |
| 120 | THRIFT-450. java: Check for Apache Commons Lang also |
| 121 | THRIFT-450. java: Propagate CLASSPATH from ./configure to make and ant |
| 122 | THRIFT-450. java: Respect the global classpath during testing |
| 123 | THRIFT-453. java: By default, use Ivy to download Java dependencies |
| 124 | THRIFT-462. java: Installed jar shouldn't be executable |
| 125 | THRIFT-479. java: Add javadocs for enum types |
| 126 | THRIFT-482. java: build.xml does not specify a target version for compiled java classes |
| 127 | THRIFT-489. java: Java enum validation only validates explicitly assigned values |
| 128 | THRIFT-493. java: Stopping TNonblockingServer when it hasn't been starting results in an exception |
| 129 | THRIFT-529. java: Change generated constructors so that application code evolves better Optional fields are now excluded from constructors. |
| 130 | THRIFT-540. java: Have set methods return reference to self |
| 131 | THRIFT-543. java: Generate normal style java files should respect the "optional" keyword when serializing |
| 132 | THRIFT-551. java: Enumeration doesn't generate real enum in Java This patch makes the compiler generate actual Enum classes. |
| 133 | THRIFT-558. java: Replace use of log4j by commons-logging in Java library and generated Java code |
| 134 | THRIFT-565. java: Structs containing typedefs for incomparable objects will be considered comparable This patch causes the compiler to fully unwrap typedefs when determining comparability. |
| 135 | THRIFT-566. java: jar file should contain copies of LICENSE and NOTICE files |
| 136 | THRIFT-572. java: Union compareTo is broken |
| 137 | THRIFT-588. java: Generated .equals method throws NPE for thrift object |
| 138 | THRIFT-589. java: Add Field Name to Field ID Mapping Java Thrift structs now have a static mapping of field name to field ID. |
| 139 | THRIFT-620. java: Compact Protocol should call readAll, not read This patch switches to calling readAll instead of read. |
| 140 | THRIFT-623. java: Use a Java enum to represent field ids in generated structs |
| 141 | THRIFT-624. java: compareTo is broken for Unions with binary fields This patch adds a special case for byte[] values in TUnion. It also fixes a related bug in TBaseHelper for comparing two byte arrays. |
| 142 | THRIFT-628. java: Hash code method for _Fields objects does not behave as expected This patch switches to using the hashcode of the actual field id, instead of the field id enumeration. |
| 143 | java: Added SerializationBenchmark.java, helper class for performing tests on protocols. |
| 144 | java: Add a helper function to implement nocamel style |
| 145 | java: Add nocamel option to not CamelCase field accessors [THRIFT-42] |
| 146 | java: Close broken connections [THRIFT-73] |
| 147 | java: Fix a minor formatting problem in the gen-code |
| 148 | java: Specify in build.xml that we are using Java 1.5 |
| 149 | (THRIFT-5) A TNonblockingServers (single-threaded and thread-pool) for Java |
| 150 | (THRIFT-12) Make the Java library use java.util.logging instead of stdout. |
| 151 | [THRIFT-70] Allow the Java install prefix to be configured. |
| 152 | |
| 153 | |
| 154 | Erlang: |
| 155 | Add erl back to EXTRA_DIST because it doesn't use Automake. |
| 156 | Allow the Thrift compiler to be built without the Erlang generator. |
| 157 | Make the Erlang generator dynamic. |
| 158 | THRIFT-83. erlang: Don't flush an empty buffer in the http transport. |
| 159 | THRIFT-94. erlang: Fix a syntax error |
| 160 | THRIFT-126. erlang: TMemoryBuffer for Erlang |
| 161 | THRIFT-127. erlang: Skip fields that have the wrong type |
| 162 | THRIFT-136. s/async/oneway/ in Erlang |
| 163 | THRIFT-186. erl: Make the Makefile work on OpenSolaris |
| 164 | THRIFT-192. erlang: Commit test code missed in r757870 |
| 165 | THRIFT-192. erl: Fix handling of booleans |
| 166 | THRIFT-211. erlang: Allow clients to be created without connecting |
| 167 | THRIFT-211. erlang: Modify test_tether to test protocol error handling as well |
| 168 | THRIFT-211. erlang: Support unlinked Thrift clients. |
| 169 | THRIFT-211. erlang: Support "tethered" clients |
| 170 | THRIFT-266. erlang: Erlang atoms must always start with lower-case character |
| 171 | THRIFT-305. erlang: Fix http_options for thrift_http_transport |
| 172 | THRIFT-306. erlang: Let thrift_http_transport specify custom HTTP headers |
| 173 | THRIFT-307. erlang: Make HiPE optional |
| 174 | THRIFT-524. erlang: Decapitalize file names in include directives |
| 175 | THRIFT-574. erlang: Support framed transport for servers |
| 176 | |
| 177 | |
| 178 | Python: |
| 179 | Python generator exception namespacing, THRIFT-150 |
| 180 | THRIFT-48. python: Make TServerSocket work with Unix-domain sockets |
| 181 | THRIFT-67. python: Add TNonblockingServer |
| 182 | THRIFT-93. Remove unnecessary shebang lines from Python libraries |
| 183 | THRIFT-108. python: Fix call to PyDict_Next in fastbinary.c |
| 184 | THRIFT-109. python: Use self.assert* instead of assert in tests |
| 185 | THRIFT-148. py: Add support for Twisted |
| 186 | THRIFT-148. py: Add un-commited file missing from 749510 |
| 187 | THRIFT-148. py: One more time, reapply the most *recent* patch |
| 188 | THRIFT-154. python: Make THttpClient take a URL in its constructor |
| 189 | THRIFT-155. python: Reopen THttpClient on a flush |
| 190 | THRIFT-195. python: Add a simple THttpServer |
| 191 | THRIFT-212. python: Make TFramedTransport implement CReadableTransport |
| 192 | THRIFT-217. Use "--gen py" instead of "-py" in build scripts |
| 193 | THRIFT-241. python: Generate a better implementation of __repr__ |
| 194 | THRIFT-242. python: Used named arguments in __init__ instead of a dict |
| 195 | THRIFT-256. python: Fix inheritance of services in the same IDL file |
| 196 | THRIFT-282. Generate doccstrings for Python classes |
| 197 | THRIFT-284. python: Update tutorial files to use repr |
| 198 | THRIFT-285. python: Don't generate _result structs for async functions |
| 199 | THRIFT-292. Auto-generate the Python gen-code in build.xml |
| 200 | THRIFT-292. Restore fb303/FacebookBase.py |
| 201 | THRIFT-310. python: Generate valid code for empty services |
| 202 | THRIFT-329. python: Make TServerSocket.close() work properly |
| 203 | THRIFT-340. python: Detect endianness properly on FreeBSD |
| 204 | THRIFT-360. python: Make fastbinary skip struct fields with the wrong type |
| 205 | THRIFT-362. python: Detect endianness on Solaris |
| 206 | THRIFT-391. py: Fix memory leak in fastbinary |
| 207 | THRIFT-412. python: Fix some syntacticaly-incorrect code generation |
| 208 | THRIFT-463. python: Fix thrift_spec ordering bug from r760201 |
| 209 | THRIFT-471. python: Generated exceptions should implement __str__ |
| 210 | THRIFT-494. python: Update meta-information in setup.py |
| 211 | THRIFT-495. python: Raise a TTransportException if TSocket is not open |
| 212 | THRIFT-535. py: Twisted Thrift protocol max length is too small |
| 213 | THRIFT-535. py: Twisted Thrift protocol max length is too small (fix off-by-one error in MAX_LENGTH) |
| 214 | THRIFT-583. python: Allow new-style classes for Interfaces |
| 215 | THRIFT-586. python: TSocket incorrectly sets the exception type when an end of file error occurs |
| 216 | THRIFT-612. python: Fix exception bug in TFramedTransport.cstringio_refill |
| 217 | THRIFT-637. python: Fix mixing of oneway and regular requests in TNonblockingServer |
| 218 | cpp: Make the test server compatible with the Python test client |
| 219 | generate Twisted code in a separate directory (gen-py.twisted) |
| 220 | python: Add TFileObjectTransport |
| 221 | python: Eliminate the option of TFramedTransport to not frame |
| 222 | python: Make TFramedTransport use a cStringIO for reading |
| 223 | python: Make the unit tests run faster and more reliably |
| 224 | rb: Make TServer.py Python 2.4 compatible [THRIFT-44] |
| 225 | |
| 226 | Ruby: |
| 227 | Add Apache headers to Ruby libs and remove a few remaining Facebook notices |
| 228 | Add back OCamlMakefile and setup.rb to LICENSE |
| 229 | Fix "make distclean" when Ruby is not in use |
| 230 | Remove now defunct tests (they've been moved to specs in lib/rb) |
| 231 | THRFIT-231. rb: Make Thrift::Structs hashable |
| 232 | THRIFT-132. ruby: Ruby generator should use ::Thrift::Foo namespace form |
| 233 | THRIFT-157. rb: Quote strings and qualify class names properly |
| 234 | THRIFT-175. Specs in Ruby library should be run during make check |
| 235 | THRIFT-229. rb: Don't block indefinitely on connect() |
| 236 | THRIFT-245. rb: FIELDS constant should contain name of enumerated type for enum fields |
| 237 | THRIFT-246. rb: Generate #struct_fields rather than reflect. |
| 238 | THRIFT-248. ruby: Factor BinaryProtocolAccelerated into separate protocol and struct components |
| 239 | THRIFT-254. rb: Add optional strict version support to binary protocols |
| 240 | THRIFT-260. rb: Some Protocol methods shouldn't have default nil implementations |
| 241 | THRIFT-275. rb: Remove deprecated classes from Ruby library |
| 242 | THRIFT-276. rb: Ruby libraries should have one class per file |
| 243 | THRIFT-277. rb: Abstract Transport in Ruby #read method should throw NotImplementedException |
| 244 | THRIFT-298. ruby: Exception propagation seems broken for Ruby clients |
| 245 | THRIFT-302. ruby: Native extension fails to build |
| 246 | THRIFT-312. rb: Ruby unit tests fail due to change in BinaryProtocolAccelerated interface |
| 247 | THRIFT-313. rb: BinaryProtocolAccelerated and BinaryProtocol don't produce the same bytes when writes aren't strict |
| 248 | THRIFT-332. rb: Compact Protocol in Ruby |
| 249 | THRIFT-352. rb: Implicit enums should be valid values |
| 250 | THRIFT-353. rb: Capitalize module names on ruby generation |
| 251 | THRIFT-358. ruby: Change how external thrift files' generated code is required |
| 252 | THRIFT-372. rb: Ruby lib doesn't rescue properly from lack of native_thrift extension |
| 253 | THRIFT-374. rb: ruby 1.9 compatibility |
| 254 | THRIFT-375. rb: syntax error in benchmark.rb |
| 255 | THRIFT-396. rb: BinaryProtocol missing method implementations |
| 256 | THRIFT-401. rb: Speed up FramedTransport |
| 257 | THRIFT-402. rb: MemoryBuffer > 4096 bytes will truncate remaining bytes |
| 258 | THRIFT-408. rb: Ruby C extension doesn't build on 1.8.5 |
| 259 | THRIFT-410. rb: Ruby lib should have no checked in generated code |
| 260 | THRIFT-410. rb: Ruby lib should have no checked in generated code |
| 261 | THRIFT-415. rb: BinaryProtocolAccelerated does not behave properly when strict reads are turned off |
| 262 | THRIFT-417. rb: BufferedTransport can enter an infinite loop |
| 263 | THRIFT-421. rb: Fix tests broken by original patch |
| 264 | THRIFT-422. rb: scope all references to the Thrift module |
| 265 | THRIFT-430. rb: ruby tutorials and ruby tests require deprecated files and class names |
| 266 | THRIFT-431. rb: Capitalize namespace values |
| 267 | THRIFT-433. rb: 'rake spec' sort of fails |
| 268 | THRIFT-437. rb: fix benchmarking tools to require proper file names |
| 269 | THRIFT-444. rb: THRIFT-356 broke compact protocol spec |
| 270 | THRIFT-445. rb: client and processor do not inherit from the proper namespace scope |
| 271 | THRIFT-451. rb: ruby structs use lowercase enum while modules are capitalized |
| 272 | THRIFT-485. rb: Generated validate methods that reference external thrift files' types are not referenced correctly |
| 273 | THRIFT-486. rb: ruby tutorial needs updated require statements |
| 274 | THRIFT-498. rb: Compact and Binary native protocols, used at the same time, can cause some issues |
| 275 | THRIFT-501. rb: File.dirname(...) requires cause warnings in some scenarios |
| 276 | THRIFT-511. rb: Better performing hash method for generated structs |
| 277 | THRIFT-513. rb: spec test files broken, rake searching for misnamed files |
| 278 | THRIFT-516. rb: If TFramedTransport reads a negative frame size, throw a TTransportException descendant instead of the default NegativeArraySizeException |
| 279 | THRIFT-526. rb: Generated Ruby enums have no good way to get the names back out once you have a number. |
| 280 | THRIFT-547. rb: Thrift deserializer hangs when deserializing empty string |
| 281 | THRIFT-552. rb: gem requires exactly rubygems 1.2.0 |
| 282 | HRIFT-569. rb: Segmentation Fault when using BinaryProtocolAccelerated in Ruby |
| 283 | THRIFT-571. rb: compact_protocol.c:89: warning: format not a string literal and no format arguments |
| 284 | THRIFT-572. rb: fix RSTRING for 1.9 compatibility |
| 285 | THRIFT-603. rb: Struct read method does not call validate After reading a struct, we will now call the struct's validate method. |
| 286 | Thrift-421. rb: Underscore output file names and require file statments |
| 287 | rb: Add FramedTransport#borrow/consume! [THRIFT-117] |
| 288 | rb: Add TProtocolException to the backwards_compatibility_spec [THRIFT-88] |
| 289 | rb: Add docstrings to generated ruby code [THRIFT-147] |
| 290 | rb: Add ext/ to loadpath so BinaryProtocolAccelerated specs pass |
| 291 | rb: Add optional timeout argument to Thrift::Socket [THRIFT-74] |
| 292 | rb: Add pretty inspect, optional field hint for Thrift::Struct |
| 293 | rb: Add some additional error handling to Thrift::Socket [THRIFT-53] |
| 294 | rb: Add stubs for rake install/package when Echoe not present [THRIFT-52] |
| 295 | rb: BinaryProtocolAccelerated should use Thrift::ProtocolException [THRIFT-89] |
| 296 | rb: BufferedTransport should flush on close [THRIFT-49] |
| 297 | rb: Buffer the slice!s in MemoryBuffer for a significant performance increase [THRIFT-63] |
| 298 | rb: Bugfix for deprecation code [kevin@rapleaf.com][THRIFT-50] |
| 299 | rb: Change the license from Thrift Software License to Apache Software License [THRIFT-38] |
| 300 | rb: Check Thrift.type_checking earlier for a performance boost [THRIFT-55] |
| 301 | rb: Check container elements when Thrift.type_checking = true [THRIFT-104] |
| 302 | rb: Create constants for field ids in generated structs [THRIFT-165] |
| 303 | rb: Delete setup.rb [THRIFT-38] |
| 304 | rb: Display field name in type-checking error [THRIFT-78] |
| 305 | rb: Ensure the specs that expect deprecation warnings actually get them [THRIFT-56] |
| 306 | rb: Ensure the transport is closed if an exception is raised serializing data in Client.send_message [THRIFT-75] |
| 307 | rb: Improve IOStreamTransport to behave more like a real transport [THRIFT-76] |
| 308 | rb: Make TServer.py Python 2.4 compatible [THRIFT-44] |
| 309 | rb: Performance tweaks in Struct#initialize [THRIFT-188] |
| 310 | rb: Remove extra validate in read [THRIFT-207] |
| 311 | rb: Reorganize the Rakefile a bit [THRIFT-38] |
| 312 | rb: Spec out Thrift::BinaryProtocolAccelerated [THRIFT-90] |
| 313 | rb: Speed up Struct#initialize for optional fields [THRFIT-112] |
| 314 | rb: Support SSL and correct Content-Type in HTTPClient [THRIFT-156] |
| 315 | rb: Support `raise Xception, message` for Structs that inherit from ::Exception [THRIFT-58] |
| 316 | rb: Teach BinaryProtocolAccelerated to encode strings with NULs [THRIFT-97] |
| 317 | rb: The deprecation stuff should skip thrift library code when showing caller [THRIFT-56] |
| 318 | rb: The shared binary protocol specs lacked a test for read_message_begin |
| 319 | rb: Thrift.check_type should check struct classes [THRIFT-185] |
| 320 | rb: Update HTTPClientSpec for THRIFT-156 |
| 321 | rb: Use Echoe to manage the gem [THRIFT-38] |
| 322 | rb: Use File.dirname(__FILE__) in generated requires [THRIFT-57] |
| 323 | rb: Use defined? JRUBY_VERSION to detect JRuby [THRIFT-38] |
| 324 | rb: Validate struct _after_ read. [THRIFT-206] |
| 325 | rb: When passing unknown keys to Thrift::Struct.new, report those keys in the exception [THRIFT-51] |
| 326 | rb: raise if an object is serialized without required fields [THRIFT-143] |
| 327 | rb: require 'thrift' first in generated service definitions [THRIFT-38] |
| 328 | rb: rewrite the README [THRIFT-38] |
| 329 | |
| 330 | PHP: |
| 331 | Allow the Thrift compiler to be built without the PHP generator. |
| 332 | Make the PHP generator dynamic. |
| 333 | Make the PHP generator use non-hardcoded namespaces. |
| 334 | Remove obsolete php extension tag |
| 335 | THRIFT-99. php: Add scheme (http[s], etc.) support to THttpClient |
| 336 | THRIFT-349. php: Accelerated binary protocol serialization segementation fault |
| 337 | THRIFT-350. php: Fix the extension build when C++ is not already used |
| 338 | THRIFT-404. php: Make TPhpStream work for cli (cgi) scripts |
| 339 | THRIFT-405. php: Create a tutorial server |
| 340 | THRIFT-499. php: Thrift_protocol PHP extension does not handle signedness correctly |
| 341 | THRIFT-584. php: Generate a better directory structure |
| 342 | php: Fix an undefined variasble in an error message |
| 343 | php: Improve some docblock comments for TSocket |
| 344 | |
| 345 | Perl: |
| 346 | Perl library should honor the INSTALLDIRS variable |
| 347 | THRIFT-190. Added dependency check to perl Makefile |
| 348 | THRIFT-193: Patch for proper namespace support in perl compiler |
| 349 | THRIFT-199. perl: Let "make distclean" work when we are not using Perl |
| 350 | THRIFT-199: integrate perl into automake |
| 351 | THRIFT-470. fb303: Use a namespace in Perl gen-code |
| 352 | THRIFT-542: Perl compiler uses invalid method 'method_exists' and subsequent test |
| 353 | THRIFT-554: Perl improper namespace check for exception handling and writeMessageEnd missing on processor calls |
| 354 | THRIFT-590: send/recv timeout values interchanged in perl socket lib |
| 355 | THRIFT-619: Perl server and example |
| 356 | |
| 357 | |
| 358 | C#: |
| 359 | THRIFT-25. csharp: Various compiler and library improvements |
| 360 | THRIFT-46. csharp: Throw the correct exception for an unknown method |
| 361 | THRIFT-129. csharp: Make all Thrift structures extend TBase |
| 362 | THRIFT-158. csharp: Update headers to Apache |
| 363 | THRIFT-159. csharp: Compiler doesn't add package scope to exceptions in catch blocks and assigns to unused local var when reading |
| 364 | THRIFT-178. java, csharp, cpp: Final Keyword |
| 365 | THRIFT-204. csharp: C# Partial Classes |
| 366 | THRIFT-209. csharp: Make TTransportFactory.GetTransport virtual |
| 367 | THRIFT-258. csharp: Include all lib source files in Makefile.am |
| 368 | THRIFT-264. csharp: Include TBufferedTransport in the build on Linux |
| 369 | THRIFT-264. csharp: Use /langversion:linq to fix the Linux build |
| 370 | THRIFT-384. csharp: Fix handling of fields named "value" |
| 371 | THRIFT-467. csharp: Fix compilation on Debian Sid |
| 372 | THRIFT-525. csharp: ThriftTest project will not generate c# from .thrift file or generate ThriftImpl.dll |
| 373 | THRIFT-531. csharp: C# project and solution files reference external source control system |
| 374 | csharp: Remove a BOM and CRLF line endings from some test code |
| 375 | |
| 376 | Haskell: |
| 377 | Consolidate lib/hs/.gitignore into the top-level .gitignore |
| 378 | THRIFT-385. hs: 64-bit integer and double types incorrectly serialized on 32-bit platforms |
| 379 | THRIFT-390. hs: Cabalize Haskell library code |
| 380 | THRIFT-392. hs: Make test scripts easier to use |
| 381 | THRIFT-397. hs: Remove unnecessary redefinition of generate_program() |
| 382 | THRIFT-398. hs: Remove unnecessary parens from generated type annotations |
| 383 | THRIFT-399. hs: Fix set and number issues in generated constant code |
| 384 | THRIFT-407. hs: Refactor and improve Haskell-related code |
| 385 | |
| 386 | OCaml: |
| 387 | No changes |
| 388 | |
| 389 | Smalltalk: |
| 390 | smalltalk: Fix TBinaryProtocol readString for empty strings |
| 391 | |
| 392 | XSD: |
| 393 | Allow the Thrift compiler to be built without the XSD generator. |
| 394 | Make the XSD generator dynamic. |
| 395 | Make the XSD generator use non-hardcoded namespaces. |
| 396 | |
| 397 | HTML: |
| 398 | THRIFT-173. Commit the html generator |
| 399 | THRIFT-259. html: Generate "extends" link for extended services |
| 400 | THRIFT-365. html: HTML compiler infinite loop |
| 401 | |
| 402 | Cocoa: |
| 403 | THRIFT-280. Server-side Cocoa implementation. |
| 404 | THRIFT-343. Import <Foundation/Foundation.h> instead of <Cocoa/Cocoa.h> to support iPhone |
| 405 | THRIFT-344. Add a 'log_unexpected' option to the cocoa generator. off by default. when supplied, unexpected field IDs and types are logged when reading a struct. |
| 406 | THRIFT-520. Fix generation of cocoa constants when a namespace prefix is set. |
| 407 | |
| 408 | |
| 409 | |
David Reiss | 10a22bf | 2008-04-21 18:08:07 +0000 | [diff] [blame] | 410 | Release Notes for Thrift 20080411 |
| 411 | |
| 412 | .equals and .hashCode() for Java scturcts (developed by dreiss). |
| 413 | |
| 414 | Improvments to the C++ TSocketPool (developed by akhil). |
| 415 | |
| 416 | PHP (de)serialization extension (developed by dweatherford). |
| 417 | |
| 418 | Add fb303 to contrib (developed by Facebook). |
| 419 | |
| 420 | TJSONProtocol for C++ and Java (contributed by Chad Walters of Powerset). |
| 421 | |
| 422 | Support for "make check" and better tests (contributed by Nitay). |
| 423 | |
| 424 | Smalltalk support (contributed by Patrick Collison). |
| 425 | |
| 426 | Dave Simpson <dave@powerset.com> |
| 427 | Better support for connection tracking in the C++ server (contributed by |
| 428 | Dave Simpson of Powerset). |
| 429 | |
| 430 | Perl HttpClient (contributed by Igor Afanasyev of Evernote). |
| 431 | |
| 432 | C# support (contributed by Todd Berman of imeem). |
| 433 | |
| 434 | MinGW port of the compiler (contributed by Todd Berman of imeem). |
| 435 | |
| 436 | Tons of small improvements and bug fixes. |
| 437 | |
| 438 | |
David Reiss | b72d19f | 2007-09-18 19:46:00 +0000 | [diff] [blame] | 439 | Release Notes for Thrift 20070917 |
| 440 | |
| 441 | TBinaryProtocol now includes a protocol version number in messaged. |
| 442 | This is a non-backwards-compatible change. Please see the |
| 443 | TBinaryProtocol constructor for strictRead_ and strictWrite_. |
| 444 | |
| 445 | Add binary type to support non-text "strings" in Java. |
| 446 | |
| 447 | TSocketPool for C++ (developed by jsobel). |
| 448 | |
| 449 | Syntax highlighting for vim and emacs (developed by hzhao and martin). |
| 450 | |
| 451 | Perl support (contributed by Jake Luciani). |
| 452 | |
| 453 | Erlang support (developed by cpiro). |
| 454 | |
| 455 | Ruby API overhaul (contributed by Kevin Clark of Powerset). |
| 456 | |
| 457 | IPv6 support in C++ and Python (contributed by Paul Saab of Powerset). |
| 458 | |
| 459 | Read/Write locks (developed by boz). |
| 460 | |
| 461 | OCaml support (developed by iproctor). |
| 462 | |
| 463 | Human-readable strings from Thrift structures in C++ (developed by dreiss). |
| 464 | |
| 465 | Haskell support (developed by iproctor). |
| 466 | |
| 467 | Support for optional fields in C++ (contributed by Andy Lutomirsky). |
| 468 | |
| 469 | Support for operator== for Thrift structures (contributed by Andy Lutomirsky). |
| 470 | |
| 471 | Python/C module for fast (de)serialization (contributed by Ben Maurer). |
| 472 | |
| 473 | Limited reflection for C++ services (developed by dreiss). |
| 474 | |
| 475 | Python library installation defaults to /usr, override with PY_PREFIX. |
| 476 | |
| 477 | Support for Javabean-style Java classes (contributed by Dave Engberg). |
| 478 | |
| 479 | TDenseProtocol for C++ (experimental way to shrink structures) |
| 480 | (developed by dreiss). |
| 481 | |
| 482 | Cocoa/Objective C support (contributed by Andrew McGeachie). |
| 483 | |
| 484 | Thrift now builds without libevent. |
| 485 | |
| 486 | TZlibTransport for C++ (compress serialized structures) (developed by dreiss). |
| 487 | |
| 488 | Tons of small improvements and bug fixes. |