anchor.diff:  * `DedupGlobalStep` can now handle star-bound `by()`-modulators and scoped keys on `GraphComputer`.
   * Added `Computer` which is a builder for `GraphComputers` that is serializable.
   * `PersistedOutputRDD` now implements `PersistResultGraphAware` and thus, no more unneeded warnings when using it.
  -* Renamed `StandardTraversalMetrics` to `DefaultTraversalMetrics` given the `DefaultXXX`-convention throughout. (*breaking*)
  +* Renamed `StandardTraversalMetrics` to `DefaultTraversalMetrics` given the `DefaultXXX`-convention throughout. *(breaking)*
   * Bumped to Apache Hadoop 2.7.2.
   * Fixed a bug around profiling and nested traversals.
   * Added `gremlin.hadoop.defaultGraphComputer` so users can use `graph.compute()` with `HadoopGraph`.
  
positive.code: * Added validation to `GryoMapper` Kryo identifiers before construction to prevent accidental duplicates.
  * Added `GraphStep.addIds()` which is useful for `HasContainer` "fold ins."
  * Added a static `GraphStep.processHashContainerIds()` helper for handling id-based `HasContainers`.
  * `GraphStep` implementations should have `g.V().hasId(x)` and `g.V(x)` compile equivalently. (*breaking*)
  * Optimized `ExpandableStepIterator` with simpler logic and increased the likelihood of bulking.
  * Optimized `TraverserRequirement` calculations.
  * `Step.addStart()` and `Step.addStarts()` now take `Traverser.Admin<S>` and `Traverser.Admin<S>`, respectively. (*breaking*)
  * `Step.processNextStart()` and `Step.next()` now return `Traverser.Admin<E>`. (*breaking*)
  * `Traversal.addTraverserRequirement()` method removed. (*breaking*)
  * Fixed a `hashCode()` bug in `OrderGlobalStep` and `OrderLocalStep`.
  * Added `OrderLimitStrategy` which will ensure that partitions are limited before being merged in OLAP.
  * `ComparatorHolder` now separates the traversal from the comparator. (*breaking*)
  * Bumped to Apache Spark 1.6.1.
  * If no Spark serializer is provided then `GryoSerializer` is the default, not `JavaSerializer`.
  * Added `Operator.sumLong` as a optimized binary operator intended to be used by `Memory` reducers that know they are dealing with longs.
  
negative.code: This release also includes changes from <<release-3-1-2-incubating, 3.1.2-incubating>>.
  
  * Bumped to Neo4j 2.3.3.
  * Renamed variable `local` to `fs` in `HadoopGremlinPlugin` to avoid a naming conflict with `Scope.local`. *(breaking)*
  * Added `GraphTraversal.optional()` which will use the inner traversal if it returns results, else it won't.
  * `GroupStep` and `GroupSideEffectStep` make use of mid-traversal reducers to limit memory consumption in OLAP.
  * Added `GraphTraversal.program(VertexProgram)` to allow arbitrary user vertex programs in OLAP.
  