Revision history for Perl extension Promises
1.04 2020-02-23
[ENHANCEMENTS]
- P::D::EV has a new `cleanup` class method clearing up the EV handler.
(GH#91, wangvisual)
[STATISTICS]
- code churn: 4 files changed, 173 insertions(+), 160 deletions(-)
1.03 2020-01-06
[BUG FIXES]
- Modified tests as AnyEvent began to fail when waiting for 0 seconds.
(GH#88)
[DOCUMENTATION]
- Add two more promise modules in SEE ALSO. (GH#90, FGasper)
- Add directives to how to install from master. (GH#89)
[ENHANCEMENTS]
- In similar vain to PR61, optimize _notify_backend for Mojo. (GH#86, Erik
Huelsmann)
[STATISTICS]
- code churn: 12 files changed, 153 insertions(+), 24 deletions(-)
1.02 2019-06-22
[DOCUMENTATION]
- Fixed pod error as reported by CPANTS. (GH#83, Mohammad S Anwar)
[ENHANCEMENTS]
- In similar vain to PR #61, optimize _notify_backend (for IO::Async).
(GH#85, Erik Huelsmann)
[STATISTICS]
- code churn: 3 files changed, 31 insertions(+), 9 deletions(-)
1.01 2019-06-15
[ENHANCEMENTS]
- Performance enhancements. (GH#61, GH#83, Erik Huelsmann, Tom van der
Woerdt)
[STATISTICS]
- code churn: 7 files changed, 159 insertions(+), 57 deletions(-)
1.00 2019-05-15
[BUG FIXES]
- Change inner working of collect() so that it deals with being passed
nothing. (GH#82)
- warn_on_unhandled_reject: deal with case where there is no caller.
(Peter Valdemar Morch, GH#76)
[DOCUMENTATION]
- Remove extra bracket in example. (perlover, GH#78)
- Minor text changes in POD. (manwar, GH#79)
- Mention other modules implementing promises. (GH#64)
[ENHANCEMENTS]
- add Promises::Sub. (GH#54, yanick)
[STATISTICS]
- code churn: 13 files changed, 304 insertions(+), 65 deletions(-)
0.99 2017-10-29
[BUG FIXES]
- skip all backend compile tests (RT#123404)
[STATISTICS]
- code churn: 2 files changed, 11 insertions(+), 3 deletions(-)
0.98 2017-10-22
[BUG FIXES]
- removed hard-dependency on the different backends.
[STATISTICS]
- code churn: 3 files changed, 120 insertions(+), 161 deletions(-)
0.97 2017-10-22
[DOCUMENTATION]
- Add a reference to the IO::Async deferred backend. (GH#71, Luke
Triantafyllidis)
[ENHANCEMENTS]
- add new function 'collect_hash'. (GH#52, yanick)
- add 'timeout' method. (GH#70, yanick)
[MISC]
- make tests use proper api. (TdvW)
- have test load AnyEvent. (GH#72, Luke Triantafyllidis)
[STATISTICS]
- code churn: 29 files changed, 640 insertions(+), 50 deletions(-)
0.96 2017-08-26
- Promotion of trial release to the real deal.
0.94 Monday, December 29, 2014
- fixing the other side of the AutoPrereqs issue, which is actually
making sure that test runs succeed if you do not have those pre-reqs,
again, sorry about this.
0.93 Wednesday, April 9th, 2014
- fix the AutoPrereqs issue so that EV, AE, AnyEvent and Mojo::IOLoop are
not required anymore, sorry about that.
0.92 Wednesday, April 9th, 2014
- just a quick update to make Mojo::IOLoop recommended instead of
required.
0.91 Wednesday, March 19th, 2014
- fixed issue with re-resolved promises not working correctly - thanks to
Gregory Oschwald for the bug - thanks to Clinton Gormley for the fix -
github issue #28 & #29
- thanks to Sean Zellmer for some typo fix
0.90 Saturday, Feb. 8th, 2014
- !!
- BACKWARDS COMPATIBILITY WARNING !!
- !!
- This is the first step towards full !!
- compatibility with the Promises/A+ !!
- spec, at which we will declare this !!
- to be module to be 1.0 !!
- NOTE: Pretty much everything in this release is thanks to the work of
Clinton Gormley++
- Fixed the behavior of finally() to make sure @results are passed along
correctly
- Handle any "then"-able object to be returned as a result, instead of
only accepting Promise objects
- then/done/finally now accept both callbacks (CODE refs) and "Callable"
objects (objects of classes that overload the CODE de-ref operator)
- New docs in Promises::Cookbook::GentleIntro.
- Doc fixes and CPAN repository metadata added, thanks to David
Steinbrunner for this
0.08 Tuesday, Jan. 21, 2014
- Thanks to clinton gormley for all these
- changes. Please take note of the backcompat
- breaking change for finalize().
- then() callbacks are now wrapped in an eval block to prevent fatal
exceptions and to ensure that rejected promises are propagated correctly
- renamed finalize() to done()
- added catch() sugar which takes just an error handler
- added finally() handler which will always be called, regardles of
whether the promise is resolved or rejected, much like try/catch/finally
0.07 Saturday, Jan. 18, 2014
- fixing a issues with localizing exceptions that were found by CPAN
testers - thanks to clinton gormley for providing the fix for this
0.06 Friday, Jan. 17, 2014
- make sure to clear both resolved and rejected callbacks after
resolution, thanks to clinton gormley for this.
- add event-loop specific backends to allow promises to be resolved in an
async manner (as Promises/A+ suggests) - thanks to clinton gormley for
starting this feature - backend created for AE, AnyEvent and EV -
backend for Mojo::IOLoop, thanks to clinton gormley for this - tests
added
- add in finalize() operator for ending a chain of promises (see docs for
more info) - thanks to clinton gormley for this feature, docs and tests
0.05 Monday, Dec. 23, 2013
- catch exceptions in any callback and call reject if they happen
- the 'promise' method on deferred objects will now return a new
Promises::Promise instance each time it is called - this prevents the
memory cycle we originally had
0.04 Thursday, Oct. 17, 2013
- DEPRECATION WARNING ***
- The 'when' helper in Promises.pm is being deprecated because it clashes
with the perl keyword. See RT #84024 for more info.
- 'when' renamed to 'collect' - tests and docs adjusted accordingly
0.03 Sunday, Feb. 17th, 2013
- added a `deferred` helper function to Promises.pm
- fixed the reject call in `when` (thanks to rafl for this) - added tests
for this
- large doc reworking - moved things into a cookbook - added example of
usage with Mojo::IOLoop - added comparison with Scala futures - this
still needs some work, but the basics are ther
0.02 Saturday, Nov. 24th, 2012
- add several predicate methods to help when interrogating status, this
resolves RT #81278. - thanks to Toby Inkster for this
- fixed error chaining so that the result of an error in one step of the
chain will be passed onto the next step as well, this resolves RT
#81358. - thanks to TOSHIOITO for this
- made error callbacks optional and ensured that the errors will bubble to
the next promise in the chain, this resolves RT #81356. - thanks again
to TOSHIOITO for this
0.01 Friday, Nov. 16th, 2012
- First release to an unsuspecting world
0.95_TRIAL 2017-08-19
[BUG FIXES]
- fix case where exception exists but is false. (GH#48, stuckdownawell)
[DOCUMENTATION]
- doc fix from Amelia Ireland (RT#107559)
- fix typos in docs (GH#43, yanick)
- POD fixes. (GH#39, hatorikibble)
- fix Mojo example (GH#41, InfinityGone)
[ENHANCEMENTS]
- add support for IO::Async. (GH#62)
- add Mojo::UserAgent example (GH#56, powerman)
- add $WARN_ON_UNHANDLED_REJECT. (GH#37, ruz)
- add `is_done` predicate. (GH#45, yanick)
- add `chain` method. (GH#47, yanick)
- add methods `resolved`, `rejected` and `deferred` now accept a coderef.
(GH#50, yanick)
- allows non-promises in 'collect'. (GH#53, yanick)
[MISC]
- skip tests if AnyEvent is not installed (GH#42, yanick)
- add a META.json (GH#40, hatorikibble)
- README.md improvement. (GH#51, Andy Kogut + yanick)