This is an automated email from the ASF dual-hosted git repository.
asf-gitbox-commits pushed a commit to branch asf-staging
in repository https://gitbox.apache.org/repos/asf/thrift-website.git
The following commit(s) were added to refs/heads/asf-staging by this push:
new bbc4277 Automatic Site Publish by Buildbot
bbc4277 is described below
commit bbc4277a78f2d0612745238fe8d0897353e3cbf0
Author: buildbot <[email protected]>
AuthorDate: Thu Jul 9 03:23:53 2026 +0000
Automatic Site Publish by Buildbot
---
output/changelog.html | 8 +++++++-
output/docs/Languages.html | 12 ------------
output/lib/cpp.html | 9 +++++++++
output/lib/netstd.html | 14 +++++++++++++
output/lib/nodejs.html | 49 ++++++++++++++++++++++++++++++++++++++++++++--
5 files changed, 77 insertions(+), 15 deletions(-)
diff --git a/output/changelog.html b/output/changelog.html
index 678bbcb..5f5993b 100644
--- a/output/changelog.html
+++ b/output/changelog.html
@@ -182,6 +182,12 @@
<li><a
href="https://issues.apache.org/jira/browse/THRIFT-5739">THRIFT-5739</a> -
set_nodelay should be enabled for TTcpChannel</li>
</ul>
+<h3 id="swift">Swift</h3>
+
+<ul>
+ <li><a
href="https://issues.apache.org/jira/browse/THRIFT-5864">THRIFT-5864</a> -
Remove Swift binding (compiler generator, library, tests, and tutorial)</li>
+</ul>
+
<h2 id="0220">0.22.0</h2>
<h3 id="build-process-1">Build Process</h3>
@@ -279,7 +285,7 @@
<li><a
href="https://issues.apache.org/jira/browse/THRIFT-5861">THRIFT-5861</a> - Add
isOpen method to TTornadoStreamTransport</li>
</ul>
-<h3 id="swift">Swift</h3>
+<h3 id="swift-1">Swift</h3>
<ul>
<li><a
href="https://issues.apache.org/jira/browse/THRIFT-4838">THRIFT-4838</a> - add
unix domain socket support to Swift TSocketTransport implementation</li>
diff --git a/output/docs/Languages.html b/output/docs/Languages.html
index 34710c4..748e40c 100644
--- a/output/docs/Languages.html
+++ b/output/docs/Languages.html
@@ -399,18 +399,6 @@ Thrift’s core protocol is TBinary, supported by all
languages except for JavaS
<!-- 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>
<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>
</tr>
-<tr align="center">
-<td align="left"><a
href="https://github.com/apache/thrift/blob/master/lib/swift/README.md">Swift</a></td>
-<!-- Since -----------------><td>0.12.0</td>
-<!-- Build Systems ---------><td><img src="/doc/images/cgrn.png" alt="Yes"
/></td><td><img src="/doc/images/cred.png" alt="" /></td>
-<!-- Language Levels -------><td colspan="2">5.7</td>
-<!-- Field types -----------><td><img src="/doc/images/cgrn.png" alt="Yes"
/></td>
-<!-- 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>
-<!-- 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>
-<!-- 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>
-<!-- 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>
-<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>
-</tr>
</tbody>
<tfoot>
<tr>
diff --git a/output/lib/cpp.html b/output/lib/cpp.html
index e64fd7d..2b00df0 100644
--- a/output/lib/cpp.html
+++ b/output/lib/cpp.html
@@ -174,6 +174,15 @@ TSimpleServer, TThreadedServer, and TThreadPoolServer.</p>
<p>There are two main classes TSSLSocketFactory and TSSLSocket. Instances of
TSSLSocket are always created from TSSLSocketFactory.</p>
+<p>The default TSSLSocketFactory context uses OpenSSL’s version-flexible TLS
+method and sets TLS 1.2 as the minimum negotiated protocol version.
Applications
+that need a different protocol range can provide a custom SSLContext factory
and
+adjust the OpenSSL context options before creating sockets. Applications that
+link against an OpenSSL-compatible TLS library can also create and configure an
+SSL_CTX externally, wrap it with <code class="language-plaintext
highlighter-rouge">SSLContext</code>, and pass it through the factory
+(for example, protocol-specific or dual-certificate setups that the default
+factory methods cannot express).</p>
+
<h2 id="how-to-use-ssl-apis">How to use SSL APIs</h2>
<p>See the TestClient.cpp and TestServer.cpp files for examples.</p>
diff --git a/output/lib/netstd.html b/output/lib/netstd.html
index 73a6802..b9734f1 100644
--- a/output/lib/netstd.html
+++ b/output/lib/netstd.html
@@ -56,6 +56,20 @@
<p>Thrift client library for Microsoft .NET Standard</p>
+<h1 id="nuget-packages">NuGet packages</h1>
+
+<p>The library ships as two packages so that non-web projects no longer pull
in the ASP.NET Core stack:</p>
+
+<ul>
+ <li><strong><code class="language-plaintext
highlighter-rouge">ApacheThrift</code></strong> – the core library (protocols,
transports, processors and the
+<code class="language-plaintext
highlighter-rouge">TSimpleAsyncServer</code>/<code class="language-plaintext
highlighter-rouge">TThreadPoolAsyncServer</code> servers). It only depends on
+<code class="language-plaintext
highlighter-rouge">Microsoft.Extensions.Logging.Abstractions</code> and has no
ASP.NET Core dependency.</li>
+ <li><strong><code class="language-plaintext
highlighter-rouge">ApacheThrift.AspNetCore</code></strong> – the ASP.NET Core
HTTP server middleware
+(<code class="language-plaintext
highlighter-rouge">THttpServerTransport</code>, namespace <code
class="language-plaintext highlighter-rouge">Thrift.Transport.Server</code>).
Reference this package
+<em>in addition to</em> <code class="language-plaintext
highlighter-rouge">ApacheThrift</code> only when you host Thrift over ASP.NET
Core. Existing code
+keeps compiling unchanged once the package reference is added.</li>
+</ul>
+
<h1 id="build-the-library">Build the library</h1>
<h2 id="how-to-build-on-windows">How to build on Windows</h2>
diff --git a/output/lib/nodejs.html b/output/lib/nodejs.html
index 6aee080..8ddbaf7 100644
--- a/output/lib/nodejs.html
+++ b/output/lib/nodejs.html
@@ -54,7 +54,8 @@
<h2 id="compatibility">Compatibility</h2>
-<p>node version 6 or later is required</p>
+<p>Node.js 10.18 or later is required, matching the <code
class="language-plaintext highlighter-rouge">engines</code> field in the
+package’s <a href="../../package.json"><code class="language-plaintext
highlighter-rouge">package.json</code></a>.</p>
<h2 id="install">Install</h2>
@@ -96,7 +97,51 @@
<p><a name="int64"></a></p>
<h2 id="int64">Int64</h2>
-<p>Since JavaScript represents all numbers as doubles, int64 values cannot be
accurately represented naturally. To solve this, int64 values in responses will
be wrapped with Thrift.Int64 objects. The Int64 implementation used is <a
href="https://github.com/broofa/node-int64">broofa/node-int64</a>.</p>
+<p>Since JavaScript represents all numbers as doubles, int64 values cannot be
accurately represented naturally. By default, both the protocol layer (<code
class="language-plaintext highlighter-rouge">TBinaryProtocol.readI64()</code>
etc.) and generated struct fields surface int64 values as <a
href="https://github.com/broofa/node-int64">broofa/node-int64</a> <code
class="language-plaintext highlighter-rouge">Thrift.Int64</code> objects. See
<a href="#bigint-mode-jsbigint-opt-in">BigInt mo [...]
+
+<h3 id="bigint-mode-jsbigint-opt-in">BigInt mode (<code
class="language-plaintext highlighter-rouge">js:bigint</code>, opt-in)</h3>
+
+<p>Native <code class="language-plaintext highlighter-rouge">BigInt</code> has
been available since Node 10.4, so every supported runtime
+can use it. Pass <code class="language-plaintext
highlighter-rouge">bigint</code> alongside <code class="language-plaintext
highlighter-rouge">node</code> in the generator option list to
+emit BigInt-aware code instead of <code class="language-plaintext
highlighter-rouge">node-int64</code>:</p>
+
+<div class="language-sh highlighter-rouge"><div class="highlight"><pre
class="highlight"><code>thrift <span class="nt">--gen</span> js:node
MyService.thrift <span class="c"># default — node-int64 output</span>
+thrift <span class="nt">--gen</span> js:node,bigint MyService.thrift <span
class="c"># opt-in — native BigInt output</span>
+</code></pre></div></div>
+
+<p>When the <code class="language-plaintext highlighter-rouge">bigint</code>
flag is set, code generated by <code class="language-plaintext
highlighter-rouge">--gen js:node</code> (and the
+<code class="language-plaintext highlighter-rouge">ts</code>, <code
class="language-plaintext highlighter-rouge">es6</code>, <code
class="language-plaintext highlighter-rouge">esm</code> variants):</p>
+
+<ul>
+ <li>Emits native <code class="language-plaintext
highlighter-rouge">bigint</code> literals (e.g. <code class="language-plaintext
highlighter-rouge">42n</code>, <code class="language-plaintext
highlighter-rouge">9223372036854775807n</code>) for
+int64 constants instead of <code class="language-plaintext
highlighter-rouge">new Int64(42)</code>.</li>
+ <li>Drops the <code class="language-plaintext
highlighter-rouge">require('node-int64')</code> / <code
class="language-plaintext highlighter-rouge">import Int64 from
'node-int64'</code>
+preamble.</li>
+ <li>Declares int64 fields as <code class="language-plaintext
highlighter-rouge">bigint</code> in <code class="language-plaintext
highlighter-rouge">.d.ts</code> files instead of <code
class="language-plaintext highlighter-rouge">Int64</code>.</li>
+ <li>Wraps <code class="language-plaintext
highlighter-rouge">readI64()</code> calls with <code class="language-plaintext
highlighter-rouge">thrift.toBigInt(...)</code> so deserialized
+fields land in the generated struct as <code class="language-plaintext
highlighter-rouge">bigint</code>, and <code class="language-plaintext
highlighter-rouge">writeI64(...)</code>
+calls with <code class="language-plaintext
highlighter-rouge">thrift.fromBigInt(...)</code> so consumers can pass plain
+<code class="language-plaintext highlighter-rouge">bigint</code> values into
their structs.</li>
+</ul>
+
+<p>The flag is only meaningful when <code class="language-plaintext
highlighter-rouge">node</code> is in the option list; passing
+<code class="language-plaintext highlighter-rouge">bigint</code> to plain
<code class="language-plaintext highlighter-rouge">--gen js</code> (browser JS)
is silently ignored.</p>
+
+<p><code class="language-plaintext highlighter-rouge">TBinaryProtocol</code>
itself is <strong>unchanged</strong> — <code class="language-plaintext
highlighter-rouge">readI64</code> still returns a
+<code class="language-plaintext highlighter-rouge">Thrift.Int64</code> and
<code class="language-plaintext highlighter-rouge">writeI64</code> still
expects one. The BigInt boundary lives
+entirely in the JS layer, in the two helpers exported from the <code
class="language-plaintext highlighter-rouge">thrift</code>
+package:</p>
+
+<div class="language-js highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><span class="kd">const</span> <span
class="nx">thrift</span> <span class="o">=</span> <span
class="nf">require</span><span class="p">(</span><span class="dl">"</span><span
class="s2">thrift</span><span class="dl">"</span><span class="p">);</span>
+
+<span class="kd">const</span> <span class="nx">big</span> <span
class="o">=</span> <span class="nx">thrift</span><span class="p">.</span><span
class="nf">toBigInt</span><span class="p">(</span><span
class="nx">prot</span><span class="p">.</span><span
class="nf">readI64</span><span class="p">());</span> <span class="c1">//
Int64 -> bigint</span>
+<span class="nx">prot</span><span class="p">.</span><span
class="nf">writeI64</span><span class="p">(</span><span
class="nx">thrift</span><span class="p">.</span><span
class="nf">fromBigInt</span><span class="p">(</span><span
class="nx">big</span><span class="p">));</span> <span class="c1">//
bigint -> Int64</span>
+</code></pre></div></div>
+
+<p><code class="language-plaintext highlighter-rouge">thrift.fromBigInt</code>
wraps values to the signed 64-bit range
+(<code class="language-plaintext highlighter-rouge">BigInt.asIntN(64,
...)</code>) and accepts <code class="language-plaintext
highlighter-rouge">bigint</code>, decimal-string, or <code
class="language-plaintext highlighter-rouge">number</code>
+input. Existing code that imports <code class="language-plaintext
highlighter-rouge">Thrift.Int64</code> or calls <code class="language-plaintext
highlighter-rouge">prot.readI64()</code>
+directly keeps working with no changes.</p>
<h2 id="client-and-server-examples">Client and server examples</h2>