Skip to content

Latest commit

 

History

History
3378 lines (3144 loc) · 263 KB

CHANGELOG.asciidoc

File metadata and controls

3378 lines (3144 loc) · 263 KB

TinkerPop3 CHANGELOG

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

avant gremlin

TinkerPop 3.4.1 (Release Date: March 18, 2019)

This release also includes changes from 3.3.6.

  • Gremlin.NET driver: Fixed removal of closed connections and added round-robin scheduling.

  • Added GraphBinary serializer for TraversalMetrics

  • Added registration for SparqlStrategy for GraphSON.

  • Fixed up SparqlStrategy so that it could be used properly with RemoteStrategy.

  • Fixed ByteBuffer serialization for GraphBinary.

  • Fixed Path.toString() in gremlin-javascript which was referencing an invalid object.

  • Fixed potential for an infinite loop in connection creation for gremlin-dotnet.

  • Added fallback resolver to TypeSerializerRegistry for GraphBinary.

  • Added easier to understand exceptions for connection problems in the Gremlin.Net driver.

  • Support configuring the type registry builder for GraphBinary.

  • Bump to Groovy 2.5.6.

  • Release working buffers in case of failure for GraphBinary.

  • GraphBinary: Use the same ByteBuf instance to write during serialization. Changed signature of write methods in type serializers.

  • Remove unused parameter in GraphBinary’s ResponseMessageSerializer.

  • Changed SparqlTraversalSource so as to enable Gremlin steps to be used to process results from the sparql() step.

  • GraphBinary: Cache expression to obtain the method in PSerializer.

Bugs

  • TINKERPOP-1992 count has negative time in profile

  • TINKERPOP-2126 toString() methods not thread-safe

  • TINKERPOP-2135 Gremlin.Net ConnectionPool doesn’t handle closed idle connections properly

  • TINKERPOP-2139 Errors during request serialization in WebSocketGremlinRequestEncoder/NioGremlinRequestEncoder are not reported to the client

  • TINKERPOP-2141 ByteBufferSerializer modifies buffer’s position

  • TINKERPOP-2148 "no connection available!" is being thrown despite lots of free connections

  • TINKERPOP-2152 Path toString fails in Gremlin JavaScript

  • TINKERPOP-2153 Remove unused parameter from ResponseMessageSerializer (breaking)

  • TINKERPOP-2154 GraphBinary: Serializers should release resources in case of failures

  • TINKERPOP-2155 Situation can occur that causes infinite amount of connection to be opened, causing System.Net.WebSockets.WebSocketException

  • TINKERPOP-2161 GraphBinary: Write serialization performance issue

  • TINKERPOP-2169 Responses exceeding maxContentLength cause subsequent queries to hang

  • TINKERPOP-2172 PartitionStrategy doesn’t apply to AddEdgeStartStep

  • TINKERPOP-2173 Incorrect reset of log level in integration test

  • TINKERPOP-2177 Streaming response immediately after authentication stops after first partial response

Improvements

  • TINKERPOP-1435 Support for extended GraphSON in gremlin-python

  • TINKERPOP-1882 Apply range and limit steps as early as possible

  • TINKERPOP-1998 IoGraphTest use different schemas for standard and readGraph configurations

  • TINKERPOP-2088 Enable SourceLink for Gremlin.Net

  • TINKERPOP-2098 Improve gremlin-server.sh help output

  • TINKERPOP-2122 Expose status codes from server errors

  • TINKERPOP-2124 InlineFilterStrategy produces wrong result

  • TINKERPOP-2125 Extend release validation script

  • TINKERPOP-2127 Add g:TraversalMetrics and g:Metrics deserializers for gremlinpython

  • TINKERPOP-2129 Mask security secret or password in logs

  • TINKERPOP-2130 Cannot instantiate DriverRemoteConnection without passing an options object

  • TINKERPOP-2131 NoConnectionAvailableException doesn’t reveal the reason

  • TINKERPOP-2134 Bump to Groovy 2.5.6

  • TINKERPOP-2136 Inside lower bound inclusion (documentation)

  • TINKERPOP-2138 Provide a configuration to disable the global closure cache

  • TINKERPOP-2140 Test build with Docker automatically

  • TINKERPOP-2144 Better handle Authenticator instance failures

  • TINKERPOP-2147 Add GraphBinary serializer for TraversalMetrics

  • TINKERPOP-2149 GraphBinary: Make type serializer resolution pluggable

  • TINKERPOP-2150 GraphBinary: Support configuring the TypeSerializerRegistry builder class in config

  • TINKERPOP-2163 JavaTranslator performance enhancements

  • TINKERPOP-2164 Bytecode’s hashCode impl (and its inner classes) can produce hash collisions

  • TINKERPOP-2165 Prefer commons-lang3 to commons-lang

  • TINKERPOP-2166 GraphBinary: P deserialization should be optimized

  • TINKERPOP-2167 Gremlin Javascript Traversal as async iterable

  • TINKERPOP-2171 Allow SPARQL to be extended with Gremlin steps

  • TINKERPOP-2174 Improve Docker Image Security

TinkerPop 3.4.0 (Release Date: January 2, 2019)

This release also includes changes from 3.3.4 and 3.3.5.

  • 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.6 (Release Date: March 18, 2019)

  • Docker images use user gremlin instead of root

  • Added a new ResponseStatusCode for client-side serialization errors.

  • Refactored use of commons-lang to use common-lang3 only, though dependencies may still use commons-lang.

  • Bumped `commons-lang3`to 3.8.1.

  • Improved handling of client-side serialization errors that were formerly just being logged rather than being raised.

  • Add Python TraversalMetrics and Metrics deserializers.

  • Masked sensitive configuration options in the logs of KryoShimServiceLoader.

  • Added globalFunctionCacheEnabled to the GroovyCompilerGremlinPlugin to allow that cache to be disabled.

  • Added globalFunctionCacheEnabled override to SessionOpProcessor configuration.

  • Added status code to GremlinServerError so that it would be more directly accessible during failures.

  • Added GraphSON serialization support for Duration, Char, ByteBuffer, Byte, BigInteger and BigDecimal in gremlin-python.

  • Added ProfilingAware interface to allow steps to be notified that profile() was being called.

  • Fixed bug where profile() could produce negative timings when group() contained a reducing barrier.

  • Improved logic determining the dead or alive state of a Java driver Connection.

  • Improved handling of dead connections and the availability of hosts.

  • Bumped httpclient to 4.5.7.

  • Bumped slf4j to 1.7.25.

  • Bumped commons-codec to 1.12.

  • Fixed partial response failures when using authentication in gremlin-python.

  • Fixed concurrency issues in TraverserSet.toString() and ObjectWritable.toString().

  • Fixed a bug in InlineFilterStrategy that mixed up and’s and or’s when folding merging conditions together.

  • Fixed a bug in PartitionStrategy where addE() as a start step was not applying the partition.

  • Improved handling of failing Authenticator instances thus improving server responses to drivers.

  • Improved performance of JavaTranslator by reducing calls to Method.getParameters().

  • Implemented EarlyLimitStrategy which is supposed to significantly reduce backend operations for queries that use range().

  • Reduced chance of hash collisions in Bytecode and its inner classes.

  • Added Symbol.asyncIterator member to the Traversal class to provide support for await …​ of loops (async iterables).

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-2105 Gremlin-Python connection not returned back to the pool on exception from gremlin server

  • 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-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-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.5 (Release Date: January 2, 2019)

This release also includes changes from 3.2.11.

  • Fixed and/or folding in InlineFilterStrategy.

  • 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.