mongodb

MongoDB driver for PHP


The purpose of this driver is to provide exceptionally thin glue between MongoDB
and PHP, implementing only fundamental and performance-critical components
necessary to build a fully-functional MongoDB driver.

License: Apache License

Latest releases

Version Release Download
1.11.0alpha1 2021-09-13 mongodb-1.11.0alpha1.tgz
1.10.0 2021-07-13 mongodb-1.10.0.tgz
1.10.0alpha1 2021-04-09 mongodb-1.10.0alpha1.tgz
1.9.2 2021-07-12 mongodb-1.9.2.tgz
1.9.1 2021-04-07 mongodb-1.9.1.tgz
Show all releases

Changelog

Version Message
1.11.0alpha1 ** New Feature
* [PHPC-1849] - Handle deprecation of Serializable in PHP 8.1
* [PHPC-1889] - Support snapshot session option
* [PHPC-1890] - Create constant for snapshot read concern level

** Task
* [PHPC-1918] - BSON corpus code and symbol tests are partially testing the wrong types
* [PHPC-1922] - Update PHONGO_CE_DISABLE_SERIALIZATION for PHP 8.1
* [PHPC-1930] - Removed disabled __wakeup() function in CursorId
* [PHPC-1935] - Add .dep files to .gitignore
* [PHPC-1961] - Regex decoding error tests in top.json have unexpected, invalid syntax
* [PHPC-1965] - Re-enable and stabilise PHP 8.1 build on GitHub actions

** Improvement
* [PHPC-1538] - Lift restriction on authSource without credentials
* [PHPC-1858] - Add return type to arginfo for JsonSerializable::jsonSerialize() in PHP 8.1
* [PHPC-1875] - Disable writes on snapshot sessions
* [PHPC-1876] - Raise client error for snapshot sessions on pre-5.0 servers
* [PHPC-1933] - Add return type to arginfo for Iterator and Countable methods in PHP 8.1
1.10.0 ** Bug
* [PHPC-1420] - Using replicaSet triggers __fortify_fail() from /lib64/libc.so.6
* [PHPC-1529] - Reset libmongocrypt's key vault client after forking
* [PHPC-1720] - Move mongoc_client_set_error_api after check for null client pointer
* [PHPC-1721] - Fix argument order for some ecalloc function calls
* [PHPC-1722] - Persistent clients and their HashTable should be destroyed in GSHUTDOWN
* [PHPC-1870] - Fix zSeries build failure due to redefinition of WORDS_BIGENDIAN
* [PHPC-1879] - Session::getTransactionOptions() leaks mongoc_transaction_opt_t

** Epic
* [PHPC-1666] - Allow per-client event subscribers
* [PHPC-1731] - Versioned MongoDB API for Drivers
* [PHPC-1756] - Remove all oppressive and unnecessarily gendered language from driver projects

** New Feature
* [PHPC-1645] - Allow disabling of libmongoc client persistence
* [PHPC-1684] - Support Azure and GCP keystores in FLE
* [PHPC-1716] - Allow configuring ServerApi in Manager class
* [PHPC-1804] - Implement Manager::addSubscriber and removeSubscriber

** Task
* [PHPC-1513] - Remove php_phongo_cursor_to_zval
* [PHPC-1685] - Drop support for PHP 7.0
* [PHPC-1782] - Support Removal of Several Platform Builds
* [PHPC-1792] - Update copyright years in file headers
* [PHPC-1835] - Rotate credentials and environment vars for Atlas connectivity tests
* [PHPC-1841] - Remove oppressive language from the documentation
* [PHPC-1842] - Remove oppressive language from the source code
* [PHPC-1848] - Test against 5.0 servers
* [PHPC-1864] - Cut 5.0 Compat. GA Release
* [PHPC-1866] - Specify 5.0 cursor behaviour
* [PHPC-1872] - Fix server-executeQuery-008.phpt for RS config with arbiter
* [PHPC-1877] - MongoDB 5.0.0-rc2 cannot be downloaded on rhel71-power8

** Improvement
* [PHPC-1366] - Declare libbson vtable in MINIT instead of using a global
* [PHPC-1367] - Move libmongoc init/cleanup within scope of custom libbson vtable
* [PHPC-1474] - Expose transaction information in debug info for session
* [PHPC-1490] - Add support for var_export() and __set_state() in CursorId.c
* [PHPC-1681] - Support parsing $uuid as extended JSON representation for subtype 4 binary
* [PHPC-1737] - Use zend_hash_graceful_reverse_destroy to free persistent client HashTable
* [PHPC-1753] - Define error handling behavior of writeErrors and writeConcernError on Mongos
* [PHPC-1754] - Drivers should not inspect error messages for "not master" or "node is recovering"
* [PHPC-1762] - Expose the Reason an Operation Fails Document Validation
* [PHPC-1765] - Mitigate pain of using field names with dots and dollars
* [PHPC-1791] - Specify correct return type in __set_state protos
* [PHPC-1798] - Update serverSelectionTimeoutMS of MongoClient to mongocryptd
* [PHPC-1803] - Use "hello" command when API Version is declared
* [PHPC-1813] - Unpin session after aborting a transaction
* [PHPC-1821] - Driver Handling of DBRefs
* [PHPC-1836] - Remove slaveOK connection string option from URI parsing
* [PHPC-1840] - Use "hello" command for monitoring if supported
* [PHPC-1855] - Bump maxWireVersion for MongoDB 5.0
1.10.0alpha1 ** Bug
* [PHPC-1420] - Using replicaSet triggers __fortify_fail () from /lib64/libc.so.6
* [PHPC-1529] - Reset libmongocrypt's key vault client after forking
* [PHPC-1720] - Move mongoc_client_set_error_api after check for null client pointer
* [PHPC-1722] - Persistent clients and their HashTable should be destroyed in GSHUTDOWN

** Epic
* [PHPC-1731] - Versioned MongoDB API for Drivers

** New Feature
* [PHPC-1645] - Allow disabling of libmongoc client persistence

** Improvement
* [PHPC-1366] - Declare libbson vtable in MINIT instead of using a global
* [PHPC-1367] - Move libmongoc init/cleanup within scope of custom libbson vtable
* [PHPC-1681] - Support parsing $uuid as extended JSON representation for subtype 4 binary
* [PHPC-1684] - Support Azure and GCP keystores in FLE
* [PHPC-1716] - Allow configuring serverApi in manager class
* [PHPC-1737] - Use zend_hash_graceful_reverse_destroy to free persistent client HashTable
* [PHPC-1753] - Define error handling behavior of writeErrors and writeConcernError on Mongos
* [PHPC-1754] - Drivers should not inspect error messages for "not master" or "node is recovering"
1.9.2 ** Bug
* [PHPC-1839] - MongoDB\BSON\toPHP() is rewriting $typeMap argument
* [PHPC-1869] - Redact sensitive commands from command monitoring
1.9.1 ** Bug
* [PHPC-1713] - Ensure Cursor::current returns null on invalid positions
* [PHPC-1748] - Cursor::key returns valid values on invalid positions
* [PHPC-1774] - platform field in connection meta data cuts off PHP version
* [PHPC-1775] - php_phongo_dbpointer_init uses incorrect size for strncpy
* [PHPC-1793] - Compile failure with PHP's master branch (8.1-dev)
* [PHPC-1801] - Fix arginfo for Manager::selectServer

** Task
* [PHPC-1739] - Move CI from travis-ci to GitHub Actions
* [PHPC-1808] - Upgrade libbson and libmongoc to 1.17.4

** Improvement
* [PHPC-1795] - Remove usages of xtrace in shell scripts
Show complete changelog