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  -&gt; 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 -&gt; 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>
 

Reply via email to