Concurrent Ruby v1.0.0 Release Notes

Release Date: 2015-11-13 // over 8 years ago
    • 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