All Versions
Latest Version
Avg Release Cycle
162 days
Latest Release

Changelog History
Page 2

  • v2.0.2 Changes

    May 29, 2017

    jctools-core changes:

    • ๐Ÿ‘€ PR #168 from @maseev - unifying the approach to queue size range checks and exceptions
    • PR #173 #174 #176 from @neomatrix369 - porting the SPSC linked array queues to non-unsafe versions
    • PR #172 #175 from @chbatey - porting the MPSC linked array queues to non-unsafe versions
    • ๐Ÿ›  Fix #179 - bug in MpmcArrayQueue and MpmcAtomicArrayQueue leading to false reporting of queue full on offer which races with a poll, reported by Sharath Gururaj (I think that is @flipsha)

    Further contributions:

    • โœ… JCStress testing support added by @victorparmar
    • Code tidy up by @avalanche123
    • ๐Ÿ‘ Experimental support for MPSC proxy channels by @kay

    Thanks everyone!

  • v2.0.1 Changes

    January 03, 2017

    ๐Ÿ›  Fixing up a couple of issues:

    • 0๏ธโƒฃ #143 - toString() didn't work for many of the queues because the default implemetation relied on iterators.
    • ๐Ÿ›  #151 fixed by @cliffclick and helped by @vyazelenko - bringing in some fixes and improvements to NHBM
    • Minor javadoc touchups
  • v2.0 Changes

    October 28, 2016
    • ๐Ÿš€ PR #94 : The NonBlockingHashMap by @cliffclick is now released as part of JCTools core. Also thanks to @pcholakov for help is converting and sanity testing some of the benchmark code (PR #108).
    • PR #129 : MPSC linked array queues code is tidied up and split into 3 implementations. The old Chunked is here, but constructor has changed. Growable is split from chunked and Unbounded is added.
    • ๐Ÿ› Bug #135 : Bug fix for the growable MPSC case.
    • PR #127 : Releasing JCTools as an OSGi bundle, thanks @CodingFabian !
  • v1.2.1 Changes

    June 24, 2016
    • PERF: Fix GC nepotism issue in SpscUnboundedArrayQueue (Issue #95, PR #96, courtesy of @akarnokd)
    • PERF: Unified base implementation to SpscUnbounded/Growable (Issue #103, PR #107, courtesy of @pcholakov)
    • ๐Ÿ› BUG: IllegalStateException during MpscChunkedArrayQueue.offer(....) (Issue #115)
    • ๐Ÿ› BUG: new MpscChunkedArrayQueue(1024, Integer.MAX_VALUE, ...) throws confusing exception (Issue #116)
    • ๐Ÿ› BUG: SpscGrowable/SpscUnbounded/SpscAtomic/SpscUnboundedAtomic !isEmpty() but poll() == null (Issue #119)
    • ๐Ÿ› BUG: MpscArrayQueue.offerIfBelowTheshold is broken: offering is still possible when queue is full (Issue #120)
  • v1.2 Changes

    March 15, 2016
    • โž• Added MpscChunkedArrayQueue an MPSC bounded queue aiming to replace current usage of MpscLinkedQueue in usecases where low footprint AND low GC churn are desirable. This is acheived through usage of smaller buffers which are then linked to either bigger buffers or same sized buffers as queue size demands.
    • ๐Ÿ›  Fixed a GC nepotism issue in linked queues. This is not a bug but an observable generational GC side effect causing false promotion of linked nodes because of a reference from a promoted dead node. See discussion here: akka/akka#19216
    • ๐Ÿ›  Fixed an inconsistently handled exception on offering null elements. This was a bug in MpmcArrayQueue.
    • ๐Ÿ”จ Formatting and refactoring

    Contributions made by:

  • v1.1 Changes

    March 16, 2016
    • ๐Ÿ†• New API offered under MessagePassingQueue
    • ๐Ÿ†• New Queues
    • ๐Ÿ›  Minor Bug fixes
  • v1.1-alpha Changes

    April 29, 2015

    Some new toys in core since V1.0:

    • ๐Ÿ†• New Spsc queues, growable and unlimited ArrayQueues
    • ๐Ÿ†• New Atomic implementations which don't use Unsafe (thanks to @akarnokd)
    • ๐Ÿ›  Minor tweaks and fixes
  • v1.0 Changes

    JCTools offers java.util.Queue implementations for concurrent use. The queues ๐Ÿ‘Œ support a limited subset of the interface focusing on message passing rather ๐Ÿ‘ than collection like semantics. In particular the queues do not support:

    • The iterator() method
    • โœ‚ remove()
    • contains()