<commit_before>////
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements.  See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
////
TinkerPop3 CHANGEGLOG
=====================

TinkerPop 3.0.0 (A Gremlin Rāga in 7/16 Time)
---------------------------------------------

image::http://www.tinkerpop.com/docs/current/images/gremlin-hindu.png[width=225]

TinkerPop 3.0.0.GA (NOT OFFICIALLY RELEASED YET)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* Added `willAllowId` method to features related to vertices, edges and vertex properties to test if an identifier can be use when `supportsUserSuppliedIds` is `true`.
* Fixed a bug in `GraphTraversal.choose(predicate,trueTraversal,falseTraversal)`.
* Removed `MapTraversal`, `MapTraverserTraversal`, `FilterTraversal`, and `FilterTraverserTraversal` as these are simply `__.map(function)` and `__.filter(predicate)`.
* Include `hadoop-gremlin` Hadoop configuration sample files in Gremlin Console distribution.
* Iteration of results in Gremlin Server occur in the same thread as evaluation and prior to transaction close.
* TinkerGraphComputer now supports every `ResultGraph`/`Persist` combination.
* `GraphComputerTest` extended with validation of the semantics of all `ResultGraph`/`Persist` combinations.
* GiraphGraphComputer no longer requires an extra iteration and MapReduce job to derive the full `Memory` result.
* SparkGraphComputer now supports `InputRDD` and `OutputRDD` to allow vendors/users to use a `SparkContext` to read/write the graph adjacency list.
* Added `Scope.getScopeValueByKey()` static method so all "selecting" steps use the same pattern for map, path, and sideEffect data retrieval.

TinkerPop 3.0.0.M9 (Release Date: May 26, 2015)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* Removed `GraphComputer.isolation()` as all implementations use standard BSP.
* Added a Gremlin Server `LifeCycleHook` to ensure that certain scripts execute once at startup and once at shutdown.
* `has(key)` and `hasNot(key)` are now aliases for `where(values(key))` and `where(not(values(key)))`, respectively.
* TinkerGraph classes are now final to restrict user and vendor extension.
* Added `TraversalStrategy.VendorOptimization` to ensure that all TinkerPop optimizations execute first on the known TinkerPop steps.
* Added `TailGlobalStep` and `TailLocalStep` (`tail()`) which gets objects from the end of the traversal stream.
* `AndStep` and `OrStep` are now simply markers where `WhereStep(a.and(b).and(c)...and(z))` is the compilation.
* Moved `Compare`, `Contains`, `Order`, `Operator`, and `P` to `process/traversal` from `structure/` as they are process-based objects.
* `HasContainer` now uses `P` predicate as helper methods and tests are more thorough on `P`.
* Changed Gremlin Server integration/performance tests to be runnable from within the `gremlin-server` directory or from the project root.<commit_msg>updated CHANGELOG with Neo4j note.<commit_after>////
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements.  See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
////
TinkerPop3 CHANGEGLOG
=====================

TinkerPop 3.0.0 (A Gremlin Rāga in 7/16 Time)
---------------------------------------------

image::http://www.tinkerpop.com/docs/current/images/gremlin-hindu.png[width=225]

TinkerPop 3.0.0.GA (NOT OFFICIALLY RELEASED YET)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* Added back neo4j-gremlin as the licensing of the Neo4j API is now Apache2.
* Added `willAllowId` method to features related to vertices, edges and vertex properties to test if an identifier can be use when `supportsUserSuppliedIds` is `true`.
* Fixed a bug in `GraphTraversal.choose(predicate,trueTraversal,falseTraversal)`.
* Removed `MapTraversal`, `MapTraverserTraversal`, `FilterTraversal`, and `FilterTraverserTraversal` as these are simply `__.map(function)` and `__.filter(predicate)`.
* Include `hadoop-gremlin` Hadoop configuration sample files in Gremlin Console distribution.
* Iteration of results in Gremlin Server occur in the same thread as evaluation and prior to transaction close.
* TinkerGraphComputer now supports every `ResultGraph`/`Persist` combination.
* `GraphComputerTest` extended with validation of the semantics of all `ResultGraph`/`Persist` combinations.
* GiraphGraphComputer no longer requires an extra iteration and MapReduce job to derive the full `Memory` result.
* SparkGraphComputer now supports `InputRDD` and `OutputRDD` to allow vendors/users to use a `SparkContext` to read/write the graph adjacency list.
* Added `Scope.getScopeValueByKey()` static method so all "selecting" steps use the same pattern for map, path, and sideEffect data retrieval.

TinkerPop 3.0.0.M9 (Release Date: May 26, 2015)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* Removed `GraphComputer.isolation()` as all implementations use standard BSP.
* Added a Gremlin Server `LifeCycleHook` to ensure that certain scripts execute once at startup and once at shutdown.
* `has(key)` and `hasNot(key)` are now aliases for `where(values(key))` and `where(not(values(key)))`, respectively.
* TinkerGraph classes are now final to restrict user and vendor extension.
* Added `TraversalStrategy.VendorOptimization` to ensure that all TinkerPop optimizations execute first on the known TinkerPop steps.
* Added `TailGlobalStep` and `TailLocalStep` (`tail()`) which gets objects from the end of the traversal stream.
* `AndStep` and `OrStep` are now simply markers where `WhereStep(a.and(b).and(c)...and(z))` is the compilation.
* Moved `Compare`, `Contains`, `Order`, `Operator`, and `P` to `process/traversal` from `structure/` as they are process-based objects.
* `HasContainer` now uses `P` predicate as helper methods and tests are more thorough on `P`.
* Changed Gremlin Server integration/performance tests to be runnable from within the `gremlin-server` directory or from the project root.
{'fraction_non_alphanumeric': 0.12179487179487179, 'fraction_numerical': 0.008082497212931996, 'mean_word_length': 5.071912013536379, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 4, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3780962', 'n_tokens_mistral': 2037, 'n_tokens_neox': 1862, 'n_words': 850}