|
1 | 1 | # Changelog |
2 | 2 |
|
3 | 3 | * Unreleased |
| 4 | +* 1.2 (2020-11-10) |
| 5 | + * Fix an infinite loop in the internal singly-linked list of coroutines when |
| 6 | + `resume()` is called immediately after `suspend()`, without waiting for |
| 7 | + `CoroutineScheduler::loop()` to actually remove the coroutine from the |
| 8 | + list. The fix no longer removes suspended coroutine from the linked list, |
| 9 | + simplifying the code considerably. Fixes [Issue |
| 10 | + #19](https://github.com/bxparks/AceRoutine/issues/19). |
| 11 | + * Fix incorrect status set by `Coroutine::reset()` which prevented it from |
| 12 | + actually working. Fixes [Issue |
| 13 | + #20](https://github.com/bxparks/AceRoutine/issues/20). |
| 14 | + * **Potentially Breaking**: The internal linked list of coroutines is now |
| 15 | + considered to be a private implementation detail that may change in the |
| 16 | + future. The ordering of the list of coroutines is now undefined. The |
| 17 | + `Coroutine::getRoot()` and `Coroutine::getNext()` public methods are now |
| 18 | + private. The new `setupCoroutineOrderedByName()` methods replicate the old |
| 19 | + behavior, but these are exposed only for testing purposes. |
| 20 | + * Fix documentation bug in README.md to say that `suspend()` and `resume()` |
| 21 | + *should not* be called within the coroutine itself. They can only be |
| 22 | + called from outside the coroutine. They are no-ops inside a coroutine. |
| 23 | + * Extract lengthy Usage section of `README.md` into `USER_GUIDE.md`. Add |
| 24 | + table of contents to help navigate the long document. Rewrite and update |
| 25 | + content to be more useful and more clear hopefully. |
4 | 26 | * 1.1 (2020-11-01) |
5 | 27 | * Add a `Coroutine::reset()` method that causes the Coroutine to restart |
6 | 28 | from the beginning of the coroutine upon the next iteration. (Fixes #13 |
|
0 commit comments