I'll keep this in mind for future deprecations. V8 has historically not followed process, though we are starting to use deprecation messages, and it seems like a good idea to use more in the future. However, I think it's important to remove these soon, as native Promises become more broadly used, so dependence on them does not increase. It seems like we already have good evidence that they are not used very frequently, and sites which are broken without these functions are broken in all other browsers as well.
Dan On Wed, May 11, 2016 at 11:01 AM, PhistucK <[email protected]> wrote: > Being an old intent does not change anything... In Blink anyway, the > standard process is to give at least heads up for at least a single release > with a deprecation warning, unless the user is effectively zero (say, > 0.0001 and lower). In your case, the usage is non-zero (0.0015), which > means you will almost surely cause exceptions to be thrown, possibly > breaking some websites and wreaking havoc without a prior notice. > > Is it far too complicated to emit a deprecation warning and delay the > removal by a single release? > If adding a deprecation warning is a somewhat trivial change, you might > even be able to merge it to Chrome 51 (the current beta) and remove > completely in Chrome 52 (as planned). Not ideal, but a good start. > > > ☆*PhistucK* > > On Wed, May 11, 2016 at 8:52 PM, Daniel Ehrenberg <[email protected]> > wrote: > >> Unfortunately there were no deprecation warnings emitted. However, this >> Intent was sent out months ago. >> >> Dan >> >> On Wed, May 11, 2016 at 1:28 AM, PhistucK <[email protected]> wrote: >> >>> Did you emit deprecation warnings for the usage, or did you just >>> UseCount them and now plan to break those 0.0015% without prior notice...? >>> >>> >>> ☆*PhistucK* >>> >>> On Wed, May 11, 2016 at 8:54 AM, Daniel Ehrenberg <[email protected] >>> > wrote: >>> >>>> I ended up adding UseCounters and waiting for results to come in. >>>> Finally, they did: none of these three methods were used very much, the >>>> most frequent (Promise.defer()) occurring in .0015% of document loads. >>>> Therefore, I have unshipped them in V8 in >>>> https://codereview.chromium.org/1965183002 , which should make it to >>>> Canary soon. Please let me know if there is further evidence of breakage, >>>> and this can be reconsidered. >>>> >>>> On Fri, Dec 11, 2015 at 1:35 PM, Daniel Ehrenberg < >>>> [email protected]> wrote: >>>> >>>>> I think it'll be enough to let this be in Canary at first and see what >>>>> bug reports come in. I know there are some usages, but I think >>>>> developers will have an easy time converting their code to use 'then' >>>>> instead of 'chain'. They have to do so anyway if they want their >>>>> websites to work in browsers other than Chrome. It would be a simple >>>>> find and replace, or a few lines added to the top of the file to >>>>> establish the aliases. The semantics are slightly different, but these >>>>> differences should only come up in rare edge cases. >>>>> >>>>> Dan >>>>> >>>>> On Fri, Dec 11, 2015 at 1:02 AM, PhistucK <[email protected]> wrote: >>>>> > I agree that this is a good change, of course, but you really should >>>>> find >>>>> > out whether this breaks a lot of website first (the fact the >>>>> developers do >>>>> > not mention this does not mean they are not using it)... >>>>> > >>>>> > >>>>> > ☆PhistucK >>>>> > >>>>> > On Fri, Dec 11, 2015 at 1:05 AM, Daniel Ehrenberg < >>>>> [email protected]> >>>>> > wrote: >>>>> >> >>>>> >> We don't have any use counters, but the names were rather obscure, >>>>> and >>>>> >> the ES2015 Promise conventions seem to have stuck more. I have not >>>>> >> heard from any users which were in support of the old Promise API, >>>>> but >>>>> >> on the other hand, the fact that V8 does not currently meet the >>>>> ES2015 >>>>> >> Promise specification is a frequent complaint from both users and >>>>> >> frameworks. There is no way to support both ES2015 Promise semantics >>>>> >> per spec and Promise.prototype.chain at the same time. >>>>> >> >>>>> >> Dan >>>>> >> >>>>> >> On Thu, Dec 10, 2015 at 2:57 PM, PhistucK <[email protected]> >>>>> wrote: >>>>> >> > Are there any use counters for them? Did you check whether they >>>>> are used >>>>> >> > in >>>>> >> > the wild? >>>>> >> > (The HTTP archive can help here, or any internal Google index >>>>> searching >>>>> >> > you >>>>> >> > may have) >>>>> >> > >>>>> >> > >>>>> >> > ☆PhistucK >>>>> >> > >>>>> >> > On Fri, Dec 11, 2015 at 12:50 AM, 'Daniel Ehrenberg' via blink-dev >>>>> >> > <[email protected]> wrote: >>>>> >> >> >>>>> >> >> V8 had added a few functions for manipulating Promises which >>>>> didn't >>>>> >> >> make it into the ES2015 standard, namely Promise.prototype.chain, >>>>> >> >> Promise.accept and Promise.defer. ES2015 specifies Promises in a >>>>> way >>>>> >> >> which is incompatible with some of these methods, and none of >>>>> them >>>>> >> >> appear to be on track to be included in a standard the future. >>>>> >> >> >>>>> >> >> I have added a flag to V8 and Chrome >>>>> (--js-flags=--promise-extra) to >>>>> >> >> retain the current additional promise features. I intend to flip >>>>> the >>>>> >> >> flag off by default in general within a few days, with the aim >>>>> of V8 >>>>> >> >> version 4.9 branching without additional Promise functions. >>>>> >> >> >>>>> >> >> Dan >>>>> >> >> >>>>> >> >> -- >>>>> >> >> You received this message because you are subscribed to the >>>>> Google >>>>> >> >> Groups >>>>> >> >> "blink-dev" group. >>>>> >> >> To unsubscribe from this group and stop receiving emails from >>>>> it, send >>>>> >> >> an >>>>> >> >> email to [email protected]. >>>>> >> >> >>>>> >> > >>>>> > >>>>> > >>>>> >>>> >>>> >>> >> > -- -- v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev --- You received this message because you are subscribed to the Google Groups "v8-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
