| 1 |
|
|---|
| 2 | ## 2.0.6
|
|---|
| 3 |
|
|---|
| 4 | Version 2.0.4 adds support for React Native by clarifying in package.json that
|
|---|
| 5 | the browser environment does not support Node.js domains.
|
|---|
| 6 | Why this is necessary, we leave as an exercise for the user.
|
|---|
| 7 |
|
|---|
| 8 | ## 2.0.3
|
|---|
| 9 |
|
|---|
| 10 | Version 2.0.3 fixes a bug when adjusting the capacity of the task queue.
|
|---|
| 11 |
|
|---|
| 12 | ## 2.0.1-2.02
|
|---|
| 13 |
|
|---|
| 14 | Version 2.0.1 fixes a bug in the way redirects were expressed that affected the
|
|---|
| 15 | function of Browserify, but which Mr would tolerate.
|
|---|
| 16 |
|
|---|
| 17 | ## 2.0.0
|
|---|
| 18 |
|
|---|
| 19 | Version 2 of ASAP is a full rewrite with a few salient changes.
|
|---|
| 20 | First, the ASAP source is CommonJS only and designed with [Browserify][] and
|
|---|
| 21 | [Browserify-compatible][Mr] module loaders in mind.
|
|---|
| 22 |
|
|---|
| 23 | [Browserify]: https://github.com/substack/node-browserify
|
|---|
| 24 | [Mr]: https://github.com/montagejs/mr
|
|---|
| 25 |
|
|---|
| 26 | The new version has been refactored in two dimensions.
|
|---|
| 27 | Support for Node.js and browsers have been separated, using Browserify
|
|---|
| 28 | redirects and ASAP has been divided into two modules.
|
|---|
| 29 | The "raw" layer depends on the tasks to catch thrown exceptions and unravel
|
|---|
| 30 | Node.js domains.
|
|---|
| 31 |
|
|---|
| 32 | The full implementation of ASAP is loadable as `require("asap")` in both Node.js
|
|---|
| 33 | and browsers.
|
|---|
| 34 |
|
|---|
| 35 | The raw layer that lacks exception handling overhead is loadable as
|
|---|
| 36 | `require("asap/raw")`.
|
|---|
| 37 | The interface is the same for both layers.
|
|---|
| 38 |
|
|---|
| 39 | Tasks are no longer required to be functions, but can rather be any object that
|
|---|
| 40 | implements `task.call()`.
|
|---|
| 41 | With this feature you can recycle task objects to avoid garbage collector churn
|
|---|
| 42 | and avoid closures in general.
|
|---|
| 43 |
|
|---|
| 44 | The implementation has been rigorously documented so that our successors can
|
|---|
| 45 | understand the scope of the problem that this module solves and all of its
|
|---|
| 46 | nuances, ensuring that the next generation of implementations know what details
|
|---|
| 47 | are essential.
|
|---|
| 48 |
|
|---|
| 49 | - [asap.js](https://github.com/kriskowal/asap/blob/master/asap.js)
|
|---|
| 50 | - [raw.js](https://github.com/kriskowal/asap/blob/master/raw.js)
|
|---|
| 51 | - [browser-asap.js](https://github.com/kriskowal/asap/blob/master/browser-asap.js)
|
|---|
| 52 | - [browser-raw.js](https://github.com/kriskowal/asap/blob/master/browser-raw.js)
|
|---|
| 53 |
|
|---|
| 54 | The new version has also been rigorously tested across a broad spectrum of
|
|---|
| 55 | browsers, in both the window and worker context.
|
|---|
| 56 | The following charts capture the browser test results for the most recent
|
|---|
| 57 | release.
|
|---|
| 58 | The first chart shows test results for ASAP running in the main window context.
|
|---|
| 59 | The second chart shows test results for ASAP running in a web worker context.
|
|---|
| 60 | Test results are inconclusive (grey) on browsers that do not support web
|
|---|
| 61 | workers.
|
|---|
| 62 | These data are captured automatically by [Continuous
|
|---|
| 63 | Integration][].
|
|---|
| 64 |
|
|---|
| 65 | 
|
|---|
| 66 |
|
|---|
| 67 | 
|
|---|
| 68 |
|
|---|
| 69 | [Continuous Integration]: https://github.com/kriskowal/asap/blob/master/CONTRIBUTING.md
|
|---|
| 70 |
|
|---|