This is an automated email from the ASF dual-hosted git repository. kenhuuu pushed a commit to branch 3.8-dev in repository https://gitbox.apache.org/repos/asf/tinkerpop.git
commit fa5fbe43f1f44a4d06f3c89552ee7158533174c6 Merge: 5cc351e9e7 cff2a1339b Author: Ken Hu <[email protected]> AuthorDate: Tue Aug 25 16:36:00 2026 -0700 Merge branch '3.7-dev' into 3.8-dev CHANGELOG.asciidoc | 2 + docs/src/reference/gremlin-applications.asciidoc | 17 ++ docs/src/reference/the-traversal.asciidoc | 30 ++- docs/src/upgrade/release-3.7.x.asciidoc | 38 ++++ .../process/traversal/TraversalStrategies.java | 62 +++++- .../binary/types/TraversalStrategySerializer.java | 6 +- .../gremlin/process/TraversalStrategiesTest.java | 221 +++++++++++++++++++++ .../binary/GraphBinaryMessageSerializerV1Test.java | 30 +++ .../types/TraversalStrategySerializerTest.java | 201 +++++++++++++++++++ 9 files changed, 600 insertions(+), 7 deletions(-) diff --cc gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/TraversalStrategies.java index b232689e3a,a8ce6b498c..a6719dd28b --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/TraversalStrategies.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/TraversalStrategies.java @@@ -324,10 -326,14 +333,14 @@@ public interface TraversalStrategies ex /** * Registers a strategy by its simple name, but does not cache an instance of it. Choose this method if you * don't want the strategy to be included as part of the default strategy set, but do want it available to - * the grammar when parsing Gremlin. - * be looked up by name. ++ * the grammar and serializers when resolving it by name. + * <p/> + * <strong>Warning:</strong> A strategy denied with {@link #denyStrategy(Class)} is not added to the registry. + * Denial overrides this registration. */ public static void registerStrategy(final Class<? extends TraversalStrategy> clazz) { - GLOBAL_REGISTRY.put(clazz.getSimpleName(), clazz); + if (!DENIED_STRATEGIES.contains(clazz.getName())) + GLOBAL_REGISTRY.put(clazz.getSimpleName(), clazz); } /**
