A summary of data about the Ruby ecosystem.

Recent Releases of https://github.com/ruby-concurrency/concurrent-ruby

https://github.com/ruby-concurrency/concurrent-ruby - v1.3.6

What's Changed

New Contributors

Full Changelog: https://github.com/ruby-concurrency/concurrent-ruby/compare/v1.3.5...v1.3.6

- Ruby
Published by eregon 3 months ago

https://github.com/ruby-concurrency/concurrent-ruby - v1.3.5

What's Changed

New Contributors

Full Changelog: https://github.com/ruby-concurrency/concurrent-ruby/compare/v1.3.4...v1.3.5

- Ruby
Published by eregon about 1 year ago

https://github.com/ruby-concurrency/concurrent-ruby - v1.3.4

What's Changed

New Contributors

Full Changelog: https://github.com/ruby-concurrency/concurrent-ruby/compare/v1.3.3...v1.3.4

- Ruby
Published by eregon over 1 year ago

https://github.com/ruby-concurrency/concurrent-ruby - v1.3.3

What's Changed

Full Changelog: https://github.com/ruby-concurrency/concurrent-ruby/compare/v1.3.2...v1.3.3

- Ruby
Published by eregon over 1 year ago

https://github.com/ruby-concurrency/concurrent-ruby - v1.3.2

What's Changed

New Contributors

Full Changelog: https://github.com/ruby-concurrency/concurrent-ruby/compare/v1.3.1...v1.3.2

- Ruby
Published by eregon over 1 year ago

https://github.com/ruby-concurrency/concurrent-ruby - Edge 0.7.1

  • (#1052) Fix dependency on concurrent-ruby to allow the latest release.

- Ruby
Published by eregon over 1 year ago

https://github.com/ruby-concurrency/concurrent-ruby - v1.3.1

This release is essentially v1.3.0, but with a properly packaged gem. There was an issue publishing v1.3.0 and that gem needed to be yanked to avoid breaking downstream projects. The v1.3.0 changelog is reproduced below.

What's Changed

New Contributors

Full Changelog: https://github.com/ruby-concurrency/concurrent-ruby/compare/v1.2.3...v1.3.1

- Ruby
Published by nirvdrum almost 2 years ago

https://github.com/ruby-concurrency/concurrent-ruby - v1.3.0

There was a packaging issue that resulted in a broken v1.3.0 gem having been pushed to RubyGems. The code corresponding to this tag is fine to use, but there is no corresponding v1.3.0 gem as we had to yank it. Please use v1.3.1 instead, which is nothing more than v1.3.0 packaged correctly.

What's Changed

New Contributors

Full Changelog: https://github.com/ruby-concurrency/concurrent-ruby/compare/v1.2.3...v1.3.0

- Ruby
Published by nirvdrum almost 2 years ago

https://github.com/ruby-concurrency/concurrent-ruby - v1.2.3

What's Changed

New Contributors

Full Changelog: https://github.com/ruby-concurrency/concurrent-ruby/compare/v1.2.2...v1.2.3

- Ruby
Published by eregon about 2 years ago

https://github.com/ruby-concurrency/concurrent-ruby - v1.2.2

concurrent-ruby 1.2.2:

  • (#993) Fix arguments passed to Concurrent::Map's default_proc.

- Ruby
Published by eregon about 3 years ago

https://github.com/ruby-concurrency/concurrent-ruby - v1.2.1

concurrent-ruby 1.2.1:

  • (#990) Add missing require 'fiber' for FiberLocalVar.
  • (#989) Optimize Concurrent::Map#[] on CRuby by letting the backing Hash handle the default_proc.

- Ruby
Published by eregon about 3 years ago

https://github.com/ruby-concurrency/concurrent-ruby -

concurrent-ruby 1.2.0:

  • (#975) Set the Ruby compatibility version at 2.3
  • (#962) Fix ReentrantReadWriteLock to use the same granularity for locals as for Mutex it uses.
  • (#983) Add FiberLocalVar
  • (#934) concurrent-ruby now supports requiring individual classes (public classes listed in the docs), e.g., require 'concurrent/map'
  • (#976) Let Promises.any_fulfilled_future take an Event
  • Improve documentation of various classes
  • (#972) Remove Rubinius-related code

concurrent-ruby-edge 0.7.0:

  • (#975) Set the Ruby compatibility version at 2.3
  • (#934) concurrent-ruby now supports requiring individual classes (public classes listed in the docs), e.g., require 'concurrent/map'
  • (#972) Remove Rubinius-related code

- Ruby
Published by eregon about 3 years ago

https://github.com/ruby-concurrency/concurrent-ruby - v1.1.10

concurrent-ruby:

  • (#951) Set the Ruby compatibility version at 2.2
  • (#939, #933) The caller_runs fallback policy no longer blocks reads from the job queue by worker threads
  • (#938, #761, #652) You can now explicitly prune_pool a thread pool (Sylvain Joyeux)
  • (#937, #757, #670) We switched the Yahoo stock API for demos to Alpha Vantage (Gustavo Caso)
  • (#932, #931) We changed how SafeTaskExecutor handles local jump errors (Aaron Jensen)
  • (#927) You can use keyword arguments in your initialize when using Async (Matt Larraz)
  • (#926, #639) We removed timeout from TimerTask because it wasn't sound, and now it's a no-op with a warning (Jacob Atzen)
  • (#919) If you double-lock a re-entrant read-write lock, we promote to locked for writing (zp yuan)
  • (#915) monotonic_time now accepts an optional unit parameter, as Ruby's clock_gettime (Jean Boussier)

- Ruby
Published by chrisseaton almost 4 years ago

https://github.com/ruby-concurrency/concurrent-ruby - v1.1.1

- Ruby
Published by chrisseaton almost 4 years ago

https://github.com/ruby-concurrency/concurrent-ruby - v1.1.2

- Ruby
Published by chrisseaton almost 4 years ago

https://github.com/ruby-concurrency/concurrent-ruby - v1.1.3

- Ruby
Published by chrisseaton almost 4 years ago

https://github.com/ruby-concurrency/concurrent-ruby - v1.1.4

- Ruby
Published by chrisseaton almost 4 years ago

https://github.com/ruby-concurrency/concurrent-ruby - v1.1.5

- Ruby
Published by chrisseaton almost 4 years ago

https://github.com/ruby-concurrency/concurrent-ruby - v1.1.6

- Ruby
Published by chrisseaton almost 4 years ago

https://github.com/ruby-concurrency/concurrent-ruby - v1.1.7

- Ruby
Published by chrisseaton almost 4 years ago

https://github.com/ruby-concurrency/concurrent-ruby - v1.1.8

- Ruby
Published by chrisseaton almost 4 years ago

https://github.com/ruby-concurrency/concurrent-ruby - v1.1.9

- Ruby
Published by chrisseaton almost 4 years ago

https://github.com/ruby-concurrency/concurrent-ruby - v1.1.0

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

- Ruby
Published by pitr-ch over 7 years ago

https://github.com/ruby-concurrency/concurrent-ruby - v1.1.0.pre2

concurrent-ruby:

  • fixed documentation and README links
  • fix Set for TruffleRuby and Rubinius

concurrent-ruby-edge:

  • add Promises.zip_futures_over_on

- Ruby
Published by pitr-ch over 7 years ago

https://github.com/ruby-concurrency/concurrent-ruby - v1.1.0.pre1

concurrent-ruby:

  • 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

- Ruby
Published by pitr-ch over 7 years ago

https://github.com/ruby-concurrency/concurrent-ruby - v1.0.5

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
  • Overridable default executor in promises factory methods
  • Asking actor to terminate will always resolve to true

- Ruby
Published by pitr-ch about 9 years ago

https://github.com/ruby-concurrency/concurrent-ruby - v1.0.4

Patch release.

concurrent-ruby:

  • Nothing

concurrent-ruby-edge:

- Ruby
Published by pitr-ch about 9 years ago

https://github.com/ruby-concurrency/concurrent-ruby - v1.0.3

Patch release

  • 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

- Ruby
Published by pitr-ch about 9 years ago

https://github.com/ruby-concurrency/concurrent-ruby - v1.0.3.pre3

Publishing to rubygems.org so that we can test compilation and bug fixes.

- Ruby
Published by jdantonio over 9 years ago

https://github.com/ruby-concurrency/concurrent-ruby - v1.0.3.pre2

For issue testing #539

- Ruby
Published by pitr-ch over 9 years ago

https://github.com/ruby-concurrency/concurrent-ruby - v1.0.3.pre1

Pre-release to test the C fixes from PR #536.

- Ruby
Published by jdantonio over 9 years ago

https://github.com/ruby-concurrency/concurrent-ruby - v1.0.2

Patch release containing bug fixes and documentation improvements.

  • 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

- Ruby
Published by jdantonio almost 10 years ago

https://github.com/ruby-concurrency/concurrent-ruby - v1.0.1

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.

- Ruby
Published by jdantonio about 10 years ago

https://github.com/ruby-concurrency/concurrent-ruby - v1.0.0

🎉

- Ruby
Published by jdantonio over 10 years ago

https://github.com/ruby-concurrency/concurrent-ruby - 1.0.0.pre5

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.

- Ruby
Published by jdantonio over 10 years ago

https://github.com/ruby-concurrency/concurrent-ruby - 0.9.2

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.

- Ruby
Published by jdantonio over 10 years ago

https://github.com/ruby-concurrency/concurrent-ruby - 1.0.0.pre4

  • 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

- Ruby
Published by jdantonio over 10 years ago

https://github.com/ruby-concurrency/concurrent-ruby - 1.0.0.pre3

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

- Ruby
Published by jdantonio over 10 years ago

https://github.com/ruby-concurrency/concurrent-ruby - v1.0.0.pre2

  • 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

- Ruby
Published by jdantonio over 10 years ago

https://github.com/ruby-concurrency/concurrent-ruby - v1.0.0.pre1

  • 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

- Ruby
Published by jdantonio over 10 years ago

https://github.com/ruby-concurrency/concurrent-ruby - v0.9.1

  • 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

- Ruby
Published by jdantonio over 10 years ago

https://github.com/ruby-concurrency/concurrent-ruby - v0.9.0

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

- Ruby
Published by jdantonio over 10 years ago

https://github.com/ruby-concurrency/concurrent-ruby - v0.9.0.pre3

Finalizing API and Yardoc. We plan mostly bug/test fixes between now and the full release of 0.9.0.

- Ruby
Published by jdantonio over 10 years ago

https://github.com/ruby-concurrency/concurrent-ruby - v0.9.0.pre2

Finalizing API and Yardoc. We plan mostly bug/test fixes between now and the full release of 0.9.0.

- Ruby
Published by jdantonio over 10 years ago

https://github.com/ruby-concurrency/concurrent-ruby - v0.9.0.pre1

Nearing finalization of the API. Some internal restructuring is still necessary. The changelog and readme are out of date and do not accurately reflect all the changes since the last release.

- Ruby
Published by jdantonio almost 11 years ago

https://github.com/ruby-concurrency/concurrent-ruby - 0.8.0

This is the first release to use the new model for C and Java native extensions. Java native extensions are built into the core gem and published as a pre-compiled Java build (in addition to the pure-Ruby core gem). C native extensions for MRI are published as a separate extension gem. The main extension gem must be compiled on installation, but pre-compiled Windows binaries (x32 and x64) are published as well. Specific features in this build include:

  • C extension for MRI have been extracted into the concurrent-ruby-ext companion gem.
    Please see the README for more detail.
  • Better variable isolation in Promise and Future via an :args option
  • Continued to update intermittently failing tests

- Ruby
Published by jdantonio about 11 years ago

https://github.com/ruby-concurrency/concurrent-ruby - Extension Gem Pre-release 3

A private release used to fix and test pre-compiled extensions for Windows. It was never pushed to Rubygems.

- Ruby
Published by jdantonio about 11 years ago

https://github.com/ruby-concurrency/concurrent-ruby - 0.7.2

  • New Semaphore class based on java.util.concurrent.Semaphore
  • New Promise.all? and Promise.any? class methods
  • Renamed :overflow_policy on thread pools to :fallback_policy
  • Thread pools still accept the :overflow_policy option but display a warning
  • Thread pools now implement fallback_policy behavior when not running (rather than universally rejecting tasks)
  • Fixed minor set_deref_options constructor bug in Promise class
  • Fixed minor require bug in ThreadLocalVar class
  • Fixed race condition bug in TimerSet class
  • Fixed race condition bug in TimerSet class
  • Fixed signal bug in TimerSet#post method
  • Numerous non-functional updates to clear warning when running in debug mode
  • Fixed more intermittently failing tests
  • Tests now run on new Travis build environment
  • Multiple documentation updates

- Ruby
Published by jdantonio about 11 years ago

https://github.com/ruby-concurrency/concurrent-ruby - Extension Gem Pre-release 2

This release builds two gems from this repo: concurrent-ruby and concurrent-ruby-ext, the latter of which contains the C-native extensions that were added to the core gem in the 0.7 release.

- Ruby
Published by jdantonio about 11 years ago

https://github.com/ruby-concurrency/concurrent-ruby - Extension Gem Pre-release 1

This release builds two gems from this repo: concurrent-ruby and concurrent-ruby-ext, the latter of which contains the C-native extensions that were added to the core gem in the 0.7 release.

- Ruby
Published by jdantonio about 11 years ago

https://github.com/ruby-concurrency/concurrent-ruby - 0.7.1

  • Added flat_map method to Promise
  • Added zip method to Promise
  • Fixed bug with logging in Actor
  • Improvements to Promise tests
  • Removed actor-experimental warning
  • Added an IndirectImmediateExecutor class
  • Allow disabling auto termination of global executors
  • Fix thread leaking in ThreadLocalVar (uses Ref gem on non-JRuby systems)
  • Fix thread leaking when pruning pure-Ruby thread pools
  • Prevent Actor from using an ImmediateExecutor (causes deadlock)
  • Added missing synchronizations to TimerSet
  • Fixed bug with return value of Concurrent::Actor::Utils::Pool#ask
  • Fixed timing bug in TimerTask
  • Fixed bug when creating a JavaThreadPoolExecutor with minimum pool size of zero
  • Removed confusing warning when not using native extenstions
  • Improved documentation

- Ruby
Published by jdantonio about 11 years ago

https://github.com/ruby-concurrency/concurrent-ruby - 0.7.0

  • Merge the atomic gem
    • Pure Ruby MutexAtomic atomic reference class
    • Platform native atomic reference classes CAtomic, JavaAtomic, and RbxAtomic
    • Automated build process
    • Fat binary releases for multiple platforms including Windows (32/64), Linux (32/64), OS X (64-bit), Solaris (64-bit), and JRuby
  • C native CAtomicBoolean
  • C native CAtomicFixnum
  • Refactored intermittently failing tests
  • Added dataflow! and dataflow_with! methods to match Future#value! method
  • Better handling of timeout in Agent
  • Actor Improvements
    • Fine-grained implementation using chain of behaviors. Each behavior is responsible for single aspect like: Termination, Pausing, Linking, Supervising, etc. Users can create custom Actors easily based on their needs.
    • Supervision was added. RestartingContext will pause on error waiting on its supervisor to decide what to do next ( options are :terminate!, :resume!, :reset!, :restart!). Supervising behavior also supports strategies :one_for_one and :one_for_all.
    • Linking was added to be able to monitor actor's events like: :terminated, :paused, :restarted, etc.
    • Dead letter routing added. Rejected envelopes are collected in a configurable actor (default: Concurrent::Actor.root.ask!(:dead_letter_routing))
    • Old Actor class removed and replaced by new implementation previously called Actress. Actress was kept as an alias for Actor to keep compatibility.
    • Utils::Broadcast actor which allows Publish–subscribe pattern.
  • More executors for managing serialized operations
    • SerializedExecution mixin module
    • SerializedExecutionDelegator for serializing any executor
  • Updated Async with serialized execution
  • Updated ImmediateExecutor and PerThreadExecutor with full executor service lifecycle
  • Added a Delay to root Actress initialization
  • Minor bug fixes to thread pools
  • Refactored many intermittently failing specs
  • Removed Java interop warning executor.rb:148 warning: ambiguous Java methods found, using submit(java.lang.Runnable)
  • Fixed minor bug in RubyCachedThreadPool overflow policy
  • Updated tests to use RSpec 3.0
  • Removed deprecated Actor class
  • Better support for Rubinius

- Ruby
Published by jdantonio over 11 years ago

https://github.com/ruby-concurrency/concurrent-ruby - 0.7.0 Release Candidate 3

Fix bug #150

We recently discovered that Rubinius installs the gem version with pre-compiled extensions. The internal guard logic assumed that the C-native build would only be installed under MRI. As a result we were experiencing unintended behavior on Rubinius. This PR addresses this issue by adding more robust guard clauses, attempting to ensure that C extensions are only loaded on MRI, regardless of what platform a particular interpreter reports.

Because the release of 0.7.0 was put on hold, the guard clauses are very brute-force. They can probably be cleaned up in a later release.

NOTE: It has been suggested that we consider using a gem called Redcarpet for the guard functionality. This gem was unknown to us until yesterday. At this time we have explicitly decided to not include an external gem dependencies. We will consider using Redcarpet in a future release.

- Ruby
Published by jdantonio over 11 years ago

https://github.com/ruby-concurrency/concurrent-ruby - 0.7.0 Release Candidate 2

Major actor updates plus several bug fixes and minor refactoring. Please see the changelog for details.

  • C native CAtomicBoolean
  • C native CAtomicFixnum
  • Refactored intermittently failing tests
  • Added dataflow! and dataflow_with! methods to match Future#value! method
  • Better handling of timeout in Agent
  • Actor Improvements
    • Fine-grained implementation using chain of behaviors. Each behavior is responsible for single aspect like: Termination, Pausing, Linking, Supervising, etc. Users can create custom Actors easily based on their needs.
    • Supervision was added. RestartingContext will pause on error waiting on its supervisor to decide what to do next ( options are :terminate!, :resume!, :reset!, :restart!). Supervising behavior also supports strategies :one_for_one and :one_for_all.
    • Linking was added to be able to monitor actor's events like: :terminated, :paused, :restarted, etc.
    • Dead letter routing added. Rejected envelopes are collected in a configurable actor (default: Concurrent::Actor.root.ask!(:dead_letter_routing))
    • Old Actor class removed and replaced by new implementation previously called Actress. Actress was kept as an alias for Actor to keep compatibility.
    • Utils::Broadcast actor which allows Publish–subscribe pattern.

- Ruby
Published by jdantonio over 11 years ago

https://github.com/ruby-concurrency/concurrent-ruby - 0.7.0 Release Candidate 1

Bug fixes and minor refactoring. Please see the changelog for details.

- Ruby
Published by jdantonio over 11 years ago

https://github.com/ruby-concurrency/concurrent-ruby - 0.7.0 Release Candidate 0 (Experimental)

This is an experimental release of C and Java native extensions. It merges the ruby-atomic gem into the 0.6.1. It was built using an automated build process that creates pre-compiled binary releases for most major operating systems. We believe this release to be highly stable and highly portable. The C/Java native code we imported was highly battle-tested. Since this is our first release with native extensions we urge cautious experimentation.

- Ruby
Published by jdantonio over 11 years ago

https://github.com/ruby-concurrency/concurrent-ruby - 0.6.1

- Ruby
Published by jdantonio over 11 years ago

https://github.com/ruby-concurrency/concurrent-ruby - 0.6.0

This release includes several major optimizations and refactorings, a few new classes, vastly improved tests. Some highlights:

  • Gem configuration is now handled through a common configuration class rather than the old global variables.
  • Several classes, including Agent, TimerTask, ScheduledTask, and Event have significantly improved performance and stability.
  • The old thread pools have been completely rewritten, based heavily on Java's executors. Several new executors have been added, and many executors include JRuby optimizations.
  • Several new abstractions have been added, including a high-performance Channel system, new atomic classes, TimerSet, and the Async mixin module.
  • Many internal stability, thread-safety, and performance improvements.
  • Many improvements to the test suite to remove fragile tests.
  • The old Actor class has been deprecated in lieu of the vastly more robust (but still experimental) Actress module (Actress will be renamed Actor in the 0.7.0 release)

Please see the changelog for more information.

- Ruby
Published by jdantonio almost 12 years ago

https://github.com/ruby-concurrency/concurrent-ruby - 0.6.0 Pre-release 2

This release includes several major optimizations and refactorings, a few new classes, vastly improved tests, and continued evolution of the new Channel and ActorContext classes.

Please see the changelog for more information.

- Ruby
Published by jdantonio almost 12 years ago

https://github.com/ruby-concurrency/concurrent-ruby - 0.6.0 Pre-release 1

This pre-release includes several deprecations, new features, and JRuby optimizations. The most important changes are to thread pools. Thread pools have been completely rewritten. The behavior of FixedThreadPool and CachedThreadPool have not changed, but they now both extend a common base class called ThreadPoolExecutor. On JRuby this base class is a thin wrapper around java.util.concurrent.ThreadPoolExecutor. Subsequently the global thread pool has been updated from an instance of PerThreadExecutor (formerly NullThreadPool) to an instance of CachedThreadPool. This should increase the performance of all tasks using the global thread pool (such as Future, Agent, Promise, and others), especially on JRuby.

Please see the release notes for more information.

- Ruby
Published by jdantonio almost 12 years ago