I'm sure most users of Mongoose have gotten familiar with the following warning log by now:
Mongoose: mpromise (mongoose's default promise library) is deprecated, plug in your own promise library instead: http://mongoosejs.com/docs/promises.html
I'm just curious, what was the motivation for making this decision?
Because mpromise was written to be compliant with Promises/A+, which does not line up exactly with promises as defined in the ES2015 spec. Also, because I don't have push access to mpromise and the maintainer is unresponsive, mpromise has become hopelessly obsolete and more and more we're finding ourselves patching up bugs in mpromise in mongoose while trying to stay backwards compatible. Mongoose will be much cleaner and more sane if we can make a clean break from mpromise.
Most helpful comment
Because mpromise was written to be compliant with Promises/A+, which does not line up exactly with promises as defined in the ES2015 spec. Also, because I don't have push access to mpromise and the maintainer is unresponsive, mpromise has become hopelessly obsolete and more and more we're finding ourselves patching up bugs in mpromise in mongoose while trying to stay backwards compatible. Mongoose will be much cleaner and more sane if we can make a clean break from mpromise.