All Versions
51
Latest Version
Avg Release Cycle
136 days
Latest Release
-
Changelog History
Page 4
Changelog History
Page 4
-
v2.10.1 Changes
- ๐ Bug fix, correct OSGI metadata.
- โ Remove unnecessary code in wait strategies.
-
v2.10 Changes
- โ Remove deprecated timeout methods.
- โ Added OSGI metadata to jar file.
- โ Removed PaddedAtomicLong and use Sequence in all places.
- ๐ Fix various generics warnings.
- ๐ Change Sequence implementation to work around IBM JDK bug and improve performance by ~10%.
- โ Add a remainingCapacity() call to the Sequencer class.
-
v2.9 Changes
- ๐ Deprecate timeout methods for publishing.
- โ Add tryNext and tryPublishEvent for events that shouldn't block during delivery.
- ๐ Small performance enhancement for MultithreadClaimStrategy.
-
v2.8 Changes
- Create new MultithreadClaimStrategy that works between when threads are highly contended. Previous implementation is now called MultithreadLowContentionClaimStrategy
- ๐ Fix for bug where EventProcessors weren't being added as gating sequences to the ring buffer.
- ๐ Fix range tracking bug in Histogram
-
v2.7.1 Changes
- ๐ Artefacts made available via maven central repository. (groupId:com.googlecode.disruptor, artifactId:disruptor) See UsingDisruptorInYourProject for details.
-
v2.7 Changes
- ๐ Changed construction API to allow user supplied claim and wait strategies
- โ Added AggregateEventHandler to support multiple EventHandlers from a single BatchEventProcessor
- ๐ Support exception handling from LifecycleAware
- โ Added timeout API calls for claiming a sequence when publishing
- ๐ค Use LockSupport.parkNanos() instead of Thread.sleep() to reduce latency
- ๐ Reworked performance tests to better support profiling and use LinkedBlockingQueue for comparison because it performs better on the latest processors
- ๐ Minor bugfixes
-
v2.6 Changes
- ๐ท Introduced WorkerPool to allow the one time consumption of events by a worker in a pool of EventProcessors.
- ๐ New internal implementation of SequenceGroup which is lock free at all times and garbage free for get and set operations.
- SequenceBarrier now checks alert status on every call whether it is blocking or not.
- โ Added scripts in preparation for publishing binaries to maven repository.
-
v2.5.1 Changes
- ๐ Bugfix for supporting SequenceReportingEventHandler from DSL. (issue 9)
- ๐ Bugfix for multi-threaded publishing to multiple ring buffers (issue 10)
- ๐ Change SequenceBarrier to always check alert status before entering waitFor cycle. Previously this was only checked when the requested sequence was not available.
- ๐ Change ClaimStrategy to not spin when the buffer has no available capacity, instead go straight to yielding to allow event processors to catch up.
-
v2.5 Changes
- ๐ Changed RingBuffer and publisher API so any mutable object can be placed in the RingBuffer without having to extend AbstractEvent
- โ Added EventPublisher implementation to allow the publishing steps to be combined into one action
- ๐ DisruptorWizard has been renamed to Disruptor with added support for any subtype of EventProcessor
- ๐ Introduced a new Sequencer class that allows the Disruptor to be applied to other data structures such as multiple arrays. This can be a very useful pattern when multiple event processors work on the same event and you want to avoid false sharing. The Diamond for FizzBuzz is a good example of the issue. It is also higher performance by avoiding the pointer indirection when arrays of primitives are used.
- ๐ Further increased performance and scalability by reducing false sharing.
- โ Added progressive backoff strategy to the MultiThreadedClaimStrategy to prevent publisher getting into the claim cycle when the buffer is full because of a slow EventProcessor.
- ๐ Significantly improved performance to WaitStrategy.Option.BLOCKING
- Introduced SequenceGroup to allow dynamic registration of EventProcessors.
-
v2.0.2 Changes
- ๐ Rework of "False Sharing" prevention which makes the performance much more predictable across all platforms. Special thanks to Jeff Hain for helping focus in on a solution.