Bug
- [PHPC-316] - config.w32 should define MONGOC_ENABLE_SASL
- [PHPC-447] - Windows builds should generate libmongoc and libbson config and version files
- [PHPC-481] - Windows reports wrong mongoc and libbson versions
- [PHPC-520] - Document driver dependencies
- [PHPC-525] - Demonstrate non-empty $filter argument in Query constructor example
- [PHPC-530] - Document MongoDB\Driver\Server type constants
- [PHPC-554] - Rephrase unsupported/corrupt BSON messages
- [PHPC-625] - Document that persistent sockets should not be re-used after forking
- [PHPC-673] - Cursor::isDead() returns true despite cursor being alive
- [PHPC-674] - Advise users to install pkg-config for building the driver
- [PHPC-693] - Unacknowledged WriteResults have null counts
- [PHPC-728] - Wrong example on how to provide client certificate
- [PHPC-732] - Possible mongoc_client_t use-after-free with generators
- [PHPC-733] - Possible mongoc_client_t use-after-free with shutdown functions
- [PHPC-748] - CursorID is not properly expressed on 32-bit platforms
- [PHPC-756] - fromJSON() should not evaluate bson_error_t.message as boolean
- [PHPC-762] - undefined symbol: mongoc_write_concern_is_acknowledged
- [PHPC-788] - Timestamp on 32-bit platforms breaks
- [PHPC-790] - UTCDateTime constructor should truncate floats
- [PHPC-794] - BulkWrite::update() silently ignores invalid arguments
- [PHPC-801] - Empty ReadConcern and WriteConcern should serialize to BSON documents
- [PHPC-804] - Timestamp and UTCDateTime constructors should accept integers in strict types mode
- [PHPC-838] - Javascript objects are always serialized as BSON code types without scope
Epic
- [PHPC-542] - Remove dependency on mongoc private symbols
New Feature
- [PHPC-459] - BSON objects should implement JsonSerializable
- [PHPC-460] - BSON classes should support PHP serialization and var_export()
- [PHPC-498] - ReadPreference, ReadConcern, and WriteConcern should serialize to BSON
- [PHPC-536] - UTCDateTime constructor should default to current time and accept DateTimeInterface
- [PHPC-552] - Implement ObjectID::getTimestamp() method
- [PHPC-619] - Implement Decimal 128 type spec
- [PHPC-716] - Support new readConcern level "linearizable"
- [PHPC-729] - Implement __toString() method for Javascript and Binary
- [PHPC-730] - Implement getCode() and getScope() for Javascript
- [PHPC-734] - Support providing collation per operation
- [PHPC-752] - Allow users to set a limit on acceptable staleness
- [PHPC-757] - Implement The MongoDB Handshake Protocol
- [PHPC-786] - Support appname in URI array options
Task
- [PHPC-313] - BSON should throw when encountering 64-bit integer on 32-bit platform
- [PHPC-416] - Document SSL options
- [PHPC-504] - Document how RP, RC, and WC are serialized to BSON
- [PHPC-533] - Remove PHONGO_API macro for exported functions
- [PHPC-584] - Remove MkDocs documentation in favor of PHP.net documentation
- [PHPC-600] - Manager::getServers() should use mongoc_client_get_server_descriptions()
- [PHPC-601] - Cursor::getServer() should not access mongoc_cursor_t.client
- [PHPC-602] - Create command cursors with mongoc_cursor_new_from_command_document()
- [PHPC-603] - Use mongoc_read_prefs_t getters instead of accessing struct fields directly
- [PHPC-604] - WriteConcern::getJournal() should use mongoc_write_concern_journal_is_set()
- [PHPC-605] - Rely on libmongoc's socket handling and SSL implementation
- [PHPC-606] - Use mongoc_server_description_t public API
- [PHPC-607] - Manager::selectServer() should use mongoc_client_select_server()
- [PHPC-609] - Ensure client URI handling uses libmongoc public API
- [PHPC-610] - Client construction should use mongoc_write_concern_is_valid()
- [PHPC-611] - WriteResult::isAcknowledged() should use mongoc_write_concern_is_acknowledged()
- [PHPC-618] - Implement SDAM Monitoring spec
- [PHPC-629] - Upgrade libbson and libmongoc to 1.4.0
- [PHPC-630] - Update bson_visitor_t for unsupported type function pointer
- [PHPC-653] - Document WriteResult, WriteConcernError, and WriteError classes
- [PHPC-659] - Update bson_visitor_t for decimal 128 type function pointer
- [PHPC-662] - Use mongoc_bulk_operation_get_hint()
- [PHPC-663] - Use mongoc_bulk_operation_get_write_concern()
- [PHPC-664] - Use mongoc_write_concern_get_w()
- [PHPC-665] - Remove private libmongoc and libbson header includes
- [PHPC-680] - BulkWrite::count() should return number of operations instead of estimated round-trips
- [PHPC-682] - Do not use mongoc_bulk_operation_t private API in BulkWrite debug handler
- [PHPC-687] - Consolidate struct definitions for PHP 5 and 7
- [PHPC-688] - Do not use mongoc_cursor_t private API in Cursor debug handler
- [PHPC-689] - Query and command execution should use mongoc_cursor_set_hint()
- [PHPC-703] - Update configure scripts for upstream SSL changes
- [PHPC-704] - Do not set "mongodb.debug" based on Manager's $driverOptions["debug"]
- [PHPC-708] - Port http://php.net/manual/en/mongo.security.php to the new docs/driver
- [PHPC-718] - Define extension dependencies
- [PHPC-723] - Blocking connect() leads to cumulative timeouts for multiple inaccessible servers
- [PHPC-751] - Document MongoDB\BSON\Decimal128
- [PHPC-758] - Disable Decimal128 for bundled libbson and libmongoc 1.4.0
- [PHPC-761] - Remove BSON_NAMESPACE constant
- [PHPC-769] - Javascript serialization, export, and dump should always include scope field
- [PHPC-777] - Document MongoDB\Driver\ReadConcern::LINEARIZABLE
- [PHPC-779] - Switch serialization from O type to C type
- [PHPC-780] - Document persistent connection behavior
- [PHPC-783] - Use mongoc_collection_find_with_opts() for Query execution
- [PHPC-789] - Remove __wakeup from BSON/* classes
- [PHPC-791] - Upgrade libbson and libmongoc to 1.5.0
- [PHPC-796] - Use flexible opts for BulkWrite update and delete
- [PHPC-799] - Create notice for all third party libraries
- [PHPC-805] - Query "partial" option is now "allowPartialResults"
- [PHPC-806] - Document Query options for mongoc_collection_find_with_opts()
- [PHPC-807] - Document "collation" option for Query and BulkWrite update/delete
- [PHPC-824] - SDAM spec update : Update the topology from each handshake
- [PHPC-826] - Document that socket paths must be URL-encoded
- [PHPC-827] - Update Max Staleness implementation
- [PHPC-829] - BSON Regex flags must be alphabetically ordered
Improvement
- [PHPC-156] - Support Exhaust query option
- [PHPC-359] - Ensure read preference tags sets serialize as documents
- [PHPC-424] - Validate that read preference tag set is an array of documents
- [PHPC-433] - Persist topology state between requests
- [PHPC-486] - Add syntax highlighting to BSON persistence articles
- [PHPC-637] - Remind users that connection URIs should be encoded
- [PHPC-654] - Implement comparison handlers for BSON types
- [PHPC-676] - Do not allow BulkWrite objects to be executed multiple times
- [PHPC-684] - Report bypassDocumentValidation in BulkWrite debug output
- [PHPC-705] - Do not unnecessarily wrap filters in $query
- [PHPC-721] - Javascript constructor should throw if code contains null bytes
- [PHPC-724] - Regex constructor should throw if pattern or flags contain null bytes
- [PHPC-726] - Allow cross-platform serialization of Timestamp and UTCDateTime
- [PHPC-731] - Parse Timestamp argument as strings to accept large integers
- [PHPC-739] - Rename "javascript" to "code" in Javascript BSON class
- [PHPC-741] - Use consistent exceptions for BSON initialization methods
- [PHPC-742] - Regex constructor should default flags arg to empty string
- [PHPC-744] - Improve error messages for invalid Decimal128 and ObjectID strings
- [PHPC-746] - Default Manager URI to "mongodb://127.0.0.1/"
- [PHPC-754] - Remove libmongoc-priv system dependency in config.m4
- [PHPC-755] - Remove include of private mongoc-trace.h
Edit/Copy Release Notes
The text area below allows the project release notes to be edited and copied to another document.