MODE-2191 Moved federation.spi to spi.federation.
MODE-2182 Added 2 methods to the REST service which allow uploading binaries under a [nt:folder]/[nt:file] hierarchy, creating the hierarchy if it doesn't exist.
MODE-2193 Fixed the hasNext() method of child node iteration when ACLs are involved.
Correct Java compiler warnings
MODE-2192 Fixed the importing of a system view document which contained checked-in nodes.
Updated release notes
MODE-2088 Added a ChangeBus implementation based on the L-MAX Disruptor. The old (queue based implementation) was not removed, but deprecated.
MODE-2088 Added WildFly support for the disruptor and changed/fixed various repository shutdown issues exposed by the current disruptor based bus.
MODE-2088 Ring buffer implementation, suitable for evaluation and trial.
MODE-2088 Added support for dynamically removing consumers, added more tests, and improved resiliency.
MODE-2088 Created RingBufferBuilder utility that can handle more options, and added garbage collection to the ring buffer. The latter is a thread that follows all other consumers, nulling out the entries that have already been processed. This will reduce the overall footprint, even when the entry objects may be large. Garbage collection is optional and disabled by default.
MODE-2088 Updated the RingBuffer implementation and finished the CircularChangeBus which is now used by the repository.
MODE-2088 RepositoryChangeBus actually requires producers to be on multiple threads, and this was causing problems for the 'single-thread-producer' initial implementation. Added simple locking in the RingBuffer.add(...) methods, and verified that this fixes the sequencer problems.

Interestingly, the time for my build is approximately 30-40 seconds slower (repeatedly) with the locking enabled, so we probably do want to consider getting rid of the locking but still supporting multiple producers.
MODE-2088 Eliminated the ring buffer's ability to submit entries in the same thread, which simplifies the consumers and makes them not need to be concurrent. Also changed the WorkspaceCache to register its own listeners that are better optimized for what they do. Kept the ability for the RepositoryChangeBus to have in-thread listeners (notified in the caller's thread), but these listeners only receive events via this route. Changed the JcrRepository to register various listeners directly on the bus rather than via the RepositoryCache (which was a listener and just delegated the register and unregister methods to the change bus). At this point, all tests pass successfully (multiple build passes).
MODE-2088 Made a few corrections based upon code review feedback.
MODE-2194 Changed the way the DatabaseBinaryStore interacts with JDBC connections and statements: each statement & connection will be closed on a per-operation basis. The only exception is reading the binary stream from a DB, in which case the connection & statement will be closed only when the stream is closed.
MODE-2194 Fixed a number of other issues around the DB binary store; refactored the test profiles and added a generic DB test for both ISPN and binary storage; completed testing against: H2, MySQL 5.5, PostgreSQL 8.x and 9.x, Oracle 10g and 11g and MS SqlServer 2008 R2.
Verify repository restore works
MODE-2200 Corrected the behavior of the FederatedDocumentStore and how it accesses binary metadata documents.

The fix for this uncovered another issue. By default, ModeShape replaces large string values with binary
values stored in the binary store. But when a connector (in particular the Git connector) builds a node
document with a large string, ModeShape was swapping the large string with a binary value and attempting
to update the reference count. Rather than doing this, ModeShape should not be replacing the connector's
large strings used as property values with binary values. Amended the commit to include a correction to
the `Connetors` class that always passed to the connectors a `DocumentTranslator` instance with a maximum
Long value for the large string size parameter, thereby preventing the connectors from replacing large
strings with binary values.
MODE-2201 Corrected the handling of non-file based URLs when reading configurations.