This is an automated email from the ASF dual-hosted git repository.
kenhuuu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git
The following commit(s) were added to refs/heads/master by this push:
new 69e2f02fa8 Update 4.0-beta2 upgrade/gremlin-variants documentation CTR
69e2f02fa8 is described below
commit 69e2f02fa864d4e89481e22c1a2c040a91570508
Author: Ken Hu <[email protected]>
AuthorDate: Fri Mar 27 17:23:01 2026 -0700
Update 4.0-beta2 upgrade/gremlin-variants documentation CTR
---
docs/src/reference/gremlin-variants.asciidoc | 8 +++++++
docs/src/upgrade/release-4.x.x.asciidoc | 34 ++++++++++++++++++++++++++++
2 files changed, 42 insertions(+)
diff --git a/docs/src/reference/gremlin-variants.asciidoc
b/docs/src/reference/gremlin-variants.asciidoc
index 5528dbce1a..d7201de092 100644
--- a/docs/src/reference/gremlin-variants.asciidoc
+++ b/docs/src/reference/gremlin-variants.asciidoc
@@ -2314,6 +2314,14 @@ anchor:gremlin-net-limitations[]
* The `subgraph()`-step is not supported by any variant that is not running on
the Java Virtual Machine as there is
no `Graph` instance to deserialize a result into on the client-side. A
workaround is to replace the step with
`aggregate(local)` and then convert those results to something the client can
use locally.
+* `DateTimeOffset` cannot represent the extreme values of Gremlin's
`OffsetDateTime` maximum and minimum,
+so offset date-time values at those boundaries will fail to deserialize.
+* Gremlin's `Duration` type has a much larger range than C#'s `TimeSpan`, so
extreme duration values (such as
+`Duration.FOREVER`) that exceed `TimeSpan.MaxValue` or `TimeSpan.MinValue`
will fail to deserialize.
+* Gremlin's `BigDecimal` supports up to 33 digits of precision while C#'s
`decimal` type is limited to 28-29
+significant digits, so high-precision values may lose accuracy or fail to
deserialize.
+* C# `Dictionary` does not allow `null` keys, so `Map` results with `null`
keys (e.g. from `group()` or
+`groupCount()` on a missing property) will fail during deserialization.
anchor:gremlin-dotnet-template[]
anchor:dotnet-application-examples[]
diff --git a/docs/src/upgrade/release-4.x.x.asciidoc
b/docs/src/upgrade/release-4.x.x.asciidoc
index 4b4057797b..cabcd16c3d 100644
--- a/docs/src/upgrade/release-4.x.x.asciidoc
+++ b/docs/src/upgrade/release-4.x.x.asciidoc
@@ -32,6 +32,40 @@ complete list of all the modifications that are part of this
release.
=== Upgrading for Users
+==== Pythonic Property Access on Elements
+
+The `Element` class in `gremlin-python` now supports `__contains__` and
`keys()`, enabling more idiomatic Python
+patterns for working with element properties. You can now use the `in`
operator to check for property existence and
+`keys()` to retrieve the set of property names:
+
+[source,python]
+----
+v = g.V().has('person','name','stephen').next()
+
+# check if a property exists
+if "age" in v:
+ print(v["age"])
+
+# get all property keys
+print(v.keys()) # {'name', 'age'}
+----
+
+See: link:https://issues.apache.org/jira/browse/TINKERPOP-3119[TINKERPOP-3119]
+
+==== Runtime Upgrades
+
+All JavaScript projects (`gremlin-javascript`, `gremlin-mcp`, `gremlint`) have
been upgraded to node version 22.
+
+==== ResultQueue Removed
+
+The public class `ResultQueue` in `gremlin-driver` has been removed. It's
functionality has been merged into
+`ResultSet`. Users of this class should reference the newly added methods of
`ResultSet` instead.
+
+==== neo4j-gremlin Removed
+
+The module `neo4j-gremlin` was deprecated in 3.7.0 and has now been removed.
It was based on version 3.4 of Neo4j which
+reached EOL in March 2020. Users that depend on this module will need to stay
on the 3.x line.
+
==== Gremlin MCP Server
===== Gremlin Query Translation