Skip to content

Releases: ruby-concurrency/concurrent-ruby

v1.0.1

27 Feb 14:02
Compare
Choose a tag to compare

Patch release containing bug fixes and documentation improvements.

  • 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

25 Nov 01:30
Compare
Choose a tag to compare

🎉

1.0.0.pre5

05 Nov 01:09
Compare
Choose a tag to compare
1.0.0.pre5 Pre-release
Pre-release

This is the last planned pre-release.

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

0.9.2

04 Nov 23:43
Compare
Choose a tag to compare

Final release of 0.9.x before the upcoming 1.0.0 release.

  • Removed Java 7 deprecation warning.
  • Put debug log statement inside block for improved performance and memory utilization.

1.0.0.pre4

08 Oct 23:37
Compare
Choose a tag to compare
1.0.0.pre4 Pre-release
Pre-release
  • 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

1.0.0.pre3

30 Sep 01:09
Compare
Choose a tag to compare
1.0.0.pre3 Pre-release
Pre-release
  • 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.

v1.0.0.pre2

19 Sep 06:43
Compare
Choose a tag to compare
v1.0.0.pre2 Pre-release
Pre-release
  • 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

v1.0.0.pre1

19 Aug 23:36
Compare
Choose a tag to compare
v1.0.0.pre1 Pre-release
Pre-release
  • 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

09 Aug 16:22
Compare
Choose a tag to compare
  • 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

v0.9.0

10 Jul 16:06
Compare
Choose a tag to compare

Our biggest release to date. Too many changes to list here. Please see the CHANGELOG for more details. The most important changes are:

  • Deprecation of many APIs that will not be in the 1.0 release
  • Creation of an Edge gem where all new and potentially unstable abstractions can be initially released
  • Moving of several abstractions/classes into Edge
  • Creation of many new abstractions/classes
  • Many, many bug fixes and performance optimizations
  • Improved tests
  • Improved build process