Skip to content

Latest commit

 

History

History
3236 lines (3015 loc) · 253 KB

CHANGELOG.asciidoc

File metadata and controls

3236 lines (3015 loc) · 253 KB

TinkerPop3 CHANGELOG

TinkerPop 3.4.0 (Avant-Gremlin Construction #3 for Theremin and Flowers)

avant gremlin

TinkerPop 3.4.0 (Release Date: January 2, 2019)

This release also includes changes from 3.3.3.

  • Changed Python "bindings" to use an actual Bindings object rather than a 2-tuple.

  • Improved the Gremlin.NET driver: It now uses request pipelining and its ConnectionPool has a fixed size.

  • Implemented IndexStep which allows to transform local collections into indexed collections or maps.

  • Made valueMap() aware of by and with modulators and deprecated valueMap(boolean) overloads.

  • Use Compare.eq in Contains predicates to ensure the same filter behavior for numeric values.

  • Added OptionsStrategy to allow traversals to take arbitrary traversal-wide configurations.

  • Added text predicates.

  • Added BulkSet as a GraphSON type with support in all language variants.

  • Added ReferenceElementStrategy to auto-detach elements to "reference" from a traversal.

  • Added initial release of the GraphBinary serialization format with Java support.

  • Allowed ImportCustomizer to accept fields.

  • Removed groovy-sql dependency.

  • Modified Mutating steps so that they are no longer marked as final.

  • Rewrote ConnectiveStrategy to support an arbitrary number of infix notations in a single traversal.

  • GraphSON `MessageSerializer`s will automatically register the GremlinServerModule to a provided GraphSONMapper.

  • Removed support for -i option in Gremlin Server which was previously deprecated.

  • Implemented ShortestPathVertexProgram and the shortestPath() step.

  • AbstractGraphProvider uses g.io() for loading test data.

  • Added the io() start step and read() and write() termination steps to the Gremlin language.

  • Added GraphFeatures.supportsIoRead() and GraphFeatures.supportsIoWrite().

  • Deprecated Graph.io() and related infrastructure.

  • GraphMLReader better handles edge and vertex properties with the same name.

  • Maintained order of annotations in metrics returned from profile()-step.

  • Refactored TypeTranslator to be directly extensible for ScriptTranslator functions.

  • Bumped to Netty 4.1.25.

  • Bumped to Spark 2.4.0.

  • Bumped to Groovy 2.5.4.

  • Modified Gremlin Server to return a "host" status attribute on responses.

  • Added ability to the Java, .NET, Python and JavaScript drivers to retrieve status attributes returned from the server.

  • Modified Java and Gremlin.Net ResponseException to include status code and status attributes.

  • Modified Python GremlinServerError to include status attributes.

  • Modified the return type for IGremlinClient.SubmitAsync() to be a ResultSet rather than an IReadOnlyCollection.

  • Deprecated two submit()-related methods on the Java driver Client class.

  • Added Client.submit() overloads that accept per-request RequestOptions.

  • Added sparql-gremlin.

  • Fixed a bug in dynamic Gryo registration where registrations that did not have serializers would fail.

  • Moved Parameterizing interface to the org.apache.tinkerpop.gremlin.process.traversal.step package with other marker interfaces of its type.

  • Replaced Parameterizing.addPropertyMutations() with Configuring.configure().

  • Changed interface hierarchy for Parameterizing and Mutating interfaces as they are tightly related.

  • Introduced the with(k,v) and with(k) step modulators which can supply configuration options to Configuring steps.

  • Added OptionsStrategy to allow traversals to take arbitrary traversal-wide configurations.

  • Introduced the with(k,v) and with(k) traveral source configuration options which can supply configuration options to the traversal.

  • Added connectedComponent() step and related VertexProgram.

  • Added supportsUpsert() option to VertexFeatures and EdgeFeatures.

  • min() and max() now support all types implementing Comparable.

  • Change the toString() of Path to be standardized as other graph elements are.

  • hadoop-gremlin no longer generates a test artifact.

  • Allowed GraphProvider to expose a cached Graph.Feature object so that the test suite could re-use them to speed test runs.

  • Fixed a bug in ReducingBarrierStep, that returned the provided seed value despite no elements being available.

  • Changed the order of select() scopes. The order is now: maps, side-effects, paths.

  • Moved TraversalEngine to gremlin-test as it has long been only used in testing infrastructure.

  • Nested loop support added allowing repeat() steps to be nested.

  • Events from EventStrategy raised from "new" mutations will now return a KeyedVertexProperty or KeyedProperty as is appropriate.

  • MutationListener#vertexPropertyChanged(Vertex, VertexProperty, Object, Object…​) no longer has a default implementation.

  • Deprecated GraphSONMessageSerializerV2d0 as it is now analogous to GraphSONMessageSerializerGremlinV2d0.

  • Moved previously deprecated RemoteGraph to gremlin-test as it is now just a testing component.

  • Removed previously deprecated RemoteStrategy.instance() and the strategy no longer has any connection to RemoteGraph.

  • Removed previously deprecated methods in SubgraphStrategy and PartitionStrategy builders.

  • Removed previously deprecated Credentials DSL infrastructure.

  • Removed previously deprecated RemoteConnection#submit(Traversal) and RemoteConnection#submit(Bytecode) methods.

  • Removed previously deprecated MutationListener#vertexPropertyChanged(Vertex, Property, Object, Object…​).

  • Removed previously deprecated OpSelectorHandler constructor.

  • Removed previously deprecated close() from GremlinGroovyScriptEngine which no longer implements AutoCloseable.

  • Removed previously deprecated getGraphInputFormat() and getGraphOutputFormat() from HadoopConfiguration.

  • Removed previously deprecated AbstractOpProcessor#makeFrame() method.

  • Removed previously deprecated AuthenticationSettings.className configuration option in Gremlin Server.

  • Removed previously deprecated GraphManager methods getGraphs() and getTraversalSources().

  • Removed previously deprecated Gremlin Server setting for serializedResponseTimeout.

  • Removed previously deprecated Structure API exceptions related to "element not found" situations.

  • Removed previously deprecated rebindings options from the Java driver API.

  • Removed previously deprecated LambdaCollectingBarrierStep.Consumers enum.

  • Removed previously deprecated HasContainer#makeHasContainers(String, P)

  • Removed support for Giraph.

  • Removed previously deprecated JavaScript Driver property traversers of the ResultSet.

  • gremlin-python: use explicit Bindings object for python instead of a 2-tuple

Bugs

  • TINKERPOP-1777 Gremlin .max step returns -2147483648 for empty result sets (breaking)

  • TINKERPOP-1869 Profile step and iterate do not play nicely with each other

  • TINKERPOP-1898 Issue with bindings in strategies and lambdas

  • TINKERPOP-1927 Gherkin scenario expects list with duplicates, but receives g:Set

  • TINKERPOP-1933 gremlin-python maximum recursion depth exceeded on large responses

  • TINKERPOP-1947 Path history isn’t preserved for keys in mutations

  • TINKERPOP-1949 Formatting error on website

  • TINKERPOP-1958 TinkerGraphCountStrategy can return wrong counts

  • TINKERPOP-1961 Duplicate copies of images directory in docs

  • TINKERPOP-1962 GroovyTranslator doesn’t handle empty maps

  • TINKERPOP-1963 Use of reducing step in choose()

  • TINKERPOP-1972 inject() tests are throwing exceptions in .NET GLV tests

  • TINKERPOP-1978 Check for Websocket connection state when retrieved from Connection Pool missing

  • TINKERPOP-1979 Several OLAP issues in MathStep

  • TINKERPOP-1988 minor error in documentation

  • TINKERPOP-1999 [Java][gremlin-driver] Query to a remote server via the websocket client hangs indefinitely if the server becomes unavailable

  • TINKERPOP-2005 Intermittent NullPointerException in response handling

  • TINKERPOP-2006 GraphML serialization invalid if a vertex and edge have similar named property

  • TINKERPOP-2009 Pick.any and Pick.none should be exposed in Gremlin-JavaScript

  • TINKERPOP-2021 Prevent maximum recursion depth failure

  • TINKERPOP-2028 AbstractGraphSONMessageSerializerV2d0 should register GremlinServerModule when mapper is provided

  • TINKERPOP-2029 ConcurrentModificationException for InlineFilterStrategy

  • TINKERPOP-2030 KeepAlive task executed for every Connection.write call

  • TINKERPOP-2032 Update jython-standalone

  • TINKERPOP-2044 Cannot reconnect to Azure cosmos host that becomes available again

  • TINKERPOP-2058 Contains predicates should rely on Compare predicates (breaking)

  • TINKERPOP-2081 PersistedOutputRDD materialises rdd lazily with Spark 2.x

  • TINKERPOP-2091 Wrong/Missing feature requirements in StructureStandardTestSuite

  • TINKERPOP-2094 Gremlin Driver Cluster Builder serializer method does not use mimeType as suggested

  • TINKERPOP-2095 GroupStep looks for irrelevant barrier steps

  • TINKERPOP-2096 gremlinpython: AttributeError when connection is closed before result is received

  • TINKERPOP-2100 coalesce() creating unexpected results when used with order()

  • TINKERPOP-2113 P.Within() doesn’t work when given a List argument

Improvements

  • TINKERPOP-550 Gremlin IO needs to support both OLTP and OLAP naturally.

  • TINKERPOP-967 Support nested-repeat() structures

  • TINKERPOP-1113 GraphComputer subclasses should support native methods

  • TINKERPOP-1143 Remove deprecated TraversalSource.Builder and TraversalEngine. (breaking)

  • TINKERPOP-1296 Remove deprecated serializedResponseTimeout from Gremlin Server (breaking)

  • TINKERPOP-1342 Allow setting scriptEvaluationTimeout in driver

  • TINKERPOP-1365 Log the seed used to initialize Random in tests

  • TINKERPOP-1410 mvn install -Dmaven.test.skip=true doesn’t work on a clean machine (breaking)

  • TINKERPOP-1446 Add a StringFactory for Path which prefixes with type.

  • TINKERPOP-1447 Add some JavaScript intelligence to the documentation so that comments and output are not copied in a copy paste

  • TINKERPOP-1494 Means of exposing execution information from a result produced by RemoteConnection

  • TINKERPOP-1518 Provide a way for providers to expose static Graph.Features to tests

  • TINKERPOP-1522 Order of select() scopes (breaking)

  • TINKERPOP-1595 Go through TraversalVertexProgram with a profile and optimize.

  • TINKERPOP-1628 Implement TraversalSelectStep

  • TINKERPOP-1685 Introduce optional feature to allow for upserts without read-before-write

  • TINKERPOP-1705 Remove deprecated rebindings option (breaking)

  • TINKERPOP-1707 Remove deprecated AuthenticationSettings.className option (breaking)

  • TINKERPOP-1755 No docs for ReferenceElements

  • TINKERPOP-1769 Python graph[empty] string representation is confusing

  • TINKERPOP-1774 Gremlin .NET: Support min and max sizes in Connection pool

  • TINKERPOP-1775 Gremlin .NET: Implement a Connection write queue to support request pipelining

  • TINKERPOP-1778 Do not promote timedInterrupt option for Gremlin Server script processing

  • TINKERPOP-1780 Add authentication tests for gremlin-python

  • TINKERPOP-1831 Refactor EventStrategy (breaking)

  • TINKERPOP-1836 .NET sample project

  • TINKERPOP-1841 Include Python GLV tests on TravisCI

  • TINKERPOP-1849 Provide a way to fold() with an index

  • TINKERPOP-1864 Gremlin Python tests for GraphSON 2.0 and 3.0

  • TINKERPOP-1878 Sparql to Gremlin Compiler

  • TINKERPOP-1888 Extend max and min to all Comparable properties, not just Numbers (breaking)

  • TINKERPOP-1889 JavaScript GLV: Use heartbeat to prevent connection timeout

  • TINKERPOP-1897 Provide Docker images of Gremlin Server and Console

  • TINKERPOP-1906 Make ResponseException explorable

  • TINKERPOP-1912 Remove MD5 checksums

  • TINKERPOP-1913 Expose metadata from Gremlin Server to Clients

  • TINKERPOP-1930 Drop support for Giraph (breaking)

  • TINKERPOP-1934 Bump to latest version of httpclient

  • TINKERPOP-1936 Performance enhancement to Bytecode deserialization

  • TINKERPOP-1941 Remove deprecated Structure API exception methods (breaking)

  • TINKERPOP-1942 Binary serialization format

  • TINKERPOP-1945 Add support for extended GraphSon types to Gremlin.net

  • TINKERPOP-1946 Remove the deprecated Credentials DSL infrastructure (breaking)

  • TINKERPOP-1950 Traversal construction performance enhancements

  • TINKERPOP-1951 gremlin-server.bat doesn’t support paths containing spaces

  • TINKERPOP-1953 Bump to Groovy 2.4.15

  • TINKERPOP-1954 Remove deprecated GraphManager methods (breaking)

  • TINKERPOP-1959 Provide a way to submit scripts to the server in gremlin-javascript

  • TINKERPOP-1967 Add a connectedComponent() step

  • TINKERPOP-1968 Refactor elements of Gremlin Server testing

  • TINKERPOP-1975 Introduce with() step modulator (breaking)

  • TINKERPOP-1976 Include Computer tests for GLVs

  • TINKERPOP-1977 Gremlin-JavaScript: Support SASL authentication

  • TINKERPOP-1984 Allow support for multiple serializer versions in Gremlin Server HTTP (breaking)

  • TINKERPOP-1985 Update position on bulk loading

  • TINKERPOP-1986 Remove deprecation from PartitionStrategy, SubgraphStrategy and GremlinScriptEngine (breaking)

  • TINKERPOP-1987 Bump to Netty 4.1.x

  • TINKERPOP-1989 Preserve order that plugins are applied in Gremlin Console

  • TINKERPOP-1990 Add a shortestPath() step

  • TINKERPOP-1993 Bump to Spark 2.3.1

  • TINKERPOP-1995 DriverRemoteConnection close() method returns undefined

  • TINKERPOP-1996 Introduce read() and write() steps

  • TINKERPOP-2002 Create a blog post explaining the value of using TinkerPop

  • TINKERPOP-2010 Generate jsdoc for gremlin-javascript

  • TINKERPOP-2011 Use NumberHelper on choose()

  • TINKERPOP-2012 Target .NET Standard 2.0 for Gremlin.Net

  • TINKERPOP-2013 Process tests that are auto-ignored stink

  • TINKERPOP-2015 Allow users to configure the WebSocket connections

  • TINKERPOP-2016 Upgrade Jackson FasterXML to 2.9.5 or later to fix security vulnerability

  • TINKERPOP-2017 Check for Column in by()

  • TINKERPOP-2018 Generate API docs for Gremlin.Net

  • TINKERPOP-2022 Cluster SSL should trust default ca certs by default

  • TINKERPOP-2023 Gremlin Server should not create self-signed certs (breaking)

  • TINKERPOP-2024 Gremlin Server Application archetype should connect via withRemote

  • TINKERPOP-2025 Change to SHA-256/512 and drop SHA-1 for releases

  • TINKERPOP-2026 Gremlin.Net.Driver should check ClientWebSocket.State before closing

  • TINKERPOP-2031 Remove support for -i in gremlin-server.sh (breaking)

  • TINKERPOP-2033 Maintain order of profile() annotations

  • TINKERPOP-2034 Register synchronizedMap() with Gryo

  • TINKERPOP-2037 Remove unused groovy-sql dependency

  • TINKERPOP-2038 Make groovy script cache size configurable

  • TINKERPOP-2039 Bump to Groovy 2.5.2 (breaking)

  • TINKERPOP-2040 Improve flexibility of GroovyTranslator to handle custom types

  • TINKERPOP-2041 Text Predicates

  • TINKERPOP-2045 Remove non-indy groovy dependencies

  • TINKERPOP-2049 Single argument with() overload

  • TINKERPOP-2050 Add a :bytecode command to Gremlin Console

  • TINKERPOP-2053 Provider OptionsStrategy for traversal configurations

  • TINKERPOP-2055 Provide support for special number cases like Infinity in GraphSON

  • TINKERPOP-2056 Use NumberHelper in Compare

  • TINKERPOP-2059 Modulation of valueMap() (breaking)

  • TINKERPOP-2060 Make Mutating steps non-final

  • TINKERPOP-2061 Add with() configuration as global to a traversal

  • TINKERPOP-2062 Add Traversal class to CoreImports

  • TINKERPOP-2064 Add status attributes to results for gremlin-javascript

  • TINKERPOP-2065 Optimize iterate() for remote traversals

  • TINKERPOP-2066 Bump to Groovy 2.5.3

  • TINKERPOP-2067 Allow getting raw data from Gremlin.Net.Driver.IGremlinClient

  • TINKERPOP-2068 Bump Jackson Databind 2.9.7

  • TINKERPOP-2069 Document configuration of Gremlin.Net

  • TINKERPOP-2070 gremlin-javascript: Introduce Connection representation

  • TINKERPOP-2071 gremlin-python: the graphson deserializer for g:Set should return a python set

  • TINKERPOP-2072 Refactor custom type translation for ScriptTranslators (breaking)

  • TINKERPOP-2073 Generate tabs for static code blocks

  • TINKERPOP-2074 Ensure that only NuGet packages for the current version are pushed

  • TINKERPOP-2075 Introduce ReferenceElementStrategy

  • TINKERPOP-2077 VertexProgram.Builder should have a default create() method with no Graph

  • TINKERPOP-2078 Hide use of EmptyGraph or RemoteGraph behind a more unified method for TraversalSource construction

  • TINKERPOP-2079 Move RemoteGraph to test package (breaking)

  • TINKERPOP-2084 For remote requests in console display the remote stack trace

  • TINKERPOP-2092 Deprecate default GraphSON serializer fields

  • TINKERPOP-2093 Bump to Groovy 2.5.4

  • TINKERPOP-2097 Create a DriverRemoteConnection with an initialized Client

  • TINKERPOP-2101 Support Spark 2.4

  • TINKERPOP-2103 Remove deprecated submit() options on RemoteConnection (breaking)

  • TINKERPOP-2104 Allow ImportCustomizer to handle fields

  • TINKERPOP-2106 When gremlin executes timeout, throw TimeoutException instead of TraversalInterruptedException/InterruptedIOException

  • TINKERPOP-2110 Allow Connection on Different Path (from /gremlin)

  • TINKERPOP-2111 Add BulkSet as a GraphSON type (breaking)

  • TINKERPOP-2114 Document common Gremlin anti-patterns

  • TINKERPOP-2116 Explicit Bindings object for Python (breaking)

  • TINKERPOP-2117 gremlin-python: Provide a better data structure for a Binding

  • TINKERPOP-2119 Validate C# code samples in docs

  • TINKERPOP-2121 Bump Jackson Databind 2.9.8

TinkerPop 3.3.0 (Gremlin Symphony #40 in G Minor)

gremlin mozart

TinkerPop 3.3.5 (Release Date: January 2, 2019)

This release also includes changes from 3.2.11.

  • Fixed configuration and serialization of SubgraphStrategy which was missing the checkAdjacentVertices flag.

  • Captured TraversalInterruptionException and converted to TimeoutException for GremlinExecutor.

  • Fixed a bug in CoalesceStep which squared the bulk if the step followed a Barrier step.

  • Fixed a bug in GroupStep that assigned wrong reducing bi-operators

  • Added :bytecode command to help developers debugging Bytecode-based traversals.

  • Added option to set the path for the URI on the Java driver.

  • Fixed PersistedOutputRDD to eager persist RDD by adding count() action calls.

  • Deserialized g:Set to a Python Set in GraphSON in gremlin-python.

  • Deprecated StarGraph.builder() and StarGraph.Builder.build() in favor of the more common "builder" patterns of build() and create() respectively.

  • Deprecated Serializers.DEFAULT_RESULT_SERIALIZER and DEFAULT_REQUEST_SERIALIZER.

  • Deprecated TraversalSource#GREMLIN_REMOTE and TraversalSource#GREMLIN_REMOTE_CONNECTION_CLASS moving them to RemoteConnection.

  • Fixed the setting of the default label for a ReferenceVertex when the original vertex was of type ComputerAdjacentVertex.

  • Changed Java driver to expect a generic RemoteTraverser object rather than the specific DefaultRemoteTraverser.

  • Better handled server disconnect condition for the gremlin-python driver by throwing a clear exception.

  • Display the remote stack trace in the Gremlin Console when scripts sent to the server fail.

  • Added AnonymousTraversalSource which provides a more unified means of constructing a TraversalSource.

  • Added DriverRemoteConnection.using(Client) to provide users better control over the number of connections being created.

  • Changed behavior of GraphSON deserializer in gremlin-python such that g:Set returns a Python Set.

  • Bumped to Groovy 2.4.16.

  • Fixed bug that prevented TraversalExplanation from serializing properly with GraphSON.

  • Changed behavior of iterate() in Python, Javascript and .NET to send none() thus avoiding unnecessary results being returned.

  • Provided for a configurable class map cache in the GremlinGroovyScriptEngine and exposed that in Gremlin Server.

  • GraphProvider instances can be annotated with OptOut configurations that will be applied in addition to the OptOut instances on a Graph.

Bugs

  • TINKERPOP-2081 PersistedOutputRDD materialises rdd lazily with Spark 2.x

  • TINKERPOP-2091 Wrong/Missing feature requirements in StructureStandardTestSuite

  • TINKERPOP-2094 Gremlin Driver Cluster Builder serializer method does not use mimeType as suggested

  • TINKERPOP-2095 GroupStep looks for irrelevant barrier steps

  • TINKERPOP-2096 gremlinpython: AttributeError when connection is closed before result is received

  • TINKERPOP-2100 coalesce() creating unexpected results when used with order()

  • TINKERPOP-2113 P.Within() doesn’t work when given a List argument

Improvements

  • TINKERPOP-1889 JavaScript GLV: Use heartbeat to prevent connection timeout

  • TINKERPOP-2010 Generate jsdoc for gremlin-javascript

  • TINKERPOP-2013 Process tests that are auto-ignored stink

  • TINKERPOP-2018 Generate API docs for Gremlin.Net

  • TINKERPOP-2038 Make groovy script cache size configurable

  • TINKERPOP-2050 Add a :bytecode command to Gremlin Console

  • TINKERPOP-2062 Add Traversal class to CoreImports

  • TINKERPOP-2065 Optimize iterate() for remote traversals

  • TINKERPOP-2067 Allow getting raw data from Gremlin.Net.Driver.IGremlinClient

  • TINKERPOP-2069 Document configuration of Gremlin.Net

  • TINKERPOP-2070 gremlin-javascript: Introduce Connection representation

  • TINKERPOP-2071 gremlin-python: the graphson deserializer for g:Set should return a python set

  • TINKERPOP-2073 Generate tabs for static code blocks

  • TINKERPOP-2074 Ensure that only NuGet packages for the current version are pushed

  • TINKERPOP-2077 VertexProgram.Builder should have a default create() method with no Graph

  • TINKERPOP-2078 Hide use of EmptyGraph or RemoteGraph behind a more unified method for TraversalSource construction

  • TINKERPOP-2084 For remote requests in console display the remote stack trace

  • TINKERPOP-2092 Deprecate default GraphSON serializer fields

  • TINKERPOP-2097 Create a DriverRemoteConnection with an initialized Client

  • TINKERPOP-2102 Deprecate static fields on TraversalSource related to remoting

  • TINKERPOP-2106 When gremlin executes timeout, throw TimeoutException instead of TraversalInterruptedException/InterruptedIOException

  • TINKERPOP-2110 Allow Connection on Different Path (from /gremlin)

  • TINKERPOP-2114 Document common Gremlin anti-patterns

  • TINKERPOP-2118 Bump to Groovy 2.4.16

  • TINKERPOP-2121 Bump Jackson Databind 2.9.8

TinkerPop 3.3.4 (Release Date: October 15, 2018)

This release also includes changes from 3.2.10.

  • Added synchronized Map to Gryo 3.0 registrations.

  • Removed timedInterrupt from documentation as a way to timeout.

  • Deprecated Order for incr and decr in favor of asc and desc.

  • Fixed bug in math() for OLAP where ComputerVerificationStrategy was incorrectly detecting path label access and preventing execution.

Bugs

  • TINKERPOP-1898 Issue with bindings in strategies and lambdas

  • TINKERPOP-1933 gremlin-python maximum recursion depth exceeded on large responses

  • TINKERPOP-1958 TinkerGraphCountStrategy can return wrong counts

  • TINKERPOP-1961 Duplicate copies of images directory in docs

  • TINKERPOP-1962 GroovyTranslator doesn’t handle empty maps

  • TINKERPOP-1963 Use of reducing step in choose()

  • TINKERPOP-1972 inject() tests are throwing exceptions in .NET GLV tests

  • TINKERPOP-1978 Check for Websocket connection state when retrieved from Connection Pool missing

  • TINKERPOP-1979 Several OLAP issues in MathStep

  • TINKERPOP-1988 minor error in documentation

  • TINKERPOP-1999 [Java][gremlin-driver] Query to a remote server via the websocket client hangs indefinitely if the server becomes unavailable

  • TINKERPOP-2005 Intermittent NullPointerException in response handling

  • TINKERPOP-2009 Pick.any and Pick.none should be exposed in Gremlin-JavaScript

  • TINKERPOP-2021 Prevent maximum recursion depth failure

  • TINKERPOP-2030 KeepAlive task executed for every Connection.write call

  • TINKERPOP-2032 Update jython-standalone

  • TINKERPOP-2044 Cannot reconnect to Azure cosmos host that becomes available again

Improvements

  • TINKERPOP-1113 GraphComputer subclasses should support native methods

  • TINKERPOP-1365 Log the seed used to initialize Random in tests

  • TINKERPOP-1447 Add some JavaScript intelligence to the documentation so that comments and output are not copied in a copy paste

  • TINKERPOP-1595 Go through TraversalVertexProgram with a profile and optimize.

  • TINKERPOP-1778 Do not promote timedInterrupt option for Gremlin Server script processing

  • TINKERPOP-1780 Add authentication tests for gremlin-python

  • TINKERPOP-1836 .NET sample project

  • TINKERPOP-1841 Include Python GLV tests on TravisCI

  • TINKERPOP-1864 Gremlin Python tests for GraphSON 2.0 and 3.0

  • TINKERPOP-1897 Provide Docker images of Gremlin Server and Console

  • TINKERPOP-1945 Add support for extended GraphSon types to Gremlin.net

  • TINKERPOP-1951 gremlin-server.bat doesn’t support paths containing spaces

  • TINKERPOP-1956 Deprecate Order incr/decr for asc/desc

  • TINKERPOP-1959 Provide a way to submit scripts to the server in gremlin-javascript

  • TINKERPOP-1968 Refactor elements of Gremlin Server testing

  • TINKERPOP-1976 Include Computer tests for GLVs

  • TINKERPOP-1977 Gremlin-JavaScript: Support SASL authentication

  • TINKERPOP-1985 Update position on bulk loading

  • TINKERPOP-1989 Preserve order that plugins are applied in Gremlin Console

  • TINKERPOP-1995 DriverRemoteConnection close() method returns undefined

  • TINKERPOP-2011 Use NumberHelper on choose()

  • TINKERPOP-2012 Target .NET Standard 2.0 for Gremlin.Net

  • TINKERPOP-2015 Allow users to configure the WebSocket connections

  • TINKERPOP-2016 Upgrade Jackson FasterXML to 2.9.5 or later to fix security vulnerability

  • TINKERPOP-2017 Check for Column in by()

  • TINKERPOP-2022 Cluster SSL should trust default ca certs by default

  • TINKERPOP-2023 Gremlin Server should not create self-signed certs (breaking)

  • TINKERPOP-2024 Gremlin Server Application archetype should connect via withRemote

  • TINKERPOP-2025 Change to SHA-256/512 and drop SHA-1 for releases

  • TINKERPOP-2026 Gremlin.Net.Driver should check ClientWebSocket.State before closing

  • TINKERPOP-2034 Register synchronizedMap() with Gryo

  • TINKERPOP-2035 Gremlin-JavaScript: Pass custom headers to the websocket connection

  • TINKERPOP-2040 Improve flexibility of GroovyTranslator to handle custom types

  • TINKERPOP-2045 Remove non-indy groovy dependencies

  • TINKERPOP-2055 Provide support for special number cases like Infinity in GraphSON

  • TINKERPOP-2056 Use NumberHelper in Compare

TinkerPop 3.3.3 (Release Date: May 8, 2018)

This release also includes changes from 3.2.9.

  • Implemented TraversalSelectStep which allows to select() runtime-generated keys.

  • Coerced BulkSet to g:List in GraphSON 3.0.

  • Deprecated CredentialsGraph DSL in favor of CredentialsTraversalDsl which uses the recommended method for Gremlin DSL development.

  • Allowed iterate() to be called after profile().

Bugs

  • TINKERPOP-1869 Profile step and iterate do not play nicely with each other

  • TINKERPOP-1927 Gherkin scenario expects list with duplicates, but receives g:Set

  • TINKERPOP-1947 Path history isn’t preserved for keys in mutations

Improvements

  • TINKERPOP-1628 Implement TraversalSelectStep

  • TINKERPOP-1755 No docs for ReferenceElements

  • TINKERPOP-1903 Credentials DSL should use the Java annotation processor

  • TINKERPOP-1912 Remove MD5 checksums

  • TINKERPOP-1934 Bump to latest version of httpclient

  • TINKERPOP-1936 Performance enhancement to Bytecode deserialization

  • TINKERPOP-1943 JavaScript GLV: Support GraphSON3

  • TINKERPOP-1944 JavaScript GLV: DriverRemoteConnection is not exported in the root module

  • TINKERPOP-1950 Traversal construction performance enhancements

  • TINKERPOP-1953 Bump to Groovy 2.4.15

TinkerPop 3.3.2 (Release Date: April 2, 2018)

This release also includes changes from 3.2.8.

  • Fixed regression issue where the HTTPChannelizer doesn’t instantiate the specified AuthenticationHandler.

  • Defaulted GLV tests for gremlin-python to run for GraphSON 3.0.

  • Fixed a bug with Tree serialization in GraphSON 3.0.

  • In gremlin-python, the GraphSON 3.0 g:Set type is now deserialized to List.

Bugs

  • TINKERPOP-1053 installed plugins are placed in a directory relative to where gremlin.sh is started

  • TINKERPOP-1509 Failing test case for tree serialization

  • TINKERPOP-1738 Proper functioning of GraphSONReader depends on order of elements in String representation

  • TINKERPOP-1758 RemoteStrategy should be before all other DecorationStrategies.

  • TINKERPOP-1855 Update Rexster links

  • TINKERPOP-1858 HttpChannelizer regression: Does not create specified AuthenticationHandler

  • TINKERPOP-1859 Complex instance of P not serializing to bytecode properly

  • TINKERPOP-1860 valueMap(True) result in error in gremlin-python

  • TINKERPOP-1862 TinkerGraph VertexProgram message passing doesn’t work properly when using Direction.BOTH

  • TINKERPOP-1867 union() can produce extra traversers

  • TINKERPOP-1872 Apply edgeFunction in SparkMessenger

  • TINKERPOP-1873 min() and max() work only in the range of Integer values

  • TINKERPOP-1874 P does not appear to be serialized consistently in GraphSON

  • TINKERPOP-1875 Gremlin-Python only aggregates to list when using GraphSON3

  • TINKERPOP-1879 Gremlin Console does not resepect equal sign for flag argument assignments

  • TINKERPOP-1880 Gremlin.NET Strong name signature could not be verified. (HRESULT: 0x80131045)

  • TINKERPOP-1883 gremlinpython future will never return

  • TINKERPOP-1890 getAnonymousTraversalClass() is not being generated for Java DSLs

  • TINKERPOP-1891 Serialization of P.not() for gremlin-javascript

  • TINKERPOP-1892 GLV test failures for .NET

  • TINKERPOP-1894 GraphSONMessageSerializerV2d0 fails to deserialize valid P.not()

  • TINKERPOP-1896 gremlin-python lambdas error

  • TINKERPOP-1907 Fix failing GLV test for withSack() in .NET

  • TINKERPOP-1917 gx:BigDecimal serialization broken in Gremlin.Net on systems with ',' as decimal separator

  • TINKERPOP-1918 Scenarios fail because of wrong numerical types

  • TINKERPOP-1919 Gherkin runner doesn’t work with P.And() and P.Or() in Gremlin.Net

  • TINKERPOP-1920 Tests fail because P.Within() arguments are wrapped in an array in Gremlin.Net

  • TINKERPOP-1922 Gherkin features fail that contain P.not() in Gremlin.Net

Improvements

  • TINKERPOP-1357 Centrality Recipes should mention pageRank and OLAP.

  • TINKERPOP-1489 Provide a Javascript Gremlin Language Variant

  • TINKERPOP-1586 SubgraphStrategy in OLAP

  • TINKERPOP-1726 Support WebSockets ping/pong keep-alive in Gremlin server

  • TINKERPOP-1842 iterate() missing in terminal steps documentation

  • TINKERPOP-1844 Python GLV test should run for GraphSON 3.0 (breaking)

  • TINKERPOP-1850 Range step has undocumented special values

  • TINKERPOP-1854 Support lambdas in Gremlin.Net

  • TINKERPOP-1857 GLV test suite consistency and completeness

  • TINKERPOP-1863 Delaying the setting of requestId till the RequestMessage instantiation time

  • TINKERPOP-1865 Run Gremlin .NET GLV tests with GraphSON 3.0

  • TINKERPOP-1866 Support g:T for .NET

  • TINKERPOP-1868 Support inject source step in Gremlin.Net

  • TINKERPOP-1870 n^2 synchronious operation in OLAP WorkerExecutor.execute() method

  • TINKERPOP-1871 Exception handling is slow in element ReferenceElement creation

  • TINKERPOP-1877 Add new graph data for specialized testing scenarios

  • TINKERPOP-1884 Bump to Netty 4.0.56.Final

  • TINKERPOP-1885 Various Gremlin.Net documentation updates

  • TINKERPOP-1901 Enable usage of enums in more steps in Gremlin.Net

  • TINKERPOP-1908 Bump to Groovy 2.4.14

  • TINKERPOP-1911 Refactor JavaTranslator to cache all reflective calls

  • TINKERPOP-1914 Support construct a GremlinServer instance from gremlin executor service

TinkerPop 3.3.1 (Release Date: December 17, 2017)

This release also includes changes from 3.2.7.

  • Added NoneStep and Traversal.none() for full filtering integration with iterate().

  • Fixed bug in serialization of Path for GraphSON 3.0 in gremlin-python.

  • Added support for GraphSON 3.0 in Gremlin.Net.

  • Added math()-step which supports scientific calculator capabilities for numbers within a traversal.

  • Added missing GraphTraversalSource.addE()-method to GremlinDslProcessor.

  • Changed to() and from() traversal-based steps to take a wildcard ? instead of of E.

  • Added addV(traversal) and addE(traversal) so that created element labels can be determined dynamically.

  • PageRankVertexProgram supports maxIterations but will break out early if epsilon-based convergence occurs.

  • Added support for epsilon-based convergence in PageRankVertexProgram.

  • Fixed two major bugs in how PageRank was being calculated in PageRankVertexProgram.

  • Added Io.requiresVersion(Object) to allow graph providers a way to check the Io type and version being constructed.

  • Defaulted IoCore.gryo() and IoCore.graphson() to both use their 3.0 formats which means that Graph.io() will use those by default.

  • Bumped Neo4j 3.2.3

Bugs

  • TINKERPOP-1773 Lop should be created as a "software" and not a "person"

  • TINKERPOP-1783 PageRank gives incorrect results for graphs with sinks (breaking)

  • TINKERPOP-1799 Failure to serialize path() in gremlin-python

  • TINKERPOP-1847 tinkergraph-gremlin dependency on gremlin-test, bad scope?

Improvements

  • TINKERPOP-1632 Create a set of default functions

  • TINKERPOP-1692 Bump to Neo4j 3.2.3

  • TINKERPOP-1717 Update name and link of DynamoDB storage backend in landing page

  • TINKERPOP-1730 Gremlin .NET support for GraphSON 3.0

  • TINKERPOP-1767 Method for graph providers to check an IO version and type

  • TINKERPOP-1793 addE() should allow dynamic edge labels

  • TINKERPOP-1834 Consider iterate() as a first class step

TinkerPop 3.3.0 (Release Date: August 21, 2017)

This release also includes changes from 3.2.6.

  • Removed previously deprecated ScriptElementFactory.

  • Added GraphTraversalSource.addE(String) in support of g.addE().from().to().

  • Added support for to(Vertex) and from(Vertex) as a shorthand for to(V(a)) and from(V(b)).

  • Bumped to support Spark 2.2.0.

  • Detected if type checking was required in GremlinGroovyScriptEngine and disabled related infrastructure if not.

  • Removed previously deprecated GraphTraversal.selectV3d0() step.

  • Removed previously deprecated DetachedEdge(Object,String,Map,Pair,Pair) constructor.

  • Removed previously deprecated Bindings constructor. It is now a private constructor.

  • Removed previously deprecated TraversalSource.withBindings().

  • Removed previously deprecated GraphTraversal.sack(BiFunction,String).

  • TraversalMetrics and Metrics Gryo 1.0 formats changed given internal changes to their implementations.

  • Made TraversalMetrics safe to write to from multiple threads.

  • Removed previously deprecated TraversalSideEffects methods.

  • Removed previously deprecated finalization.LazyBarrierStrategy (moved to optimization.LazyBarrierStrategy).

  • Removed previously deprecated Constants in Hadoop.

  • Removed previously deprecated VertexComputing.generateComputer(Graph).

  • Removed previously deprecated ConfigurationTraversal.

  • Established the Gryo 3.0 format.

  • GryoVersion now includes a default ClassResolver to supply to the GryoMapper.

  • GryoClassResolver renamed to GryoClassResolverV1d0 which has an abstract class that for providers to extend in AbstractGryoClassResolver.

  • Removed previously deprecated Order enums of keyIncr, keyDecr, valueIncr, and valueDecr.

  • Removed previously deprecated GraphTraversal.mapKeys() step.

  • Removed previously deprecated GraphTraversal.mapValues() step.

  • Removed previously deprecated GraphTraversal#addV(Object…​).

  • Removed previously deprecated GraphTraversal#addE(Direction, String, String, Object…​).

  • Removed previously deprecated GraphTraversal#addOutE(String, String, Object…​).

  • Removed previously deprecated GraphTraversal#addInV(String, String, Object…​).

  • Removed previously deprecated GraphTraversal.groupV3d0() and respective GroupSideEffectStepV3d0 and GroupStepV3d0.

  • Removed previously deprecated TraversalSource.Builder class.

  • Removed previously deprecated ConnectiveP, AndP, OrP constructors.

  • Removed previously deprecated TraversalScriptFunction class.

  • Removed previously deprecated TraversalScriptHelper class.

  • Removed previously deprecated ScriptEngineCache class.

  • Removed previously deprecated CoreImports class.

  • Removed previously deprecated GremlinJythonScriptEngine#() constructor.

  • Removed access to previously deprecated CoreGremlinPlugin#INSTANCE field.

  • gremlin.sh and gremln.bat no longer support the option to pass a script as an argument for execution mode without using the -i option.

  • Graphite and Ganglia are no longer packaged with the Gremlin Server distribution.

  • TransactionException is no longer a class of AbstractTransaction and it extends RuntimeException.

  • Included an ellipse on long property names that are truncated.

  • Renamed RangeByIsCountStrategy to CountStrategy.

  • Added more specific typing to various __ traversal steps. E.g. <A,Vertex>out() is <Vertex,Vertex>out().

  • Updated Docker build scripts to include Python dependencies (NOTE: users should remove any previously generated TinkerPop Docker images).

  • Added "attachment requisite" VertexProperty.element() and Property.element() data in GraphSON serialization.

  • GraphSON 3.0 is now the default serialization format in TinkerGraph and Gremlin Server.

  • Changed ServerGremlinExecutor to not use generics since there really is no flexibility in the kind of ScheduledExecutorService that will be used.

  • Removed support for passing a byte array on the sasl parameter.

  • Removed previously deprecated GraphSONMapper$Builder#embedTypes option.

  • Removed previously deprecated :remote config timeout max.

  • Removed previously deprecated ConnectionPoolSettings.sessionId and ConnectionPoolSettings.optionalSessionId().

  • Removed previously deprecated reconnectInitialDelay setting from the Java driver.

  • Removed previously deprecated useMapperFromGraph option.

  • Established the GraphSON 3.0 format with new g:Map, g:List and g:Set types.

  • Removed previously deprecated Io.Builder#registry(IoRegistry) method.

  • Removed previously deprecated GryoMessageSerializerV1d0(GryoMapper) constructor.

  • Removed previously deprecated TinkerIoRegistry.

  • Removed previously deprecated getInstance() methods on all TinkerPop classes.

  • Removed previously deprecated VertexPropertyFeatures.supportsAddProperty().

  • Removed previously deprecated TinkerGraph configuration member variables.

  • Removed previously deprecated Transaction.submit(Function).

  • Removed previously deprecated OpSelectorHandler.errorMeter and AbstractEvalOpProcessor.errorMeter fields.

  • Removed previously deprecated AbstractEvalOpProcessor.validBindingName field.

  • Removed previously deprecated SimpleAuthenticator.CONFIG_CREDENTIALS_LOCATION field.

  • Removed previously deprecated IteratorHandler, NioGremlinResponseEncoder and WsGremlinResponseEncoder classes.

  • Removed previously deprecated Session.kill() and Session.manualKill().

  • Removed previously deprecated Authenticator.newSaslNegotiator() and its method implementations in classes that were assignable to that interface.

  • Removed gremlin-groovy-test.

  • Removed previously deprecated "G" functions in gremlin-groovy (i.e. GFunction).

  • Removed references to the old GremlinPlugin system that was in gremlin-groovy - the revised GremlinPlugin system in gremlin-core is the only one now in use.

  • GremlinGroovyScriptEngine no longer implements the now removed DependencyManager.

  • Added Vertex, Edge, VertexProperty, and Property serializers to Gremlin-Python and exposed tests that use graph object arguments.

  • Bytecode.getSourceInstructions() and Bytecode.getStepInstructions() now returns List<Instruction> instead of Iterable<Instruction>.

  • Added various TraversalStrategy registrations with GryoMapper.

  • Fixed a naming mistake in Gremlin-Python: IdentityRemoveStrategy is now called IdentityRemovalStrategy.

  • Added TranslationStrategy test infrastructure that verifies Bytecode generated from a translation is equal to the original Bytecode.

  • Moved NumberHelper into the org.apache.tinkerpop.gremlin.util package.

  • Added Pop.mixed instead of using null to represent such semantics.

  • select()-step now defaults to using Pop.last instead of Pop.mixed.

  • Added gremlin-io-test module to validate IO formats.

  • RequestMessage and ResponseMessage are now registered with GryoMapper as part of the TinkerPop range of type identifiers.

  • Removed previously deprecated Console constructor that took a String as an argument from gremlin-console.

  • Removed previously deprecated ConcurrentBindings from gremlin-groovy.

  • Removed previously deprecated ScriptExecutor from gremlin-groovy.

  • Removed previously deprecated SandboxExtension from gremlin-groovy.

  • Removed previously deprecated GremlinGroovyScriptEngine constructor that took ImportCustomizerProvider as an argument from gremlin-groovy.

  • Removed previously deprecated GremlinGroovyScriptEngine#plugins() from gremlin-groovy.

  • Added OptionalStep for use with optional() to better handle issues associated with branch side-effects.

  • UnfoldStep now supports unfolding of arrays.

  • Removed all performance tests that were not part of gremlin-benchmark.

  • Removed dependency on junit-benchmarks and it’s related reference to h2.

  • Moved the source for the "home page" into the repository under /site so that it easier to accept contributions.

  • Added UnshadedKryoShimService as the new default serializer model for SparkGraphComputer.

  • GryoRegistrator is more efficient than the previous GryoSerializer model in SparkGraphComputer.

  • Added support for IoRegistry custom serialization in Spark/Giraph and provided a general hadoop-gremlin test suite.

  • Replaced term REST with HTTP to remove any confusion as to the design of the API.

  • Moved gremlin-benchmark under gremlin-tools module.

  • Added gremlin-tools and its submodule gremlin-coverage.

  • Removed tryRandomCommit() from AbstractGremlinTest.

  • Changed gremlin-benchmark system property for the report location to benchmarkReportDir for consistency.

  • Added SysV and systemd init scripts.

  • GraphTraversal.valueMap(includeTokens,propertyKeys…​) now returns a Map<Object,E> since keys could be T.id or T.label.

  • Added skip(long) and skip((Scope,long) which call the range(low,high) equivalents with -1 as the high.

  • Added Kerberos authentication to gremlin-server for websockets and nio transport.

  • Added audit logging of authenticated users and gremlin queries to gremlin-server.

Bugs

  • TINKERPOP-1211 UnfoldStep should unfold arrays. (breaking)

  • TINKERPOP-1426 GryoSerializer should implement Java serialization interface

  • TINKERPOP-1465 Remove deprecated newSaslNegotiator (breaking)

  • TINKERPOP-1483 PropertyMapStep returns Map<String,E> but puts non String keys in it!

  • TINKERPOP-1520 Difference between 'has' step generated graphson2.0 in java and python glv implementation

  • TINKERPOP-1533 Storage and IoRegistry

  • TINKERPOP-1597 PathRetractionStrategy messing up certain traversals

  • TINKERPOP-1635 gremlin-python: Duplicate serialization of element property in PropertySerializer

  • TINKERPOP-1658 Graphson2 map keys are serialised as strings

  • TINKERPOP-1716 Traversal strategies are not applied with remote in Gremlin Console

Improvements

  • TINKERPOP-832 Remove deprecated addV/E/InE/OutE methods (breaking)

  • TINKERPOP-833 Remove deprecated GremlinGroovyScriptEngine constructor and plugins() (breaking)

  • TINKERPOP-834 Remove deprecated sack() method (breaking)

  • TINKERPOP-880 Remove deprecated GroupStepV3d0 and GroupSideEffectStepV3d0 (breaking)

  • TINKERPOP-929 Remove Deprecated TinkerGraph public static methods. (breaking)

  • TINKERPOP-980 Add a service script or daemon mode in the distribution (breaking)

  • TINKERPOP-999 ServerGremlinExecutor construction need not use generics for ExecutorService (breaking)

  • TINKERPOP-1004 Make Transaction.commit() failures consistent across implementations. (breaking)

  • TINKERPOP-1010 Remove deprecated credentialsDbLocation for SimpleAuthenticator (breaking)

  • TINKERPOP-1024 Remove deprecated tryRandomCommit() (breaking)

  • TINKERPOP-1028 Remove deprecated ConnectionPoolSettings session settings (breaking)

  • TINKERPOP-1040 Remove deprecated SandboxExtension (breaking)

  • TINKERPOP-1046 Remove deprecated Gremlin Server handler implementations (breaking)

  • TINKERPOP-1049 Remove deprecated error meter member variables in Gremlin Server handlers (breaking)

  • TINKERPOP-1094 Remove deprecated VertexPropertyFeatures.FEATURE_ADD_PROPERTY (breaking)

  • TINKERPOP-1116 Some anonymous traversal steps can be hard typed. (breaking)

  • TINKERPOP-1130 Each release should store Kryo/GraphSON/GraphML versions to ensure future compatibility (breaking)

  • TINKERPOP-1142 Remove deprecated valueIncr, valueDecr, keyIncr, keyDecr. (breaking)

  • TINKERPOP-1169 Remove deprecated TraversalScriptFunction and TraversalScriptHelper (breaking)

  • TINKERPOP-1170 Remove deprecated ConfigurationTraversal. (breaking)

  • TINKERPOP-1171 Remove deprecated TraversalSource.Builder (breaking)

  • TINKERPOP-1235 Remove deprecated ProcessPerformanceSuite and TraversalPerformanceTest (breaking)

  • TINKERPOP-1275 Remove deprecated max setting for :remote (breaking)

  • TINKERPOP-1283 Remove deprecated ScriptExecutor (breaking)

  • TINKERPOP-1289 Remove deprecated ConnectiveP, AndP, and OrP constructors. (breaking)

  • TINKERPOP-1291 Remove deprecated mapValues and mapKeys methods (breaking)

  • TINKERPOP-1313 Rename RangeByIsCountStrategy (breaking)

  • TINKERPOP-1316 Remove deprecated constructor from GryoMessageSerializers (breaking)

  • TINKERPOP-1327 Bring GryoRegistrator to the forefront and deprecate GryoSerializer (breaking)

  • TINKERPOP-1363 Cleanup Docker build script for next major release (breaking)

  • TINKERPOP-1369 Replace REST API with HTTP API

  • TINKERPOP-1389 Support Spark 2.0.0

  • TINKERPOP-1399 NumberHelper needs to go into util and have a private constructor (breaking)

  • TINKERPOP-1404 Path/label optimization

  • TINKERPOP-1408 Remove Deprecated Io.Builder.registry() (breaking)

  • TINKERPOP-1414 Change default GraphSON version to 3.0 (breaking)

  • TINKERPOP-1420 Remove deprecated ConcurrentBindings in gremlin-groovy (breaking)

  • TINKERPOP-1421 Remove deprecated ControlOps (breaking)

  • TINKERPOP-1427 GraphSON 3.0 needs collection types and consistent number typing.

  • TINKERPOP-1443 Use an API checker during build

  • TINKERPOP-1445 Large nested VertexProperties and Properties do not get printed well

  • TINKERPOP-1454 Create Serializers for Graph objects in Gremlin-Python

  • TINKERPOP-1481 Remove deprecated reconnectInitialDelay in Java driver (breaking)

  • TINKERPOP-1485 Move source for TinkerPop site to source code repo

  • TINKERPOP-1506 Optional/Coalesce should not allow sideEffect traversals.

  • TINKERPOP-1514 Restructure for gremlin-tools module (breaking)

  • TINKERPOP-1524 Bytecode.getXXXInstructions should return a List, not Iterable.

  • TINKERPOP-1526 Remove deprecated Session kill() overloads (breaking)

  • TINKERPOP-1536 Include GLVs in Docker build

  • TINKERPOP-1541 Select should default to Pop.last semantics (breaking)

  • TINKERPOP-1549 Implement skip()

  • TINKERPOP-1550 Make Graphite and Ganglia optional dependencies

  • TINKERPOP-1563 Remove deprecated getInstance() methods (breaking)

  • TINKERPOP-1565 Setup GraphSON 3.0

  • TINKERPOP-1566 Kerberos authentication for gremlin-server

  • TINKERPOP-1574 Get rid of untyped GraphSON in 3.0

  • TINKERPOP-1603 Remove support for SASL byte array in protocol (breaking)

  • TINKERPOP-1612 Remove gremlin-groovy-test module (breaking)

  • TINKERPOP-1621 Remove deprecated GremlnPlugin and related infrastructure (breaking)

  • TINKERPOP-1622 Remove deprecated G functions in gremlin-groovy (breaking)

  • TINKERPOP-1651 Remove deprecated gremlin.sh init syntax (breaking)

  • TINKERPOP-1686 Make TraversalMetrics thread safe (breaking)

  • TINKERPOP-1698 Gryo 3.0

  • TINKERPOP-1699 Remove deprecated userMapperFromGraph (breaking)

  • TINKERPOP-1700 Remove deprecated embedTypes option

  • TINKERPOP-1706 Remove deprecated ScriptEngineCache and related dead code (breaking)

  • TINKERPOP-1715 Bump to Spark 2.2

  • TINKERPOP-1719 Remove deprecated Traversal related code (breaking)

  • TINKERPOP-1720 Remove deprecated Hadoop code (breaking)

  • TINKERPOP-1721 Remove deprecated Bindings related code (breaking)

  • TINKERPOP-1724 Remove deprecated ScriptElementFactory

  • TINKERPOP-1729 Remove deprecated select steps.

  • TINKERPOP-1740 Add vertex parameter overload to to() and from()

  • TINKERPOP-1747 Streamline inheritance for gremlin-python GraphSON serializer classes

TinkerPop 3.2.0 (Nine Inch Gremlins)

nine inch gremlins

TinkerPop 3.2.11 (Release Date: January 2, 2019)

  • Bumped to Jackson Databind 2.9.8

Improvements

  • TINKERPOP-2074 Ensure that only NuGet packages for the current version are pushed

  • TINKERPOP-2121 Bump Jackson Databind 2.9.8

TinkerPop 3.2.10 (Release Date: October 15, 2018)

  • Removed conflicting non-indy groovy core dependency

  • Bumped jython-standalone 2.7.1

  • Added a delegate to the Gremlin.Net driver that can be used to configure the WebSocket connection.

  • SSL security enhancements

  • Added Gremlin version to Gremlin Server startup logging output.

  • Fixed problem with Gremlin Server sometimes returning an additional message after a failure.

  • Allowed spaces in classpath for gremlin-server.bat.

  • Fixed bug in traversals that used Python lambdas with strategies in gremlin-python.

  • Modified Maven archetype for Gremlin Server to use remote traversals rather than scripts.

  • Added an system error code for failed plugin installs for Gremlin Server -i option.

  • Fixed bug in keep-alive requests from over-queuing cancelled jobs.

  • Match numbers in choose() options using NumberHelper (match values, ignore data type).

  • Added support for GraphSON serialization of Date in Javascript.

  • Added synchronized Map to Gryo 1.0 registrations.

  • Added Triple to Gryo 1.0 registrations.

  • Added support for Double.NaN, Double.POSITIVE_INFINITY and Double.NEGATIVE_INFINITY.

  • Improved escaping of special characters in strings passed to the GroovyTranslator.

  • Added Cluster configuration option to set a custom validation script to use to test server connectivity in the Java driver.

  • Improved ability of GroovyTranslator to handle more types supported by GraphSON.

  • Improved ability of GroovyTranslator to handle custom types.

  • Added better internal processing of Column in by(Function).

  • Added hasNext() support on Traversal for gremlin-python.

  • Added support for additional extended types in Gremlin.Net with decimal, TimeSpan, BigInteger, byte, byte[], char and short.

  • Fixed bug in Java driver where an disorderly shutdown of the server would cause the client to hang.

  • Added a dotnet template project that should make it easier to get started with Gremlin.Net.

  • Removed ThreadInterruptCustomizerProvider from documentation as a way to timeout.

  • Changed behavior of withRemote() if called multiple times so as to simply throw an exception and not perform the side-effect of auto-closing.

  • Added Docker images for Gremlin Console and Gremlin Server.

  • Fixed bug in branch() where reducing steps as options would produce incorrect results.

  • Removed recursive handling of streaming results from Gremlin-Python driver to avoid max recursion depth errors.

  • Improved performance of TraversalVertexProgram and related infrastructure.

  • Checked web socket state before closing connection in the .NET driver.

  • Deprecated BulkLoaderVertexProgram and related infrastructure.

  • Deprecated BulkDumperVertexProgram with the more aptly named CloneVertexProgram.

  • Added createGratefulDead() to TinkerFactory to help make it easier to try to instantiate that toy graph.

  • Added identifiers to edges in the Kitchen Sink toy graph.

  • Ordered the loading of plugins in the Gremlin Console by their position in the configuration file.

  • Refactored the Gremlin Server integration testing framework and streamlined that infrastructure.

  • Logged the seed used in initializing Random for tests.

  • Fixed bug in GroovyTranslator that didn’t properly handle empty Map objects.

  • Added concrete configuration methods to SparkGraphComputer to make a more clear API for configuring it.

  • Fixed a bug in TinkerGraphCountStrategy, which didn’t consider that certain map steps may not emit an element.

  • Fixed a bug in JavaScript GLV where DriverRemoteConnection close() method didn’t returned a Promise instance.

  • Bumped to Jackson 2.9.6.

  • Sasl Plain Text Authentication added to Gremlin Javascript.

  • Ability to send scripts to server added to Gremlin Javascript.

  • Translator class added to Gremlin Javascript to translate bytecode to script clientside.

Bugs

  • TINKERPOP-1898 Issue with bindings in strategies and lambdas

  • TINKERPOP-1933 gremlin-python maximum recursion depth exceeded on large responses

  • TINKERPOP-1958 TinkerGraphCountStrategy can return wrong counts

  • TINKERPOP-1961 Duplicate copies of images directory in docs

  • TINKERPOP-1962 GroovyTranslator doesn’t handle empty maps

  • TINKERPOP-1963 Use of reducing step in choose()

  • TINKERPOP-1972 inject() tests are throwing exceptions in .NET GLV tests

  • TINKERPOP-1978 Check for Websocket connection state when retrieved from Connection Pool missing

  • TINKERPOP-1988 minor error in documentation

  • TINKERPOP-1999 [Java][gremlin-driver] Query to a remote server via the websocket client hangs indefinitely if the server becomes unavailable

  • TINKERPOP-2005 Intermittent NullPointerException in response handling

  • TINKERPOP-2009 Pick.any and Pick.none should be exposed in Gremlin-JavaScript

  • TINKERPOP-2030 KeepAlive task executed for every Connection.write call

  • TINKERPOP-2032 Update jython-standalone

  • TINKERPOP-2044 Cannot reconnect to Azure cosmos host that becomes available again

Improvements

  • TINKERPOP-1113 GraphComputer subclasses should support native methods

  • TINKERPOP-1365 Log the seed used to initialize Random in tests

  • TINKERPOP-1595 Go through TraversalVertexProgram with a profile and optimize.

  • TINKERPOP-1778 Do not promote timedInterrupt option for Gremlin Server script processing

  • TINKERPOP-1780 Add authentication tests for gremlin-python

  • TINKERPOP-1836 .NET sample project

  • TINKERPOP-1841 Include Python GLV tests on TravisCI

  • TINKERPOP-1897 Provide Docker images of Gremlin Server and Console

  • TINKERPOP-1945 Add support for extended GraphSon types to Gremlin.net

  • TINKERPOP-1951 gremlin-server.bat doesn’t support paths containing spaces

  • TINKERPOP-1959 Provide a way to submit scripts to the server in gremlin-javascript

  • TINKERPOP-1968 Refactor elements of Gremlin Server testing

  • TINKERPOP-1976 Include Computer tests for GLVs

  • TINKERPOP-1977 Gremlin-JavaScript: Support SASL authentication

  • TINKERPOP-1985 Update position on bulk loading

  • TINKERPOP-1989 Preserve order that plugins are applied in Gremlin Console

  • TINKERPOP-1995 DriverRemoteConnection close() method returns undefined

  • TINKERPOP-2011 Use NumberHelper on choose()

  • TINKERPOP-2012 Target .NET Standard 2.0 for Gremlin.Net

  • TINKERPOP-2015 Allow users to configure the WebSocket connections

  • TINKERPOP-2016 Upgrade Jackson FasterXML to 2.9.5 or later to fix security vulnerability

  • TINKERPOP-2017 Check for Column in by()

  • TINKERPOP-2022 Cluster SSL should trust default ca certs by default

  • TINKERPOP-2023 Gremlin Server should not create self-signed certs (breaking)

  • TINKERPOP-2024 Gremlin Server Application archetype should connect via withRemote

  • TINKERPOP-2025 Change to SHA-256/512 and drop SHA-1 for releases

  • TINKERPOP-2026 Gremlin.Net.Driver should check ClientWebSocket.State before closing

  • TINKERPOP-2034 Register synchronizedMap() with Gryo

  • TINKERPOP-2035 Gremlin-JavaScript: Pass custom headers to the websocket connection

  • TINKERPOP-2040 Improve flexibility of GroovyTranslator to handle custom types

  • TINKERPOP-2045 Remove non-indy groovy dependencies

  • TINKERPOP-2055 Provide support for special number cases like Infinity in GraphSON

  • TINKERPOP-2056 Use NumberHelper in Compare

TinkerPop 3.2.9 (Release Date: May 8, 2018)

  • Fixed bug where path history was not being preserved for keys in mutations.

  • Bumped to httpclient 4.5.5.

  • Bumped to Groovy 2.4.15 - fixes bug with Lambda construction.

  • Improved performance of GraphSON deserialization of Bytecode.

  • Improved performance of traversal construction.

Bugs

  • TINKERPOP-1947 Path history isn’t preserved for keys in mutations

Improvements

  • TINKERPOP-1755 No docs for ReferenceElements

  • TINKERPOP-1912 Remove MD5 checksums

  • TINKERPOP-1934 Bump to latest version of httpclient

  • TINKERPOP-1936 Performance enhancement to Bytecode deserialization

  • TINKERPOP-1944 JavaScript GLV: DriverRemoteConnection is not exported in the root module

  • TINKERPOP-1950 Traversal construction performance enhancements

  • TINKERPOP-1953 Bump to Groovy 2.4.15

TinkerPop 3.2.8 (Release Date: April 2, 2018)

  • Added a Lambda class to Gremlin.Net that makes it possible to use Groovy and Python lambdas with Gremlin.Net.

  • Enums are now represented as classes in Gremlin.Net which allows to use them as arguments in more steps.

  • Bumped to Groovy 2.4.14.

  • Added checkAdjacentVertices option to SubgraphStrategy.

  • Modified GremlinDslProcessor so that it generated the getAnonymousTraversalClass() method to return the DSL version of __.

  • Added the "Kitchen Sink" test data set.

  • Fixed deserialization of P.not() for GraphSON.

  • Bumped to Jackson 2.9.4.

  • Improved performance of JavaTranslator by caching reflected methods required for traversal construction.

  • Ensure that RemoteStrategy is applied before all other DecorationStrategy instances.

  • Added idleConnectionTimeout and keepAliveInterval to Gremlin Server that enables a "ping" and auto-close for seemingly dead clients.

  • Fixed a bug where lambdas in gremlin-python would trigger a failure if steps using python-only symbols were present (such as as_()).

  • Fixed a bug in NumberHelper that led to wrong min/max results if numbers exceeded the Integer limits.

  • Delayed setting of the request identifier until RequestMessage construction by the builder.

  • ReferenceElement avoids UnsupportedOperationException handling in construction thus improving performance.

  • Improved error messaging for failed serialization and deserialization of request/response messages.

  • Fixed handling of Direction.BOTH in Messenger implementations to pass the message to the opposite side of the StarGraph.

  • Removed hardcoded expectation in metrics serialization test suite as different providers may have different outputs.

  • Added IndexedTraverserSet which indexes on the value of a Traverser thus improving performance when used.

  • Utilized IndexedTraverserSet in TraversalVertexProgram to avoid extra iteration when doing Vertex lookups.

  • Bumped to Netty 4.0.56.Final.

  • Fixed .NET GraphSON serialization of P.Within() and P.without() when passing a Collection as an argument.

  • Fixed a bug in Gremlin Console which prevented handling of gremlin.sh flags that had an "=" between the flag and its arguments.

  • Fixed bug where SparkMessenger was not applying the edgeFunction from MessageScope.

  • Fixed a bug in ComputerAwareStep that didn’t handle reset() properly and thus occasionally produced some extra traversers.

  • Removed TraversalPredicate class in Gremlin.Net. It is now included in the P class instead.

Bugs

  • TINKERPOP-1053 installed plugins are placed in a directory relative to where gremlin.sh is started

  • TINKERPOP-1509 Failing test case for tree serialization

  • TINKERPOP-1738 Proper functioning of GraphSONReader depends on order of elements in String representation

  • TINKERPOP-1758 RemoteStrategy should be before all other DecorationStrategies.

  • TINKERPOP-1855 Update Rexster links

  • TINKERPOP-1859 Complex instance of P not serializing to bytecode properly

  • TINKERPOP-1860 valueMap(True) result in error in gremlin-python

  • TINKERPOP-1862 TinkerGraph VertexProgram message passing doesn’t work properly when using Direction.BOTH

  • TINKERPOP-1867 union() can produce extra traversers

  • TINKERPOP-1872 Apply edgeFunction in SparkMessenger

  • TINKERPOP-1873 min() and max() work only in the range of Integer values

  • TINKERPOP-1874 P does not appear to be serialized consistently in GraphSON

  • TINKERPOP-1879 Gremlin Console does not resepect equal sign for flag argument assignments

  • TINKERPOP-1880 Gremlin.NET Strong name signature could not be verified. (HRESULT: 0x80131045)

  • TINKERPOP-1883 gremlinpython future will never return

  • TINKERPOP-1890 getAnonymousTraversalClass() is not being generated for Java DSLs

  • TINKERPOP-1891 Serialization of P.not() for gremlin-javascript

  • TINKERPOP-1892 GLV test failures for .NET

  • TINKERPOP-1894 GraphSONMessageSerializerV2d0 fails to deserialize valid P.not()

  • TINKERPOP-1896 gremlin-python lambdas error

  • TINKERPOP-1907 Fix failing GLV test for withSack() in .NET

  • TINKERPOP-1917 gx:BigDecimal serialization broken in Gremlin.Net on systems with ',' as decimal separator

  • TINKERPOP-1918 Scenarios fail because of wrong numerical types

  • TINKERPOP-1919 Gherkin runner doesn’t work with P.And() and P.Or() in Gremlin.Net

  • TINKERPOP-1920 Tests fail because P.Within() arguments are wrapped in an array in Gremlin.Net

  • TINKERPOP-1922 Gherkin features fail that contain P.not() in Gremlin.Net

Improvements

  • TINKERPOP-1357 Centrality Recipes should mention pageRank and OLAP.

  • TINKERPOP-1489 Provide a Javascript Gremlin Language Variant

  • TINKERPOP-1586 SubgraphStrategy in OLAP

  • TINKERPOP-1726 Support WebSockets ping/pong keep-alive in Gremlin server

  • TINKERPOP-1842 iterate() missing in terminal steps documentation

  • TINKERPOP-1850 Range step has undocumented special values

  • TINKERPOP-1854 Support lambdas in Gremlin.Net

  • TINKERPOP-1857 GLV test suite consistency and completeness

  • TINKERPOP-1863 Delaying the setting of requestId till the RequestMessage instantiation time

  • TINKERPOP-1868 Support inject source step in Gremlin.Net

  • TINKERPOP-1870 n^2 synchronious operation in OLAP WorkerExecutor.execute() method

  • TINKERPOP-1877 Add new graph data for specialized testing scenarios

  • TINKERPOP-1884 Bump to Netty 4.0.56.Final

  • TINKERPOP-1885 Various Gremlin.Net documentation updates

  • TINKERPOP-1901 Enable usage of enums in more steps in Gremlin.Net

  • TINKERPOP-1908 Bump to Groovy 2.4.14

  • TINKERPOP-1911 Refactor JavaTran