Revision history for Perl extension Promise::XS:

0.20 Mon 10 Apr 2023
- Version bump to “fix” CPAN Testers.

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