andreachild commented on code in PR #3242:
URL: https://github.com/apache/tinkerpop/pull/3242#discussion_r2446000382
##########
docs/src/upgrade/release-3.8.x.asciidoc:
##########
@@ -301,16 +301,87 @@ g.inject("Hello").split("")
See: link:https://issues.apache.org/jira/browse/TINKERPOP-3083[TINKERPOP-3083]
==== asString() No Longer Allow Nulls
-The `asString()` step will no longer allow `null` input. An
`IllegalArgumentException` will be thrown for consistency with all other
parsing steps (i.e. `asDate()`, `asBool()`, `asNumber()`).
+
+The `asString()` step will no longer allow `null` input. An
`IllegalArgumentException` will be thrown for consistency
+with all other parsing steps (i.e. `asDate()`, `asBool()`, `asNumber()`).
See:
link:https://lists.apache.org/thread/q76pgrvhprosb4lty63bnsnbw2ljyl7m[DISCUSS]
thread
-==== Javascript Set Deserialization
+==== Serialization Changes
+
+*Properties on Element Serialization in Python & Javascript*
+
+Element properties handling has been inconsistent across GLVs.
Previously,`gremlin-python` deserialized empty properties
+as None or array depending on the serializer, while `gremlin-javascript`
returned properties as objects or arrays, with
+empty properties as empty lists or undefined depending on the serializer.
+
+This inconsistency is now resolved. Both GLVs will deserialize element
properties into lists of property objects,
+returning empty lists instead of null values for missing properties.
+
+For python, the most notable difference is when no properties are returned.
+
+[source,text]
+----
+# 3.7 and before:
+v = g.with_("materializeProperties", "tokens").V(1).next() # skip properties
with token
+# graphson returned v.properties as None, and graphbinary returned
v.properties as empty lists
+
+# 3.8.0 and newer:
+v = g.with_("materializeProperties", "tokens").V(1).next() # skip properties
with token
+# both graphson and graphbinary will return v.properties as empty lists
Review Comment:
I don't think these examples are very helpful as there is no output and the
only difference is a comment explaining what the output would be. It would be
better to just explain that if there are no properties then python will return
empty lists.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]