Revision history for Perl extension Promise::XS:
0.19 Thu 16 Mar 2023
- Fix a couple free-after-use bugs.
Thank you, @andk!
0.18 Fri 18 Nov 2022
- all() now accepts non-promise values (as Promises.pm does)
Thank you, @AnaTofuZ!
- Async/await is no longer considered experimental.
- Prevent DEBUGGING perls from running problematic Future::AsyncAwait test.
(Fixes CPAN smokers.) Warning added in docs.
- Fix t/async_await__several_awaits.t’s Mojo test.
0.17 Mon 15 Aug 2022
- Support Future::AsyncAwait’s top-level await.
- Internal: Use Easy XS.
0.16 Fri 15 Oct 2021
- Fix typo in AWAIT_GET method.
0.15 Wed 17 Aug 2021
- Hard-code the name of the converter sub in XS. This improves compatibility
with perlcc.
- Skip Future::AsyncAwait tests on perls where that module expects to work
with Future.pm rather than Promise::XS.
(cf. https://rt.cpan.org/Public/Bug/Display.html?id=137723)
0.14 Wed 24 Feb 2021
- Fix hold-ref test’s skip logic for old Future::AsyncAwait versions.
0.13 Tue 23 Feb 2021
- Experimental async/await support added.
- Skip failing (not super-consequential) test on 5.8.
- Fix CPAN.pm installation problems.
0.12 Wed 13 Jan 2021
- Detect and throw on infinite recursion (issue #4).
0.11 Mon 26 Oct 2020
- Make $Promise::XS::VERSION exist. (Fixes an external packaging tool.)
- Add GitHub CI.
0.10 Fri 17 Jul 2020
- BUG FIX: Fix clear_unhandled_rejection() to work again.
- BUG FIX: Pre-resolved promises no longer break race().
- resolved() and rejected() are now implemented in XS rather than Perl.
- Create all() and race() methods in Promise::XS::Promise.
- finally() now creates its own internal result that has to be caught,
or else an uncaught-rejection warning displays. The goal here is to
match ES6’s behavior—as closely as possible, anyhow, given this library’s
support for multi-part resolutions and rejections.
- Rejections with no defined values now trigger a warning.
- Resolve a few inconsequential compiler warnings.
0.09 Fri 6 Mar 2020
- Fix uninitialized pointer.
0.08 Mon 24 Feb 2020
- BREAKING CHANGE (minor): finally() is now closer to ECMAScript’s
specification. Toward that end, finally() callbacks no longer receive
arguments, and they handle exceptions and returned rejected promises as
ECMAScript’s finally() callbacks handle them.
- A warning is now thrown if a promise is the first of multiple returns from
a promise callback.
- Speed up memory-leak detection on promise creation.
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