Hello TinkerPop vendors,

Please see:
        
        
https://git-wip-us.apache.org/repos/asf?p=incubator-tinkerpop.git;a=tag;h=refs/tags/3.0.0.M9-incubating-rc3

If vendors could test against their products that would be excellent. We are 
getting very very close. I've been working closely with the Titan codebase and 
everything is pretty spick and span on that front and they do a lot in terms of 
vendor-specific steps, traversal strategies, OLAP GraphComputer, transactions, 
etc. Please report back your requirements. 

Here our our last two tickets for GA:
        
https://issues.apache.org/jira/browse/TINKERPOP3-549?jql=fixVersion%20%3D%203.0.0.GA%20AND%20project%20%3D%20TINKERPOP3%20AND%20resolution%20%3D%20Unresolved%20ORDER%20BY%20priority%20DESC
However, if people are interested in an M9, we are more than happy to do so, so 
please express your desires.

The CHANGELOG since RC2 is:

* 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.
* Moved the string methods of `TraversalHelper` to `StringFactory`.
* Renamed JSON-related serializers for Gremlin Server to be more consistent 
with GraphSON naming.
* Removed `HasTraversalStep` in favor of new `P.traversal` model with `HasStep`.
* Fixed bug in `WsGremlinTextRequestDecoder` where custom serializers from 
graphs were not being used.
* Added `AndP` which allows for the `and()`-ing of `P` predicates.
* `Order.opposite()` is now `reversed()` as that is a `Comparator` interface 
method with the same semantics.
* `Compare/Contains/P.opposite()` are now `negate()` as that is a `BiPredicate` 
interface method with the same semantics.
* `has(traversal)` is replaced by `where(traversal)` and `has(key,traversal)`. 
`HasXXX` is always with respects to an element property.
* Added `TraversalScriptHelper` with static methods for dynamically creating a 
`Traversal` from a JSR 223 `ScriptEngine`.
* Changed `SubgraphStrategy` to take `Traversal` rather than `Predicate` for 
filtering.
* Improved `SubgraphStrategy` to only modify the `Traversal` if filtering was 
required.
* Improved logging of errors in the `HttpGremlinEndpointHandler` to include a 
stracktrace if one was present.
* Moved `AbstractGremlinSuite.GraphProviderClass` to 
`org.apache.tinkerpop.gremlin.GraphProviderClass`.
* Simplified the Gremlin-Groovy test suite where there is now no distinction 
between `STANDARD` and `COMPUTER` tests.
* `VertexProgram` and `MapReduce` now add a `Graph` parameter to 
`loadState(Graph, Configuration)`.
* Added `ScopingStrategy` which auto-scopes `select()` and `where()` so the 
language looks clean.
* Added `Scoping` as a marker interface to state that a step desires a 
particular `Scope`.
* `SelectStep`, `SelectOneStep`, and `WhereStep` support both `Scope.local` and 
`Scope.global` for `Map<String,Object>` or `Path` analysis, respectively.
* Fixed a bug in the `TraversalStrategies` sort algorithm.
* Removed numerous unused static utility methods in `TraversalHelper`.
* TinkerGraph process suite tests are now running with and without strategies 
in place.
* Added `IncidentToAdjacentStrategy` which rewrites `outE().inV()`, 
`inE().outV()` and `bothE().otherV()` to `out()`, `in()` and `both()` 
respectively.
* Renamed `ComparatorHolderRemovalStrategy` to `OrderGlobalRemovalStrategy` as 
it now only applies to `OrderGlobalStep`.
* Anonymous traversal no longer have `EmptyGraph` as their graph, but instead 
use `Optional<Graph>.isPresent() == false`.
* Added `Traversal.Admin.setGraph(Graph)` as strategies that need reference to 
the graph, need it across all nested traversals.
* `AbstractLambdaTraversal` is now smart about `TraversalParent` and 
`TraversalStrategies`.

Take care,
Marko.

http://markorodriguez.com

Reply via email to