Do not filter out falsey values in Query/Builder debug() methods
Query::debug() should access the entire $query property

This will require changes to ODM, as several of its tests expect this to access only $query['query'] contents.
Support values and expressions for $pull in query builder

Note: $pullAll only supports an array of values (no expressions), so it remains as-is.
Rename argument for Expr pullAll/pushAll methods
Remove recursive merging in Expr::addManyToSet()

The recursive merging in addManyToSet() dates back to: doctrine/mongodb-odm@59a2da0bf7a53075f9d93b9b1327abccf561c1d1. This could be problematic if addManyToSet() was called multiple times with deep array values, as they could be merged together in PHP. The new behavior will just overwrite the existing value in $newObj, like other update operators.
Implement Expr::each() and allow it to be used with addToSet()
Deprecate Expr::addManyToSet() in favor of addToSet() and each()
Support $each/$slice/$sort operators with push()

MongoDB 2.4 deprecates the $pushAll operator in favor of $push with $each. Additionally, it adds support for $slice and $sort (only in combination with $each).
Expr::push() should ensure $each operator appears first

If the $each operator does not appear first, the $push argument will be considered a single value to append to the array field.
Test array/Expr arguments for logical operators and elemMatch