Breaking Changes (since 0.11.0)
- THRIFT-4529 - Rust enum variants are now camel-cased instead of uppercased to conform to Rust naming conventions
- THRIFT-4448 - Support for golang 1.6 and earlier has been dropped.
- THRIFT-4474 - PHP now uses the PSR-4 loader by default instead of class maps.
- THRIFT-4532 - method signatures changed in the compiler's t_oop_generator.
- THRIFT-4648 - The C (GLib) compiler's handling of namespaces has been improved.
Known Issues (Blocker or Critical)
- THRIFT-4037 - build: use a single build system for thrift
- THRIFT-4119 - build: bootstrap.sh is missing from source tarball
- THRIFT-3289 - csharp: socket exhaustion in csharp implementation
- THRIFT-3029 - cocoa: Getters for fields defined with uppercase names do not work
- THRIFT-3325 - cocoa: Extended services aren't subclasses in generated Cocoa
- THRIFT-4116 - cocoa: Thrift de-capitalizes the name of IsSet property in Cocoa
- THRIFT-3877 - cpp: the http implementation is not standard; interop with other languages is spotty at best
- THRIFT-4180 - cpp: Impossible to build Thrift C++ library for Android (NDK)
- THRIFT-4384 - cpp: Using multiple async services simultaneously is not thread-safe
- THRIFT-3108 - haskell: Defaulted struct parameters on a service generates invalid Haskell
- THRIFT-3990 - nodejs: Exception swallowed by deserialization function
- THRIFT-4214 - nodejs: map<i64,value> key treated as hex value in JavaScript
- THRIFT-4602 - nodejs: ERROR in ./node_modules/thrift/lib/nodejs/lib/thrift/connection.js Module not found: Error: Can't resolve 'child_process'
- THRIFT-4639 - nodejs: Sequence numbering for multiplexed protocol broken
- THRIFT-1310 - php: sequence and reconnection management issues
- THRIFT-1538 - php: Error during deserialization int64 on 32-bit architecture
- THRIFT-1580 - php: thrift type i64 java to php serialize/deserealize not working
- THRIFT-1950 - php: PHP gets stuck in infinite loop
- THRIFT-2954 - python: sending int or float in a double field breaks the connection
- THRIFT-4080 - python: unix sockets can get stuck forever
- THRIFT-4281 - python: generated code is out of order and causes load issues
- THRIFT-4677 - py3: UnicodeDecideError in Python3
Build Process
- THRIFT-4067 - Windows thrift compiler distributed on the apache web site has runtime dependencies
- THRIFT-4308 - D language docker images need demios for libevent and openssl fixed to re-enable make cross on dlang
- THRIFT-4579 - Use Ubuntu Bionic (18.04 LTS) for CI builds instead of Artful (17.10)
- THRIFT-4508 - Define CI operating system coverage rules for the project and (hopefully) simplify CI a little more
- THRIFT-4397 - ubuntu install instructions broken on 16.04
- THRIFT-4545 - Appveyor builds are failing due to a haskell / cabal update in chocolatey
- THRIFT-4452 - optimize Dockerfile (only onetime apt-get update)
- THRIFT-4440 - rm
build/docker/ubuntu-trusty/Dockerfile.orig
- THRIFT-4352 - Ubuntu Artful doesn't appear to be compatible with Thrift and Haxe 3.4.2
- THRIFT-4666 - DLang Client Pool Test fails sporadically
- THRIFT-4676 - CL tutorial build fails sporadically
- THRIFT-4456 - Make haxelib download quiet so it doesn't blow up the build log
- THRIFT-4605 - bootstrap.sh fails if automake=1.16.1
c_glib
- THRIFT-4648 - The C (GLib) compiler's handling of namespaces has been improved.
- THRIFT-4622 - glibC compilation issue
- THRIFT-4671 - c glib is unable to handle client close unexpectedly