|
1 |
| -### Next Release v0.7.2 (TBD) |
| 1 | +### Next Release v0.9.0 (Target Date: 5 April 2015) |
| 2 | + |
| 3 | +* Pure Java implementations of |
| 4 | + - `AtomicBoolean` |
| 5 | + - `AtomicFixnum` |
| 6 | + - `Semaphore` |
| 7 | +* Fixed bug when pruning Ruby thread pools |
| 8 | +* Fixed bug in time calculations within `ScheduledTask` |
| 9 | +* Default `count` in `CountDownLatch` to 1 |
| 10 | +* Use monotonic clock for all timers via `Concurrent.monotonic_time` |
| 11 | + - Use `Process.clock_gettime(Process::CLOCK_MONOTONIC)` when available |
| 12 | + - Fallback to `java.lang.System.nanoTime()` on unsupported JRuby versions |
| 13 | + - Pure Ruby implementation for everything else |
| 14 | + - Effects `Concurrent.timer`, `Concurrent.timeout`, `TimerSet`, `TimerTask`, and `ScheduledTask` |
| 15 | +* Deprecated all clock-time based timer scheduling |
| 16 | + - Only support scheduling by delay |
| 17 | + - Effects `Concurrent.timer`, `TimerSet`, and `ScheduledTask` |
| 18 | +* Added new `ReadWriteLock` class |
| 19 | +* Consistent `at_exit` behavior for Java and Ruby thread pools. |
| 20 | +* Added `at_exit` handler to Ruby thread pools (already in Java thread pools) |
| 21 | + - Ruby handler stores the object id and retrieves from `ObjectSpace` |
| 22 | + - JRuby disables `ObjectSpace` by default so that handler stores the object reference |
| 23 | +* Added a `:stop_on_exit` option to thread pools to enable/disable `at_exit` handler |
| 24 | +* Updated thread pool docs to better explain shutting down thread pools |
| 25 | +* Simpler `:executor` option syntax for all abstractions which support this option |
| 26 | +* Added `Executor#auto_terminate?` predicate method (for thread pools) |
| 27 | +* Added `at_exit` handler to `TimerSet` |
| 28 | +* Simplified auto-termination of the global executors |
| 29 | + - Can now disable auto-termination of global executors |
| 30 | + - Added shutdown/kill/wait_for_termination variants for global executors |
| 31 | +* Can now disable auto-termination for *all* executors (the nuclear option) |
| 32 | +* Simplified auto-termination of the global executors |
| 33 | +* Deprecated terms "task pool" and "operation pool" |
| 34 | + - New terms are "io executor" and "fast executor" |
| 35 | + - New functions added with new names |
| 36 | + - Deprecation warnings added to functions referencing old names |
| 37 | +* Moved all thread pool related functions from `Concurrent::Configuration` to `Concurrent` |
| 38 | + - Old functions still exist with deprecation warnings |
| 39 | + - New functions have updated names as appropriate |
| 40 | +* All high-level abstractions default to the "io executor" |
| 41 | +* Fixed bug in `Actor` causing it to prematurely warm global thread pools on gem load |
| 42 | + - This also fixed a `RejectedExecutionError` bug when running with minitest/autorun via JRuby |
| 43 | +* Moved global logger up to the `Concurrent` namespace and refactored the code |
| 44 | +* Optimized the performance of `Delay` |
| 45 | + - Fixed a bug in which no executor option on construction caused block execution on a global thread pool |
| 46 | + |
| 47 | +## Current Release v0.8.0 (25 January 2015) |
| 48 | + |
| 49 | +* C extension for MRI have been extracted into the `concurrent-ruby-ext` companion gem. |
| 50 | + Please see the README for more detail. |
| 51 | +* Better variable isolation in `Promise` and `Future` via an `:args` option |
| 52 | +* Continued to update intermittently failing tests |
| 53 | + |
| 54 | +### Release v0.7.2 (24 January 2015) |
2 | 55 |
|
3 | 56 | * New `Semaphore` class based on [java.util.concurrent.Semaphore](http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/Semaphore.html)
|
4 | 57 | * New `Promise.all?` and `Promise.any?` class methods
|
5 | 58 | * Renamed `:overflow_policy` on thread pools to `:fallback_policy`
|
6 | 59 | * Thread pools still accept the `:overflow_policy` option but display a warning
|
7 | 60 | * Thread pools now implement `fallback_policy` behavior when not running (rather than universally rejecting tasks)
|
8 | 61 | * Fixed minor `set_deref_options` constructor bug in `Promise` class
|
| 62 | +* Fixed minor `require` bug in `ThreadLocalVar` class |
| 63 | +* Fixed race condition bug in `TimerSet` class |
| 64 | +* Fixed race condition bug in `TimerSet` class |
| 65 | +* Fixed signal bug in `TimerSet#post` method |
9 | 66 | * Numerous non-functional updates to clear warning when running in debug mode
|
10 | 67 | * Fixed more intermittently failing tests
|
11 | 68 | * Tests now run on new Travis build environment
|
| 69 | +* Multiple documentation updates |
12 | 70 |
|
13 |
| -## Current Release v0.7.1 (4 December 2014) |
| 71 | +### Release v0.7.1 (4 December 2014) |
14 | 72 |
|
15 | 73 | Please see the [roadmap](https://github.com/ruby-concurrency/concurrent-ruby/issues/142) for more information on the next planned release.
|
16 | 74 |
|
|
0 commit comments