- remove try/catch performance hacks, modern runtimes no longer require these tricks
- internal tooling improvements
- restore cast for 4.x
- Confuse Webpack (make is easier to pack this module)
- reject promise when non-array promise is passed to RSVP.filter
- fix issue with registering event callbacks
- remove publishing to S3 and rely on
npm
andjsdelivr.com
instead - general cleanup
- Release the same code as 4.0.2 but as 4.7.0 (fixes issues with
npm outdated
,yarn update-interactive
, etc caused by accidental publishing of 4.6.1).
- Fix issue which occurs when you have a
.finally
after a promise has rejected with no rejection value.
- Fix bug in
RSVP.filter
where it would only respect explicitlytrue
values (unlike[].filter
which allows truthy values).
- remove es3 fallbacks
- make map/filter eager
- expose RSVP.asap for access to the micro-task polyfil
- [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
- [BUGFIX] Fix asap for Titanium \w webpack usage.
- [BUGFIX] fix invalid ES6
- [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
- 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.
- reject instead of throwing
- 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.
RSVP.on('error', function(reason, label) { ... }
now also provides the rejected promises label.
- actually don't publish built tests to npm
- correctly publish bower & npm
- don't publish built tests to npm
- 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()
- 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
ornpm run test:ci
" - node 0.10.x doesn’t like this. Its not really needed just run
npm run test
ornpm 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.
- 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
- 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
- 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
- add
finally
to the readme - improve usage of browserify for promise/a+ tests
- add wasteful files to gitignore
- add vert.x compatibility
- [Bugfix] fix
RSVP.hash
RSVP.hashSettled
in runtimes < es5 by fixing a brokenObject.create
polyfil #286 - [Enhancement] cleanup & improve test related build tooling #288
- [Bugfix] fix regression in denodeify that broke foreign thenables as arguments to denodeifed functions #281
- [Bugfix] some onerror scenarios did not result in error notifications 4dcf
- [Bugfix] for more correctness internal optimization should only occure if constructors equal, not just if instanceof check passes 96b5ec
- fancy new s3 publishing thanks to @rondale-sc
- faster denodeify
- rework tooling (Broccoli, testem, no grunt)
- utilize bundle format for super small UMD builds
- [Bugfix] no longer include promise-aplus tests as a production dependency
- [Enhancement] fast then path for both rejection/fulfilment 0d252
- [Enhancement] short-cut for faster then chaining in specific scenarios #256
- [Bugfix] custom onerror handler, for potentially unhandled errors would report unhandled errors in some incorrect scenarios. #255
- 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
andresolver
- [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
- Changes to RSVP.denodeify: Behaviour for multiple success callback parameters has been improved and the denodefied function now inherits from the original node function.
- [Spec compliance] Promise.all and Promise.race should reject, not throw on invalid input
- Add RSVP.allSettled
- 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
- 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.
- Fix npm package
- Fix useSetTimeout bug
- Adding RSVP#rethrow
- add pre-built AMD link to README
- adding promise#fail
- 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 alongthisArg
- 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
- No changelog beyond this point. Here be dragons.