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

Reply via email to