All Versions
Latest Version
Avg Release Cycle
162 days
Latest Release

Changelog History
Page 1

  • v3.3.0 Changes

    ๐Ÿš€ This is a minor release with new features and several bug fixes.

    ๐Ÿ› Bug fixes:

    • ๐Ÿšš #334 NBHMLong iterators do not remove NO_KEY (thanks @matteobertozzi)
    • ๐Ÿšš #335 NBHM/Long/Identity iterators only removes keys if values have not changed. Now follow JDK convention.
    • #336 MpscBlockingConsumerArrayQueue: fix race writing to blocked field (thanks @philipa)
    • #339 fill wakeup call can spin forever(or until a consumer is blocked again) on MpscBlockingConsumerArrayQueue

    ๐Ÿ†• New features:

    • #340 MpscBlockingConsumerArrayQueue provide a new blocking drain variant (thanks @franz1981)
  • v3.2.0 Changes

    November 27, 2020

    ๐Ÿš€ This is a minor release with one new feature and several bug fixes.

    ๐Ÿ› Bug fixes:

    • ๐Ÿšš #319 Relying on test cases provided by @alefedor (#328) we apply the fix used for #205 to NonBlockingHashMapLong and NonBlockingIdentityHashMap to provide getAndSet like semantics for put and remove.
    • #330 Fix a NonBlockingIdentityHashMap replace bug. During this fix some further work was done to bring the code closer in line to the current state of NonBlockingHashMap

    โœจ Enhancements:

    ๐Ÿ†• New features:

    • ๐Ÿ‘€ After long incubation and following a user request (see #321), we move counters (introduced in #93 by @qwwdfsad) into core!
    • ๐Ÿ”€ Merging some experimental utils and a #264 we add a PaddedAtomicLong, thanks @pveentjer

    Thanks to all the contributors, bug reporters and reviewers!

  • v3.1.0 Changes

    August 06, 2020

    ๐Ÿš€ This is a minor release with one new feature and several bug fixes.

    ๐Ÿ› Bug fixes:

    ๐Ÿ†• New feature:

    • #314 MpscBlockingConsumerArrayQueue::offerIfBelowThreshold is added (thanks @philipa)

    Thanks to all the contributors, bug reporters and reviewers!

  • v3.0.1

    August 06, 2020
  • v3.0.0 Changes

    January 03, 2020

    This is a major version as there are some minor API breaking changes which may effect users. Please apply with care and provide feedback. The breaking changes:

    • โœ‚ Removed MpscLinkedQueue7 and MpscLinkedQueue8 and consolidate into parent. This removes the need for the builder method on MpscLinkedQueue.
    • ๐Ÿ“ฆ Deprecated QueueFactory and spec package classes. These are not used by any users AFAICT and are only used for testing internally.
    • โœ‚ Removed some internal classes and reduced visibility of internal utilities where practical. The @InternalAPI tagging annotation is also used more extensively to discourage dependency.

    We also have some great new queues for y'all to try:

    • #226: XADD unbounded mpsc/mpmc queue: highly scalable linked array queues (from @franz1981)
    • ๐Ÿ†• New blocking consumer MPSC (with contributions and bug fixes from @njhill)

    ๐Ÿ› Bug fixes:

    • #209: On Arm7, non-volatile long can have unaligned address leading to error
    • #216: Size of SpscGrowableArrayQueue can exceeds max capacity (from @franz1981 PR #218)
    • #241: Protect the producer index in case of OutOfMemoryError (from @franz1981)
    • #244: Long NBHM AssertionError when replacing missing key (thanks @fvlad for reporting and @cliffclick for assistance and review)
    • ๐Ÿ›  Fix argument checks on fill/drain methods
    • ๐Ÿ›  Fix LGTM warning, potential int overflow bug b467d29, 15d944c, 6367951

    ๐Ÿ‘Œ Improvements:

    • Don't mark generated linked atomic queues as final (from @kay 9db418c)
    • #211: Implement batching methods on MpmcArrayQueue (from @franz1981)
    • #228: Iterator for MpscArrayQueue and MpscUnboundedArrayQueue (PR #229 from @srdo)
    • ๐Ÿ‘ Iterator support also available for the *ArrayQueue classes
    • #208: MpscLinkedAtomicQueue can be made not final
    • ๐Ÿ‘ป #237: Add scale to exception message to help debug netty/netty#8916 (from @johnou)

    โœ… Many other improvements to testing, javadoc, formatting were made with some contributions from @Hearen @JanStureNielsen @nastra thanks!

  • v3.0.0-rc

    December 31, 2019
  • v2.1.2 Changes

    March 11, 2018

    ๐Ÿšš PR #202 : Fix NBHM bug in remove/replace where ref equality was used to report val match instead of equals (thanks @henri-tremblay)
    PR #206 : Improved javadoc (thanks @franz1981)
    ๐Ÿšš Issue #205 : NBHM remove/put getAndSet semantics issue (thanks @fvlad for reporting and @cliffclick for review)
    Issue #208 : no need for queues to be final

    ๐Ÿ’… Further improvements to testing and code style.

    ๐Ÿš€ Not included in the release, but very much appreciated, are contributions from @franz1981 and @qwwdfsad to the experimental part of JCTools, which may one day get merged into core, and @maseev contribution to integrate build with

  • v2.1.1 Changes

    September 25, 2017

    ๐Ÿš€ PR #193 : Fix API break on release in MpscLinkedAtomicQueue
    Issue #194 : Fix MpscCompoundQueue::relaxedOffer bug
    Issue #196 : Fix MpscLinkedArray::fill bug
    Issue #197 : Fix MpscChunkedQueue:fill bug

    โœ… Further improvements to testing.
    Thanks @Scottmitch and @mlex for reporting issues and helping resolve them!

  • v2.1.0 Changes

    August 21, 2017

    ๐Ÿ› Bug fixes:

    • PR #188 JvmInfo called from Atomic queues invokes Unsafe methods (thanks @kay )

    ๐Ÿ”‹ Features:

    • PR #187 + #186 + #185 Atomic queues are now generated from source (thanks @kay )
    • ๐Ÿšš PR #184 + #190 MpscLinked supports a remove method (thanks @Scottmitch )
    • ๐Ÿ‘ PR #183 Make SpscLinkedArray queues support the MPQ interface (thanks @franz1981 )
    • โœ… PR #181 Testing was expanded for NBHM, and minor issue fixed (thanks @qwwdfsad )

    โœ… Some further improvements to formatting, javadoc and testing and general tending to the garden by @nitsanw

  • 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!