You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by co...@apache.org on 2026/07/20 22:14:07 UTC

(tinkerpop) branch 4.0.0-beta.3 updated (1e270fb069 -> 8f5500f59c)

This is an automated email from the ASF dual-hosted git repository.

Cole-Greer pushed a change to branch 4.0.0-beta.3
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git


 discard 1e270fb069 TinkerPop 4.0.0-beta.3 release
     new 8f5500f59c TinkerPop 4.0.0-beta.3 release

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (1e270fb069)
            \
             N -- N -- N   refs/heads/4.0.0-beta.3 (8f5500f59c)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 pom.xml | 27 ++++++++++++++++++++++++++-
 1 file changed, 26 insertions(+), 1 deletion(-)


(tinkerpop) 01/01: TinkerPop 4.0.0-beta.3 release

Posted by co...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

Cole-Greer pushed a commit to branch 4.0.0-beta.3
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git

commit 8f5500f59c70604a20b6c413d10f5021b7f88cde
Author: Cole Greer <co...@colegreer.ca>
AuthorDate: Mon Jul 20 14:11:01 2026 -0700

    TinkerPop 4.0.0-beta.3 release
---
 CHANGELOG.asciidoc                                 | 19 +++++++-------
 docs/src/upgrade/release-4.x.x.asciidoc            |  2 +-
 docs/tinkeradoc-extension/pom.xml                  |  2 +-
 gql-gremlin/pom.xml                                |  2 +-
 gremlin-annotations/pom.xml                        |  2 +-
 gremlin-console/bin/gremlin.sh                     |  2 +-
 gremlin-console/pom.xml                            |  2 +-
 gremlin-core/pom.xml                               |  2 +-
 .../org/apache/tinkerpop/gremlin/util/Gremlin.java |  2 +-
 gremlin-dotnet/pom.xml                             |  2 +-
 .../Gremlin.Net.Template.csproj                    |  2 +-
 .../Gremlin.Net.Template.nuspec                    |  2 +-
 gremlin-dotnet/src/Gremlin.Net/Driver/Tokens.cs    |  2 +-
 gremlin-dotnet/src/Gremlin.Net/Gremlin.Net.csproj  |  2 +-
 gremlin-dotnet/src/pom.xml                         |  2 +-
 gremlin-dotnet/test/pom.xml                        |  2 +-
 gremlin-driver/pom.xml                             |  2 +-
 gremlin-go/driver/user_agent.go                    |  2 +-
 gremlin-go/pom.xml                                 |  2 +-
 gremlin-groovy/pom.xml                             |  2 +-
 gremlin-js/gremlin-javascript/lib/utils.ts         |  2 +-
 gremlin-js/gremlin-javascript/package.json         |  2 +-
 gremlin-js/gremlin-javascript/pom.xml              |  2 +-
 gremlin-js/gremlin-mcp/package.json                |  6 ++---
 gremlin-js/gremlin-mcp/pom.xml                     |  2 +-
 gremlin-js/gremlin-mcp/src/constants.ts            |  2 +-
 gremlin-js/gremlint/package.json                   |  2 +-
 gremlin-js/gremlint/pom.xml                        |  2 +-
 gremlin-js/package-lock.json                       | 10 ++++----
 gremlin-js/pom.xml                                 |  2 +-
 gremlin-language/pom.xml                           |  2 +-
 gremlin-python/pom.xml                             |  2 +-
 .../main/python/gremlin_python/driver/useragent.py |  2 +-
 gremlin-server/pom.xml                             |  2 +-
 gremlin-shaded/pom.xml                             |  2 +-
 gremlin-test/pom.xml                               |  2 +-
 gremlin-tools/gremlin-benchmark/pom.xml            |  2 +-
 gremlin-tools/gremlin-coverage/pom.xml             |  2 +-
 gremlin-tools/gremlin-socket-server/pom.xml        |  2 +-
 gremlin-tools/pom.xml                              |  2 +-
 gremlin-util/pom.xml                               |  2 +-
 hadoop-gremlin/pom.xml                             |  2 +-
 pom.xml                                            | 29 ++++++++++++++++++++--
 spark-gremlin/pom.xml                              |  2 +-
 tinkergraph-gremlin/pom.xml                        |  2 +-
 45 files changed, 85 insertions(+), 61 deletions(-)

diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index 3dbf8bf53c..23eafb89fa 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -22,8 +22,8 @@ under the License.
 
 image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/images/gremlins-wildest-dreams.png[width=185]
 
-[[release-4-0-0]]
-=== TinkerPop 4.0.0 (Release Date: NOT OFFICIALLY RELEASED YET)
+[[release-4-0-0-beta-3]]
+=== TinkerPop 4.0.0-beta.3 (July 20, 2026)
 
 * Fixed `gremlin-python` `GremlinLang` equality (`__eq__`) which compared a traversal to itself, so traversals with different steps but equal parameters were incorrectly considered equal.
 * Removed the deprecated `gremlin-python` `DriverRemoteConnection.submitAsync` method in favor of `submit_async`.
@@ -36,14 +36,13 @@ image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima
 * Bumped Groovy to 4.0.32, Hadoop to 3.4.3, Spark to 4.1.2 (Scala 2.13), and Netty to 4.2.7 to support Java 25.
 * Bumped `Microsoft.Extensions.Logging.Abstractions` and `Microsoft.Extensions.Logging.Console` to 10.0.9 for `gremlin-dotnet`.
 * Bumped TypeScript to 6.0 across the JavaScript modules; `gremlint` now compiles to ES2021 rather than ES5.
-* Standardized connection options across all GLVs (Java, Python, .NET, Go, JavaScript) per the TinkerPop 4.x GLV proposal; see the upgrade docs for the full per-driver table. *(breaking)*
-** Aligned option names across drivers: `maxConnections` (128), `connectTimeoutMillis` (5000), `readTimeoutMillis` (off), `idleTimeoutMillis` (180000), `keepAliveTimeMillis` (30000), `compression` (on/`deflate`), `batchSize` (64), `bulkResults` (false), `maxResponseHeaderBytes`, `proxy`, `ssl`, and `responseSerializer`. Timeouts use a millisecond-suffixed canonical name with an idiomatic duration companion (Java `Duration`, Go `time.Duration`, .NET `TimeSpan`, Python seconds); JavaScript [...]
-** Java: renamed `maxConnectionPoolSize`/`connectionSetupTimeoutMillis`/`idleConnectionTimeoutMillis`/`resultIterationBatchSize`/`serializer` and `RequestOptions.addG`->`traversalSource`; removed `maxResponseContentLength` (responses now stream); added `readTimeoutMillis`, `keepAliveTimeMillis`, `maxResponseHeaderBytes`, `proxy`, `url(String)`, `ssl(SslContext)`. *(breaking)*
-** Python: renamed `pool_size`->`max_connections` (8->128) and `ssl_options`->`ssl`; removed `headers` (use interceptors) and `max_content_length`; added the timeout, `compression`, `batch_size`, `proxy`, and `trust_env` options; requires `aiohttp>=3.11`. *(breaking)*
-** .NET: renamed `MaxConnectionsPerServer`/`ConnectionTimeout`/`IdleConnectionTimeout`/`KeepAliveInterval`/`EnableCompression` and `Auth.BasicAuth`/`Auth.SigV4Auth`->`Auth.Basic`/`Auth.Sigv4`; `KeepAliveTime` now uses a real TCP keep-alive socket option; added `ReadTimeout`, `MaxResponseHeaderBytes`, `Proxy`, `Ssl`, `BulkResults`. *(breaking)*
-** Go: renamed `MaximumConcurrentConnections`/`IdleConnectionTimeout`/`KeepAliveInterval`/`ConnectionTimeout`/`TlsConfig`/`RequestInterceptors`/`EnableCompression`; moved auth helpers into an `auth` sub-package (`auth.Basic`/`auth.SigV4`/`auth.SigV4WithCredentials`); added `ReadTimeout`, `MaxResponseHeaderBytes`, `Proxy`, `BatchSize`, `BulkResults`. *(breaking)*
-** JavaScript: adopted `undici` for the default dispatcher; renamed `reader`->`responseSerializer`; added `readTimeoutMillis`, `keepAliveTimeMillis`, `maxResponseHeaderBytes`, `proxy`, `compression`, `batchSize`, `bulkResults`, `logger`; removed `headers` (use interceptors) and `ca`/`cert`/`pfx`/`rejectUnauthorized`/`agent` (TLS via the Node/undici runtime); undici is swapped out in browser bundles. *(breaking)*
-** All drivers: compression now defaults on; `connectTimeout` lowered to 5s and applied to transport establishment; `readTimeout` is a streaming-safe idle-read timeout (off by default); `idleTimeout` reaps only pooled connections.
+* Standardized connection options across all GLVs (Java, Python, .NET, Go, JavaScript), aligning option names and defaults. *(breaking)*
+* Changed connection defaults across all GLV drivers: compression now defaults on, `connectTimeout` is 5s and applied to transport establishment.
+* Standardized `gremlin-driver` (Java) connection options, aligning the pool/timeout/serializer names, removing `maxResponseContentLength`, and adding `readTimeoutMillis`, `keepAliveTimeMillis`, `maxResponseHeaderBytes`, `proxy`, and `ssl(SslContext)`. *(breaking)*
+* Standardized `gremlin-python` connection options, renaming `pool_size`->`max_connections` and `ssl_options`->`ssl`, removing `headers` and `max_content_length`, and adding `compression`, `batch_size`, `proxy`, `trust_env`, and timeout options. *(breaking)*
+* Standardized `gremlin-dotnet` connection options, aligning the connection and `Auth.*` names, switching `KeepAliveTime` to a real TCP keep-alive socket option, and adding `ReadTimeout`, `MaxResponseHeaderBytes`, `Proxy`, `Ssl`, and `BulkResults`. *(breaking)*
+* Standardized `gremlin-go` connection options, aligning the connection and TLS names, moving auth helpers into an `auth` sub-package, and adding `ReadTimeout`, `MaxResponseHeaderBytes`, `Proxy`, `BatchSize`, and `BulkResults`. *(breaking)*
+* Standardized `gremlin-javascript` connection options, adopting `undici` as the default dispatcher, renaming `reader`->`responseSerializer`, removing `headers` and the Node TLS options (`ca`/`cert`/`pfx`/`rejectUnauthorized`/`agent`), and adding `readTimeoutMillis`, `keepAliveTimeMillis`, `proxy`, `compression`, `batchSize`, `bulkResults`, and `logger`. *(breaking)*
 * Changed all GLV drivers to always serialize requests as JSON (`application/json`). Request serialization is no longer configurable and the serializer options (now `responseSerializer`) control only response deserialization.
 * Fixed remote traversals in Java, Python, .NET, and JavaScript to avoid sending the traversal source alias as a GremlinLang parameter, and removed the unused GremlinLang traversal-source helpers.
 * Fixed `gremlin-javascript` `Client.submit()` so that an explicit `bulkResults: false` request option is forwarded to the server instead of being silently dropped.
diff --git a/docs/src/upgrade/release-4.x.x.asciidoc b/docs/src/upgrade/release-4.x.x.asciidoc
index 5e2656ae74..2470a6cb3e 100644
--- a/docs/src/upgrade/release-4.x.x.asciidoc
+++ b/docs/src/upgrade/release-4.x.x.asciidoc
@@ -25,7 +25,7 @@ image::gremlins-wildest-dreams.png[width=185]
 
 == TinkerPop 4.0.0-beta.3
 
-*Release Date: NOT OFFICIALLY RELEASED YET*
+*Release Date: July 20, 2026*
 
 Please see the link:https://github.com/apache/tinkerpop/blob/4.0.0-beta.3/CHANGELOG.asciidoc#release-4-0-0-beta-3[changelog] for a
 complete list of all the modifications that are part of this release.
diff --git a/docs/tinkeradoc-extension/pom.xml b/docs/tinkeradoc-extension/pom.xml
index d095d8b994..3d0c61ea98 100644
--- a/docs/tinkeradoc-extension/pom.xml
+++ b/docs/tinkeradoc-extension/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>tinkerpop</artifactId>
-        <version>4.0.0-SNAPSHOT</version>
+        <version>4.0.0-beta.3</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
     <artifactId>tinkeradoc-extension</artifactId>
diff --git a/gql-gremlin/pom.xml b/gql-gremlin/pom.xml
index e186256bd4..e69fb93d08 100644
--- a/gql-gremlin/pom.xml
+++ b/gql-gremlin/pom.xml
@@ -24,7 +24,7 @@ under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>tinkerpop</artifactId>
-        <version>4.0.0-SNAPSHOT</version>
+        <version>4.0.0-beta.3</version>
     </parent>
     <artifactId>gql-gremlin</artifactId>
     <name>Apache TinkerPop :: GQL Gremlin</name>
diff --git a/gremlin-annotations/pom.xml b/gremlin-annotations/pom.xml
index 15214dbd24..fb7ad732eb 100644
--- a/gremlin-annotations/pom.xml
+++ b/gremlin-annotations/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <artifactId>tinkerpop</artifactId>
         <groupId>org.apache.tinkerpop</groupId>
-        <version>4.0.0-SNAPSHOT</version>
+        <version>4.0.0-beta.3</version>
     </parent>
 
     <artifactId>gremlin-annotations</artifactId>
diff --git a/gremlin-console/bin/gremlin.sh b/gremlin-console/bin/gremlin.sh
index b8cb4ab153..36b8ec8140 120000
--- a/gremlin-console/bin/gremlin.sh
+++ b/gremlin-console/bin/gremlin.sh
@@ -1 +1 @@
-../target/apache-tinkerpop-gremlin-console-4.0.0-SNAPSHOT-standalone/bin/gremlin.sh
\ No newline at end of file
+../target/apache-tinkerpop-gremlin-console-4.0.0-beta.3-standalone/bin/gremlin.sh
\ No newline at end of file
diff --git a/gremlin-console/pom.xml b/gremlin-console/pom.xml
index 0c96d16aa7..5e4c7e6c4a 100644
--- a/gremlin-console/pom.xml
+++ b/gremlin-console/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <artifactId>tinkerpop</artifactId>
         <groupId>org.apache.tinkerpop</groupId>
-        <version>4.0.0-SNAPSHOT</version>
+        <version>4.0.0-beta.3</version>
     </parent>
     <artifactId>gremlin-console</artifactId>
     <name>Apache TinkerPop :: Gremlin Console</name>
diff --git a/gremlin-core/pom.xml b/gremlin-core/pom.xml
index 7d547d0e5f..68be983f50 100644
--- a/gremlin-core/pom.xml
+++ b/gremlin-core/pom.xml
@@ -20,7 +20,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>tinkerpop</artifactId>
-        <version>4.0.0-SNAPSHOT</version>
+        <version>4.0.0-beta.3</version>
     </parent>
     <artifactId>gremlin-core</artifactId>
     <name>Apache TinkerPop :: Gremlin Core</name>
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/util/Gremlin.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/util/Gremlin.java
index a934468dc1..a6a6ec4666 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/util/Gremlin.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/util/Gremlin.java
@@ -24,7 +24,7 @@ import java.io.IOException;
  * @author Stephen Mallette (http://stephen.genoprime.com)
  */
 public final class Gremlin {
-    private final static String gremlinVersion = "4.0.0-SNAPSHOT"; // DO NOT MODIFY - Configured automatically by Maven Replacer Plugin
+    private final static String gremlinVersion = "4.0.0-beta.3"; // DO NOT MODIFY - Configured automatically by Maven Replacer Plugin
 
     private Gremlin() {
     }
diff --git a/gremlin-dotnet/pom.xml b/gremlin-dotnet/pom.xml
index e00f0f45cb..5046361ba6 100644
--- a/gremlin-dotnet/pom.xml
+++ b/gremlin-dotnet/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>tinkerpop</artifactId>
-        <version>4.0.0-SNAPSHOT</version>
+        <version>4.0.0-beta.3</version>
     </parent>
     <artifactId>gremlin-dotnet</artifactId>
     <name>Apache TinkerPop :: Gremlin.Net</name>
diff --git a/gremlin-dotnet/src/Gremlin.Net.Template/Gremlin.Net.Template.csproj b/gremlin-dotnet/src/Gremlin.Net.Template/Gremlin.Net.Template.csproj
index ed6da63fa3..30fd969e1f 100644
--- a/gremlin-dotnet/src/Gremlin.Net.Template/Gremlin.Net.Template.csproj
+++ b/gremlin-dotnet/src/Gremlin.Net.Template/Gremlin.Net.Template.csproj
@@ -29,7 +29,7 @@ limitations under the License.
     <ProjectReference Include="../Gremlin.Net/Gremlin.Net.csproj" />
 
     <!-- do not edit the version directly - maven updates it automatically -->
-    <PackageReference Include="Gremlin.Net" Version="4.0.0-SNAPSHOT" />
+    <PackageReference Include="Gremlin.Net" Version="4.0.0-beta.3" />
   </ItemGroup>
 
 </Project>
diff --git a/gremlin-dotnet/src/Gremlin.Net.Template/Gremlin.Net.Template.nuspec b/gremlin-dotnet/src/Gremlin.Net.Template/Gremlin.Net.Template.nuspec
index f4091066e2..a5753f66b3 100644
--- a/gremlin-dotnet/src/Gremlin.Net.Template/Gremlin.Net.Template.nuspec
+++ b/gremlin-dotnet/src/Gremlin.Net.Template/Gremlin.Net.Template.nuspec
@@ -5,7 +5,7 @@
         <title>Gremlin.Net Template</title>
 
         <!-- do not edit the version directly - maven updates it automatically -->
-        <version>4.0.0-SNAPSHOT</version>
+        <version>4.0.0-beta.3</version>
 
         <description>Gremlin.Net template to create a console application with dotnet new.</description>
         <authors>Apache TinkerPop</authors>
diff --git a/gremlin-dotnet/src/Gremlin.Net/Driver/Tokens.cs b/gremlin-dotnet/src/Gremlin.Net/Driver/Tokens.cs
index 2f1b330346..9f5e095f22 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Driver/Tokens.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Driver/Tokens.cs
@@ -33,7 +33,7 @@ namespace Gremlin.Net.Driver
         /// <summary>
         ///     Current TinkerPop version.
         /// </summary>
-        public static string GremlinVersion = "4.0.0-SNAPSHOT"; // DO NOT MODIFY - Configured automatically by Maven Replacer Plugin
+        public static string GremlinVersion = "4.0.0-beta.3"; // DO NOT MODIFY - Configured automatically by Maven Replacer Plugin
 
         /// <summary>
         ///     The key for the unique identifier of the request.
diff --git a/gremlin-dotnet/src/Gremlin.Net/Gremlin.Net.csproj b/gremlin-dotnet/src/Gremlin.Net/Gremlin.Net.csproj
index 300f8c4639..09f49515c4 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Gremlin.Net.csproj
+++ b/gremlin-dotnet/src/Gremlin.Net/Gremlin.Net.csproj
@@ -27,7 +27,7 @@ limitations under the License.
 
   <PropertyGroup Label="Package">
     <!-- do not edit the version directly - maven updates it automatically -->
-    <Version>4.0.0-SNAPSHOT</Version>
+    <Version>4.0.0-beta.3</Version>
     <Title>Gremlin.Net</Title>
     <Authors>Apache TinkerPop</Authors>
     <Description>Gremlin.Net for Apache TinkerPop™ is a language variant and driver for .NET.
diff --git a/gremlin-dotnet/src/pom.xml b/gremlin-dotnet/src/pom.xml
index 50a3b2a521..1885c507a5 100644
--- a/gremlin-dotnet/src/pom.xml
+++ b/gremlin-dotnet/src/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>gremlin-dotnet</artifactId>
-        <version>4.0.0-SNAPSHOT</version>
+        <version>4.0.0-beta.3</version>
     </parent>
     <artifactId>gremlin-dotnet-source</artifactId>
     <name>Apache TinkerPop :: Gremlin.Net - Source</name>
diff --git a/gremlin-dotnet/test/pom.xml b/gremlin-dotnet/test/pom.xml
index 82b1037f32..b3a59bca0d 100644
--- a/gremlin-dotnet/test/pom.xml
+++ b/gremlin-dotnet/test/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>gremlin-dotnet</artifactId>
-        <version>4.0.0-SNAPSHOT</version>
+        <version>4.0.0-beta.3</version>
     </parent>
     <artifactId>gremlin-dotnet-tests</artifactId>
     <name>Apache TinkerPop :: Gremlin.Net - Tests</name>
diff --git a/gremlin-driver/pom.xml b/gremlin-driver/pom.xml
index 926c61c40e..9ac980c3e1 100644
--- a/gremlin-driver/pom.xml
+++ b/gremlin-driver/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>tinkerpop</artifactId>
-        <version>4.0.0-SNAPSHOT</version>
+        <version>4.0.0-beta.3</version>
     </parent>
     <artifactId>gremlin-driver</artifactId>
     <name>Apache TinkerPop :: Gremlin Driver</name>
diff --git a/gremlin-go/driver/user_agent.go b/gremlin-go/driver/user_agent.go
index 7fec2b0d2c..698404e168 100644
--- a/gremlin-go/driver/user_agent.go
+++ b/gremlin-go/driver/user_agent.go
@@ -37,7 +37,7 @@ var userAgent string
 
 const userAgentHeader = "User-Agent"
 
-const gremlinVersion = "4.0.0-SNAPSHOT" // DO NOT MODIFY - Configured automatically by Maven Replacer Plugin
+const gremlinVersion = "4.0.0-beta.3" // DO NOT MODIFY - Configured automatically by Maven Replacer Plugin
 
 func init() {
 	applicationName := "NotAvailable"
diff --git a/gremlin-go/pom.xml b/gremlin-go/pom.xml
index 355687582d..687bbecc40 100644
--- a/gremlin-go/pom.xml
+++ b/gremlin-go/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>tinkerpop</artifactId>
-        <version>4.0.0-SNAPSHOT</version>
+        <version>4.0.0-beta.3</version>
     </parent>
     <artifactId>gremlin-go</artifactId>
     <name>Apache TinkerPop :: Gremlin Go</name>
diff --git a/gremlin-groovy/pom.xml b/gremlin-groovy/pom.xml
index aaafa65750..90859c1bc5 100644
--- a/gremlin-groovy/pom.xml
+++ b/gremlin-groovy/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>tinkerpop</artifactId>
-        <version>4.0.0-SNAPSHOT</version>
+        <version>4.0.0-beta.3</version>
     </parent>
     <artifactId>gremlin-groovy</artifactId>
     <name>Apache TinkerPop :: Gremlin Groovy</name>
diff --git a/gremlin-js/gremlin-javascript/lib/utils.ts b/gremlin-js/gremlin-javascript/lib/utils.ts
index be81755872..47fa84a762 100644
--- a/gremlin-js/gremlin-javascript/lib/utils.ts
+++ b/gremlin-js/gremlin-javascript/lib/utils.ts
@@ -22,7 +22,7 @@
  * @author Jorge Bay Gondra
  */
 
-const gremlinVersion = '4.0.0-SNAPSHOT'; // DO NOT MODIFY - Configured automatically by Maven Replacer Plugin
+const gremlinVersion = '4.0.0-beta.3'; // DO NOT MODIFY - Configured automatically by Maven Replacer Plugin
 
 const INT64_MIN = -9223372036854775808n;
 const INT64_MAX = 9223372036854775807n;
diff --git a/gremlin-js/gremlin-javascript/package.json b/gremlin-js/gremlin-javascript/package.json
index 9cf1e83a5e..c1d43a8245 100644
--- a/gremlin-js/gremlin-javascript/package.json
+++ b/gremlin-js/gremlin-javascript/package.json
@@ -1,6 +1,6 @@
 {
   "name": "gremlin",
-  "version": "4.0.0-alpha1",
+  "version": "4.0.0-beta.3",
   "description": "JavaScript Gremlin Language Variant",
   "author": {
     "name": "Apache TinkerPop team"
diff --git a/gremlin-js/gremlin-javascript/pom.xml b/gremlin-js/gremlin-javascript/pom.xml
index cf8ba36f33..017b3595d7 100644
--- a/gremlin-js/gremlin-javascript/pom.xml
+++ b/gremlin-js/gremlin-javascript/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>gremlin-js</artifactId>
-        <version>4.0.0-SNAPSHOT</version>
+        <version>4.0.0-beta.3</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <artifactId>gremlin-javascript</artifactId>
diff --git a/gremlin-js/gremlin-mcp/package.json b/gremlin-js/gremlin-mcp/package.json
index f6de399f1c..a44d7e41e2 100644
--- a/gremlin-js/gremlin-mcp/package.json
+++ b/gremlin-js/gremlin-mcp/package.json
@@ -1,6 +1,6 @@
 {
   "name": "gremlin-mcp",
-  "version": "4.0.0-alpha1",
+  "version": "4.0.0-beta.3",
   "description": "The official Apache TinkerPop MCP server for Gremlin that allows for fetching status, schema, and querying using Gremlin for any TinkerPop-compatible graph database (TypeScript implementation).",
   "type": "module",
   "main": "dist/server.js",
@@ -43,12 +43,12 @@
   },
   "license": "Apache-2.0",
   "dependencies": {
-    "gremlint": "4.0.0-alpha1",
+    "gremlint": "4.0.0-beta.3",
     "@effect/platform": "^0.90.6",
     "@effect/platform-node": "^0.96.0",
     "@modelcontextprotocol/sdk": "^1.17.4",
     "effect": "^3.17.9",
-    "gremlin": "4.0.0-alpha1",
+    "gremlin": "4.0.0-beta.3",
     "winston": "^3.17.0",
     "zod": "^3.25.76"
   },
diff --git a/gremlin-js/gremlin-mcp/pom.xml b/gremlin-js/gremlin-mcp/pom.xml
index f11f51782e..8a2ab9d058 100644
--- a/gremlin-js/gremlin-mcp/pom.xml
+++ b/gremlin-js/gremlin-mcp/pom.xml
@@ -22,7 +22,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>gremlin-js</artifactId>
-        <version>4.0.0-SNAPSHOT</version>
+        <version>4.0.0-beta.3</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/gremlin-js/gremlin-mcp/src/constants.ts b/gremlin-js/gremlin-mcp/src/constants.ts
index ecb1282b69..79f63af2d3 100644
--- a/gremlin-js/gremlin-mcp/src/constants.ts
+++ b/gremlin-js/gremlin-mcp/src/constants.ts
@@ -24,7 +24,7 @@
  * including server metadata, MCP protocol identifiers, and configuration defaults.
  */
 
-export const GREMLIN_VERSION = '4.0.0-SNAPSHOT'; // DO NOT MODIFY - Configured automatically by Maven Replacer Plugin
+export const GREMLIN_VERSION = '4.0.0-beta.3'; // DO NOT MODIFY - Configured automatically by Maven Replacer Plugin
 
 // Server Information
 export const SERVER_INFO = {
diff --git a/gremlin-js/gremlint/package.json b/gremlin-js/gremlint/package.json
index b4f7f732a3..ebe3c7d34b 100644
--- a/gremlin-js/gremlint/package.json
+++ b/gremlin-js/gremlint/package.json
@@ -1,6 +1,6 @@
 {
   "name": "gremlint",
-  "version": "4.0.0-alpha1",
+  "version": "4.0.0-beta.3",
   "description": "Linter/code formatter for Gremlin",
   "main": "lib/index.js",
   "types": "lib/index.d.ts",
diff --git a/gremlin-js/gremlint/pom.xml b/gremlin-js/gremlint/pom.xml
index 7c302382ae..b128b4c0a6 100644
--- a/gremlin-js/gremlint/pom.xml
+++ b/gremlin-js/gremlint/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>gremlin-js</artifactId>
-        <version>4.0.0-SNAPSHOT</version>
+        <version>4.0.0-beta.3</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <artifactId>gremlint</artifactId>
diff --git a/gremlin-js/package-lock.json b/gremlin-js/package-lock.json
index 71c9e4cc41..87d5e74b89 100644
--- a/gremlin-js/package-lock.json
+++ b/gremlin-js/package-lock.json
@@ -13,7 +13,7 @@
     },
     "gremlin-javascript": {
       "name": "gremlin",
-      "version": "4.0.0-alpha1",
+      "version": "4.0.0-beta.3",
       "license": "Apache-2.0",
       "dependencies": {
         "antlr4ng": "3.0.16",
@@ -82,7 +82,7 @@
       }
     },
     "gremlin-mcp": {
-      "version": "4.0.0-alpha1",
+      "version": "4.0.0-beta.3",
       "hasInstallScript": true,
       "license": "Apache-2.0",
       "dependencies": {
@@ -90,8 +90,8 @@
         "@effect/platform-node": "^0.96.0",
         "@modelcontextprotocol/sdk": "^1.17.4",
         "effect": "^3.17.9",
-        "gremlin": "4.0.0-alpha1",
-        "gremlint": "4.0.0-alpha1",
+        "gremlin": "4.0.0-beta.3",
+        "gremlint": "4.0.0-beta.3",
         "winston": "^3.17.0",
         "zod": "^3.25.76"
       },
@@ -140,7 +140,7 @@
       }
     },
     "gremlint": {
-      "version": "4.0.0-alpha1",
+      "version": "4.0.0-beta.3",
       "license": "Apache-2.0",
       "devDependencies": {
         "@types/jest": "^30.0.0",
diff --git a/gremlin-js/pom.xml b/gremlin-js/pom.xml
index 143920a026..25c130e50b 100644
--- a/gremlin-js/pom.xml
+++ b/gremlin-js/pom.xml
@@ -22,7 +22,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>tinkerpop</artifactId>
-        <version>4.0.0-SNAPSHOT</version>
+        <version>4.0.0-beta.3</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/gremlin-language/pom.xml b/gremlin-language/pom.xml
index 0d0a1de8a4..12473ff96c 100644
--- a/gremlin-language/pom.xml
+++ b/gremlin-language/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>tinkerpop</artifactId>
-        <version>4.0.0-SNAPSHOT</version>
+        <version>4.0.0-beta.3</version>
     </parent>
 
     <artifactId>gremlin-language</artifactId>
diff --git a/gremlin-python/pom.xml b/gremlin-python/pom.xml
index 63680b3dd4..d004a27068 100644
--- a/gremlin-python/pom.xml
+++ b/gremlin-python/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>tinkerpop</artifactId>
-        <version>4.0.0-SNAPSHOT</version>
+        <version>4.0.0-beta.3</version>
     </parent>
     <artifactId>gremlin-python</artifactId>
     <name>Apache TinkerPop :: Gremlin Python</name>
diff --git a/gremlin-python/src/main/python/gremlin_python/driver/useragent.py b/gremlin-python/src/main/python/gremlin_python/driver/useragent.py
index f9065d74f9..cc5a9d3b35 100644
--- a/gremlin-python/src/main/python/gremlin_python/driver/useragent.py
+++ b/gremlin-python/src/main/python/gremlin_python/driver/useragent.py
@@ -18,7 +18,7 @@
 #
 import platform
 
-gremlin_version = "4.0.0-SNAPSHOT"  # DO NOT MODIFY - Configured automatically by Maven Replacer Plugin
+gremlin_version = "4.0.0-beta.3"  # DO NOT MODIFY - Configured automatically by Maven Replacer Plugin
 
 def _generate_user_agent():
     application_name = "NotAvailable"
diff --git a/gremlin-server/pom.xml b/gremlin-server/pom.xml
index 016365f6b1..3834c00ab0 100644
--- a/gremlin-server/pom.xml
+++ b/gremlin-server/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>tinkerpop</artifactId>
-        <version>4.0.0-SNAPSHOT</version>
+        <version>4.0.0-beta.3</version>
     </parent>
     <artifactId>gremlin-server</artifactId>
     <name>Apache TinkerPop :: Gremlin Server</name>
diff --git a/gremlin-shaded/pom.xml b/gremlin-shaded/pom.xml
index 0438ad6d50..265bfdb691 100644
--- a/gremlin-shaded/pom.xml
+++ b/gremlin-shaded/pom.xml
@@ -20,7 +20,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>tinkerpop</artifactId>
-        <version>4.0.0-SNAPSHOT</version>
+        <version>4.0.0-beta.3</version>
     </parent>
     <artifactId>gremlin-shaded</artifactId>
     <name>Apache TinkerPop :: Gremlin Shaded</name>
diff --git a/gremlin-test/pom.xml b/gremlin-test/pom.xml
index 1c5c7985a6..88b6669f6c 100644
--- a/gremlin-test/pom.xml
+++ b/gremlin-test/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>tinkerpop</artifactId>
-        <version>4.0.0-SNAPSHOT</version>
+        <version>4.0.0-beta.3</version>
     </parent>
     <artifactId>gremlin-test</artifactId>
     <name>Apache TinkerPop :: Gremlin Test</name>
diff --git a/gremlin-tools/gremlin-benchmark/pom.xml b/gremlin-tools/gremlin-benchmark/pom.xml
index 7a25d430f1..23a8d602e7 100644
--- a/gremlin-tools/gremlin-benchmark/pom.xml
+++ b/gremlin-tools/gremlin-benchmark/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <artifactId>gremlin-tools</artifactId>
         <groupId>org.apache.tinkerpop</groupId>
-        <version>4.0.0-SNAPSHOT</version>
+        <version>4.0.0-beta.3</version>
     </parent>
 
     <artifactId>gremlin-benchmark</artifactId>
diff --git a/gremlin-tools/gremlin-coverage/pom.xml b/gremlin-tools/gremlin-coverage/pom.xml
index ef6b9ac682..806191f56c 100644
--- a/gremlin-tools/gremlin-coverage/pom.xml
+++ b/gremlin-tools/gremlin-coverage/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <artifactId>gremlin-tools</artifactId>
         <groupId>org.apache.tinkerpop</groupId>
-        <version>4.0.0-SNAPSHOT</version>
+        <version>4.0.0-beta.3</version>
     </parent>
     <artifactId>gremlin-coverage</artifactId>
     <name>Apache TinkerPop :: Gremlin Coverage</name>
diff --git a/gremlin-tools/gremlin-socket-server/pom.xml b/gremlin-tools/gremlin-socket-server/pom.xml
index 42bb46df1f..e9b8408554 100644
--- a/gremlin-tools/gremlin-socket-server/pom.xml
+++ b/gremlin-tools/gremlin-socket-server/pom.xml
@@ -5,7 +5,7 @@
     <parent>
         <artifactId>gremlin-tools</artifactId>
         <groupId>org.apache.tinkerpop</groupId>
-        <version>4.0.0-SNAPSHOT</version>
+        <version>4.0.0-beta.3</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
diff --git a/gremlin-tools/pom.xml b/gremlin-tools/pom.xml
index 569fe97e63..b7d313f813 100644
--- a/gremlin-tools/pom.xml
+++ b/gremlin-tools/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <artifactId>tinkerpop</artifactId>
         <groupId>org.apache.tinkerpop</groupId>
-        <version>4.0.0-SNAPSHOT</version>
+        <version>4.0.0-beta.3</version>
     </parent>
 
     <artifactId>gremlin-tools</artifactId>
diff --git a/gremlin-util/pom.xml b/gremlin-util/pom.xml
index 12141fb216..7325094442 100644
--- a/gremlin-util/pom.xml
+++ b/gremlin-util/pom.xml
@@ -5,7 +5,7 @@
     <parent>
         <artifactId>tinkerpop</artifactId>
         <groupId>org.apache.tinkerpop</groupId>
-        <version>4.0.0-SNAPSHOT</version>
+        <version>4.0.0-beta.3</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
diff --git a/hadoop-gremlin/pom.xml b/hadoop-gremlin/pom.xml
index 83c1da8e87..09dd9e7049 100644
--- a/hadoop-gremlin/pom.xml
+++ b/hadoop-gremlin/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>tinkerpop</artifactId>
-        <version>4.0.0-SNAPSHOT</version>
+        <version>4.0.0-beta.3</version>
     </parent>
     <artifactId>hadoop-gremlin</artifactId>
     <name>Apache TinkerPop :: Hadoop Gremlin</name>
diff --git a/pom.xml b/pom.xml
index 2569cf6abc..c77a0507d9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -25,7 +25,7 @@ limitations under the License.
     </parent>
     <groupId>org.apache.tinkerpop</groupId>
     <artifactId>tinkerpop</artifactId>
-    <version>4.0.0-SNAPSHOT</version>
+    <version>4.0.0-beta.3</version>
     <packaging>pom</packaging>
     <name>Apache TinkerPop</name>
     <description>A Graph Computing Framework</description>
@@ -291,6 +291,11 @@ limitations under the License.
                                 <exclude>gremlin-python/src/main/python/venv/**</exclude>
                                 <exclude>gremlin-python/src/main/python/.pytest_cache/**</exclude>
                                 <exclude>gremlin-python/src/main/python/.idea/**</exclude>
+                                <exclude>.beads/**</exclude>
+                                <exclude>.kiro/**</exclude>
+                                <exclude>.agents/**</exclude>
+                                <exclude>.cursor/**</exclude>
+                                <exclude>.codex/**</exclude>
                             </excludes>
                         </configuration>
                     </execution>
@@ -1531,7 +1536,7 @@ limitations under the License.
                                     <overview>${basedir}/docs/javadoc/overview.html</overview>
                                     <quiet>true</quiet>
                                     <sourcepath>
-                                        gremlin-annotations/src/main/java:gremlin-language/target/generated-sources/antlr4:gremlin-core/src/main/java:gremlin-driver/src/main/java:gremlin-groovy/src/main/java:gremlin-groovy/target/generated-sources/annotations:gremlin-groovy/target/generated-sources/groovy-stubs/main:gremlin-server/src/main/java:gremlin-test/src/main/java:tinkergraph-gremlin/src/main/java:gremlin-util/src/main/java
+                                        gremlin-annotations/src/main/java:gremlin-language/target/generated-sources/antlr4:gremlin-core/src/main/java:gql-gremlin/src/main/java:gql-gremlin/target/generated-sources/antlr4:gremlin-driver/src/main/java:gremlin-groovy/src/main/java:gremlin-groovy/target/generated-sources/annotations:gremlin-groovy/target/generated-sources/groovy-stubs/main:gremlin-server/src/main/java:gremlin-test/src/main/java:tinkergraph-gremlin/src/main/java:gremlin-util/s [...]
                                     </sourcepath>
                                     <dependencySourceIncludes>
                                         <dependencySourceInclude>org.apache.tinkerpop:*</dependencySourceInclude>
@@ -1552,6 +1557,11 @@ limitations under the License.
                                             <artifactId>netty-codec</artifactId>
                                             <version>${netty.version}</version>
                                         </additionalDependency>
+                                        <additionalDependency>
+                                            <groupId>io.netty</groupId>
+                                            <artifactId>netty-codec-base</artifactId>
+                                            <version>${netty.version}</version>
+                                        </additionalDependency>
                                         <additionalDependency>
                                             <groupId>io.netty</groupId>
                                             <artifactId>netty-codec-http</artifactId>
@@ -1572,6 +1582,11 @@ limitations under the License.
                                             <artifactId>netty-handler</artifactId>
                                             <version>${netty.version}</version>
                                         </additionalDependency>
+                                        <additionalDependency>
+                                            <groupId>io.netty</groupId>
+                                            <artifactId>netty-handler-proxy</artifactId>
+                                            <version>${netty.version}</version>
+                                        </additionalDependency>
                                         <additionalDependency>
                                             <groupId>io.netty</groupId>
                                             <artifactId>netty-transport</artifactId>
@@ -1895,6 +1910,11 @@ limitations under the License.
                                             <artifactId>netty-codec</artifactId>
                                             <version>${netty.version}</version>
                                         </additionalDependency>
+                                        <additionalDependency>
+                                            <groupId>io.netty</groupId>
+                                            <artifactId>netty-codec-base</artifactId>
+                                            <version>${netty.version}</version>
+                                        </additionalDependency>
                                         <additionalDependency>
                                             <groupId>io.netty</groupId>
                                             <artifactId>netty-codec-http</artifactId>
@@ -1910,6 +1930,11 @@ limitations under the License.
                                             <artifactId>netty-handler</artifactId>
                                             <version>${netty.version}</version>
                                         </additionalDependency>
+                                        <additionalDependency>
+                                            <groupId>io.netty</groupId>
+                                            <artifactId>netty-handler-proxy</artifactId>
+                                            <version>${netty.version}</version>
+                                        </additionalDependency>
                                         <additionalDependency>
                                             <groupId>io.netty</groupId>
                                             <artifactId>netty-transport</artifactId>
diff --git a/spark-gremlin/pom.xml b/spark-gremlin/pom.xml
index 0b2917997d..d72242c05e 100644
--- a/spark-gremlin/pom.xml
+++ b/spark-gremlin/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>tinkerpop</artifactId>
-        <version>4.0.0-SNAPSHOT</version>
+        <version>4.0.0-beta.3</version>
     </parent>
     <artifactId>spark-gremlin</artifactId>
     <name>Apache TinkerPop :: Spark Gremlin</name>
diff --git a/tinkergraph-gremlin/pom.xml b/tinkergraph-gremlin/pom.xml
index 3437530bc4..10d4b0c5da 100644
--- a/tinkergraph-gremlin/pom.xml
+++ b/tinkergraph-gremlin/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>tinkerpop</artifactId>
-        <version>4.0.0-SNAPSHOT</version>
+        <version>4.0.0-beta.3</version>
     </parent>
     <artifactId>tinkergraph-gremlin</artifactId>
     <name>Apache TinkerPop :: TinkerGraph Gremlin</name>