blob: 598edb2c538b2ea6bd97fb045ed19aadd76e106e [file] [log] [blame] [view]
James E. King, III0ad20bd2017-09-30 15:44:16 -07001# Apache Thrift Language Support #
2
Jiayu Liu92b007f2022-10-14 13:16:18 +08003Guidance For: 0.17.0 |
4[0.16.0](https://github.com/apache/thrift/blob/v0.16.0/LANGUAGES.md) |
5[0.15.0](https://github.com/apache/thrift/blob/v0.15.0/LANGUAGES.md) |
6[0.14.0](https://github.com/apache/thrift/blob/v0.14.0/LANGUAGES.md) |
7[0.13.0](https://github.com/apache/thrift/blob/v0.13.0/LANGUAGES.md) |
8[0.12.0](https://github.com/apache/thrift/blob/v0.12.0/LANGUAGES.md) |
James E. King III36d45522019-02-22 08:13:38 -05009[0.11.0](https://github.com/apache/thrift/blob/0.11.0/LANGUAGES.md)
James E. King IIIdabb5392018-07-07 02:48:43 +000010
James E. King III36d45522019-02-22 08:13:38 -050011Thrift supports many programming languages and has an impressive test suite that
12exercises most of the languages, protocols, and transports. Each build exercises
Mario Emmenlauer55680af2020-05-11 22:58:48 +020013a matrix of thousands of possible combinations. Each language typically has a
James E. King III36d45522019-02-22 08:13:38 -050014minimum required version as well as support libraries - some mandatory and some
15optional. The information provided below will help you assess whether you can
16use Apache Thrift with your project. Obviously this is a complex matrix to
17maintain and may not be correct in all cases - if you spot an error please inform
18the developers using the mailing list, or better yet,
19[Edit on GitHub](https://github.com/apache/thrift/edit/master/LANGUAGES.md).
James E. King, III0ad20bd2017-09-30 15:44:16 -070020
James E. King III36d45522019-02-22 08:13:38 -050021Apache Thrift currently uses two build systems. The `autoconf` build system is
22the most complete and builds all supported languages, however it does not support
23Windows.. The `cmake` build system works on Linux and Windows, and has been
24designated by the project to replace `autoconf` however this transition will
25take quite some time to complete. During that transition, the cmake build will
26not support all languages.
James E. King, III0ad20bd2017-09-30 15:44:16 -070027
James E. King III36d45522019-02-22 08:13:38 -050028The Language/Library Levels indicate the minimum and maximum versions that are
29used in the [continuous integration environments](build/docker/README.md)
30(Appveyor, Travis) for Apache Thrift. Other language levels may be supported
31for each language, however tested less thoroughly; check the README file inside
32each lib directory for additional details. Note: while a language may contain
33support for protocols, transports, and servers, the extent to which each is tested
34as part of the overall build process varies. The definitive integration test for
35the project is called the "cross" test which executes a test matrix with clients
36and servers communicating across languages.
James E. King, III0ad20bd2017-09-30 15:44:16 -070037
James E. King III36d45522019-02-22 08:13:38 -050038Thrift's core transport (supported by all languages) is TSocket.
39Thrift's core protocol is TBinary, supported by all languages except for JavaScript.
James E. King, III0ad20bd2017-09-30 15:44:16 -070040
James E. King IIIfed99352018-03-05 13:25:07 -050041<table style="font-size: 60%; padding: 1px;">
James E. King, III0ad20bd2017-09-30 15:44:16 -070042<thead>
43<tr>
44<th rowspan=2>Language</th>
James E. King IIIfed99352018-03-05 13:25:07 -050045<th rowspan=2 align=center>Since</th>
James E. King, III0ad20bd2017-09-30 15:44:16 -070046<th colspan=2 align=center>Build Systems</th>
James E. King IIIa37feaf2018-03-06 15:11:01 -050047<th colspan=2 align=center>Lang/Lib Levels (Tested)</th>
Triton Circonflexe4959a922022-06-07 21:40:41 +020048<th colspan=1 align=center>Field types</th>
James E. King, III0ad20bd2017-09-30 15:44:16 -070049<th colspan=6 align=center>Low-Level Transports</th>
James E. King III36d45522019-02-22 08:13:38 -050050<th colspan=4 align=center>Transport Wrappers</th>
James E. King, III0ad20bd2017-09-30 15:44:16 -070051<th colspan=4 align=center>Protocols</th>
52<th colspan=5 align=center>Servers</th>
53<th rowspan=2>Open Issues</th>
54</tr>
55<tr>
56<!-- Build Systems ---------><th>autoconf</th><th>cmake</th>
57<!-- Lang/Lib Levels -------><th>Min</th><th>Max</th>
Triton Circonflexe4959a922022-06-07 21:40:41 +020058<!-- Field types -----------><th>Uuid</th>
James E. King, III0ad20bd2017-09-30 15:44:16 -070059<!-- Low-Level Transports --><th><a href="https://en.wikipedia.org/wiki/Unix_domain_socket">Domain</a></th><th>&nbsp;File&nbsp;</th><th>Memory</th><th>&nbsp;Pipe&nbsp;</th><th>Socket</th><th>&nbsp;TLS&nbsp;</th>
James E. King III36d45522019-02-22 08:13:38 -050060<!-- Transport Wrappers ----><th>Framed</th><th>Header</th><th>&nbsp;http&nbsp;</th><th>&nbsp;zlib&nbsp;</th>
James E. King, III0ad20bd2017-09-30 15:44:16 -070061<!-- Protocols -------------><th><a href="doc/specs/thrift-binary-protocol.md">Binary</a></th><th><a href="doc/specs/thrift-compact-protocol.md">Compact</a></th><th>&nbsp;JSON&nbsp;</th><th>Multiplex</th>
62<!-- Servers ---------------><th>Forking</th><th>Nonblocking</th><th>Simple</th><th>Threaded</th><th>ThreadPool</th>
63</tr>
64</thead>
65<tbody>
66<tr align=center>
James E. King IIIee006ec2019-01-14 15:57:43 -050067<td align=left><a href="https://github.com/apache/thrift/blob/master/lib/c_glib/README.md">C (glib)</a></td>
James E. King IIIfed99352018-03-05 13:25:07 -050068<!-- Since -----------------><td>0.6.0</td>
iceproc87097a2022-09-21 13:06:15 +080069<!-- Build Systems ---------><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td>
James E. King III93ff9b02019-06-21 17:50:34 -040070<!-- Language Levels -------><td>2.48.2</td><td>2.56.4</td>
iceproc87097a2022-09-21 13:06:15 +080071<!-- Field types -----------><td><img src="/doc/images/cred.png" alt=""/></td>
72<!-- Low-Level Transports --><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td>
73<!-- Transport Wrappers ----><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td>
74<!-- Protocols -------------><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td>
75<!-- Servers ---------------><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td>
James E. King III91854f02019-01-11 19:20:37 -050076<td align=left><a href="https://issues.apache.org/jira/issues/?jql=project%20%3D%20THRIFT%20AND%20component%20in%20(%22C%20glib%20-%20Compiler%22%2C%20%22C%20glib%20-%20Library%22)%20and%20status%20not%20in%20(fixed%2C%20resolved%2C%20closed)">C (glib)</a></td>
James E. King, III0ad20bd2017-09-30 15:44:16 -070077</tr>
78<tr align=center>
James E. King IIIee006ec2019-01-14 15:57:43 -050079<td align=left><a href="https://github.com/apache/thrift/blob/master/lib/cpp/README.md">C++</a></td>
James E. King IIIfed99352018-03-05 13:25:07 -050080<!-- Since -----------------><td>0.2.0</td>
iceproc87097a2022-09-21 13:06:15 +080081<!-- Build Systems ---------><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td>
James E. King III36d45522019-02-22 08:13:38 -050082<!-- Language Levels -------><td colspan=2>C++11</td>
CJCombrink4b909092024-04-27 19:51:39 +020083<!-- Field types -----------><td><img src="/doc/images/cgrn.png" alt="Yes"/></td>
iceproc87097a2022-09-21 13:06:15 +080084<!-- Low-Level Transports --><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td>
85<!-- Transport Wrappers ----><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td>
86<!-- Protocols -------------><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td>
87<!-- Servers ---------------><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td>
James E. King III91854f02019-01-11 19:20:37 -050088<td align=left><a href="https://issues.apache.org/jira/issues/?jql=project%20%3D%20THRIFT%20AND%20component%20in%20(%22C%2B%2B%20-%20Compiler%22%2C%20%22C%2B%2B%20-%20Library%22)%20and%20status%20not%20in%20(fixed%2C%20resolved%2C%20closed)">C++</a></td>
James E. King, III0ad20bd2017-09-30 15:44:16 -070089</tr>
90<tr align=center>
James E. King IIIee006ec2019-01-14 15:57:43 -050091<td align=left><a href="https://github.com/apache/thrift/blob/master/lib/cl/README.md">Common LISP</a></td>
James E. King IIIfed99352018-03-05 13:25:07 -050092<!-- Since -----------------><td>0.12.0</td>
iceproc87097a2022-09-21 13:06:15 +080093<!-- Build Systems ---------><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td>
James E. King III93ff9b02019-06-21 17:50:34 -040094<!-- Language Levels -------><td>SBCL 1.4.x</td><td>SBCL 1.5.3</td>
iceproc87097a2022-09-21 13:06:15 +080095<!-- Field types -----------><td><img src="/doc/images/cred.png" alt=""/></td>
96<!-- Low-Level Transports --><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td>
97<!-- Transport Wrappers ----><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td>
98<!-- Protocols -------------><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td>
99<!-- Servers ---------------><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td>
James E. King III91854f02019-01-11 19:20:37 -0500100<td align=left><a href="https://issues.apache.org/jira/issues/?jql=project%20%3D%20THRIFT%20AND%20component%20in%20(%22Common%20LISP%20-%20Compiler%22%2C%20%22Common%20LISP%20-%20Library%22)%20and%20status%20not%20in%20(fixed%2C%20resolved%2C%20closed)">Common LISP</a></td>
Tomek Kurcze93a9012017-09-19 09:16:43 +0200101</tr>
102<tr align=center>
James E. King IIIee006ec2019-01-14 15:57:43 -0500103<td align=left><a href="https://github.com/apache/thrift/blob/master/lib/d/README.md">Dlang</a></td>
James E. King IIIfed99352018-03-05 13:25:07 -0500104<!-- Since -----------------><td>0.9.0</td>
iceproc87097a2022-09-21 13:06:15 +0800105<!-- Build Systems ---------><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td>
James Lacey7054b312021-03-26 11:38:38 -0700106<!-- Language Levels -------><td>2.087.0</td><td>2.087.0</td>
iceproc87097a2022-09-21 13:06:15 +0800107<!-- Field types -----------><td><img src="/doc/images/cred.png" alt=""/></td>
108<!-- Low-Level Transports --><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td>
109<!-- Transport Wrappers ----><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td>
110<!-- Protocols -------------><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td>
111<!-- Servers ---------------><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td>
James E. King III91854f02019-01-11 19:20:37 -0500112<td align=left><a href="https://issues.apache.org/jira/issues/?jql=project%20%3D%20THRIFT%20AND%20component%20in%20(%22D%20-%20Compiler%22%2C%20%22D%20-%20Library%22)%20and%20status%20not%20in%20(fixed%2C%20resolved%2C%20closed)">D</a></td>
James E. King, III0ad20bd2017-09-30 15:44:16 -0700113</tr>
114<tr align=center>
James E. King IIIee006ec2019-01-14 15:57:43 -0500115<td align=left><a href="https://github.com/apache/thrift/blob/master/lib/dart/README.md">Dart</a></td>
James E. King IIIfed99352018-03-05 13:25:07 -0500116<!-- Since -----------------><td>0.10.0</td>
iceproc87097a2022-09-21 13:06:15 +0800117<!-- Build Systems ---------><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td>
James E. King III93ff9b02019-06-21 17:50:34 -0400118<!-- Language Levels -------><td>2.0.0</td><td>2.4.0</td>
iceproc87097a2022-09-21 13:06:15 +0800119<!-- Field types -----------><td><img src="/doc/images/cred.png" alt=""/></td>
120<!-- Low-Level Transports --><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td>
121<!-- Transport Wrappers ----><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td>
122<!-- Protocols -------------><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td>
123<!-- Servers ---------------><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td>
James E. King III91854f02019-01-11 19:20:37 -0500124<td align=left><a href="https://issues.apache.org/jira/issues/?jql=project%20%3D%20THRIFT%20AND%20component%20in%20(%22Dart%20-%20Compiler%22%2C%20%22Dart%20-%20Library%22)%20and%20status%20not%20in%20(fixed%2C%20resolved%2C%20closed)">Dart</a></td>
James E. King, III0ad20bd2017-09-30 15:44:16 -0700125</tr>
126<tr align=center>
James E. King IIIee006ec2019-01-14 15:57:43 -0500127<td align=left><a href="https://github.com/apache/thrift/blob/master/lib/delphi/README.md">Delphi</a></td>
James E. King IIIfed99352018-03-05 13:25:07 -0500128<!-- Since -----------------><td>0.8.0</td>
iceproc87097a2022-09-21 13:06:15 +0800129<!-- Build Systems ---------><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td>
Jens Geyeraebdb412022-09-21 22:51:31 +0200130<!-- Language Levels -------><td>2010</td><td>Alexandria 11.2</td>
Triton9a4e9982022-11-20 20:45:14 +0100131<!-- Field types -----------><td><img src="/doc/images/cgrn.png" alt="Yes"/></td>
iceproc87097a2022-09-21 13:06:15 +0800132<!-- Low-Level Transports --><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td>
133<!-- Transport Wrappers ----><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td>
134<!-- Protocols -------------><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td>
135<!-- Servers ---------------><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td>
James E. King III91854f02019-01-11 19:20:37 -0500136<td align=left><a href="https://issues.apache.org/jira/issues/?jql=project%20%3D%20THRIFT%20AND%20component%20in%20(%22Delphi%20-%20Compiler%22%2C%20%22Delphi%20-%20Library%22)%20and%20status%20not%20in%20(fixed%2C%20resolved%2C%20closed)">Delphi</a></td>
James E. King, III0ad20bd2017-09-30 15:44:16 -0700137</tr>
138<tr align=center>
James E. King III36d45522019-02-22 08:13:38 -0500139<td align=left><a href="https://github.com/apache/thrift/blob/master/lib/netstd/README.md">.NET Standard</a></td>
140<!-- Since -----------------><td>0.13.0</td>
iceproc87097a2022-09-21 13:06:15 +0800141<!-- Build Systems ---------><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td>
Jens Geyeraebdb412022-09-21 22:51:31 +0200142<!-- Language Levels -------><td colspan=2>.NET Standard 2.x, .NET 6</td>
Triton9a4e9982022-11-20 20:45:14 +0100143<!-- Field types -----------><td><img src="/doc/images/cgrn.png" alt="Yes"/></td>
iceproc87097a2022-09-21 13:06:15 +0800144<!-- Low-Level Transports --><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td>
145<!-- Transport Wrappers ----><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td>
146<!-- Protocols -------------><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td>
147<!-- Servers ---------------><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td>
James E. King III6e5c0f62019-02-22 09:14:17 -0500148<td align=left><a href="https://issues.apache.org/jira/issues/?jql=project%20%3D%20THRIFT%20AND%20component%20in%20(%22netstd%20-%20Compiler%22%2C%20%22netstd%20-%20Library%22)%20and%20status%20not%20in%20(fixed%2C%20resolved%2C%20closed)">.NET Standard</a></td>
James E. King, III0ad20bd2017-09-30 15:44:16 -0700149</tr>
150<tr align=center>
James E. King IIIee006ec2019-01-14 15:57:43 -0500151<td align=left><a href="https://github.com/apache/thrift/blob/master/lib/erl/README.md">Erlang</a></td>
James E. King IIIfed99352018-03-05 13:25:07 -0500152<!-- Since -----------------><td>0.3.0</td>
iceproc87097a2022-09-21 13:06:15 +0800153<!-- Build Systems ---------><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td>
James E. King III93ff9b02019-06-21 17:50:34 -0400154<!-- Language Levels -------><td>18.3</td><td>22.0</td>
iceproc87097a2022-09-21 13:06:15 +0800155<!-- Field types -----------><td><img src="/doc/images/cred.png" alt=""/></td>
156<!-- Low-Level Transports --><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td>
157<!-- Transport Wrappers ----><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td>
158<!-- Protocols -------------><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td>
159<!-- Servers ---------------><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td>
James E. King III91854f02019-01-11 19:20:37 -0500160<td align=left><a href="https://issues.apache.org/jira/issues/?jql=project%20%3D%20THRIFT%20AND%20component%20in%20(%22Erlang%20-%20Compiler%22%2C%20%22Erlang%20-%20Library%22)%20and%20status%20not%20in%20(fixed%2C%20resolved%2C%20closed)">Erlang</a></td>
James E. King, III0ad20bd2017-09-30 15:44:16 -0700161</tr>
162<tr align=center>
James E. King IIIee006ec2019-01-14 15:57:43 -0500163<td align=left><a href="https://github.com/apache/thrift/blob/master/lib/go/README.md">Go</a></td>
James E. King IIIfed99352018-03-05 13:25:07 -0500164<!-- Since -----------------><td>0.7.0</td>
iceproc87097a2022-09-21 13:06:15 +0800165<!-- Build Systems ---------><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td>
Yuxuan 'fishy' Wang91565d42024-08-14 09:01:15 -0700166<!-- Language Levels -------><td>1.22</td><td>1.23</td>
Jens Geyer173714b2024-06-11 22:15:17 +0200167<!-- Field types -----------><td><img src="/doc/images/cgrn.png" alt="Yes"/></td>
Yuxuan 'fishy' Wang91565d42024-08-14 09:01:15 -0700168<!-- Low-Level Transports --><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td>
iceproc87097a2022-09-21 13:06:15 +0800169<!-- Transport Wrappers ----><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td>
170<!-- Protocols -------------><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td>
171<!-- Servers ---------------><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td>
James E. King III91854f02019-01-11 19:20:37 -0500172<td align=left><a href="https://issues.apache.org/jira/issues/?jql=project%20%3D%20THRIFT%20AND%20component%20in%20(%22Go%20-%20Compiler%22%2C%20%22Go%20-%20Library%22)%20and%20status%20not%20in%20(fixed%2C%20resolved%2C%20closed)">Go</a></td>
James E. King, III0ad20bd2017-09-30 15:44:16 -0700173</tr>
174<tr align=center>
James E. King IIIee006ec2019-01-14 15:57:43 -0500175<td align=left><a href="https://github.com/apache/thrift/blob/master/lib/haxe/README.md">Haxe</a></td>
James E. King IIIfed99352018-03-05 13:25:07 -0500176<!-- Since -----------------><td>0.9.3</td>
iceproc87097a2022-09-21 13:06:15 +0800177<!-- Build Systems ---------><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td>
Jens Geyeraebdb412022-09-21 22:51:31 +0200178<!-- Language Levels -------><td>4.1.5</td><td>4.2.5</td>
Jens Geyer173714b2024-06-11 22:15:17 +0200179<!-- Field types -----------><td><img src="/doc/images/cgrn.png" alt="Yes"/></td>
iceproc87097a2022-09-21 13:06:15 +0800180<!-- Low-Level Transports --><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td>
181<!-- Transport Wrappers ----><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td>
182<!-- Protocols -------------><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td>
183<!-- Servers ---------------><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td>
James E. King III91854f02019-01-11 19:20:37 -0500184<td align=left><a href="https://issues.apache.org/jira/issues/?jql=project%20%3D%20THRIFT%20AND%20component%20in%20(%22Haxe%20-%20Compiler%22%2C%20%22Haxe%20-%20Library%22)%20and%20status%20not%20in%20(fixed%2C%20resolved%2C%20closed)">Haxe</a></td>
James E. King, III0ad20bd2017-09-30 15:44:16 -0700185</tr>
186<tr align=center>
James E. King IIIee006ec2019-01-14 15:57:43 -0500187<td align=left><a href="https://github.com/apache/thrift/blob/master/lib/java/README.md">Java (SE)</a></td>
James E. King IIIfed99352018-03-05 13:25:07 -0500188<!-- Since -----------------><td>0.2.0</td>
iceproc87097a2022-09-21 13:06:15 +0800189<!-- Build Systems ---------><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td>
Jiayu Liu92b007f2022-10-14 13:16:18 +0800190<!-- Language Levels -------><td>11</td><td>19</td>
iceproc87097a2022-09-21 13:06:15 +0800191<!-- Field types -----------><td><img src="/doc/images/cred.png" alt=""/></td>
192<!-- Low-Level Transports --><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td>
193<!-- Transport Wrappers ----><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td>
194<!-- Protocols -------------><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td>
195<!-- Servers ---------------><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td>
James E. King III91854f02019-01-11 19:20:37 -0500196<td align=left><a href="https://issues.apache.org/jira/issues/?jql=project%20%3D%20THRIFT%20AND%20component%20in%20(%22Java%20-%20Compiler%22%2C%20%22Java%20-%20Library%22)%20and%20status%20not%20in%20(fixed%2C%20resolved%2C%20closed)">Java SE</a></td>
James E. King, III0ad20bd2017-09-30 15:44:16 -0700197</tr>
198<tr align=center>
James E. King IIIee006ec2019-01-14 15:57:43 -0500199<td align=left><a href="https://github.com/apache/thrift/blob/master/lib/javame/README.md">Java (ME)</a></td>
James E. King IIIfed99352018-03-05 13:25:07 -0500200<!-- Since -----------------><td>0.5.0</td>
iceproc87097a2022-09-21 13:06:15 +0800201<!-- Build Systems ---------><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td>
James E. King, III0ad20bd2017-09-30 15:44:16 -0700202<!-- Language Levels -------><td colspan=2>unknown</td>
iceproc87097a2022-09-21 13:06:15 +0800203<!-- Field types -----------><td><img src="/doc/images/cred.png" alt=""/></td>
204<!-- Low-Level Transports --><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td>
205<!-- Transport Wrappers ----><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td>
206<!-- Protocols -------------><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td>
207<!-- Servers ---------------><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td>
James E. King III91854f02019-01-11 19:20:37 -0500208<td align=left><a href="https://issues.apache.org/jira/issues/?jql=project%20%3D%20THRIFT%20AND%20component%20in%20(%22JavaME%20-%20Compiler%22%2C%20%22JavaME%20-%20Library%22)%20and%20status%20not%20in%20(fixed%2C%20resolved%2C%20closed)">Java ME</a></td>
James E. King, III0ad20bd2017-09-30 15:44:16 -0700209</tr>
210<tr align=center>
James E. King IIIee006ec2019-01-14 15:57:43 -0500211<td align=left><a href="https://github.com/apache/thrift/blob/master/lib/js/README.md">Javascript</a></td>
James E. King IIIfed99352018-03-05 13:25:07 -0500212<!-- Since -----------------><td>0.3.0</td>
iceproc87097a2022-09-21 13:06:15 +0800213<!-- Build Systems ---------><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td>
James E. King III36d45522019-02-22 08:13:38 -0500214<!-- Language Levels -------><td>ES5</td><td>ES6</td>
iceproc87097a2022-09-21 13:06:15 +0800215<!-- Field types -----------><td><img src="/doc/images/cred.png" alt=""/></td>
216<!-- Low-Level Transports --><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td>
217<!-- Transport Wrappers ----><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td>
218<!-- Protocols -------------><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td>
219<!-- Servers ---------------><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td>
James E. King III91854f02019-01-11 19:20:37 -0500220<td align=left><a href="https://issues.apache.org/jira/issues/?jql=project%20%3D%20THRIFT%20AND%20component%20in%20(%22Javascript%20-%20Compiler%22%2C%20%22Javascript%20-%20Library%22)%20and%20status%20not%20in%20(fixed%2C%20resolved%2C%20closed)">Javascript</a></td>
James E. King, III0ad20bd2017-09-30 15:44:16 -0700221</tr>
222<tr align=center>
James E. King IIIee006ec2019-01-14 15:57:43 -0500223<td align=left><a href="https://github.com/apache/thrift/blob/master/lib/lua/README.md">Lua</a></td>
James E. King IIIfed99352018-03-05 13:25:07 -0500224<!-- Since -----------------><td>0.9.2</td>
iceproc87097a2022-09-21 13:06:15 +0800225<!-- Build Systems ---------><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td>
James E. King, III39eaae62017-11-19 20:17:33 -0500226<!-- Language Levels -------><td>5.1.5</td><td>5.2.4</td>
iceproc87097a2022-09-21 13:06:15 +0800227<!-- Field types -----------><td><img src="/doc/images/cred.png" alt=""/></td>
228<!-- Low-Level Transports --><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td>
229<!-- Transport Wrappers ----><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td>
230<!-- Protocols -------------><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td>
231<!-- Servers ---------------><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td>
James E. King III91854f02019-01-11 19:20:37 -0500232<td align=left><a href="https://issues.apache.org/jira/issues/?jql=project%20%3D%20THRIFT%20AND%20component%20in%20(%22Lua%20-%20Compiler%22%2C%20%22Lua%20-%20Library%22)%20and%20status%20not%20in%20(fixed%2C%20resolved%2C%20closed)">Lua</a></td>
James E. King, III0ad20bd2017-09-30 15:44:16 -0700233</tr>
234<tr align=center>
James E. King IIIee006ec2019-01-14 15:57:43 -0500235<td align=left><a href="https://github.com/apache/thrift/blob/master/lib/nodejs/README.md">node.js</a></td>
James E. King IIIfed99352018-03-05 13:25:07 -0500236<!-- Since -----------------><td>0.6.0</td>
iceproc87097a2022-09-21 13:06:15 +0800237<!-- Build Systems ---------><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td>
Mario Emmenlauer55680af2020-05-11 22:58:48 +0200238<!-- Language Levels -------><td>10.x</td><td>10.x</td>
iceproc87097a2022-09-21 13:06:15 +0800239<!-- Field types -----------><td><img src="/doc/images/cred.png" alt=""/></td>
240<!-- Low-Level Transports --><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td>
241<!-- Transport Wrappers ----><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td>
242<!-- Protocols -------------><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td>
243<!-- Servers ---------------><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td>
James E. King III91854f02019-01-11 19:20:37 -0500244<td align=left><a href="https://issues.apache.org/jira/issues/?jql=project%20%3D%20THRIFT%20AND%20component%20in%20(%22Node.js%20-%20Compiler%22%2C%20%22Node.js%20-%20Library%22)%20and%20status%20not%20in%20(fixed%2C%20resolved%2C%20closed)">node.js</a></td>
James E. King, III0ad20bd2017-09-30 15:44:16 -0700245</tr>
246<tr align=center>
James E. King IIIee006ec2019-01-14 15:57:43 -0500247<td align=left><a href="https://github.com/apache/thrift/blob/master/lib/nodets/README.md">node.ts</a></td>
James E. King III33772b72018-12-17 09:57:27 -0500248<!-- Since -----------------><td>0.12.0</td>
iceproc87097a2022-09-21 13:06:15 +0800249<!-- Build Systems ---------><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td>
James E. King III33772b72018-12-17 09:57:27 -0500250<!-- Language Levels -------><td>3.1.6</td><td></td>
iceproc87097a2022-09-21 13:06:15 +0800251<!-- Field types -----------><td><img src="/doc/images/cred.png" alt=""/></td>
252<!-- Low-Level Transports --><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td>
253<!-- Transport Wrappers ----><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td>
254<!-- Protocols -------------><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td>
255<!-- Servers ---------------><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td>
James E. King III91854f02019-01-11 19:20:37 -0500256<td align=left><a href="https://issues.apache.org/jira/issues/?jql=project%20%3D%20THRIFT%20AND%20component%20in%20(%22TypeScript%20-%20Library%22)%20and%20status%20not%20in%20(fixed%2C%20resolved%2C%20closed)">node.ts</a></td>
James E. King III33772b72018-12-17 09:57:27 -0500257</tr>
258<tr align=center>
James E. King IIIee006ec2019-01-14 15:57:43 -0500259<td align=left><a href="https://github.com/apache/thrift/blob/master/lib/ocaml/README.md">OCaml</a></td>
James E. King IIIfed99352018-03-05 13:25:07 -0500260<!-- Since -----------------><td>0.2.0</td>
iceproc87097a2022-09-21 13:06:15 +0800261<!-- Build Systems ---------><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td>
James E. King IIIa02ae562018-03-12 15:27:23 -0400262<!-- Language Levels -------><td colspan=2>4.04.0</td>
iceproc87097a2022-09-21 13:06:15 +0800263<!-- Field types -----------><td><img src="/doc/images/cred.png" alt=""/></td>
264<!-- Low-Level Transports --><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td>
265<!-- Transport Wrappers ----><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td>
266<!-- Protocols -------------><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td>
267<!-- Servers ---------------><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td>
James E. King III91854f02019-01-11 19:20:37 -0500268<td align=left><a href="https://issues.apache.org/jira/issues/?jql=project%20%3D%20THRIFT%20AND%20component%20in%20(%22OCaml%20-%20Compiler%22%2C%20%22OCaml%20-%20Library%22)%20and%20status%20not%20in%20(fixed%2C%20resolved%2C%20closed)">OCaml</a></td>
James E. King, III0ad20bd2017-09-30 15:44:16 -0700269</tr>
270<tr align=center>
James E. King IIIee006ec2019-01-14 15:57:43 -0500271<td align=left><a href="https://github.com/apache/thrift/blob/master/lib/perl/README.md">Perl</a></td>
James E. King IIIfed99352018-03-05 13:25:07 -0500272<!-- Since -----------------><td>0.2.0</td>
iceproc87097a2022-09-21 13:06:15 +0800273<!-- Build Systems ---------><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td>
James E. King IIIabf3aa52019-01-04 17:21:02 -0500274<!-- Language Levels -------><td>5.22.1</td><td>5.26.1</td>
iceproc87097a2022-09-21 13:06:15 +0800275<!-- Field types -----------><td><img src="/doc/images/cred.png" alt=""/></td>
276<!-- Low-Level Transports --><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td>
277<!-- Transport Wrappers ----><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td>
278<!-- Protocols -------------><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td>
279<!-- Servers ---------------><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td>
James E. King III91854f02019-01-11 19:20:37 -0500280<td align=left><a href="https://issues.apache.org/jira/issues/?jql=project%20%3D%20THRIFT%20AND%20component%20in%20(%22Perl%20-%20Compiler%22%2C%20%22Perl%20-%20Library%22)%20and%20status%20not%20in%20(fixed%2C%20resolved%2C%20closed)">Perl</a></td>
James E. King, III0ad20bd2017-09-30 15:44:16 -0700281</tr>
282<tr align=center>
James E. King IIIee006ec2019-01-14 15:57:43 -0500283<td align=left><a href="https://github.com/apache/thrift/blob/master/lib/php/README.md">PHP</a></td>
James E. King IIIfed99352018-03-05 13:25:07 -0500284<!-- Since -----------------><td>0.2.0</td>
iceproc87097a2022-09-21 13:06:15 +0800285<!-- Build Systems ---------><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td>
James E. King III93ff9b02019-06-21 17:50:34 -0400286<!-- Language Levels -------><td>7.0.22</td><td>7.2.19</td>
iceproc87097a2022-09-21 13:06:15 +0800287<!-- Field types -----------><td><img src="/doc/images/cred.png" alt=""/></td>
288<!-- Low-Level Transports --><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td>
289<!-- Transport Wrappers ----><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td>
290<!-- Protocols -------------><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td>
291<!-- Servers ---------------><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td>
James E. King III91854f02019-01-11 19:20:37 -0500292<td align=left><a href="https://issues.apache.org/jira/issues/?jql=project%20%3D%20THRIFT%20AND%20component%20in%20(%22PHP%20-%20Compiler%22%2C%20%22PHP%20-%20Library%22)%20and%20status%20not%20in%20(fixed%2C%20resolved%2C%20closed)">PHP</a></td>
James E. King, III0ad20bd2017-09-30 15:44:16 -0700293</tr>
294<tr align=center>
James E. King IIIee006ec2019-01-14 15:57:43 -0500295<td align=left><a href="https://github.com/apache/thrift/blob/master/lib/py/README.md">Python</a></td>
James E. King IIIfed99352018-03-05 13:25:07 -0500296<!-- Since -----------------><td>0.2.0</td>
iceproc87097a2022-09-21 13:06:15 +0800297<!-- Build Systems ---------><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td>
James E. King III93ff9b02019-06-21 17:50:34 -0400298<!-- Language Levels -------><td>2.7.12, 3.5.2</td><td>2.7.15, 3.6.8</td>
iceproc87097a2022-09-21 13:06:15 +0800299<!-- Field types -----------><td><img src="/doc/images/cred.png" alt=""/></td>
300<!-- Low-Level Transports --><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td>
301<!-- Transport Wrappers ----><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td>
302<!-- Protocols -------------><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td>
303<!-- Servers ---------------><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td>
James E. King III91854f02019-01-11 19:20:37 -0500304<td align=left><a href="https://issues.apache.org/jira/issues/?jql=project%20%3D%20THRIFT%20AND%20component%20in%20(%22Python%20-%20Compiler%22%2C%20%22Python%20-%20Library%22)%20and%20status%20not%20in%20(fixed%2C%20resolved%2C%20closed)">Python</a></td>
James E. King, III0ad20bd2017-09-30 15:44:16 -0700305</tr>
306<tr align=center>
James E. King IIIee006ec2019-01-14 15:57:43 -0500307<td align=left><a href="https://github.com/apache/thrift/blob/master/lib/rb/README.md">Ruby</a></td>
James E. King IIIfed99352018-03-05 13:25:07 -0500308<!-- Since -----------------><td>0.2.0</td>
iceproc87097a2022-09-21 13:06:15 +0800309<!-- Build Systems ---------><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td>
James E. King IIIabf3aa52019-01-04 17:21:02 -0500310<!-- Language Levels -------><td>2.3.1p112</td><td>2.5.1p57</td>
iceproc87097a2022-09-21 13:06:15 +0800311<!-- Field types -----------><td><img src="/doc/images/cred.png" alt=""/></td>
312<!-- Low-Level Transports --><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td>
313<!-- Transport Wrappers ----><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td>
314<!-- Protocols -------------><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td>
315<!-- Servers ---------------><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td>
James E. King III91854f02019-01-11 19:20:37 -0500316<td align=left><a href="https://issues.apache.org/jira/issues/?jql=project%20%3D%20THRIFT%20AND%20component%20in%20(%22Ruby%20-%20Compiler%22%2C%20%22Ruby%20-%20Library%22)%20and%20status%20not%20in%20(fixed%2C%20resolved%2C%20closed)">Ruby</a></td>
James E. King, III0ad20bd2017-09-30 15:44:16 -0700317</tr>
318<tr align=center>
James E. King IIIee006ec2019-01-14 15:57:43 -0500319<td align=left><a href="https://github.com/apache/thrift/blob/master/lib/rs/README.md">Rust</a></td>
James E. King IIIfed99352018-03-05 13:25:07 -0500320<!-- Since -----------------><td>0.11.0</td>
iceproc87097a2022-09-21 13:06:15 +0800321<!-- Build Systems ---------><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td>
Cameron Martinda54fc82025-01-12 08:55:45 +0000322<!-- Language Levels -------><td>1.83.0</td><td>1.xx.x</td>
iceproc87097a2022-09-21 13:06:15 +0800323<!-- Field types -----------><td><img src="/doc/images/cred.png" alt=""/></td>
324<!-- Low-Level Transports --><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td>
325<!-- Transport Wrappers ----><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td>
326<!-- Protocols -------------><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td>
327<!-- Servers ---------------><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td>
James E. King III91854f02019-01-11 19:20:37 -0500328<td align=left><a href="https://issues.apache.org/jira/issues/?jql=project%20%3D%20THRIFT%20AND%20component%20in%20(%22Rust%20-%20Compiler%22%2C%20%22Rust%20-%20Library%22)%20and%20status%20not%20in%20(fixed%2C%20resolved%2C%20closed)">Rust</a></td>
James E. King, III0ad20bd2017-09-30 15:44:16 -0700329</tr>
330<tr align=center>
James E. King IIIee006ec2019-01-14 15:57:43 -0500331<td align=left><a href="https://github.com/apache/thrift/blob/master/lib/st/README.md">Smalltalk</a></td>
James E. King IIIfed99352018-03-05 13:25:07 -0500332<!-- Since -----------------><td>0.2.0</td>
iceproc87097a2022-09-21 13:06:15 +0800333<!-- Build Systems ---------><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td>
James E. King, III0ad20bd2017-09-30 15:44:16 -0700334<!-- Language Levels -------><td colspan=2>unknown</td>
iceproc87097a2022-09-21 13:06:15 +0800335<!-- Field types -----------><td><img src="/doc/images/cred.png" alt=""/></td>
336<!-- Low-Level Transports --><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td>
337<!-- Transport Wrappers ----><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td>
338<!-- Protocols -------------><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td>
339<!-- Servers ---------------><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td>
James E. King III91854f02019-01-11 19:20:37 -0500340<td align=left><a href="https://issues.apache.org/jira/issues/?jql=project%20%3D%20THRIFT%20AND%20component%20in%20(%22Smalltalk%20-%20Compiler%22%2C%20%22Smalltalk%20-%20Library%22)%20and%20status%20not%20in%20(fixed%2C%20resolved%2C%20closed)">Smalltalk</a></td>
341</tr>
342<tr align=center>
James E. King IIIee006ec2019-01-14 15:57:43 -0500343<td align=left><a href="https://github.com/apache/thrift/blob/master/lib/swift/README.md">Swift</a></td>
James E. King III91854f02019-01-11 19:20:37 -0500344<!-- Since -----------------><td>0.12.0</td>
iceproc87097a2022-09-21 13:06:15 +0800345<!-- Build Systems ---------><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td>
Kino Royc4954482022-11-19 22:52:04 -0800346<!-- Language Levels -------><td colspan=2>5.7</td>
Jens Geyer173714b2024-06-11 22:15:17 +0200347<!-- Field types -----------><td><img src="/doc/images/cgrn.png" alt="Yes"/></td>
iceproc87097a2022-09-21 13:06:15 +0800348<!-- Low-Level Transports --><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td>
349<!-- Transport Wrappers ----><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td>
350<!-- Protocols -------------><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td>
351<!-- Servers ---------------><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cred.png" alt=""/></td><td><img src="/doc/images/cgrn.png" alt="Yes"/></td>
James E. King III91854f02019-01-11 19:20:37 -0500352<td align=left><a href="https://issues.apache.org/jira/issues/?jql=project%20%3D%20THRIFT%20AND%20component%20in%20(%22Swift%20-%20Compiler%22%2C%20%22Swift%20-%20Library%22)%20and%20status%20not%20in%20(fixed%2C%20resolved%2C%20closed)">Swift</a></td>
James E. King, III0ad20bd2017-09-30 15:44:16 -0700353</tr>
354</tbody>
355<tfoot>
356<tr>
357<th rowspan=2>Language</th>
James E. King IIIfed99352018-03-05 13:25:07 -0500358<th rowspan=2 align=center>Since</th>
James E. King, III0ad20bd2017-09-30 15:44:16 -0700359<!-- Build Systems ---------><th>autoconf</th><th>cmake</th>
360<!-- Lang/Lib Levels -------><th>Min</th><th>Max</th>
Triton Circonflexe4959a922022-06-07 21:40:41 +0200361<!-- Field types -----------><th>Uuid</th>
James E. King, III0ad20bd2017-09-30 15:44:16 -0700362<!-- Low-Level Transports --><th><a href="https://en.wikipedia.org/wiki/Unix_domain_socket">Domain</a></th></th><th>&nbsp;File&nbsp;</th><th>Memory</th><th>&nbsp;Pipe&nbsp;</th><th>Socket</th><th>&nbsp;TLS&nbsp;</th>
James E. King III36d45522019-02-22 08:13:38 -0500363<!-- Transport Wrappers ----><th>Framed</th><th>Header</th><th>&nbsp;http&nbsp;</th><th>&nbsp;zlib&nbsp;</th>
James E. King, III0ad20bd2017-09-30 15:44:16 -0700364<!-- Protocols -------------><th><a href="doc/specs/thrift-binary-protocol.md">Binary</a></th><th><a href="doc/specs/thrift-compact-protocol.md">Compact</a></th><th>&nbsp;JSON&nbsp;</th><th>Multiplex</th>
365<!-- Servers ---------------><th>Forking</th><th>Nonblocking</th><th>Simple</th><th>Threaded</th><th>ThreadPool</th>
366<th rowspan=2>Open Issues</th>
367</tr>
368<tr>
369<th colspan=2 align=center>Build Systems</th>
James E. King IIIa37feaf2018-03-06 15:11:01 -0500370<th colspan=2 align=center>Lang/Lib Levels (Tested)</th>
Triton Circonflexe4959a922022-06-07 21:40:41 +0200371<th colspan=1 align=center>Field types</th>
James E. King, III0ad20bd2017-09-30 15:44:16 -0700372<th colspan=6 align=center>Low-Level Transports</th>
James E. King III36d45522019-02-22 08:13:38 -0500373<th colspan=4 align=center>Transport Wrappers</th>
James E. King, III0ad20bd2017-09-30 15:44:16 -0700374<th colspan=4 align=center>Protocols</th>
375<th colspan=5 align=center>Servers</th>
376</tr>
377</tfoot>
Triton Circonflexe4959a922022-06-07 21:40:41 +0200378</table>