You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

70 lines
2.8 KiB

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