expose RSVP.asap for access to the micro-task polyfil
3.4.0
[BUGFIX] Fix memory leak [#446]
Mirror Node's LTS policy
add dist/rsvp.es.js (bundle as a single ES module file)
fix typo in readme
3.3.3
[BUGFIX] Fix asap for Titanium \w webpack usage.
3.3.2
[BUGFIX] fix invalid ES6
3.3.1
[BUGFIX] for compat, ensure both default export and property export exist. This will likely go away in 4.0.0, and was the result of rollup producing proper output with __esModule: true brand
3.3.0
improve build, switch to broccoli-rollup (among other things)
RSVP.filter() now itself accepts a Promise.all as input
compress and mangle prod build output
[REVERT] reject instead of throwing, spec violation.
3.2.1
reject instead of throwing
3.2.0
add tamper protection - then / resolve tampering should avoid fast-paths the rely on those being predictable
improve performance of Enumerator operating on non-promise objects
Ensure the promise constructor continues to get inlined.
3.1.0
RSVP.on('error', function(reason, label) { ... } now also provides the
rejected promises label.
3.0.21
actually don't publish built tests to npm
3.0.20
correctly publish bower & npm
3.0.19
don't publish built tests to npm
3.0.18
issue with phantomjs 2.0 on travis. I have lost patience..
test on iojs and node 0.12
bump ember-cli
Support objects not inheriting from Object.prototype in RSVP.hash()
3.0.17
Added browser field to fix browserification
Fix stripping source map
Fix duplicate imports
Remove unused loader.js dependency
Add the ember-cli dependency checker
Remove the duplicate build script
Remove the static middleware
add npm run build:production
browserify extern not needed
also add lib for those es6 peeps
enusre only dist is included in publishes
strip source maps for now.
copy correct tree into test
prefer start to server
use git-repo-version
ah, prod builds used rename correctly.
remove rename, prefer mv for this scenario
prepend license
Revert "node 0.10.x doesn’t like this. Its not really needed just run npm run test or npm run test:ci"
node 0.10.x doesn’t like this. Its not really needed just run npm run test or npm run test:ci
move stuff around + bump to broccoli-stew 0.0.3
bump broccoli-stew which now supports globs
Problem with path for vertx.js.
3.0.16
use more supported version of export default
more broccoli fun
remove accidentally imported map file
test non-minified (we can add a flag to test minified next)
[BUGFIX release] Replace closure compiler
3.0.15
Added Node 0.11 to travis ci test runner
Replaced deprecated process.nextTick with setImmediate
Ember test and npm run test:node passing
(origin/upgrade-tooling) upgrade tooling
Fix onerror test
[fixes #322] don't inform instrumentation of errors until the current turn is complete.
Follow thenable state not own state
Correct minor spelling error in defer doc example
Set [[AlreadyResolved]] as soon as resolve is called
Finally should correctly trigger on('error')
[fixes #294] finally work correctly with on(‘error’)
Use git-repo-version to calculate build signature
yay the new transpiler supports this now!!!
Use the latest version of the transpiler
add subclassing tests to finally
extern event emitter stuff
[fixes #309] some more externs
ensure those select few using node with minified JS don't have an issue
[fixes #302] use @calvinmetcalf’s promises-aplus-tests-phantom
3.0.14
Instrumentation with stack is now opt-in
improve cost of instrumentation by up to 15x in chrome
reduce AST size
last vertex related touch-ups.
Add vert.x compatibility.
[fixes #296] for define.amd and module.exports to no minify
[fixes #292] ensure the deferred's api doesn't break when minified
ignore some files for npm
Add 'finally' to readme
Use browserify assert instead of vendoring one
Use mocha and json3 from npm, not bower
Remove unused json2 file
upgrade build tooling
improve performance of instrumentation (also add seperate flag to include "stack" with instrumentation as it is unfortunately slow)
ensure minified RSVP.defer() maintains known external API #293
[Perf] an internal promise shouldn't bother validating this and resolver
[Perf] flatten asap’s QUEUE structure
[Perf] Reduce Constructor AST size.
[Perf] some versions of v8, think keep marking these functions to be optimized. This hints to them not to be.
[Perf] accidental resolve step, that merely needed to be a fulfill
[Perf/Enhancement] simplify publishing
[Spec ADdition]add spec test “Ensure then is always called with a clean stack.” ensure RSVP passes future a+ spec
[Bugfix] web worker support
[Docfix] Add a param name to make yuidoc happy
[Enhancement] simplify async vs sync pub/sub code-paths
[Bugfix] Passed the label through to the Promise object, as expected
[Docfix] missing Parentheses on promise example in documentation
[License] Add Stefan Penner to license
[Docfix] document var promises in filter.js
3.0.3 -> 3.0.6 (missing changelog)
Changes to RSVP.denodeify: Behaviour for multiple success callback parameters
has been improved and the denodefied function now inherits from the original
node function.
3.0.2
[Spec compliance] Promise.all and Promise.race should reject, not throw on invalid input
Add RSVP.allSettled
3.0.1
Optimization: promises with noop resolvers now don't bother try to handle them.
[perf] skip costly resolver invocation if it is known not to be needed.
Significant internal cleanup and performance improvements
require Promise constructor to be new'd (aligned with es6 spec)
Prefer tasks + config inline within project
Add Promise.finally
Add Promise.cast
Add Promise.resolve
Add Promise.reject
Add Promise.all
Add Promise.race
Add RSVP.map
Support promise inheritance
optimize onerror and reduce promise creation cost by 20x
promise/a+ 2.0.3 compliant
RSVP.async to schedule callbacks on internal queue
Optimization: only enforce a single nextTick for each queue flush.
2.0.4
Fix npm package
2.0.3
Fix useSetTimeout bug
2.0.2
Adding RSVP#rethrow
add pre-built AMD link to README
adding promise#fail
2.0.1
misc IE fixes, including IE array detection
upload passing builds to s3
async: use three args for addEventListener
satisfy both 1.0 and 1.1 specs
Run reduce tests only in node
RSVP.resolve now simply uses the internal resolution procedure
prevent multiple promise resolutions
simplify thenable handling
pre-allocate the deferred's shape
Moved from Rake-based builds to Grunt
Fix Promise subclassing bug
Add RSVP.configure('onerror')
Throw exception when RSVP.all is called without an array
refactor RSVP.all to just use a promise directly
Make RSVP.denodeify pass along thisArg
add RSVP.reject
Reject promise if resolver function throws an exception
add travis build-status
correctly test and fix self fulfillment
remove promise coercion.
Fix infinite recursion with deep self fulfilling promises
doc fixes
2.0.0
No changelog beyond this point. Here be dragons.
# Master
# 3.5.0
* expose RSVP.asap for access to the micro-task polyfil
# 3.4.0
* [BUGFIX] Fix memory leak [#446]
* Mirror Node's LTS policy
* add dist/rsvp.es.js (bundle as a single ES module file)
* fix typo in readme
# 3.3.3
* [BUGFIX] Fix asap for Titanium \w webpack usage.
# 3.3.2
* [BUGFIX] fix invalid ES6
# 3.3.1
* [BUGFIX] for compat, ensure both default export and property export exist. This will likely go away in 4.0.0, and was the result of rollup producing proper output with `__esModule: true` brand
# 3.3.0
* improve build, switch to broccoli-rollup (among other things)
* RSVP.filter() now itself accepts a Promise.all as input
* compress and mangle prod build output
* [REVERT] reject instead of throwing, spec violation.
# 3.2.1
* reject instead of throwing
# 3.2.0
* add tamper protection - then / resolve tampering should avoid fast-paths the rely on those being predictable
* improve performance of Enumerator operating on non-promise objects
* Ensure the promise constructor continues to get inlined.
# 3.1.0
* `RSVP.on('error', function(reason, label) { ... }` now also provides the
rejected promises label.
# 3.0.21
* actually don't publish built tests to npm
# 3.0.20
* correctly publish bower & npm
# 3.0.19
* don't publish built tests to npm
# 3.0.18
* issue with phantomjs 2.0 on travis. I have lost patience..
* test on iojs and node 0.12
* bump ember-cli
* Support objects not inheriting from Object.prototype in RSVP.hash()
# 3.0.17
* Added browser field to fix browserification
* Fix stripping source map
* Fix duplicate imports
* Remove unused loader.js dependency
* Add the ember-cli dependency checker
* Remove the duplicate build script
* Remove the static middleware
* add npm run build:production
* browserify extern not needed
* also add lib for those es6 peeps
* enusre only dist is included in publishes
* strip source maps for now.
* copy correct tree into test
* prefer start to server
* use git-repo-version
* ah, prod builds used rename correctly.
* remove rename, prefer mv for this scenario
* prepend license
* Revert "node 0.10.x doesn’t like this. Its not really needed just run `npm run test` or `npm run test:ci`"
* node 0.10.x doesn’t like this. Its not really needed just run `npm run test` or `npm run test:ci`
* move stuff around + bump to broccoli-stew 0.0.3
* bump broccoli-stew which now supports globs
* Problem with path for vertx.js.
# 3.0.16
* use more supported version of export default
* more broccoli fun
* remove accidentally imported map file
* test non-minified (we can add a flag to test minified next)
* [BUGFIX release] Replace closure compiler
# 3.0.15
* Added Node 0.11 to travis ci test runner
* Replaced deprecated process.nextTick with setImmediate
* Ember test and npm run test:node passing
* (origin/upgrade-tooling) upgrade tooling
* Fix onerror test
* [fixes #322] don't inform instrumentation of errors until the current turn is complete.
* Follow thenable state not own state
* Correct minor spelling error in defer doc example
* Set [[AlreadyResolved]] as soon as resolve is called
* Finally should correctly trigger on('error')
* [fixes #294] finally work correctly with on(‘error’)
* Use git-repo-version to calculate build signature
* yay the new transpiler supports this now!!!
* Use the latest version of the transpiler
* add subclassing tests to finally
* extern event emitter stuff
* [fixes #309] some more externs
* ensure those select few using node with minified JS don't have an issue
* [fixes #302] use @calvinmetcalf’s promises-aplus-tests-phantom
# 3.0.14
* Instrumentation with stack is now opt-in
* improve cost of instrumentation by up to 15x in chrome
* reduce AST size
* last vertex related touch-ups.
* Add vert.x compatibility.
* [fixes #296] for define.amd and module.exports to no minify
* [fixes #292] ensure the deferred's api doesn't break when minified
* ignore some files for npm
* Add 'finally' to readme
* Use browserify assert instead of vendoring one
* Use mocha and json3 from npm, not bower
* Remove unused json2 file
* upgrade build tooling
* improve performance of instrumentation (also add seperate flag to include "stack" with instrumentation as it is unfortunately slow)
* ensure minified RSVP.defer() maintains known external API [#293](https://github.com/tildeio/rsvp.js/pull/293)
* add `finally` to the readme
* improve usage of browserify for promise/a+ tests
* add wasteful files to gitignore
* add [vert.x](http://vertx.io/) compatibility
# 3.0.13
* [Bugfix] fix `RSVP.hash` `RSVP.hashSettled` in runtimes < es5 by fixing a broken `Object.create` polyfil [#286](https://github.com/tildeio/rsvp.js/pull/286)
* [Enhancement] cleanup & improve test related build tooling [#288](https://github.com/tildeio/rsvp.js/pull/288)
# 3.0.12
* [Bugfix] fix regression in denodeify that broke foreign thenables as arguments to denodeifed functions [#281](https://github.com/tildeio/rsvp.js/pull/281)
# 3.0.11
* [Bugfix] some onerror scenarios did not result in error notifications [4dcf](https://github.com/tildeio/rsvp.js/commit/4dcfa92bab6f5fc9e97ca3abfb71025a08984e7e)
* [Bugfix] for more correctness internal optimization should only occure
if constructors equal, not just if instanceof check passes [96b5ec](https://github.com/tildeio/rsvp.js/commit/96b5ec201b2ddafc70cd5c836bc341a46081ae23)
* fancy new s3 publishing thanks to @rondale-sc
# 3.0.10
* faster denodeify
* rework tooling (Broccoli, testem, no grunt)
* utilize bundle format for super small UMD builds
# 3.0.9
* [Bugfix] no longer include promise-aplus tests as a production
dependency
* [Enhancement] fast then path for both rejection/fulfilment [0d252](https://github.com/tildeio/rsvp.js/commit/0d252ed4831eabb82991584e2e3eaae2a3a2ba42)
* [Enhancement] short-cut for faster then chaining in specific scenarios
[#256](https://github.com/tildeio/rsvp.js/pull/256)
# 3.0.8
* [Bugfix] custom onerror handler, for potentially unhandled errors
would report unhandled errors in some incorrect scenarios.
[#255](https://github.com/tildeio/rsvp.js/pull/255)
# 3.0.7
* improve tests in some older es5+ browsers
* [Bugfix] denodeify should not use console for deprecation warning unless console is defined
* [Enhancement] instrumentation should emit out-of-band. This should improve ember-extension performance
* [Bugfix] race should not be susceptible to zalgo
* [Perf] PromiseEnumerator increase performance of all enumerable methods all/allSettled/hash/hasSettled -> https://gist.github.com/stefanpenner/26465d5848f2924e2aca
* [Docfix] Fix small documentation inconsistency
* [Perf] an internal promise shouldn't bother validating `this` and `resolver`
* [Perf] flatten asap’s QUEUE structure
* [Perf] Reduce Constructor AST size.
* [Perf] some versions of v8, think keep marking these functions to be optimized. This hints to them not to be.
* [Perf] accidental resolve step, that merely needed to be a fulfill
* [Perf/Enhancement] simplify publishing
* [Spec ADdition]add spec test “Ensure `then` is always called with a clean stack.” ensure RSVP passes future a+ spec
* [Bugfix] web worker support
* [Docfix] Add a param name to make yuidoc happy
* [Enhancement] simplify async vs sync pub/sub code-paths
* [Bugfix] Passed the label through to the Promise object, as expected
* [Docfix] missing Parentheses on promise example in documentation
* [License] Add Stefan Penner to license
* [Docfix] document `var promises` in filter.js
# 3.0.3 -> 3.0.6 (missing changelog)
* Changes to RSVP.denodeify: Behaviour for multiple success callback parameters
has been improved and the denodefied function now inherits from the original
node function.
# 3.0.2
* [Spec compliance] Promise.all and Promise.race should reject, not throw on invalid input
* Add RSVP.allSettled
# 3.0.1
* Optimization: promises with noop resolvers now don't bother try to handle them.
* [perf] skip costly resolver invocation if it is known not to be needed.
* improve promise inspector interopt
# 3.0.0
* align with the promise spec
https://github.com/domenic/promises-unwrapping
* idiomatic es6 usage
* RSVP.all: now casts rather then resolves, and doesn't touch the
"then"
* RSVP.hash: now casts rather then resolves, and doesn't touch the
"then"
* MutationObserver: prefer text mutation, this fixes interop with
MutationObserver polyfils
* Removing asap unload listener. Allows back/forward page cache, chrome
bug is old. Fixes #168
* add grunt docs task
* document: Promise.cast
* document: Promise.resolve/Promise.reject
* document: Promise.race
* document: Promise.all
* document: Promise.hash
* document: RSVP.denodeify
* document: RSVP.EventTarget
* document: RSVP.rethrow
* document: RSVP.defer
* Document: RSVP.on('error'
* Add Instrumentation hooks for tooling
* Significant internal cleanup and performance improvements
* require Promise constructor to be new'd (aligned with es6 spec)
* Prefer tasks + config inline within project
* Add Promise.finally
* Add Promise.cast
* Add Promise.resolve
* Add Promise.reject
* Add Promise.all
* Add Promise.race
* Add RSVP.map
* Support promise inheritance
* optimize onerror and reduce promise creation cost by 20x
* promise/a+ 2.0.3 compliant
* RSVP.async to schedule callbacks on internal queue
* Optimization: only enforce a single nextTick for each queue flush.
# 2.0.4
* Fix npm package
# 2.0.3
* Fix useSetTimeout bug
# 2.0.2
* Adding RSVP#rethrow
* add pre-built AMD link to README
* adding promise#fail
# 2.0.1
* misc IE fixes, including IE array detection
* upload passing builds to s3
* async: use three args for addEventListener
* satisfy both 1.0 and 1.1 specs
* Run reduce tests only in node
* RSVP.resolve now simply uses the internal resolution procedure
* prevent multiple promise resolutions
* simplify thenable handling
* pre-allocate the deferred's shape
* Moved from Rake-based builds to Grunt
* Fix Promise subclassing bug
* Add RSVP.configure('onerror')
* Throw exception when RSVP.all is called without an array
* refactor RSVP.all to just use a promise directly
* Make `RSVP.denodeify` pass along `thisArg`
* add RSVP.reject
* Reject promise if resolver function throws an exception
* add travis build-status
* correctly test and fix self fulfillment
* remove promise coercion.
* Fix infinite recursion with deep self fulfilling promises
* doc fixes
# 2.0.0
* No changelog beyond this point. Here be dragons.