Concurrent Ruby v1.0.0 Release Notes
Release Date: 2015-11-13 // over 8 years ago-
- Rename
attr_volatile_with_cas
toattr_atomic
- โ Add
clear_each
toLockFreeStack
- ๐ 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
- Each object uses its own
- โก๏ธ
Atom
updates- No longer
Dereferenceable
- Now
Observable
- Added a
#reset
method
- No longer
- Brand new
Agent
API and implementation. Now functionally equivalent to Clojure. - ๐ Continued improvements to the synchronization layer
- ๐ Merged in the
thread_safe
gemConcurrent::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
- Rename