All Versions
31
Latest Version
Avg Release Cycle
103 days
Latest Release
1050 days ago

Changelog History
Page 2

  • v1.1.0 Changes

    October 31, 2018

    ๐Ÿ’Ž concurrent-ruby:

    • ๐Ÿ’Ž requires at least Ruby 2.0
    • ๐Ÿ’Ž Promises
      ๐Ÿšš are moved from concurrent-ruby-edge to concurrent-ruby
    • โž• Add support for TruffleRuby
      • (#734) Fix Array/Hash/Set construction broken on TruffleRuby
      • AtomicReference fixed
    • ๐Ÿ›  fixed documentation and README links
    • ๐Ÿ›  fix Set for TruffleRuby and Rubinius
    • CI stabilization
    • โœ‚ remove sharp dependency edge -> core
    • โœ‚ remove warnings
    • ๐Ÿ“š documentation updates
    • Exchanger is no longer documented as edge since it was already available in
      ๐Ÿ’Ž concurrent-ruby
    • ๐Ÿ’Ž (#644) Fix Map#each and #each_pair not returning enumerator outside of MRI
    • ๐Ÿ’Ž (#659) Edge promises fail during error handling
    • ๐Ÿ’Ž (#741) Raise on recursive Delay#value call
    • ๐Ÿ’Ž (#727) #717 fix global IO executor on JRuby
    • ๐Ÿ’Ž (#740) Drop support for CRuby 1.9, JRuby 1.7, Rubinius.
    • ๐Ÿšš (#737) Move AtomicMarkableReference out of Edge
    • ๐Ÿ’Ž (#708) Prefer platform specific memory barriers
    • ๐Ÿ’Ž (#735) Fix wrong expected exception in channel spec assertion
    • ๐Ÿ’Ž (#729) Allow executor option in Promise#then
    • ๐Ÿ’Ž (#725) fix timeout check to use timeout_interval
    • โšก๏ธ (#719) update engine detection
    • ๐Ÿ’Ž (#660) Add specs for Promise#zip/Promise.zip ordering
    • ๐Ÿ’Ž (#654) Promise.zip execution changes
    • ๐Ÿ’Ž (#666) Add thread safe set implementation
    • ๐Ÿ’Ž (#651) #699 #to_s, #inspect should not output negative object IDs.
    • โš  (#685) Avoid RSpec warnings about raise_error
    • ๐Ÿ’Ž (#680) Avoid RSpec monkey patching, persist spec results locally, use RSpec
      v3.7.0
    • ๐Ÿ’Ž (#665) Initialize the monitor for new subarrays on Rubinius
    • ๐Ÿ’Ž (#661) Fix error handling in edge promises

    ๐Ÿ’Ž concurrent-ruby-edge:

    • ๐Ÿ’Ž (#659) Edge promises fail during error handling
    • Edge files clearly separated in lib-edge
    • โž• added ReInclude
    • add Promises.zip_futures_over_on
  • v1.1.0.pre2 Changes

    September 18, 2018

    ๐Ÿ’Ž concurrent-ruby:

    • ๐Ÿ›  fixed documentation and README links
    • ๐Ÿ›  fix Set for TruffleRuby and Rubinius
    • ๐Ÿ’Ž use properly supported TruffleRuby APIs

    ๐Ÿ’Ž concurrent-ruby-edge:

    • add Promises.zip_futures_over_on
  • v1.1.0.pre1 Changes

    August 15, 2018

    ๐Ÿ’Ž concurrent-ruby:

    • ๐Ÿ’Ž requires at least Ruby 2.0
    • ๐Ÿ’Ž Promises are moved from concurrent-ruby-edge to concurrent-ruby
    • โž• Add support for TruffleRuby
      • (#734) Fix Array/Hash/Set construction broken on TruffleRuby
      • AtomicReference fixed
    • CI stabilization
    • โœ‚ remove sharp dependency edge -> core
    • โœ‚ remove warnings
    • ๐Ÿ“š documentation updates
    • Exchanger is no longer documented as edge since it was already available in concurrent-ruby
    • (#644) Fix Map#each and #each_pair not returning enumerator outside of MRI
    • (#659) Edge promises fail during error handling
    • (#741) Raise on recursive Delay#value call
    • ๐Ÿ’Ž (#727) #717 fix global IO executor on JRuby
    • ๐Ÿ’Ž (#740) Drop support for CRuby 1.9, JRuby 1.7, Rubinius.
    • ๐Ÿšš (#737) Move AtomicMarkableReference out of Edge
    • (#708) Prefer platform specific memory barriers
    • ๐Ÿ‘ป (#735) Fix wrong expected exception in channel spec assertion
    • (#729) Allow executor option in Promise#then
    • โฑ (#725) fix timeout check to use timeout_interval
    • โšก๏ธ (#719) update engine detection
    • (#660) Add specs for Promise#zip/Promise.zip ordering
    • (#654) Promise.zip execution changes
    • (#666) Add thread safe set implementation
    • (#651) #699 #to_s, #inspect should not output negative object IDs.
    • โš  (#685) Avoid RSpec warnings about raise_error
    • (#680) Avoid RSpec monkey patching, persist spec results locally, use RSpec v3.7.0
    • (#665) Initialize the monitor for new subarrays on Rubinius
    • (#661) Fix error handling in edge promises

    ๐Ÿ’Ž concurrent-ruby-edge:

    • (#659) Edge promises fail during error handling
    • Edge files clearly separated in lib-edge
    • โž• added ReInclude
  • v1.0.5 Changes

    February 26, 2017

    ๐Ÿ’Ž concurrent-ruby:

    • ๐Ÿ“š Documentation for Event and Semaphore
    • ๐Ÿšš Use Unsafe#fullFence and #loadFence directly since the shortcuts were removed in JRuby
    • ๐Ÿ’Ž Do not depend on org.jruby.util.unsafe.UnsafeHolder

    ๐Ÿ’Ž concurrent-ruby-edge:

    • (#620) Actors on Pool raise an error
    • (#624) Delayed promises did not interact correctly with flatting
      • Fix arguments yielded by callback methods
    • 0๏ธโƒฃ Overridable default executor in promises factory methods
    • Asking actor to terminate will always resolve to true
  • v1.0.4 Changes

    December 27, 2016

    ๐Ÿ’Ž concurrent-ruby:

    • Nothing

    ๐Ÿ’Ž concurrent-ruby-edge:

  • v1.0.3 Changes

    December 17, 2016
    • Trigger execution of flattened delayed futures
    • Avoid forking for processor_count if possible
    • ๐Ÿ’Ž Semaphore Mutex and JRuby parity
    • โž• Adds Map#each as alias to Map#each_pair
    • ๐Ÿ›  Fix uninitialized instance variables
    • ๐Ÿ”€ Make Fixnum, Bignum merger ready
    • ๐Ÿ‘ Allows Promise#then to receive an executor
    • TimerSet now survives a fork
    • ๐Ÿ‘ป Reject promise on any exception
    • ๐Ÿ‘ Allow ThreadLocalVar to be initialized with a block
    • ๐Ÿ‘Œ Support Alpha with Concurrent::processor_count
    • Fixes format-security error when compiling ruby_193_compatible.h
    • ๐Ÿ›  Concurrent::Atom#swap fixed: reraise the exceptions from block
  • v1.0.2 Changes

    May 02, 2016
    • ๐Ÿ›  Fix bug with Concurrent::Map MRI backend #inspect method
    • ๐Ÿ›  Fix bug with Concurrent::Map MRI backend using Hash#value?
    • ๐Ÿ‘Œ Improved documentation and examples
    • โšก๏ธ Minor updates to Edge
  • v1.0.1 Changes

    February 27, 2016
    • ๐Ÿ›  Fix "uninitialized constant Concurrent::ReentrantReadWriteLock" error.
    • ๐Ÿ‘ Better handling of autoload vs. require.
    • ๐Ÿ‘Œ Improved API for Edge Future zipping.
    • ๐Ÿ›  Fix reference leak in Edge Future constructor .
    • ๐Ÿ›  Fix bug which prevented thread pools from surviving a fork.
    • ๐Ÿ›  Fix bug in which TimerTask did not correctly specify all its dependencies.
    • ๐Ÿ‘Œ Improved support for JRuby+Truffle
    • ๐Ÿ‘Œ Improved error messages.
    • ๐Ÿ‘Œ Improved documentation.
    • โšก๏ธ Updated README and CONTRIBUTING.
  • v1.0.0 Changes

    November 13, 2015
    • Rename attr_volatile_with_cas to attr_atomic
    • โž• Add clear_each to LockFreeStack
    • ๐Ÿ“š Update AtomicReference documentation
    • โšก๏ธ Further updates and improvements to the synchronization layer.
    • ๐ŸŽ Performance and memory usage performance with Actor logging.
    • ๐Ÿ›  Fixed ThreadPoolExecutor task count methods.
    • ๐Ÿ‘Œ Improved Async performance for both short and long-lived objects.
    • ๐Ÿ›  Fixed bug in LockFreeLinkedSet.
    • ๐Ÿ›  Fixed bug in which Agent#await triggered a validation failure.
    • โšก๏ธ Further Channel updates.
    • Adopted a project Code of Conduct
    • โš  Cleared interpreter warnings
    • ๐Ÿ›  Fixed bug in ThreadPoolExecutor task count methods
    • ๐Ÿ›  Fixed bug in 'LockFreeLinkedSet'
    • ๐Ÿ‘Œ Improved Java extension loading
    • ๐Ÿ‘ป Handle Exception children in Edge::Future
    • Continued improvements to channel
    • โœ‚ Removed interpreter warnings.
    • Shared constants now in lib/concurrent/constants.rb
    • ๐Ÿ”จ Refactored many tests.
    • ๐Ÿ‘Œ Improved synchronization layer/memory model documentation.
    • ๐Ÿ› Bug fix in Edge Future#flat
    • Brand new Channel implementation in Edge gem.
    • ๐Ÿ’Ž Simplification of RubySingleThreadExecutor
    • Async improvements
      • Each object uses its own SingleThreadExecutor instead of the global thread pool.
      • No longers supports executor injection
      • Much better documentation
    • โšก๏ธ Atom updates
      • No longer Dereferenceable
      • Now Observable
      • Added a #reset method
    • Brand new Agent API and implementation. Now functionally equivalent to Clojure.
    • ๐Ÿ”€ Continued improvements to the synchronization layer
    • ๐Ÿ”€ Merged in the thread_safe gem
      • Concurrent::Array
      • Concurrent::Hash
      • Concurrent::Map (formerly ThreadSafe::Cache)
      • Concurrent::Tuple
    • Minor improvements to Concurrent::Map
    • Complete rewrite of Exchanger
    • โœ‚ Removed all deprecated code (classes, methods, constants, etc.)
    • โšก๏ธ Updated Agent, MutexAtomic, and BufferedChannel to inherit from Synchronization::Object.
    • โœ… Many improved tests
    • Some internal reorganization
  • v0.9.1 Changes

    August 09, 2015
    • ๐Ÿ›  Fixed a Rubiniux bug in synchronization object
    • ๐Ÿ›  Fixed all interpreter warnings (except circular references)
    • ๐Ÿ›  Fixed require statements when requiring Atom alone
    • ๐Ÿ’Ž Significantly improved ThreadLocalVar on non-JRuby platforms
    • ๐Ÿ›  Fixed error handling in Edge Concurrent.zip
    • ๐Ÿ‘ AtomicFixnum methods #increment and #decrement now support optional delta
    • ๐Ÿ†• New AtomicFixnum#update method
    • Minor optimizations in ReadWriteLock
    • ๐Ÿ†• New ReentrantReadWriteLock class
    • ThreadLocalVar#bind method is now public
    • ๐Ÿ”จ Refactored many tests