This is an automated email from the ASF dual-hosted git repository. xiazcy pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/tinkerpop.git
commit a52d2b318457f65728cb5ac320d8a85f1f2795e9 Merge: 46511ae70b 8a406426c0 Author: xiazcy <[email protected]> AuthorDate: Mon Sep 22 17:16:52 2025 -0700 Merge branch '3.8-dev' CHANGELOG.asciidoc | 1 + docs/src/dev/provider/gremlin-semantics.asciidoc | 59 +++++++++++----------- docs/src/reference/the-traversal.asciidoc | 2 +- docs/src/upgrade/release-3.8.x.asciidoc | 5 ++ .../traversal/step/map/AsStringGlobalStep.java | 4 +- .../traversal/step/map/AsStringLocalStep.java | 7 +-- .../traversal/step/map/AsStringGlobalStepTest.java | 8 ++- .../traversal/step/map/AsStringLocalStepTest.java | 6 ++- .../Gremlin.Net.IntegrationTest/Gherkin/Gremlin.cs | 1 - gremlin-go/driver/cucumber/gremlin.go | 1 - .../gremlin-javascript/test/cucumber/gremlin.js | 1 - gremlin-python/src/main/python/radish/gremlin.py | 1 - .../gremlin/test/features/map/AsString.feature | 9 +--- .../gremlin/test/features/map/ToUpper.feature | 14 ----- 14 files changed, 56 insertions(+), 63 deletions(-) diff --cc CHANGELOG.asciidoc index e84998d163,578a3378e0..978cd37724 --- a/CHANGELOG.asciidoc +++ b/CHANGELOG.asciidoc @@@ -170,8 -104,9 +170,9 @@@ This release also includes changes fro * Introduced step interfaces for all parameterizable steps * Switched `gremlin-net` byte serializers to signed bytes (`sbyte`) to be consistent with IO doc * Removed auto-unfold of singleton collections from `range()`, `limit()`, and `tail()` local scope steps to improve consistency of output. + * Updated `asString()` step to throw `IllegalArgumentException` with `null` inputs for casting step consistency -* Renamed `MergeElementStep` to `MergeElementStep` as it is a base class to `mergeV()` and `mergeE()`. -* Renamed `MergeStep` of `merge()` to `MergeElementStep` for consistency. +* Renamed `MergeStep` to `MergeElementStep` as it is a base class to `mergeV()` and `mergeE()`. +* Renamed `TraversalMergeStep` of `merge()` to `MergeStep` for consistency. == TinkerPop 3.7.0 (Gremfir Master of the Pan Flute) diff --cc gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/Gremlin.cs index 2d9264d1eb,278919abbf..7877d713c0 --- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/Gremlin.cs +++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/Gremlin.cs @@@ -1484,12 -1483,11 +1484,11 @@@ namespace Gremlin.Net.IntegrationTest.G {"g_injectXfeature_test_nullX_toLower", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>("FEATURE", "tESt", null).ToLower()}}, {"g_injectXfeature_test_nullX_toLowerXlocalX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(new List<object> { "FEATURE", "tESt", null }).ToLower<object>(Scope.Local)}}, {"g_injectXListXa_bXX_toLower", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(new List<object> { "a", "b" }).ToLower()}}, - {"g_V_valuesXnameX_toLower", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name", "MARKO").Property("age", 29).As("marko").AddV("person").Property("name", "VADAS").Property("age", 27).As("vadas").AddV("software").Property("name", "LOP").Property("lang", "java").As("lop").AddV("person").Property("name", "JOSH").Property("age", 32).As("josh").AddV("software").Property("name", "RIPPLE").Property("lang", "jav [...] - {"g_V_valuesXnameX_toLowerXlocalX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name", "MARKO").Property("age", 29).As("marko").AddV("person").Property("name", "VADAS").Property("age", 27).As("vadas").AddV("software").Property("name", "LOP").Property("lang", "java").As("lop").AddV("person").Property("name", "JOSH").Property("age", 32).As("josh").AddV("software").Property("name", "RIPPLE").Property("lang [...] - {"g_V_valuesXnameX_order_fold_toLowerXlocalX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name", "MARKO").Property("age", 29).As("marko").AddV("person").Property("name", "VADAS").Property("age", 27).As("vadas").AddV("software").Property("name", "LOP").Property("lang", "java").As("lop").AddV("person").Property("name", "JOSH").Property("age", 32).As("josh").AddV("software").Property("name", "RIPPLE").Pro [...] + {"g_V_valuesXnameX_toLower", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV((string) "person").Property("name", "MARKO").Property("age", 29).As("marko").AddV((string) "person").Property("name", "VADAS").Property("age", 27).As("vadas").AddV((string) "software").Property("name", "LOP").Property("lang", "java").As("lop").AddV((string) "person").Property("name", "JOSH").Property("age", 32).As("josh").AddV((string) "software").Pro [...] + {"g_V_valuesXnameX_toLowerXlocalX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV((string) "person").Property("name", "MARKO").Property("age", 29).As("marko").AddV((string) "person").Property("name", "VADAS").Property("age", 27).As("vadas").AddV((string) "software").Property("name", "LOP").Property("lang", "java").As("lop").AddV((string) "person").Property("name", "JOSH").Property("age", 32).As("josh").AddV((string) "softwar [...] + {"g_V_valuesXnameX_order_fold_toLowerXlocalX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV((string) "person").Property("name", "MARKO").Property("age", 29).As("marko").AddV((string) "person").Property("name", "VADAS").Property("age", 27).As("vadas").AddV((string) "software").Property("name", "LOP").Property("lang", "java").As("lop").AddV((string) "person").Property("name", "JOSH").Property("age", 32).As("josh").AddV((strin [...] {"g_injectXfeature_test_nullX_toUpper", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>("feature", "tESt", null).ToUpper()}}, {"g_injectXfeature_test_nullX_toUpperXlocalX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(new List<object> { "feature", "tESt", null }).ToUpper<object>(Scope.Local)}}, - {"g_injectXfeature_test_nullX_asString_toUpper", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>("feature", "tESt", null).AsString().ToUpper()}}, {"g_injectXListXa_bXX_toUpper", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(new List<object> { "a", "b" }).ToUpper()}}, {"g_V_valuesXnameX_toUpper", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Values<object>("name").ToUpper()}}, {"g_V_valuesXnameX_toUpperXlocalX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Values<object>("name").ToUpper<object>(Scope.Local)}},
