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

xiazcy pushed a commit to branch 3.8-dev
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git


The following commit(s) were added to refs/heads/3.8-dev by this push:
     new 5e218532b9 TinkerPop 3.8.1 release
5e218532b9 is described below

commit 5e218532b92ab22bf689685f45e87f47491460e8
Author: Yang Xia <[email protected]>
AuthorDate: Wed Apr 1 15:06:06 2026 -0700

    TinkerPop 3.8.1 release
---
 CHANGELOG.asciidoc                                 | 25 +++++++-
 docs/src/dev/developer/release.asciidoc            |  2 +-
 docs/src/reference/gremlin-variants.asciidoc       | 68 +++++++++++-----------
 docs/src/upgrade/release-3.8.0.asciidoc            |  2 +-
 docs/src/upgrade/release-3.8.1.asciidoc            |  4 +-
 gremlin-annotations/pom.xml                        |  2 +-
 gremlin-archetype/gremlin-archetype-dsl/pom.xml    |  2 +-
 gremlin-archetype/gremlin-archetype-server/pom.xml |  2 +-
 .../gremlin-archetype-tinkergraph/pom.xml          |  2 +-
 gremlin-archetype/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-javascript/pom.xml                         |  2 +-
 .../javascript/gremlin-javascript/lib/utils.js     |  2 +-
 .../gremlin-javascript/package-lock.json           |  4 +-
 .../javascript/gremlin-javascript/package.json     |  2 +-
 gremlin-language/pom.xml                           |  2 +-
 gremlin-mcp/pom.xml                                |  2 +-
 gremlin-mcp/src/main/javascript/package-lock.json  |  4 +-
 gremlin-mcp/src/main/javascript/package.json       |  2 +-
 gremlin-mcp/src/main/javascript/src/constants.ts   |  2 +-
 gremlin-python/pom.xml                             |  2 +-
 .../src/main/python/gremlin_python/__init__.py     |  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 +-
 gremlint/package-lock.json                         |  4 +-
 gremlint/package.json                              |  2 +-
 gremlint/pom.xml                                   |  2 +-
 hadoop-gremlin/pom.xml                             |  2 +-
 neo4j-gremlin/pom.xml                              |  2 +-
 pom.xml                                            |  2 +-
 spark-gremlin/pom.xml                              |  2 +-
 sparql-gremlin/pom.xml                             |  2 +-
 tinkergraph-gremlin/pom.xml                        |  2 +-
 54 files changed, 113 insertions(+), 92 deletions(-)

diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index 03a11a8692..eb847e4c38 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -23,7 +23,7 @@ under the License.
 
image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/images/gremlin-67.png[width=185]
 
 [[release-3-8-1]]
-=== TinkerPop 3.8.1 (NOT OFFICIALLY RELEASED YET)
+=== TinkerPop 3.8.1 (Release Date: April 1, 2026)
 
 This release also includes changes from <<release-3-7-6, 3.7.6>>.
 
@@ -38,6 +38,29 @@ This release also includes changes from <<release-3-7-6, 
3.7.6>>.
 * Improved Gremlint formatting to do greedy argument packing when possible so 
that more arguments can appear on a single line.
 * Add custom type writer and serializer to gremlin-go
 
+==== Bugs
+
+* TINKERPOP-3214 TinkerGraph VertexProperty Id duplication
+* TINKERPOP-3218 Emit before repeat with barrier doesn't emit
+* TINKERPOP-3222 ReservedKeysVerificationStrategy verification fails when the 
invalid AddPropertyStep has an explicit cardinality set
+* TINKERPOP-3223 Argument to SubgraphStrategy.Builder.edges changes semantics 
when used along vertices
+* TINKERPOP-3230 GraphSON3 deserializer doesn't check for required meta field
+* TINKERPOP-3235 mergeE argument validation for onCreate overrides
+
+==== Improvements
+
+* TINKERPOP-2992 Gherkin suite missing orderability on set, uuid, date
+* TINKERPOP-3178 Clarify choose() with consistent semantics *(breaking)*
+* TINKERPOP-3210 cap() has strange interactions with barriers and side effects 
in OLAP
+* TINKERPOP-3213 Re-use connections for sessions
+* TINKERPOP-3217 Add mechanism to close session without closing connection on 
server
+* TINKERPOP-3219 Add public serialization API in gremlin-go for alternative 
transport protocols
+* TINKERPOP-3227 Add upgrade documentation for transaction connection reuse
+* TINKERPOP-3231 Optimize P.setValue() and P.getValue()
+* TINKERPOP-3232 Support deserialization of a set that has a non hashable 
element
+* TINKERPOP-3236 Limit use of FloatLiteral as step arguments in grammar
+* TINKERPOP-3237 Add Custom Type Writer/Serializer API for gremlin-go
+
 [[release-3-8-0]]
 === TinkerPop 3.8.0 (Release Date: November 12, 2025)
 
diff --git a/docs/src/dev/developer/release.asciidoc 
b/docs/src/dev/developer/release.asciidoc
index f9627fe0e7..c0fca0cccf 100644
--- a/docs/src/dev/developer/release.asciidoc
+++ b/docs/src/dev/developer/release.asciidoc
@@ -217,7 +217,7 @@ current release was under development as this new release 
will have those change
 .. Manually update the `__version__` for `gremlin-python` in 
`gremlin-python/src/main/python/gremlin_python/__init__.py`
 . `mvn clean install -DskipTests` to update GLV versions
 .. Review `Gremlin.Net.csproj`, `Gremlin.Net.Template.csproj` and 
`Gremlin.Net.Template.nuspec` in `gremlin-dotnet`
-.. Review `package.json` and `package-lock.json` in `gremlin-javascript` and 
in `gremlint`
+.. Review `package.json` and `package-lock.json` in `gremlin-javascript`, 
`gremlint`, and `gremlin-mcp`
 . `pushd gremlin-console/bin; ln -fs 
../target/apache-tinkerpop-gremlin-console-xx.yy.zz-standalone/bin/gremlin.sh 
gremlin.sh; popd`
 . `git diff` and review the updated files
 . `mvn clean install` - need to build first so that the right version of the 
console is used with `bin/publish-docs.sh`
diff --git a/docs/src/reference/gremlin-variants.asciidoc 
b/docs/src/reference/gremlin-variants.asciidoc
index 338f6fac97..8324e8bdb5 100644
--- a/docs/src/reference/gremlin-variants.asciidoc
+++ b/docs/src/reference/gremlin-variants.asciidoc
@@ -1424,6 +1424,40 @@ Connection Pool Status (size=1 max=5 min=1 toCreate=0 
bin=0)
 -- bin --
 ----
 
+[[gremlin-java-differences]]
+=== Differences
+
+Gremlin-Java provides additional syntactic sugar that leverages Java's type 
system for the `P.typeOf()` predicate,
+which accepts Java `Class` objects directly, providing a more natural way to 
perform type checking:
+
+[gremlin-groovy,modern]
+----
+// Java-specific syntax using Class objects
+g.V().values("age").is(P.typeOf(Integer.class))
+g.V().values("name").is(P.typeOf(String.class))
+
+// Further simplification with Groovy sugar syntax
+g.E().has("weight", P.typeOf(Double))
+----
+
+This is equivalent to using `GType` enums. Other Gremlin language variants 
must use the canonical `GType` enum approach:
+
+[gremlin-groovy,modern]
+----
+// Canonical syntax available in all languages
+g.V().values("age").is(P.typeOf(GType.INT))
+g.V().values("name").is(P.typeOf(GType.STRING))
+----
+
+Any valid Java class accepted in the Console and with embedded Java is also 
accepted by `P.typeOf()`, as they are not
+restricted by the grammar or serialization.
+[gremlin-groovy,modern]
+----
+// Using java.awt.Color for example
+g.inject(java.awt.Color.red)
+g.inject(java.awt.Color.red, "hi", 123).is(P.typeOf(java.awt.Color))
+----
+
 anchor:java-application-examples[]
 anchor:gremlin-archetypes[]
 [[gremlin-java-archetypes]]
@@ -1511,40 +1545,6 @@ java -cp target/run-examples-shaded.jar 
examples.BasicGremlin
 java -cp target/run-examples-shaded.jar examples.ModernTraversals
 ----
 
-[[gremlin-java-differences]]
-=== Differences
-
-Gremlin-Java provides additional syntactic sugar that leverages Java's type 
system for the `P.typeOf()` predicate,
-which accepts Java `Class` objects directly, providing a more natural way to 
perform type checking:
-
-[gremlin-groovy,modern]
-----
-// Java-specific syntax using Class objects
-g.V().values("age").is(P.typeOf(Integer.class))
-g.V().values("name").is(P.typeOf(String.class))
-
-// Further simplification with Groovy sugar syntax
-g.E().has("weight", P.typeOf(Double))
-----
-
-This is equivalent to using `GType` enums. Other Gremlin language variants 
must use the canonical `GType` enum approach:
-
-[gremlin-groovy,modern]
-----
-// Canonical syntax available in all languages
-g.V().values("age").is(P.typeOf(GType.INT))
-g.V().values("name").is(P.typeOf(GType.STRING))
-----
-
-Any valid Java class accepted in the Console and with embedded Java is also 
accepted by `P.typeOf()`, as they are not
-restricted by the grammar or serialization.
-[gremlin-groovy,modern]
-----
-// Using java.awt.Color for example
-g.inject(java.awt.Color.red)
-g.inject(java.awt.Color.red, "hi", 123).is(P.typeOf(java.awt.Color))
-----
-
 [[gremlin-javascript]]
 == Gremlin-JavaScript
 
diff --git a/docs/src/upgrade/release-3.8.0.asciidoc 
b/docs/src/upgrade/release-3.8.0.asciidoc
index 0648987eb9..6204d39df3 100644
--- a/docs/src/upgrade/release-3.8.0.asciidoc
+++ b/docs/src/upgrade/release-3.8.0.asciidoc
@@ -1556,7 +1556,7 @@ See: 
link:https://issues.apache.org/jira/browse/TINKERPOP-3168[TINKERPOP-3168]
 
 ==== Graph System Providers
 
-==== Type Predicate
+===== Type Predicate
 
 The P.typeOf(String) predicate accepts custom type names registered in the 
`GlobalTypeCache`. Unregistered strings will
 throw an `IllegalArgumentException` upon execution. Providers who wish to 
enable type comparison with custom data types
diff --git a/docs/src/upgrade/release-3.8.1.asciidoc 
b/docs/src/upgrade/release-3.8.1.asciidoc
index 0b0e60b3c7..23cde06365 100644
--- a/docs/src/upgrade/release-3.8.1.asciidoc
+++ b/docs/src/upgrade/release-3.8.1.asciidoc
@@ -18,7 +18,7 @@ under the License.
 ////
 == TinkerPop 3.8.1
 
-*Release Date: NOT OFFICIALLY RELEASED YET*
+*Release Date: April 1, 2026*
 
 Please see the 
link:https://github.com/apache/tinkerpop/blob/3.8.1/CHANGELOG.asciidoc#release-3-8-1[changelog]
 for a
 complete list of all the modifications that are part of this release.
@@ -140,5 +140,3 @@ New Gherkin test tags have been added for scenarios that 
require the graph to su
 the relevant tags in their `@CucumberOptions`. The full list of tags can be 
found
 link:https://tinkerpop.apache.org/docs/3.8.1/dev/developer/#gherkin-tags[here].
 
-==== Graph Driver Providers
-
diff --git a/gremlin-annotations/pom.xml b/gremlin-annotations/pom.xml
index e28b501664..5b1bc9948a 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>3.8.1-SNAPSHOT</version>
+        <version>3.8.1</version>
     </parent>
 
     <artifactId>gremlin-annotations</artifactId>
diff --git a/gremlin-archetype/gremlin-archetype-dsl/pom.xml 
b/gremlin-archetype/gremlin-archetype-dsl/pom.xml
index 78b7e17d32..b293ddcb42 100644
--- a/gremlin-archetype/gremlin-archetype-dsl/pom.xml
+++ b/gremlin-archetype/gremlin-archetype-dsl/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>gremlin-archetype</artifactId>
-        <version>3.8.1-SNAPSHOT</version>
+        <version>3.8.1</version>
     </parent>
 
     <artifactId>gremlin-archetype-dsl</artifactId>
diff --git a/gremlin-archetype/gremlin-archetype-server/pom.xml 
b/gremlin-archetype/gremlin-archetype-server/pom.xml
index 56fd78c171..33d876c451 100644
--- a/gremlin-archetype/gremlin-archetype-server/pom.xml
+++ b/gremlin-archetype/gremlin-archetype-server/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>gremlin-archetype</artifactId>
-        <version>3.8.1-SNAPSHOT</version>
+        <version>3.8.1</version>
     </parent>
 
     <artifactId>gremlin-archetype-server</artifactId>
diff --git a/gremlin-archetype/gremlin-archetype-tinkergraph/pom.xml 
b/gremlin-archetype/gremlin-archetype-tinkergraph/pom.xml
index 7dd2260594..6f0c144a92 100644
--- a/gremlin-archetype/gremlin-archetype-tinkergraph/pom.xml
+++ b/gremlin-archetype/gremlin-archetype-tinkergraph/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>gremlin-archetype</artifactId>
-        <version>3.8.1-SNAPSHOT</version>
+        <version>3.8.1</version>
     </parent>
 
     <artifactId>gremlin-archetype-tinkergraph</artifactId>
diff --git a/gremlin-archetype/pom.xml b/gremlin-archetype/pom.xml
index 0603e03cfe..0c8bacc769 100644
--- a/gremlin-archetype/pom.xml
+++ b/gremlin-archetype/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <artifactId>tinkerpop</artifactId>
         <groupId>org.apache.tinkerpop</groupId>
-        <version>3.8.1-SNAPSHOT</version>
+        <version>3.8.1</version>
     </parent>
 
     <artifactId>gremlin-archetype</artifactId>
diff --git a/gremlin-console/bin/gremlin.sh b/gremlin-console/bin/gremlin.sh
index 704f1ebc95..8f6b18579f 120000
--- a/gremlin-console/bin/gremlin.sh
+++ b/gremlin-console/bin/gremlin.sh
@@ -1 +1 @@
-../target/apache-tinkerpop-gremlin-console-3.8.1-SNAPSHOT-standalone/bin/gremlin.sh
\ No newline at end of file
+../target/apache-tinkerpop-gremlin-console-3.8.1-standalone/bin/gremlin.sh
\ No newline at end of file
diff --git a/gremlin-console/pom.xml b/gremlin-console/pom.xml
index a2cf8e1142..6b49c18129 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>3.8.1-SNAPSHOT</version>
+        <version>3.8.1</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 8aa4c63a88..65c12ba55f 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>3.8.1-SNAPSHOT</version>
+        <version>3.8.1</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 2b50065bf5..418a205d3b 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 = "3.8.1-SNAPSHOT"; // DO NOT 
MODIFY - Configured automatically by Maven Replacer Plugin
+    private final static String gremlinVersion = "3.8.1"; // DO NOT MODIFY - 
Configured automatically by Maven Replacer Plugin
 
     private Gremlin() {
     }
diff --git a/gremlin-dotnet/pom.xml b/gremlin-dotnet/pom.xml
index a0ce1ff7c2..85a1cbd7a2 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>3.8.1-SNAPSHOT</version>
+        <version>3.8.1</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 72fee90148..fd5f88d230 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="3.8.1-SNAPSHOT" />
+    <PackageReference Include="Gremlin.Net" Version="3.8.1" />
   </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 6bc9ac237b..8fc5b5bc3a 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>3.8.1-SNAPSHOT</version>
+        <version>3.8.1</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 75ec8832ea..153fea43a6 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 = "3.8.1-SNAPSHOT"; // DO NOT 
MODIFY - Configured automatically by Maven Replacer Plugin
+        public static string GremlinVersion = "3.8.1"; // 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 f8eedfbb88..510dcbae0e 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>3.8.1-SNAPSHOT</Version>
+    <Version>3.8.1</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 5d37545c95..c59ed7a03a 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>3.8.1-SNAPSHOT</version>
+        <version>3.8.1</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 39a3c3dadb..994a495a1c 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>3.8.1-SNAPSHOT</version>
+        <version>3.8.1</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 ab160d9571..d66f0eb372 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>3.8.1-SNAPSHOT</version>
+        <version>3.8.1</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 e327afa678..6d5c06fb54 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 = "3.8.1-SNAPSHOT" // DO NOT MODIFY - Configured 
automatically by Maven Replacer Plugin
+const gremlinVersion = "3.8.1" // 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 212b90973f..214bb45616 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>3.8.1-SNAPSHOT</version>
+        <version>3.8.1</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 a501399a0e..1de78e2d21 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>3.8.1-SNAPSHOT</version>
+        <version>3.8.1</version>
     </parent>
     <artifactId>gremlin-groovy</artifactId>
     <name>Apache TinkerPop :: Gremlin Groovy</name>
diff --git a/gremlin-javascript/pom.xml b/gremlin-javascript/pom.xml
index 1b00f1c05a..cbdfdffbcb 100644
--- a/gremlin-javascript/pom.xml
+++ b/gremlin-javascript/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>tinkerpop</artifactId>
-        <version>3.8.1-SNAPSHOT</version>
+        <version>3.8.1</version>
     </parent>
     <artifactId>gremlin-javascript</artifactId>
     <name>Apache TinkerPop :: Gremlin Javascript</name>
diff --git 
a/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/utils.js 
b/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/utils.js
index 6f9a4fa43e..30514601c8 100644
--- a/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/utils.js
+++ b/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/utils.js
@@ -25,7 +25,7 @@
 
 const uuid = require('uuid');
 
-const gremlinVersion = '3.8.1-SNAPSHOT'; // DO NOT MODIFY - Configured 
automatically by Maven Replacer Plugin
+const gremlinVersion = '3.8.1'; // DO NOT MODIFY - Configured automatically by 
Maven Replacer Plugin
 
 exports.toLong = function toLong(value) {
   return new Long(value);
diff --git 
a/gremlin-javascript/src/main/javascript/gremlin-javascript/package-lock.json 
b/gremlin-javascript/src/main/javascript/gremlin-javascript/package-lock.json
index 88ead33c04..a550247d47 100644
--- 
a/gremlin-javascript/src/main/javascript/gremlin-javascript/package-lock.json
+++ 
b/gremlin-javascript/src/main/javascript/gremlin-javascript/package-lock.json
@@ -1,12 +1,12 @@
 {
   "name": "gremlin",
-  "version": "3.8.1-alpha1",
+  "version": "3.8.1",
   "lockfileVersion": 3,
   "requires": true,
   "packages": {
     "": {
       "name": "gremlin",
-      "version": "3.8.1-alpha1",
+      "version": "3.8.1",
       "license": "Apache-2.0",
       "dependencies": {
         "buffer": "^6.0.3",
diff --git 
a/gremlin-javascript/src/main/javascript/gremlin-javascript/package.json 
b/gremlin-javascript/src/main/javascript/gremlin-javascript/package.json
index 4790f466b5..3b56a94314 100644
--- a/gremlin-javascript/src/main/javascript/gremlin-javascript/package.json
+++ b/gremlin-javascript/src/main/javascript/gremlin-javascript/package.json
@@ -1,6 +1,6 @@
 {
   "name": "gremlin",
-  "version": "3.8.1-alpha1",
+  "version": "3.8.1",
   "description": "JavaScript Gremlin Language Variant",
   "author": {
     "name": "Apache TinkerPop team"
diff --git a/gremlin-language/pom.xml b/gremlin-language/pom.xml
index 578dd09fc6..4f52eccf01 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>3.8.1-SNAPSHOT</version>
+        <version>3.8.1</version>
     </parent>
 
     <artifactId>gremlin-language</artifactId>
diff --git a/gremlin-mcp/pom.xml b/gremlin-mcp/pom.xml
index faaed27aed..cf39e9a321 100644
--- a/gremlin-mcp/pom.xml
+++ b/gremlin-mcp/pom.xml
@@ -22,7 +22,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>tinkerpop</artifactId>
-        <version>3.8.1-SNAPSHOT</version>
+        <version>3.8.1</version>
     </parent>
 
     <artifactId>gremlin-mcp</artifactId>
diff --git a/gremlin-mcp/src/main/javascript/package-lock.json 
b/gremlin-mcp/src/main/javascript/package-lock.json
index 9c84b21c72..f43d1c8a8e 100644
--- a/gremlin-mcp/src/main/javascript/package-lock.json
+++ b/gremlin-mcp/src/main/javascript/package-lock.json
@@ -1,12 +1,12 @@
 {
   "name": "gremlin-mcp",
-  "version": "3.8.1-SNAPSHOT",
+  "version": "3.8.1-alpha.1",
   "lockfileVersion": 3,
   "requires": true,
   "packages": {
     "": {
       "name": "gremlin-mcp",
-      "version": "3.8.1-SNAPSHOT",
+      "version": "3.8.1-alpha.1",
       "hasInstallScript": true,
       "license": "Apache-2.0",
       "dependencies": {
diff --git a/gremlin-mcp/src/main/javascript/package.json 
b/gremlin-mcp/src/main/javascript/package.json
index c51cf5336d..c069d9151a 100644
--- a/gremlin-mcp/src/main/javascript/package.json
+++ b/gremlin-mcp/src/main/javascript/package.json
@@ -1,6 +1,6 @@
 {
   "name": "gremlin-mcp",
-  "version": "3.8.1-SNAPSHOT",
+  "version": "3.8.1-alpha.1",
   "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",
diff --git a/gremlin-mcp/src/main/javascript/src/constants.ts 
b/gremlin-mcp/src/main/javascript/src/constants.ts
index e10f1c72df..b3552d5670 100644
--- a/gremlin-mcp/src/main/javascript/src/constants.ts
+++ b/gremlin-mcp/src/main/javascript/src/constants.ts
@@ -24,7 +24,7 @@
  * including server metadata, MCP protocol identifiers, and configuration 
defaults.
  */
 
-export const GREMLIN_VERSION = '3.8.1-SNAPSHOT'; // DO NOT MODIFY - Configured 
automatically by Maven Replacer Plugin
+export const GREMLIN_VERSION = '3.8.1'; // DO NOT MODIFY - Configured 
automatically by Maven Replacer Plugin
 
 // Server Information
 export const SERVER_INFO = {
diff --git a/gremlin-python/pom.xml b/gremlin-python/pom.xml
index 69410c7ae1..3977960874 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>3.8.1-SNAPSHOT</version>
+        <version>3.8.1</version>
     </parent>
     <artifactId>gremlin-python</artifactId>
     <name>Apache TinkerPop :: Gremlin Python</name>
diff --git a/gremlin-python/src/main/python/gremlin_python/__init__.py 
b/gremlin-python/src/main/python/gremlin_python/__init__.py
index 671f2def63..6b64d27394 100644
--- a/gremlin-python/src/main/python/gremlin_python/__init__.py
+++ b/gremlin-python/src/main/python/gremlin_python/__init__.py
@@ -18,4 +18,4 @@
 #
 
 __author__ = 'Marko A. Rodriguez (http://markorodriguez.com)'
-__version__ = '3.8.1.dev1'
+__version__ = '3.8.1'
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 4dc4173f87..c6b30d7b43 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 = "3.8.1-SNAPSHOT"  # DO NOT MODIFY - Configured automatically 
by Maven Replacer Plugin
+gremlin_version = "3.8.1"  # 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 4e6a6a3bc6..9ddefe0cc3 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>3.8.1-SNAPSHOT</version>
+        <version>3.8.1</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 84f734e314..b0aa7dc1be 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>3.8.1-SNAPSHOT</version>
+        <version>3.8.1</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 1fffd41d4d..f82e00a775 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>3.8.1-SNAPSHOT</version>
+        <version>3.8.1</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 39a97e2cfa..e2f0048e54 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>3.8.1-SNAPSHOT</version>
+        <version>3.8.1</version>
     </parent>
 
     <artifactId>gremlin-benchmark</artifactId>
diff --git a/gremlin-tools/gremlin-coverage/pom.xml 
b/gremlin-tools/gremlin-coverage/pom.xml
index 072221e282..95544e4248 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>3.8.1-SNAPSHOT</version>
+        <version>3.8.1</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 0bf7506c68..d9b6d29ad7 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>3.8.1-SNAPSHOT</version>
+        <version>3.8.1</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
diff --git a/gremlin-tools/pom.xml b/gremlin-tools/pom.xml
index 644d71c7e1..821a626847 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>3.8.1-SNAPSHOT</version>
+        <version>3.8.1</version>
     </parent>
 
     <artifactId>gremlin-tools</artifactId>
diff --git a/gremlin-util/pom.xml b/gremlin-util/pom.xml
index fb90bcf126..873e0a7c6d 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>3.8.1-SNAPSHOT</version>
+        <version>3.8.1</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
diff --git a/gremlint/package-lock.json b/gremlint/package-lock.json
index 94fa8cd0f4..a28276ec49 100644
--- a/gremlint/package-lock.json
+++ b/gremlint/package-lock.json
@@ -1,12 +1,12 @@
 {
   "name": "gremlint",
-  "version": "3.8.1-alpha1",
+  "version": "3.8.1",
   "lockfileVersion": 2,
   "requires": true,
   "packages": {
     "": {
       "name": "gremlint",
-      "version": "3.8.1-alpha1",
+      "version": "3.8.1",
       "license": "Apache-2.0",
       "devDependencies": {
         "@types/jest": "^27.5.0",
diff --git a/gremlint/package.json b/gremlint/package.json
index 0e882222b9..d42d8b040c 100644
--- a/gremlint/package.json
+++ b/gremlint/package.json
@@ -1,6 +1,6 @@
 {
   "name": "gremlint",
-  "version": "3.8.1-alpha1",
+  "version": "3.8.1",
   "description": "Linter/code formatter for Gremlin",
   "main": "lib/index.js",
   "types": "lib/index.d.ts",
diff --git a/gremlint/pom.xml b/gremlint/pom.xml
index 2b98c13c6b..0b129187cc 100644
--- a/gremlint/pom.xml
+++ b/gremlint/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>tinkerpop</artifactId>
-        <version>3.8.1-SNAPSHOT</version>
+        <version>3.8.1</version>
     </parent>
     <artifactId>gremlint</artifactId>
     <name>Apache TinkerPop :: Gremlint</name>
diff --git a/hadoop-gremlin/pom.xml b/hadoop-gremlin/pom.xml
index 54034619ce..43f1c00347 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>3.8.1-SNAPSHOT</version>
+        <version>3.8.1</version>
     </parent>
     <artifactId>hadoop-gremlin</artifactId>
     <name>Apache TinkerPop :: Hadoop Gremlin</name>
diff --git a/neo4j-gremlin/pom.xml b/neo4j-gremlin/pom.xml
index 1ae2e32ac9..a855644434 100644
--- a/neo4j-gremlin/pom.xml
+++ b/neo4j-gremlin/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>tinkerpop</artifactId>
-        <version>3.8.1-SNAPSHOT</version>
+        <version>3.8.1</version>
     </parent>
     <artifactId>neo4j-gremlin</artifactId>
     <name>Apache TinkerPop :: Neo4j Gremlin</name>
diff --git a/pom.xml b/pom.xml
index d1f7633ed7..c620a342e0 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>3.8.1-SNAPSHOT</version>
+    <version>3.8.1</version>
     <packaging>pom</packaging>
     <name>Apache TinkerPop</name>
     <description>A Graph Computing Framework</description>
diff --git a/spark-gremlin/pom.xml b/spark-gremlin/pom.xml
index 61589b72ec..e4e473a1eb 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>3.8.1-SNAPSHOT</version>
+        <version>3.8.1</version>
     </parent>
     <artifactId>spark-gremlin</artifactId>
     <name>Apache TinkerPop :: Spark Gremlin</name>
diff --git a/sparql-gremlin/pom.xml b/sparql-gremlin/pom.xml
index 200da7af50..74123f72c3 100644
--- a/sparql-gremlin/pom.xml
+++ b/sparql-gremlin/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <artifactId>tinkerpop</artifactId>
         <groupId>org.apache.tinkerpop</groupId>
-        <version>3.8.1-SNAPSHOT</version>
+        <version>3.8.1</version>
     </parent>
     <artifactId>sparql-gremlin</artifactId>
     <name>Apache TinkerPop :: SPARQL Gremlin</name>
diff --git a/tinkergraph-gremlin/pom.xml b/tinkergraph-gremlin/pom.xml
index 3d582e8b4a..bec79ee68f 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>3.8.1-SNAPSHOT</version>
+        <version>3.8.1</version>
     </parent>
     <artifactId>tinkergraph-gremlin</artifactId>
     <name>Apache TinkerPop :: TinkerGraph Gremlin</name>


Reply via email to