-
Added support for deserialization of
Set
forgremlin-javascript
. -
Added grammar-based
Translator
for all languages including explicit ones for Java and anonymization. -
Removed grammar support for enums to be used as variables.
-
Changed
valueMap
in grammar to disallow theboolean
argument as a variable to avoid ambiguous step calls. -
Added integer overflow checks for
sum()
. -
Gremlin Server only supports instantiation of
authentication.authenticationHandler
with three-arg constructor. -
Removed previously deprecated two-arg constructors for
authentication.authenticationHandler
implementations. -
Removed previously deprecated one-arg constructor for
AbstractAuthenticationHandler
. -
Deprecated
withEmbedded()
andwithRemote()
options onAnonymousTraversalSource
. -
Added
with()
onAnonymousTraversalSource
to cover both embedded and remote creation options. -
Renamed the traversal discarding
none()
step todiscard()
. -
Added new list filtering step
none()
. -
Changed
sum()
to retain the type common to the stream rather than always promoting tolong
given the need for it to multiple by thelong
bulk value for the traverser. -
Added support for
Set
in GraphSON and GraphBinary serialization forgremlin-javascript
, where it previously just converted to array. -
Added
Set
syntax ingremlin-language
. -
Modified RequestInterceptor to be a
UnaryOperator<HttpRequest>
to abstract the underlying implementation. -
Renamed
MergeStep
toMergeElementStep
as it is a base class tomergeV()
andmergeE()
. -
Renamed
TraversalMergeStep
ofmerge()
toMergeStep
for consistency. -
Removed the deprecated
withGraph()
option fromAnonymousTraversalSource
. -
Removed the
gremlin-archetype
module in favor of newer sample applications in each GLV’sexamples
folder. -
Bumped to
commons-collection4
. -
Made
mergeE()
andmergeV()
consistent in their use as a start step and as mid-traversal by always promoting the currently created or matchedElement
to theonCreate
oronMatch
child traversal. -
Added
withoutStrategies()
syntax to the Gremlin ANTLR grammar. -
Modified the Gremlin ANTLR grammar to more dynamically interact with any strategies registered globally to the
TraversalStrategies
cache sets. -
Made
new
keyword optional in the Gremlin grammar. -
Switched to HTTP protocol in
gremlin-python
and replaced GraphSONV2, GraphSONV2 & GraphBinaryV1 with GraphBinaryV4 -
Added support for chunked transfer in
gremlin-python
-
Added TypeScript & ECMAScript module support.
-
Improved graph structures type definitions in TypeScript.
-
Removed usage of
Bytecode
for Gremlin Server and Java GLV, script engines andGremlinExecutor
will not be able to handleBytecode
. -
Bytecode
- based authorization removed. -
Added
GremlinLang
which allows to generate gremlin-lang compatible string based on Traversal. -
Bindings
replaced with 'Parameter`, it’s thread-safe construct which can be used to pass parameters from GLV to server. -
Feature tests will be performed not only for
GremlinGroovyScriptEngine
, but also forGremlinLangScriptEngine
. -
Old translator’s removed, new Grammar-based one’s will be used.
-
Serialization support removed for
Bindings
andBytecode
. -
EmbeddedRemoteConnection
will useGremlinlang
, notJavaTranslator
. -
Java
Client
will no longer support submitting traversals.DriverRemoteConnection
should be used instead. -
Removed usage of
Bytecode
fromgremlin-python
. -
Added
auth
module ingremlin-python
for pluggable authentication. -
Fixed
GremlinLangScriptEngine
handling for some strategies. -
Updated Docker test suite set-up in
gremlin-python
to work with HTTP driver/server. -
Modified the
split()
step to split a string into a list of its characters if the given separator is an empty string. -
Remove serializers for datatype removed from GraphBinaryV4 IO spec.
-
Add
DateTime
serializer for Java and Python according to GraphBinaryV4 IO spec. -
Replaced
Date
withOffsetDateTime
in Java core. -
Update serializers for
label
as a singleton list of string according to GraphBinaryV4 IO spec. -
Added
bulked
byte toResponse Message
serialization according to GraphBinaryV4 IO spec. -
Added a
bulked
header set by cluster setting, as well as a withbulked
request option to turn on the bulking of result data. -
Updated List and BulkSet serializers in Java and Python to implement
bulk
value flag for List according to GraphBinaryV4 IO spec. -
The
maxContentLength
setting for Gremlin Driver has been renamed tomaxResponseContentLength
and now blocks incoming responses that are too large based on total response size. -
The
maxContentLength
setting for Gremlin Server has been renamed tomaxRequestContentLength
. -
Add missing strategies to the
TraversalStrategies
global cache as well asCoreImports
ingremlin-groovy
. -
Add missing strategies to
strategies.py
ingremlin-python
. -
Updated
OptionsStrategy
ingremlin-python
to take options directly as keyword arguments. -
Added static
instance()
method toElementIdStrategy
to an instance with the default configuration. -
Updated
ElementIdStrategy.getConfiguration()
to help with serialization. -
Updated
TraversalStrategyProxy
to utilize strategy names instead of strategy classes -
Use
TraversalStrategyProxy
in Java, orTraversalStrategy
in Python to pass custom strategies in traversals -
Removed
minSize
setting for Gremlin Driver connection pool since connections are now short-lived HTTP connections -
Added
idleConnectionTimeout
setting for Gremlin Driver and automatic closing of idle connections
-
Add log entry in
WsAndHttpChannelizerHandler
. -
Changed
IdentityRemovalStrategy
to omitIdentityStep
if only withRepeatEndStep
underRepeatStep
. -
Changed Gremlin grammar to make use of
g
to spawn child traversals a syntax error.
This release also includes changes from 3.6.8.
-
Refactored mutation events registration by moving reusable code from relevant steps to
EventUtil
-
Opened
NoOpBarrierStep
for extensibility (removedfinal
keyword). -
Deprecated public constructor for
SeedStrategy
in favor of builder pattern to be consistent with other strategies. -
Allowed specification of a customized Spark app name.
-
Added getter method to
CoinStep
for its probability field. -
Prevented decimal values from being parsed by
asDate()
. -
Prevented specification of
Cardinality
tooption()
when not used in conjunction withmergeV()
. -
Exposed a mechanism for providers to customize the assertion of error messages in feature tests.
-
Attempted to detect JDK version for Gremlin Console to avoid problems with Java 17 if
neo4j-gremlin
is used. -
Fixed so that
TrimGlobalStep
andTrimLocalStep
have the same character control handling asLtrim
andRtrim
-
Fixed a bug in
MaxLocalStep
,MinLocalStep
,MeanLocalStep
andSumLocalStep
that it throwsNoSuchElementException
when encounters an empty iterator as input. -
Fixed cases where Map keys of incomparable types could panic in
gremlin-go
. -
Fixed an issue where missing necessary parameters for logging, resulting in '%!x(MISSING)' output in
gremlin-go
. -
Added getter method to
ConcatStep
,ConjoinStep
,SplitGlobalStep
andSplitLocalStep
for their private fields. -
Fixed older driver GraphBinary compatibility problems where using
ReferenceElementStrategy
, properties on elements returned asnull
instead of emptyList
. -
Gremlin Server docker containers shutdown gracefully when receiving a SIGTERM.
-
Added 'userProvidedLabel' property to detect if the default label was supplied explicitly or not.
-
Added DefaultIdManager.STRING for proper string id creation/handling.
-
Allowed specification of an
Operator
as a reducer inwithSideEffect
when parsing with the grammar. -
Fixed bug in Bytecode build logic where duplicate strategies were added instead of replacing the existing ones.
-
Bump Groovy to 4.0.23
-
TINKERPOP-3035 Add explicit property(IDictionary) for .NET
-
TINKERPOP-3050 security vulnerability in logback-core
-
TINKERPOP-3051 security vulnerability in logback-classic
-
TINKERPOP-3052 security vulnerability in ivy
-
TINKERPOP-3053 security vulnerability in netty-codec-http2
-
TINKERPOP-3076 Incorrect handling of large requests in Go GLV
-
TINKERPOP-3077 Javascript translator incorrectly handle quotes, null and undefined values
-
TINKERPOP-3079 The test
TraversalStrategiesTest#shouldAllowUserManipulationOfGlobalCache
is not idempotent, as it passes in the first run and fails in repeated runs in the same environment. -
TINKERPOP-3081 When using authentication, evaluationTimeout is ignored
-
TINKERPOP-3089 min() and max() local forms not working properly with empty iterator input
-
TINKERPOP-3090 trim() steps not handling unicode characters properly
-
TINKERPOP-3093 optimization of readmap function
-
TINKERPOP-3105 Running 3.6.x python-driver with 3.7.x server leads to deserialization errors
-
TINKERPOP-3110 Incorrect Bytecode when multiple options are used in traversal
-
TINKERPOP-3116 async_timeout not declared in gremlinpython dependencies
-
TINKERPOP-2700 WebSocket compression may lead to attacks (CRIME / BREACH)
-
TINKERPOP-3041 Consistent construction of SeedStrategy
-
TINKERPOP-3080 AggregateStep can support all Operators predefined in TinkerPop
-
TINKERPOP-3082 Tinkerpop hardcoded the Spark AppName
-
TINKERPOP-3086 Upgrade gremlin-python to newer Python interpreter
-
TINKERPOP-3098 Gremlin Console bat file is missing log level configuration option
-
TINKERPOP-3102 Cardinality input with mergeE step shouldn’t be allowed.
This release also includes changes from 3.6.7.
-
Deprecated
ltrim()
andrTrim()
in favor ofl_trim()
andr_trim
in Python. -
Fixed bug in
onCreate
formergeV()
where use of theCardinality
functions was not properly handled. -
Fixed multiple concurrent initially requests caused authentication to fail.
-
TINKERPOP-2132 Authentication when using multiple threads fails
-
TINKERPOP-2359 onShutDown not being called when docker container stopped
-
TINKERPOP-2913 Ensure that if tx.commit() is called remotely it does not hang for graphs without transactions
-
TINKERPOP-3012 Wrong hashCode implementation for DetachedVertexPropert
-
TINKERPOP-3022 JavaTranslator failing for has(String, null)
-
TINKERPOP-3025 l_trim() and r_trim() missing in python
-
TINKERPOP-3026 checkAdjacentVertices is misconfigured for python in SubgraphStrategy
-
TINKERPOP-3027 Pick.any should be any_()
-
TINKERPOP-3029 Gremlin.Net: Traversal enumeration fails on .NET 8
-
TINKERPOP-3031 Bad translation for g.tx()
-
TINKERPOP-3039 Java driver won’t propagate with args when using aliased client directly
-
TINKERPOP-3049 onCreate for mergeV() doesn’t handle Cardinality functions
-
TINKERPOP-3054 RequestId serialization broken in Python GLV
-
TINKERPOP-3056 mergeE is updating vertices in certain conditions
-
TINKERPOP-3061 Concurrent queries will break authentication on javascript driver
-
TINKERPOP-2456 Add missing tests for queries
-
TINKERPOP-2872 Inconsistency in comparing Elements in JavaScript tests
-
TINKERPOP-2995 Create Sample Applications in each GLV
-
TINKERPOP-3020 Incorrect tests
-
TINKERPOP-3021 Publish ARM64 Gremlin Console Images
-
TINKERPOP-3030 Update to .NET 8
-
TINKERPOP-3068 Make serviceName and mergedParams public for provider usage in CallStep
-
Added the
asString()
,length()
,toLower()
, andtoUpper()
steps to performString
manipulations. -
Added Gherkin parsing support for specific string results using
str[]
. -
Added the
trim()
,lTrim()
,rTrim()
, andreverse()
steps to performString
manipulations. -
Added
replace()
,split()
andsubstring()
steps to performString
manipulations. -
Added
Scope
toasString()
,length()
,toLower()
,toUpper()
,trim()
,lTrim()
,rTrim()
, replace(), `split()
andsubstring()
to allowString
manipulation inside incoming lists. -
Update
concat()
to acceptTraversal
varargs. -
Corrected
concat()
signatures ingremlin-dotnet
,Concat()
is now used instead ofConcat<object>()
. (breaking) -
Update
concat()
to not special treatinject
in arguments and useTraversalUtil.apply
on it as with any other child traversals. (breaking) -
Added
format()
step to performString
manipulations. -
Checked graph features for meta-property support before trying to serialize them in
VertexPropertySerializer
for GraphBinary. -
Fixed multiline query bug in console caused by upgrade to Groovy 4.
-
Added date manipulation steps
asDate
,dateAdd
anddateDiff
. -
Added new data type
DT
to represent periods of time. -
Added Gherkin support for Date.
-
Extended
datetime()
function to produce a current server date. -
Added list filtering functions
all
andany
. -
Added list/set functions
conjoin
,combine
,difference
,disjunct
,intersect
,merge
, andproduct
. -
Added getter for
isStart
onUnionStep
. -
Added
NullVariableResolver
that will quietly produce anull
for each variable found when parsing with the grammar. -
Changed the
@MultiMetaProperties
testing tag for Gherkin feature tests to instead be separate@MetaProperties
and@MultiProperties
. -
Added
agent
parameter toDriverRemoteConnection
options to allow a user-providedhttp.Agent
implementation. -
Fixed deserialization of element properties for GraphBinary.
-
Fixed bug in
union()
as a start step where thePath
was including the starting dummy traverser. -
Moved some TinkerGraph specific transaction tests from
TransactionMultiThreadedTest
toTinkerTransactionGraphTest
-
Fixed incorrect read operations in some cases for
TinkerTransactionGraph
. -
Updated JavaScript tests to check equality on only id and class when comparing elements for consistency with other GLVs.
-
Improved performance for
Element
comparison by comparing hashCode() prior to doing more expensive checks.
-
TINKERPOP-2811 ElementIdStrategy doesn’t replace all references of an element’s id with the specified custom id property
-
TINKERPOP-2921 Filters not working when side-effect is used with group()
-
TINKERPOP-2976 InvalidOperationException: Collection was modified in GraphBinary serialization
-
TINKERPOP-2983 Upgrade Netty for Security Reasons
-
TINKERPOP-2996 Golang Translator in core does not properly translate list arguments
-
TINKERPOP-2999 3.7.0 Remote Console Sends Incomplete Queries
-
TINKERPOP-3000 Issue with union step when using path().by()
-
TINKERPOP-3001 Gremlin Console complains about missing serializers field
-
TINKERPOP-3004 Low performance for queries with a large number of element comparisons
-
TINKERPOP-3009 SubgraphStrategy produces excessive filtering when multiple labels are filtered upon
-
TINKERPOP-3010 Move TinkerGraph specific transaction testing
-
TINKERPOP-3013 Console not sending scripts to the server when :remote console is enabled
-
TINKERPOP-3014 Dependencny jcl-over-slf4j in gremlin-core is declared but unused due to dependency conflict.
-
TINKERPOP-3016 TinkerTransactionGraph can incorrectly handle some read operations.
-
TINKERPOP-2334 Add format() step
-
TINKERPOP-2672 Add String Manipulation Steps to Gremlin
-
TINKERPOP-2802 Support Adding Custom Serializer for Gremlin Go
-
TINKERPOP-2830 Handle User-Agent from HTTP Requests to server
-
TINKERPOP-2946 Resolve ordering issues in gherkin tests
-
TINKERPOP-2951 Add translator to the Go GLV
-
TINKERPOP-2964 Many TraversalParent’s steps have a replaceLocalChild logic that can result in a new ChildTraversal having an ID that already exists.
-
TINKERPOP-2978 Add List Manipulation Steps to Gremlin
-
TINKERPOP-2979 Add Date Manipulation Steps to Gremlin
-
TINKERPOP-2982 Allow gremlin-driver usage over HTTP
-
TINKERPOP-2984 Replace Moq mocking library in .NET tests
-
TINKERPOP-2986 StarGraph shall drop edge properties when dropping edges
-
TINKERPOP-2988 Serialization error throws an Invalid OpProcessor exception when using stream() API
-
TINKERPOP-2991 Reformat Javadoc link in reference docs
-
TINKERPOP-2994 PartitionStrategy does not work with mergeV() and mergeE()
-
TINKERPOP-2998 UnionStep.isStart needs a public getter
-
TINKERPOP-3008 Update concat() to accept traversal varargs and remove special treatment of inject child traversals (breaking)
-
Allowed
mergeV()
andproperty(Map)
to more easily defineCardinality
values for properties foronMatch
andonCreate
options. -
Removed
connectOnStartup
configuration option from gremlin-javascript. -
Added marker interface
PBiPredicate
for predefined predicates. -
Changed
Gremlin.version()
to read from the more specifically namedtinkerpop-version
attribute. -
Added warning on vertex property cardinality mismatch when reading GraphML.
-
Added a
union()
start step. -
Added the
concat()
step to performString
concatenations. -
Added
TinkerTransactionGraph
, a reference implementation of transactionalTinkerGraph
-
Replaced instances of Neo4j transaction graph with
TinkerTransactionGraph
for server, driver, and GLV integration tests -
Bumped to
ws
8.x forgremlin-javascript
. -
Added support for mid-traversal
E()
-steps to Gremlin core and GLV’s. -
Added nullable annotations to Gremlin.NET.
-
Bumped Objenesis to 3.3 in
gremlin-shaded
. -
Moved Java serializer, message and token classes from
gremlin-driver
to a newgremlin-util
module. -
Moved
SimpleSocketServer
and its initializers to a newgremlin-tools/gremlin-socket-server
module. -
Configured
gremlin-socket-server
to build a docker image which can be used for testing GLV’s. (Can be skipped with -DskipImageBuild) -
Reduced dependency from
gremlin-server
ontogremlin-driver
to a test scope only. -
Added
RequestOptions
andRequestOptionsBuilder
types to Go GLV to encapsulate per-request settings and bindings. -
Added
SubmitWithOptions()
methods toClient
andDriverRemoteConnection
in Go GLV to passRequestOptions
to the server. -
Changed default behavior for returning properties on graph elements for OLTP queries so that properties are now returned.
-
Detachment is no longer performed in
TraverserIterator
. -
Prevented
ConcurentModificationException
when removing all labels from aStep
. -
Added
materializeProperties
request option to control properties serialization. -
Modified serializers in to handle serialization and deserialization of properties.
-
Added functional properties to the graph structure components for .NET, GO and Python.
-
Modified the
GremlinScriptChecker
to extract thematerializeProperties
request option. -
Neo4jVertexProperty
no longer throw Exception forproperties()
, but return emptyIterable
. -
Modified the grammar to allow for parameters to be specified in Gremlin.
-
Modified
GremlinLangScriptEngine
to take bindings. -
Removed deprecated
getInstance()
method for grammarVisitor
implementations. -
Renamed all
MessageSerializer
implementations that used the "d0" suffix to drop that convention. -
Removed deprecated
GraphSONMessageSerializerGremlinV1d0
as this is nowGraphSONMessageSerializerV1
to be consistent with other naming. -
Added
GraphSONUntypedMessageSerializerV1
which was formerlyGraphSONMessageSerializerV1d0
to be consistent with other naming. -
Added
GraphSONUntypedMessageSerializerV3
which essentially matches the format of GraphSON 1.0 in its untyped form. -
Removed
gremlin-io-test
and moved that IO type of testing togremlin-util
. -
Bumped Groovy to 4.0.9.
-
Bumped GMavenPlus to 2.1.0.
-
Bumped Spark to 3.3.2.
-
Enabled building and testing with JDK 17.
-
Raised minimum node version for gremlin-javascript and gremlint to node 18
-
TINKERPOP-2526 Gremlin Console performance with incomplete multi-line scripts
-
TINKERPOP-2677 Upgrade to Groovy 3.x to fix XStream security vulnerability
-
TINKERPOP-2708 unhandledRejection upon connection failure (breaking)
-
TINKERPOP-2734 NullPointerException when calling Client chooseConnection()
-
TINKERPOP-2736 PluginAcceptror interface no more available in 3.5.3+ but referred in documentation
-
TINKERPOP-2741 GraphMLWriter error message is not properly formatted
-
TINKERPOP-2742 IO read may use wrong cardinality for property
-
TINKERPOP-2746 Medium security vulnerabilities on logback-core
-
TINKERPOP-2751 Transaction: tx.commit() hangs up in javascript client-lib
-
TINKERPOP-2754 Javascript client hangs if the server restarts
-
TINKERPOP-2765 Race condition during script creation when using UnifiedChannelizer
-
TINKERPOP-2767 Repeat Out Times traversal hangs indefinitely on first execution
-
TINKERPOP-2768 BranchStep pickToken should be integrated when added as a child option
-
TINKERPOP-2769 gremlin-server does not reply with a timeout response to all timed out requests
-
TINKERPOP-2771 Critical severity security vulnerabilty in commons-configuration 2.7
-
TINKERPOP-2775 Remove dependency on cloudflare CDN
-
TINKERPOP-2796 High severity security vulnerability found in snakeyaml
-
TINKERPOP-2801 Incorrect deprecation notice on gremlin-python
-
TINKERPOP-2803 Incorrect count() with sample() in TinkerGraph
-
TINKERPOP-2805 No results returned for multiple labels to select()
-
TINKERPOP-2809 High severity security vulnerability found in jackson databind
-
TINKERPOP-2815 Critical security vulnerability for apache commons-text
-
TINKERPOP-2816 Gherkin test issues for implementers
-
TINKERPOP-2817 "Could not find a type identifier for the class : class java.lang.Byte" occurs when dumping graph to graphson format
-
TINKERPOP-2820 gremlin-python _close_session race condition/FD leak
-
TINKERPOP-2826 Critical security vulnerability in ivy
-
TINKERPOP-2836 Github actions do not run java driver integration tests
-
TINKERPOP-2840 Test Failures on NonDex
-
TINKERPOP-2843 Security vulnerabilities found in netty version 4.1.77
-
TINKERPOP-2849 Incorrect implementation for GraphTraversalSource.With in gremlin-go
-
TINKERPOP-2855 Performance degradation in TinkerGraph 3.5.4 and 3.5.5
-
TINKERPOP-2856 math() step fails if variable name contains a keyword
-
TINKERPOP-2858 ConcurrentModificationException in ConnectiveStrategy
-
TINKERPOP-2861 Fix incorrect symlinks in source release zip
-
TINKERPOP-2863 HasId Step generates incorrect results when given a list of IDs mid-traversal
-
TINKERPOP-2870 mergeV requires key of 'new' to be quoted
-
TINKERPOP-2878 Incorrect handling of local operations when there are duplicate elements
-
TINKERPOP-2888 DefaultTraversal’s applyStrategies performance decrease
-
TINKERPOP-2891 Inconsistent behavior when comparing a counted value with a negative value
-
TINKERPOP-2893 Incorrectly comparing a counted value with multiple predicates
-
TINKERPOP-2901 Incorrect result caused by has(key, predicate)
-
TINKERPOP-2902 Critical security vulnerability in snakeyaml
-
TINKERPOP-2905 gremlin-go gorillaTransporter.logHandler is not initialized correctly and leads to panic
-
TINKERPOP-2911 CountStrategy converts count().is(0) wrongly under ConnectiveStrategy
-
TINKERPOP-2918 Utils.GenerateUserAgent assumes Gremlin.Net.dll to be present when, in some environments, it is not.
-
TINKERPOP-2920 SubgraphStrategy failure when property key not present on vertex in by()
-
TINKERPOP-2922 GroovyTranslator produces a Map not parseable by the grammar
-
TINKERPOP-2925 mergeE() in javascript producing an error
-
TINKERPOP-2926 Gremlin-Java > An UnsupportedOperationException occurs on calling next() after a merge step with the option step modulator if the element does not exist
-
TINKERPOP-2928 element() not working in conjunction with edge properties
-
TINKERPOP-2937 Throw an error when trying to use a closed connection
-
TINKERPOP-2944 Memory leak in Gremlin.Net driver if CancellationToken is used
-
TINKERPOP-2945 TextP.regex() Serialization Failing in Java driver
-
TINKERPOP-2948 PRISMA security vulnerabilty for jackson-databind 2.14.0 (breaking)
-
TINKERPOP-2953 Static import for __.values() overriden by Column.values()
-
TINKERPOP-2957 mergeV with sideEffect not correctly updating properties
-
TINKERPOP-2958 ScheduledExecutorService for timeouts are never cancelled
-
TINKERPOP-2965 FilterRankingStrategy removing labels it shouldn’t in certain conditions
-
TINKERPOP-1403 Provide support for GraphFilter.vertexProperties() (breaking)
-
TINKERPOP-2229 JavaScript GLV: Add GraphBinary Support
-
TINKERPOP-2348 Enable nullable checks
-
TINKERPOP-2373 Bump to Groovy 4.0
-
TINKERPOP-2471 Add logging to Gremlin.Net driver
-
TINKERPOP-2480 User agent for Gremlin drivers
-
TINKERPOP-2622 Enforce ordering semantics in feature tests
-
TINKERPOP-2631 GraphSON float serialization when ujson is used is imprecise
-
TINKERPOP-2633 Support Gremlin Console on Java 17
-
TINKERPOP-2693 Complete GraphBinary support in Python
-
TINKERPOP-2696 Refactor Gherkin test framework to better handle bindings
-
TINKERPOP-2703 Build on JDK17
-
TINKERPOP-2715 remove log4jv1 dependency
-
TINKERPOP-2723 Make GraphBinary the default serialization format for .NET and Python
-
TINKERPOP-2731 Bump to Spark 3.3.0
-
TINKERPOP-2737 Dockerized Build and Test Environments
-
TINKERPOP-2747 Add function callback hooks for gremlin-go authentication
-
TINKERPOP-2748 Medium security vulnerability on netty-all and netty-codec
-
TINKERPOP-2749 Support Windows Build
-
TINKERPOP-2761 Gremlin: use another manifest name for version
-
TINKERPOP-2762 getScopeKeys should respect the order of keys passed in Step
-
TINKERPOP-2764 AWS Neptune returns an inaccessible structured error response
-
TINKERPOP-2772 Add Spark utility to load vertices as RDD
-
TINKERPOP-2776 Add website analytics for TinkerPop apache site
-
TINKERPOP-2779 Floating ConnectedComponent Feature Failures for GitHub Actions on windows
-
TINKERPOP-2785 Inability to Mock Returned Result Types in Gremlin-Go Driver
-
TINKERPOP-2792 Better exception when JavaTranslator finds a method but not the overload
-
TINKERPOP-2794 Allow cancellation of Gremlin.Net async methods
-
TINKERPOP-2798 Add support for mid-traversal E()
-
TINKERPOP-2804 gherkin feature files should be on the classpath
-
TINKERPOP-2806 Provide method for provider plugins to get notified on script/query processing
-
TINKERPOP-2808 Improve Compatibility on ARM machines
-
TINKERPOP-2810 gremlinpython aiohttp dependency requirement too strict
-
TINKERPOP-2813 Improve driver usability for cases where NoHostAvailableException is currently thrown
-
TINKERPOP-2814 Add a SSL handshake timeout configuration to the driver
-
TINKERPOP-2818 exclude mockito-core in gremlin-core [compile scope] (import by jcabi-manifests)
-
TINKERPOP-2824 Properties on Elements (breaking)
-
TINKERPOP-2834 CloneVertexProgram optimization on SparkGraphComputer
-
TINKERPOP-2838 Add UserAgent GLV Tests
-
TINKERPOP-2841 Test and Fix Per Request Settings in Go
-
TINKERPOP-2842 Expand GremlinScriptChecker to include request id overrides
-
TINKERPOP-2844 Test and Fix Per Request Settings in Python
-
TINKERPOP-2850 Modifications to mergeV/E semantics
-
TINKERPOP-2852 Update Maven plugin for docker-images building for M1 compatibility
-
TINKERPOP-2853 Gremlin.Net driver should throw better exception message for unsupported GraphBinary type
-
TINKERPOP-2857 GraphSONRecordReader does not allow configure a GraphFilter during deserialization
-
TINKERPOP-2865 Add has steps injected by PartitionStrategy at the end of the filter
-
TINKERPOP-2873 Allow Union of Traversals
-
TINKERPOP-2890 Avoid exceptions on local scope based steps where possible
-
TINKERPOP-2899 SampleGlobalStep samples inefficiently with TraverserSet running into hash collisions
-
TINKERPOP-2912 Improve error message for addE() when traverser is incorrect
-
TINKERPOP-2919 Improve performance of FilterRankingStrategy for deeply nested traversals
-
TINKERPOP-2924 Refactor PropertyMapStep to be able to overwrite map method
-
TINKERPOP-2929 Introduce new marker interfaces to identify whether a step can perform write or delete or both
-
TINKERPOP-2931 Fix a few minor mergeV/E issues
-
TINKERPOP-2934 Optimize ObjectWritable for displaying content of Java Collection or Map to reduce OOM
-
TINKERPOP-2938 Revisit merge step feature tests
-
TINKERPOP-2939 The Merge onMatch map validation is during execution instead of construction
-
TINKERPOP-2941 DO NOT purge the output location if it has content in SparkGraphComputer
-
TINKERPOP-2947 Provide a plain text serializer for HTTP
-
TINKERPOP-2949 More strict handling of predicates
-
TINKERPOP-2954 Pass Gremlin Version from Maven to Java Without Manifests
-
TINKERPOP-2955 Support SSL in WebSocketClient
-
TINKERPOP-2959 Allow the grammar to support parameters
-
TINKERPOP-2963 Introduce new mimeType to return GraphSon-1.0 in text format
-
TINKERPOP-2967 Add untyped GraphSON 3.0 format
-
TINKERPOP-2975 Native transaction support for Tinkerpop
-
TINKERPOP-2977 Deprecate Neo4j-Gremlin
Please see the archived 3.6.8 changelog.
Please see the archived 3.6.7 changelog.
Please see the archived 3.6.6 changelog.
Please see the archived 3.6.5 changelog.
Please see the archived 3.6.4 changelog.
Please see the archived 3.6.3 changelog.
Please see the archived 3.6.2 changelog.
Please see the archived 3.6.1 changelog.
Please see the archived 3.6.0 changelog.
Please see the archived 3.5.8 changelog.
Please see the archived 3.5.7 changelog.
Please see the archived 3.5.6 changelog.
Please see the archived 3.5.5 changelog.
Please see the archived 3.5.4 changelog.
Please see the archived 3.5.3 changelog.
Please see the archived 3.5.2 changelog.
Please see the archived 3.5.1 changelog.
Please see the archived 3.5.0 changelog.
Please see the archived 3.4.13 changelog.
Please see the archived 3.4.12 changelog.
Please see the archived 3.4.11 changelog.
Please see the archived 3.4.10 changelog.
Please see the archived 3.4.9 changelog.
Please see the archived 3.4.8 changelog.
Please see the archived 3.4.7 changelog.
Please see the archived 3.4.6 changelog.
Please see the archived 3.4.5 changelog.
Please see the archived 3.4.4 changelog.
Please see the archived 3.4.3 changelog.
Please see the archived 3.4.2 changelog.
Please see the archived 3.4.1 changelog.
Please see the archived 3.4.0 changelog.
Please see the archived 3.3.11 changelog.
Please see the archived 3.3.10 changelog.
Please see the archived 3.3.9 changelog.
Please see the archived 3.3.8 changelog.
Please see the archived 3.3.7 changelog.
Please see the archived 3.3.6 changelog.
Please see the archived 3.3.5 changelog.
Please see the archived 3.3.4 changelog.
Please see the archived 3.3.3 changelog.
Please see the archived 3.3.2 changelog.
Please see the archived 3.3.1 changelog.
Please see the archived 3.3.0 changelog.
Please see the archived 3.2.11 changelog.
Please see the archived 3.2.10 changelog.
Please see the archived 3.2.9 changelog.
Please see the archived 3.2.8 changelog.
Please see the archived 3.2.7 changelog.
Please see the archived 3.2.6 changelog.
Please see the archived 3.2.5 changelog.
Please see the archived 3.2.4 changelog.
Please see the archived 3.2.3 changelog.
Please see the archived 3.2.2 changelog.
Please see the archived 3.2.1 changelog.
Please see the archived 3.2.0 changelog.
Please see the archived 3.1.8 changelog.
Please see the archived 3.1.7 changelog.
Please see the archived 3.1.6 changelog.
Please see the archived 3.1.5 changelog.
Please see the archived 3.1.4 changelog.
Please see the archived 3.1.3 changelog.
Please see the archived 3.1.2 changelog.
Please see the archived 3.1.1 changelog.
Please see the archived 3.1.0 changelog.
Please see the archived 3.0.2 changelog.
Please see the archived 3.0.1 changelog.
Please see the archived 3.0.0 changelog.
Please see the archived 3.0.0.M9 changelog.
Please see the archived 3.0.0.M8 changelog.
Please see the archived 3.0.0.M7 changelog.
Please see the archived 3.0.0.M6 changelog.
Please see the archived 3.0.0.M5 changelog.
Please see the archived 3.0.0.M4 changelog.
Please see the archived 3.0.0.M3 changelog.
Please see the archived 3.0.0.M2 changelog.