All Versions
Latest Version
Avg Release Cycle
162 days
Latest Release

Changelog History
Page 1

  • v4.0.1 Changes

    ๐Ÿš€ This is a major release, following the removal of the QueueFactory, AtomicQueueFactory and org.jctools.queues.spec ๐Ÿš€ package(deprecated since 3.0). These classes are still used for testing, but are not part of the release artifacts anymore.

    ๐Ÿ†• New unpadded queue variants are also included in this release.

    Further changes included:

    • ๐Ÿ›  Fix table-size long math on very large tables
    • #355 Adher to size semantic for queue emptiness for MpscLinkedArrayQueue variants
  • 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