anchor.diff:  * `TraversalSideEffects` remain consistent and usable across multiple chained OLAP jobs.
   * Added `MemoryTraversalSideEffects` which wraps `Memory` in a `TraversalSideEffects` for use in OLAP.
   * `TraversalSideEffects` are now fully functional in OLAP save that an accurate global view is possible at the start of an iteration (not during).
  -* Updated the `TraversalSideEffects` API to support registered reducers and updated `get()`-semantics. (*breaking*)
  +* Updated the `TraversalSideEffects` API to support registered reducers and updated `get()`-semantics. *(breaking)*
   * Split existing `profile()` into `ProfileStep` and `ProfileSideEffectStep`.
  -* The `profile()`-step acts like a reducing barrier and emits `TraversalMetrics` without the need for `cap()`. (*breaking*)
  +* The `profile()`-step acts like a reducing barrier and emits `TraversalMetrics` without the need for `cap()`. *(breaking)*
   * Added `LocalBarrier` interface to allow traversers to remain distributed during an iteration so as to reduce cluster traffic.
   * Added `NoOpBarrierStep` as a `LocalBarrier` implementation of `LambdaCollectingBarrierStep(noOp)`.
   * `AggregateStep` implements `LocalBarrier` and thus, doesn't needlessly communicate its barrier traversers.
   * Fixed an OLAP-based `Barrier` synchronization bug.
  -* Fixed a semantic bug in `BranchStep` (and inheriting steps) where barriers reacted locally. (*breaking*)
  -* Added `MemoryComputeKey` for specification of `Memory` keys in `VertexProgram`. (*breaking*)
  -* Added `VertexComputeKey` for specification of vertex compute properties in `VertexProgram`. (*breaking*)
  +* Fixed a semantic bug in `BranchStep` (and inheriting steps) where barriers reacted locally. *(breaking)*
  +* Added `MemoryComputeKey` for specification of `Memory` keys in `VertexProgram`. *(breaking)*
  +* Added `VertexComputeKey` for specification of vertex compute properties in `VertexProgram`. *(breaking)*
   * Added `and`, `or`, and `addAll` to `Operator`.
  -* `Memory` API changed to support setting and adding values for reduction. (*breaking*)
  +* `Memory` API changed to support setting and adding values for reduction. *(breaking)*
   * `Memory` keys can be marked as broadcast and only those values are sent to workers on each iterator.
   * `Memory` keys can be marked transient and thus deleted at the end of the OLAP job.
   * Vertex compute keys can be marked transient and thus deleted at the end of the OLAP job.
  -* `VertexProgram` API changed to support `MemoryComputeKey` and `VertexComputeKey`. (*breaking*)
  +* `VertexProgram` API changed to support `MemoryComputeKey` and `VertexComputeKey`. *(breaking)*
   * `TraversalVertexProgram` able to execute OLAP and OLTP traversal sections dynamically within the same job.
  -* Removed `FinalGet` interface as all post processing of reductions should be handled by the reducing step explicitly. (*breaking*)
  +* Removed `FinalGet` interface as all post processing of reductions should be handled by the reducing step explicitly. *(breaking)*
   * Simplified all `SupplyingBarrierStep` implementations as they no longer require `MapReduce` in OLAP.
   * Simplified all `CollectingBarrierStep` implementations as they no longer require `MapReduce` in OLAP.
   * Simplified all `ReducingBarrierStep` implementations as they no longer require `MapReduce` in OLAP.
   * All steps in OLAP that used `MapReduce` now use `Memory` to do their reductions which expands the list of legal traversals.
   * `GroupStep` simplified with `GroupHelper.GroupMap` no longer being needed. Related to the removal of `FinalGet`.
  -* OLAP side-effects that are no longer generated by `MapReduce` are simply stored in `ComputerResult.Memory` w/ no disk persistence needed. (*breaking*)
  +* OLAP side-effects that are no longer generated by `MapReduce` are simply stored in `ComputerResult.Memory` w/ no disk persistence needed. *(breaking)*
   * Added `Generate` step interface which states that there could be a final generating phase to a side-effect or reduction (e.g. `GroupStep`).
   * `Barrier` step interface is now the means by which non-parallel steps communicate with their counterparts in OLAP.
   * Added `MemoryComputing` step interface which states that the step uses `MemoryComputeKeys` for its computation in OLAP.
  
positive.code: * Simplified the comparator model in `OrderGlobalStep` and `OrderLocalStep`.
  * Refactored `TraversalSource` model to allow fluent-method construction of `TraversalSources`.
  * Deprecated the concept of a `TraversalSource.Builder`.
  * Removed the concept of a `TraversalEngine`. All `Traversal` modulations are now mediated by `TraversalStrategies`. (*breaking*)
  * Added `SideEffectStrategy` for registering sideEffects in a spawned `Traversal`.
  * Added `SackStrategy` for registering a sack for a spawned `Traversal`.
  * Added `RequirementsStrategy` and `RequirementsStep` for adding dynamic `TraverserRequirements` to a `Traversal`.
  * Removed `EngineDependentStrategy`.
  * Renamed step interface `EngineDependent` to `GraphComputing` with method `onGraphComputer()`. (*breaking*)
  * Cleaned up various `TraversalStrategy` tests now that `TraversalEngine` no longer exists.
  * Added `GraphFilter` to support filtering out vertices and edges that won't be touched by an OLAP job.
  * Added `GraphComputer.vertices()` and `GraphComputer.edges()` for `GraphFilter` construction. (*breaking*)
  * `SparkGraphComputer`, `GiraphGraphComputer`, and `TinkerGraphComputer` all support `GraphFilter`.
  * Added `GraphComputerTest.shouldSupportGraphFilter()` which verifies all filtered graphs have the same topology.
  * Added `GraphFilterAware` interface to `hadoop-gremlin/` which tells the OLAP engine that the `InputFormat` handles filtering.
  
negative.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.
  