This changelog references the relevant changes (bug and security fixes) done in 1.1.x patch versions.
- #207: Bump doctrine/common dependency
- #188: Added last stable mongo extension version to travis build matrix
- #193: Do not allow PHP 5.6 test failures
- #195: Fix
Connection::isConnected()for driver versions 1.5.0+ - #196: Fix handling of client options (e.g. socket timeout) in command helpers
- #198: Convert deprecated "timeout" option for
Database::command() - #199: Remove "timeout" conversion from Collection command wrappers
- #172:
Collection::ensureIndex()should convert write options - #174: MongoDB 2.6: Ensure $in argument is a real BSON array
- #175: Convert timeout options for driver >= 1.5.0
- #176: Add new PHP and driver versions to Travis CI
- #177: Respect
$optionswhen$serveris null in Connection constructor - #178: Convert deprecated MongoClient constructor options for driver >= 1.4.0
- #179: Cast
createCollection()options for MongoDB 2.6 compatibility
- #166: Use
current()inEagerCursor::getSingleResult() - #167: Revert "Fix Query construction in EagerCursor preparation test"
- #163: Revert "Allow string or array Cursor::hint() argument"
- #164: Allow string or array
Cursor::hint()argument
- #157: Fix createCollection event dispatching
- #159: Allow string or array
Cursor::hint()argument - #161: Fix
EagerCursor::getSingleResult()behavior
- #150:
Cursor::getSingleResult()should not use keys intoArray()
- #148: Reset cursor before and after
getSingleResult() - #149: Use integer-casted argument in
Cursor::batchSize()
- #92: Add get/setReadPreference() methods on core classes
- #97: Implement
Collection::aggregate()helper - #103: Support array argument in
Builder::select()andexclude() - #105: Internal cursor improvements for hint, sort, read preferences, and recreation
Cursor::hint()andsort()should overwrite previous values- Integrate
setReadPreference()withrecreate()and make it chainable
- #106: Events refactoring and support for modifying data in EventArgs
- Support MongoDB::createCollection() options array (driver 1.4+)
- Introduce MutableEventArgs object for post-event listeners
- #107: Adding $nor query operator for Builder and Expr
- #118: Documentation cleanup
- #109: Support GeoJSON and 2dsphere queries
- Rename
Query::TYPE_GEO_LOCATIONtoTYPE_GEO_NEAR - Query builder and expression methods for 2dsphere geo-spatial operators
- Integration with GeoJSON library
- Rename
- #121: Reorder methods alphabetically
- #123: ArrayIterator improvements
- Allow
offsetSet()to append values - Fix
valid()return value if an array element isfalse
- Allow
- #124: Deprecated passing scalar $query argument to
Collection::update() - #122: Command method refactoring
- Command methods now throw ResultException on error
group()now returns an ArrayIterator instead of the raw command response- Ensure all
mapReduce()options are prepared as MongoCode objects (where applicable) - Handle external database output strategy for
mapReduce()
- #126: DBRef database/collection method improvements
createDBRef()should not use array type hinting (arg can be a document or an ID)createDBRef()should not dispatch events, nor should it be logged- Add event dispatching to
Database::getDBRef()(Collection already had this)
- #127: Improve events/logging for Database methods
- Fixed post-event dispatching for
getGridFS()andcreateCollection() - Added tests for Database event dispatching
- Fixed logging for
createCollection()and make LoggableDatabase's API consistent with the base class
- Fixed post-event dispatching for
- #128: Query builder improvements
- Do not filter out falsey values in Query/Builder
debug()methods - Support values and expressions for $pull in query builder
- Remove recursive merging in
Expr::addManyToSet() - Implement
Expr::each()and allow it to be used withaddToSet() - Deprecate
Expr::addManyToSet()in favor ofaddToSet()andeach() - Support $each/$slice/$sort operators with
push() Expr::push()should ensure $each operator appears firstExpr::where()should not alter the current field in the builderBuilder::mapReduceOptions()andout()methods should require mapReduce command- Support GeoJSON in
Builder::geoNear()and set spherical default Builder::map()should init full query array, default to inline mapReduce output- Rename
Query::DISTINCT_FIELDtoDISTINCT - Throw exception for invalid query types in Query constructor
- Query should allow a single cursor hint to be specified
- Query should apply "limit" option for mapReduce commands
- Add array type-hint to
Builder::all()andExpr::all() Query::getIterator()should not execute if an exception is guaranteed- Deprecate
Query::iterate()alias in favor ofgetIterator()
- Do not filter out falsey values in Query/Builder
- #130: Add $rename update operator for Builder and Expr
- #131: Remove $cmd args/properties and deprecate
mongoCmdoption - #132: Make full command result accessible in ArrayIterator
- #140: Add
initialize()calls in Connection methods to avoid use of null objects - #139:
Builder::sort()should default to ascending order - #143: Query builder read prefs and wrap driver classes directly
- Wrap driver classes directly and remove Connection reinit logic
- Convert inconsistent return values for
getReadPreference()from pre-1.3.3 drivers - Don't throw InvalidArgumentException in
Cursor::setReadPreference() - Support read preferences in Query Builder
- #147:
Expr::mod()should take explicit divisor/remainder args
Additional commits included in 1.1.0:
- d51a44d: Support $elemMatch in query projections (closes #101)
- e92f0f2: Remove unused $options argument in
Expr::equals() - 773423a: Use driver's return value in
Collection::batchInsert()(closes #93) - 114a0ae: Fix cursor creation when MapReduce's db output option is used
- 8bc1466: Ensure
Cursor::limit()argument is casted to an integer - 6afee47: Deprecate
Connection::getStatus()(to be removed in 1.2) - 05258d4: Deprecate Database force/prev/resetError() methods (to be removed in 1.2)
- 25a8025: Restore
Query::TYPE_GEO_LOCATIONconstant for BC, but deprecate it