This is an automated email from the ASF dual-hosted git repository. colegreer pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/tinkerpop.git
commit 1e6dd6b8a72f6b9ae6494cd120e101cbcf0383f9 Merge: 2ac1eb9480 6c04598637 Author: Cole-Greer <[email protected]> AuthorDate: Thu Jun 12 19:58:35 2025 -0700 Merge branch '3.8-dev' CHANGELOG.asciidoc | 2 +- .../gremlin/process/traversal/step/filter/DedupGlobalStepTest.java | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --cc CHANGELOG.asciidoc index f3f4bc2fcc,5cbb1de1ac..a56814234c --- a/CHANGELOG.asciidoc +++ b/CHANGELOG.asciidoc @@@ -14,77 -14,7 +14,76 @@@ WITHOUT WARRANTIES OR CONDITIONS OF AN See the License for the specific language governing permissions and limitations under the License. //// -= TinkerPop3 CHANGELOG += TinkerPop CHANGELOG + +== TinkerPop 4.0.0 (Gremlin's Wildest Dreams) + +image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/images/gremlins-wildest-dreams.png[width=185] + +[[release-4-0-0]] +=== TinkerPop 4.0.0 (NOT OFFICIALLY RELEASED YET) + +* Bumped SLF4j to 2.0.16. +* Modified grammar to make `discard()` usage more consistent as a filter step where it can now be used to chain additional traversal steps and be used anonymously. +* Bumped GMavenPlus to 4.1.1 + +[[release-4-0-0-beta-1]] +=== TinkerPop 4.0.0-beta.1 (January 17, 2025) + - * Added the `PopContaining` interface designed to get label and `Pop` combinations held in a `PopInstruction` object. +* Added support for deserialization of `Set` for `gremlin-javascript`. +* Added grammar-based `Translator` for all languages including explicit ones for Java and anonymization. +* Removed old `Translator` infrastructure. +* Removed grammar support for enums to be used as variables. +* Changed `valueMap` in grammar to disallow the `boolean` argument as a variable to avoid ambiguous step calls. +* Added integer overflow checks for `sum()`. +* Modified Gremlin Server to only support 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`. +* Renamed the traversal discarding `none()` step to `discard()`. +* Added new list filtering step `none()`. +* Replaced `gremlin-groovy` with `gremlin-lang` as the default language in `gremlin-server`. +* Changed `sum()` to retain the type common to the stream rather than always promoting to `long` given the need for it to multiple by the `long` bulk value for the traverser. +* Added support for `Set` in GraphSON and GraphBinary serialization for `gremlin-javascript`, where it previously just converted to array. +* Added `Set` syntax in `gremlin-language`. +* Modified RequestInterceptor to be a `UnaryOperator<HttpRequest>` to abstract the underlying implementation. +* Renamed `MergeStep` to `MergeElementStep` as it is a base class to `mergeV()` and `mergeE()`. +* Renamed `TraversalMergeStep` of `merge()` to `MergeStep` for consistency. +* Removed the `gremlin-archetype` module in favor of newer sample applications in each GLV's `examples` folder. +* Bumped to `commons-collection4`. +* Made `mergeE()` and `mergeV()` consistent in their use as a start step and as mid-traversal by always promoting the currently created or matched `Element` to the `onCreate` or `onMatch` child traversal. +* 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 and `GremlinExecutor` will not be able to handle `Bytecode`. +* Removed `Bytecode` based authorization. +* Added `GremlinLang` which allows to generate gremlin-lang compatible string based on Traversal. +* Removed serialization support for `Bindings` and `Bytecode`. +* Changed `EmbeddedRemoteConnection` to prefer the grammar-based translator. +* Removed `Client.submit(Traversal)` as a mechanism for submitting traversal, prefer `DriverRemoteConnection` instead. +* Removed usage of `Bytecode` from `gremlin-python`. +* Added `auth` module in `gremlin-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. +* Updated `DateTime` serializers for Java and Python according to GraphBinaryV4. +* Defined GraphBinaryV4 specification. +* Defined GraphSONV4 specification. +* Update serializers for `label` of an `Element` as a singleton list of string for GraphBinaryV4. +* Added `bulked` byte to `Response Message` serialization for GraphBinaryV4. +* Added a `bulked` header set by cluster setting, as well as a with `bulked` request option to turn on the bulking of result data. +* Updated `List` and `BulkSet` serializers to implement `bulk` value flag for `List`. +* Renamed `maxContentLength` setting for Gremlin Driver to `maxResponseContentLength` and blocked incoming responses that are too large based on total response size. +* Renamed `maxContentLength` setting for Gremlin Server to `maxRequestContentLength`. +* Added missing strategies to the `TraversalStrategies` global cache as well as `CoreImports` in `gremlin-groovy`. +* Added missing strategies to `strategies.py` in `gremlin-python`. +* Updated `OptionsStrategy` in `gremlin-python` to take options directly as keyword arguments. +* Added static `instance()` method to `ElementIdStrategy` to an instance with the default configuration. +* Updated `ElementIdStrategy.getConfiguration()` to help with serialization. +* Updated `TraversalStrategyProxy` to utilize strategy names instead of strategy classes +* Established mechanism for using customer strategies in remote context by using `TraversalStrategyProxy` in Java, or `TraversalStrategy` in GLVs. +* 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 +* Enabled TCP Keep-Alive in GremlinServer. == TinkerPop 3.8.0 (NOT OFFICIALLY NAMED YET) diff --cc gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/DedupGlobalStepTest.java index a763e90ea7,77c8522735..ad94b46ac7 --- a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/DedupGlobalStepTest.java +++ b/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/DedupGlobalStepTest.java @@@ -29,9 -29,10 +29,11 @@@ import org.junit.Test import java.util.Arrays; import java.util.HashSet; import java.util.List; -import org.junit.Test; + +import static org.junit.Assert.assertEquals; + import static org.junit.Assert.assertEquals; + /** * @author Daniel Kuppitz (http://gremlin.guru) */
