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
commit 71d8528449d57fa7a6fcc3bc35722c87b198824b Merge: 193e678506 696d8636c4 Author: Ken Hu <[email protected]> AuthorDate: Thu Aug 27 12:42:39 2026 -0700 Merge branch '3.8-dev' CHANGELOG.asciidoc | 1 + docs/src/upgrade/release-3.8.2.asciidoc | 20 ++++ .../io/graphson/TraversalSerializersV2.java | 9 +- .../io/graphson/TraversalSerializersV3.java | 9 +- ...versalStrategyProxyJacksonDeserializerTest.java | 127 +++++++++++++++++++++ 5 files changed, 156 insertions(+), 10 deletions(-) diff --cc docs/src/upgrade/release-3.8.2.asciidoc index 2b8ffbd336,61330de328..389ee4fb9a --- a/docs/src/upgrade/release-3.8.2.asciidoc +++ b/docs/src/upgrade/release-3.8.2.asciidoc @@@ -77,3 -77,24 +77,23 @@@ Map<String, List<Property<Object>>> pro ---- See: link:https://issues.apache.org/jira/browse/TINKERPOP-3187[TINKERPOP-3187] + + === Upgrading for Providers + + ==== Graph System Providers + + ===== GraphSON Strategy Registry + + Before 3.8.2, GraphSON 2.0 and 3.0 deserialization loaded a custom `TraversalStrategy` from the application class path + based on its serialized class name. Starting with 3.8.2, GraphSON only deserializes strategies registered with + `TraversalStrategies.GlobalCache`. + + Providers that send custom strategies over GraphSON must register every strategy before input is deserialized. Either + `registerStrategies()` or `registerStrategy()` can be used: + + [source,java] + ---- + TraversalStrategies.GlobalCache.registerStrategies(MyGraph.class, traversalStrategies); + // or + TraversalStrategies.GlobalCache.registerStrategy(MyStrategy.class); + ---- -
