Revision history for Perl extension Promise::XS:
0.08
- MAJOR BREAKING CHANGE: Callbacks now run in scalar context. The prior
behavior of running in list context allowed for weirdness like
returning a promise plus additional items, in whatever order. Proper
behavior in this case isn’t clear from Promises/A+, and iterating through
the return to warn or fail would slow everything down. Scalar context
conduces to more robust usage and hews closer to both Promises/A+ and
ECMAScript standards.
- MAJOR BREAKING CHANGE: Due to the above change, all()/collect() now
resolves with an array reference of the promise returns.
- BREAKING CHANGE (minor): finally() now mimics ECMAScript’s interface.
That means:
* Callbacks now receive no arguments.
* Returned promises resolve with the original value if the callback
returns anything but a promise that rejects.
0.07 Tue 11 Feb 2020
- Support old event loop versions that lack zero-timer methods.
- Report event loop versions in distribution tests.
0.06 Thu 6 Feb 2020
- Fix compilation on some old thread-multi perls.
0.05 Sat 1 Feb 2020
- Test fixes.
0.04 Fri Jan 31 2020
- Trivial documentation fix.
0.03 Mon Jan 6 2020
- Optimize all() and race() by reducing number of Perl callbacks.
- Fix C99 dependency.
- Specify disabled prototypes in XS.
- Skip failing test in Win32. (Fix maybe forthcoming … ?)
- Attempt to support ithreads. (Thank you, RANDIR!)
- Update documentation to include caveats about Windows & threads.
- Add GitHub data to Makefile.PL.
0.02 Mon Dec 30 2019
- Make then(), catch(), and finally() create objects in the same class
as the context object. Add documentation about subclassing.
0.01 Sun Dec 29 2019
- Initial release