Avg Release Cycle
- 🛠 Fix bug in Disruptor DSL where some consumers wouldn't be included in the gating sequences.
- ➕ Add support for using the EventTranslator with batch publication.
- 👌 Support timeouts when shutting down the Disruptor using the DSL.
- ✂ Remove Sequencer.ensureAvailable() and move functionality into the ProcessingSequenceBarrier.
- ➕ Add get() method and deprecate getPublished() and getPreallocated() from the RingBuffer.
- ➕ Add TimeoutException to SequenceBarrier.waitFor().
- 🛠 Fix off by one bug in MultiProducerSequencer.publish(lo, hi).
- 👌 Improve testing for Sequencers.
- ➕ Add remaining capacity to RingBuffer
- ➕ Add batch publish methods to Sequencer
- ➕ Add DataProvider interface to decouple the RingBuffer and BatchEventProcessor
- ⬆️ Upgrade to gradle 1.5
- 👉 Make Sequencer public
- 🔨 Refactoring, merge Publisher back into Sequencer and some of the gating sequence responsibilities up to the sequencer.
- ⚡️ Significant Javadoc updates (thanks Jason Koch)
- 👷 DSL support for WorkerPool
- 🐎 Small performance tweaks
- ➕ Add TimeoutHandler and TimeoutBlockingWaitStrategy and support timeouts in BatchEventProcessor
- ✂ Remove millisecond wakeup from BlockingWaitStrategy
- ➕ Add RingBuffer.claimAndGetPreallocated
- ➕ Add RingBuffer.isPublished
- ✂ Remove claim strategies and replace with Publishers/Sequences, remove pluggability of claim strategies.
- Introduce new multi-producer publisher algorithm (faster and more scalable).
- Introduce more flexible EventPublisher interface that allow for static definition of translators that can handle local values.
- 👍 Allow for dynamic addition of gating sequences to ring buffer. Default it to empty, will allow messages to be sent and the ring buffer to wrap if there are no gating sequences defined.
- ✂ Remove batch writes to the ring buffer.
- ✂ Remove timeout read methods.
- 💅 Switch to gradle build and layout the source maven style.
- 🚚 API change, remove RingBuffer.get, add RingBuffer.getPreallocated for producers and RingBuffer.getPublished for consumers.
- 🔄 Change maven dependency group id to com.lmax.
- ➕ Added PhasedBackoffStrategy.
- ✂ Remove explicit claim/forcePublish and supply a resetTo method.
- ➕ Added better handling of cases when the gating sequence is ahead of the cursor value.
- 🐛 Bug fix, race condition in SequenceGroup when removing Sequences and getting current value
- 🐛 Bug fix, potential race condition in BlockingWaitStrategy.
- 🐛 Bug fix set initial SequenceGroup value to -1 (Issue #27).
- 🚚 Deprecate timeout methods that will be removed in version 3.