Login  |  Packages  |  Support  |  Bugs

Return

Changelog for mongodb
Release What has changed?
1.17.3 ** Task
* [PHPC-2339] - Upgrade libmongoc to 1.25.4
* [PHPC-2340] - Upgrade libmongocrypt to 1.8.4
1.17.2 ** Bug
* [PHPC-2337] - Performance degradation in 1.17 due to trace logging

** Task
* [PHPC-2335] - Replace usage of hub with gh in GitHub Action workflows
1.17.1 ** Bug
* [PHPC-2325] - Null coalesce operator doesn't silence exception when accessing non-existent BSON field
* [PHPC-2328] - Wrong parameter names for BSON classes implementing ArrayAccess
* [PHPC-2332] - Fix bson_strerror_r compatibility for AIX

** Task
* [PHPC-2322] - Remove ICU and add SRV to phpinfo() output
* [PHPC-2334] - Upgrade libmongoc to 1.25.2
1.17.0 ** Build Failure
* [PHPC-2287] - strict-prototypes build error when compiling with PHP 7.4 and 8.0
** Bug
* [PHPC-2225] - Validate PHP_ARG_ENABLE and PHP_ARG_WITH configure options
* [PHPC-2275] - PHP version check in configure fails on Alpine
** Epic
* [PHPC-2256] - Build configuration improvements
** New Feature
* [PHPC-1000] - Allow MongoDB\BSON\Serializable to yield BSON document and array instances
* [PHPC-2180] - Allow applications to register a LogSubscriber globally
* [PHPC-2267] - Support BSON Binary subtype 0x08 (sensitive)
* [PHPC-2280] - Prefer OpenSSL on MacOS to avoid segmentation faults in php-fpm
** Task
* [PHPC-1218] - Fix warning for missing M4 include files during PECL install
* [PHPC-2155] - Remove prefixes for quoted shell variable references
* [PHPC-2194] - Resolve warnings when building with autoconf 2.70+
* [PHPC-2230] - Drop support for PHP 7.2 and 7.3
* [PHPC-2259] - Sync BSON corpus tests for Decimal128 values with large exponents
* [PHPC-2272] - Remove as_var_copy.m4
* [PHPC-2274] - Apply libmongocrypt definitions to PHP_MONGODB_LIBMONGOCRYPT_CFLAGS
* [PHPC-2282] - Remove trace logs during BSON encoding
* [PHPC-2283] - Regenerate function arginfo using a stable version of PHP 8.2
* [PHPC-2285] - Upgrade libmongocrypt to 1.8.2
* [PHPC-2300] - Rename output variables for bundled libbson version constants
* [PHPC-2302] - Rename output variables for bundled libmongoc version constants
* [PHPC-2308] - Handle unknown and universal cases for AC_C_BIGENDIAN
* [PHPC-2311] - Note with-libbson and with-libmongoc deprecation in configure help text
* [PHPC-2312] - Remove substitution of MONGOC_ENABLE_SASL_GSSAPI in CheckSasl.m4
* [PHPC-2314] - Require OpenSSL 1.0.1+ in CheckSSL.m4 to satisfy libmongoc requirements
* [PHPC-2315] - Use PKG_CHECK_MODULES for detecting libmongoc, libbson, and libmongocrypt
* [PHPC-2317] - Upgrade libmongoc to 1.25.0
* [PHPC-2319] - Upgrade libmongoc to 1.25.1
** Improvement
* [PHPC-1017] - Allow configure options to be specified with PECL install
* [PHPC-2219] - Prohibit serializing PackedArray instances as root documents
* [PHPC-2245] - Implement ArrayAccess for BSON PackedArray instances
* [PHPC-2246] - Implement ArrayAccess and property access for BSON document instances
* [PHPC-2262] - Replace ICU dependency with vendored utf8proc library
* [PHPC-2266] - Collect FaaS platform information as part of the environment information in driver handshake metadata
* [PHPC-2269] - Provide internal iterator implementation for BSON iterator class
* [PHPC-2289] - Prohibit passing LogSubscriber to Manager::addSubscriber()
1.16.2 ** Bug
* [PHPC-2265] - Possible deadlock when querying during a MongoDB node restart
* [PHPC-2268] - Remove duplicate call to bson_iter_key in BSON\Iterator::key

** Task
* [PHPC-2258] - Upgrade libmongoc to 1.24.2
* [PHPC-2263] - Detect XSI or GNU strerror_r() implementation during build process
* [PHPC-2270] - Define constants for POSIX features and extensions used by libmongoc 1.24
* [PHPC-2271] - Upgrade libmongoc to 1.24.3
1.16.1 ** Bug
* [PHPC-2253] - zlib missing when installing from PECL
1.16.0 ** Bug
* [PHPC-2070] - Kerberos on Windows should not pass username to SSPI when password is not set
* [PHPC-2133] - Cannot build driver with SRV support on FreeBSD
* [PHPC-2195] - Implicit declaration warnings caused by libmongocrypt-compat header
* [PHPC-2210] - Fix direct copying of BSON data from Document and PackedArray objects
* [PHPC-2211] - php_phongo_bson_to_json() does not free intermediary result string
* [PHPC-2216] - BulkWrite::insert() does not generate _id for Document or PackedArray
* [PHPC-2220] - ConnectionId returned in heartbeats may be int64
* [PHPC-2222] - PackedArray::fromPHP returns Document for root=bson type map

** Epic
* [PHPC-2214] - Int64 Improvements

** New Feature
* [PHPC-324] - Create a BSON document iterator class
* [PHPC-326] - Document and PackedArray classes to represent raw BSON data
* [PHPC-1949] - Allow explicit construction of Int64 objects
* [PHPC-2197] - Support queryable encryption range indexes
* [PHPC-2203] - Support Queryable Encryption v2 protocol for MongoDB 7.0
* [PHPC-2212] - Support overloaded operators for Int64 objects
* [PHPC-2213] - Support casting of Int64 objects to scalar integers

** Task
* [PHPC-2035] - Require hello command + OP_MSG when 'loadBalanced=True'
* [PHPC-2069] - Require hello command for connection handshake to use OP_MSG, disallowing OP_QUERY
* [PHPC-2163] - Update php-edge-versions latest-stable in Evergreen to PHP 8.2
* [PHPC-2164] - Refactor run-ocsp-responder.sh to use activate-ocspvenv.sh
* [PHPC-2200] - Add MongoDB rapid releases to Evergreen matrix
* [PHPC-2226] - Test against MongoDB 7.0
* [PHPC-2228] - Upgrade libmongocrypt to 1.8.1
* [PHPC-2250] - Upgrade libmongoc to 1.24.1
* [PHPC-2252] - Fix method signature for Serializable::unserialize() implementations

** Improvement
* [PHPC-1941] - Use OP_MSG to authenticate if server supports OP_MSG
* [PHPC-2158] - Cache AWS Credentials Where Possible
* [PHPC-2165] - Expose server error replies in BulkWriteResult
* [PHPC-2188] - Permit tlsDisableOCSPEndpointCheck in KMS TLS options
* [PHPC-2236] - Allow compression libraries to be configured at build time
* [PHPC-2244] - Return Int64 instances when converting raw BSON objects to PHP values
1.15.3 ** Build Failure
* [PHPC-2208] - Flaky test failure due to binary output dumping a session ID

** Bug
* [PHPC-2218] - Speculative authentication state is incorrectly kept

** Task
* [PHPC-2221] - Upgrade libmongoc to 1.23.4
1.15.2 ** Task
* [PHPC-2199] - Upgrade libmongoc to 1.23.3
1.15.1 ** Bug
* [PHPC-2184] - Write concern error without message results in null pointer access
* [PHPC-2185] - Build Windows DLLs for PHP 7.4
** Task
* [PHPC-2183] - Upgrade libmongoc to 1.23.2
1.15.0 ** Bug
* [PHPC-2132] - get_module_info() test function may fail to match some phpinfo() values
* [PHPC-2148] - Error if RewrapManyDataKey is called with masterKey and without provider
* [PHPC-2149] - ClientEncryption::createDataKey() may leak when processing masterKey option
* [PHPC-2159] - Consider enums and traits in BSON decoding instantiatable checks

** Epic
* [PHPC-2093] - Key Management API

** New Feature
* [PHPC-2083] - BSON handling for enum classes

** Task
* [PHPC-1710] - Document upcoming signature changes in interfaces
* [PHPC-1929] - ReadConcern tests need not exhaustively test each constant
* [PHPC-1945] - Remove class_exists checks from SKIPIF blocks in Decimal128 tests
* [PHPC-2064] - SKIPIF output may be ignored for tests using skip_if_not_clean on PHP 8.1
* [PHPC-2111] - Replace zend_parse_parameter_calls with PHONGO_PARSE_PARAMETERS macros
* [PHPC-2115] - Remove manual fetching of DateTimeImmutable class entry
* [PHPC-2117] - Test with PHP 8.2 on GitHub Actions
* [PHPC-2118] - Use debian11 and include MongoDB 6.0 for load balancer testing
* [PHPC-2124] - Ensure that null is still accepted for optional parameters
* [PHPC-2128] - Create stub files for functions
* [PHPC-2130] - Remove proto definitions from source files
* [PHPC-2136] - Final modifier should precede method visibility in stub files
* [PHPC-2143] - Add Windows builds to GitHub Actions and publish DLLs for releases
* [PHPC-2146] - Refactor type map struct
* [PHPC-2147] - Update AppVeyor config to clone PHP fork of the Windows SDK
* [PHPC-2153] - Test with PHP 8.2 on Evergreen
* [PHPC-2154] - Test with PHP 8.2 on Appveyor
* [PHPC-2166] - Use void keyword in prototypes for functions that take no parameters

** Improvement
* [PHPC-1708] - Add return type information to final classes
* [PHPC-1711] - Add return type information to interfaces
* [PHPC-1928] - Remove unnecessary casts to zend_long
* [PHPC-1944] - Add final modifier to __set_state methods
* [PHPC-2015] - Use stub files to generate arginfo
* [PHPC-2101] - Default Binary constructor $type parameter to TYPE_GENERIC
* [PHPC-2103] - Allow applications to detect crypt_shared availability
* [PHPC-2120] - Upgrade libmongocrypt dependency to 1.5.2
* [PHPC-2125] - Reduce expected removeKeyAltName operations to a single findOneAndUpdate
* [PHPC-2126] - Allow RewrapManyDataKeyResult.bulkWriteResult to be optional
* [PHPC-2142] - WriteResult getters should return null and emit deprecation notice for w:0 writes and return zero otherwise if libmongoc result is omitted
* [PHPC-2151] - Validate masterKey option for createDataKey() and rewrapManyDataKey()
* [PHPC-2168] - Use consistent int types for APM fields and snprintf for string conversions
1.14.2 ** Bug
* [PHPC-2152] - CheckResolv.m4 fails to link libresolv when detecting res_nsearch

** Task
* [PHPC-2157] - Upgrade libmongoc to 1.22.2
1.14.1 ** Bug
* [PHPC-2131] - Ensure CRYPT_SHARED_LIB_PATH is exported for Evergreen tests

** Task
* [PHPC-2135] - Test with consistent versions of crypt_shared and server
* [PHPC-2137] - Upgrade libmongoc to 1.22.1 and libmongocrypt to 1.5.2
1.14.0 ** Bug
* [PHPC-2088] - Memory leak in php_phongo_zval_to_bson_value
* [PHPC-2089] - Various bson_value_t memory leaks in ClientEncryption methods
* [PHPC-2098] - phongo_clientencryption_init uses wrong signature when compiling without CSFLE

** Epic
* [PHPC-2045] - FLE 1.0 Shared Library
* [PHPC-2091] - Queryable Encryption Support

** New Feature
* [PHPC-1899] - getServerConnectionId for command monitoring events
* [PHPC-2005] - Support 'let' option for multiple CRUD commands
* [PHPC-2049] - BulkWrite and Query support comment option of any type
* [PHPC-2085] - autoEncryption options for queryable encryption
* [PHPC-2092] - ClientEncryption options for queryable encryption
* [PHPC-2096] - Implement Manager::getEncryptedFieldsMap()
* [PHPC-2097] - Enable ClientEncryption constructor

** Task
* [PHPC-2053] - Remove mongodb.mock_service_id INI option
* [PHPC-2078] - Allow PECL release-upload.php to verify version constants
* [PHPC-2086] - Test against MongoDB 6.0
* [PHPC-2090] - Add MongoDB 5.0 to load balancer CI matrix
* [PHPC-2099] - Add crypt_shared to CI matrix as an alternative to mongocryptd
* [PHPC-2109] - Document Queryable Encryption API as "Public Technical Preview"

** Improvement
* [PHPC-2087] - Bump maxWireVersion for MongoDB 6.0
* [PHPC-2094] - Relay command comment when constructing a cursor
* [PHPC-2104] - EncryptOpts queryType should accept a string consistent with queryType in encryptedFields
1.14.0beta1 ** Bug
* [PHPC-2088] - Memory leak in php_phongo_zval_to_bson_value
* [PHPC-2089] - Various bson_value_t memory leaks in ClientEncryption methods
* [PHPC-2098] - phongo_clientencryption_init uses wrong signature when compiling without CSFLE

** New Feature
* [PHPC-1899] - getServerConnectionId for command monitoring events
* [PHPC-2005] - Support 'let' option for multiple CRUD commands
* [PHPC-2049] - BulkWrite and Query support comment option of any type
* [PHPC-2085] - autoEncryption options for queryable encryption
* [PHPC-2092] - ClientEncryption options for queryable encryption
* [PHPC-2096] - Implement Manager::getEncryptedFieldsMap()
* [PHPC-2097] - Enable ClientEncryption constructor

** Task
* [PHPC-2053] - Remove mongodb.mock_service_id INI option
* [PHPC-2078] - Allow PECL release-upload.php to verify version constants
* [PHPC-2090] - Add MongoDB 5.0 to load balancer CI matrix

** Improvement
* [PHPC-2087] - Bump maxWireVersion for MongoDB 6.0
* [PHPC-2094] - Relay command comment when constructing a cursor
1.13.0 ** Bug
* [PHPC-2013] - RHEL 7.0 and 7.1 builds fail due to incompatible pointer warnings
* [PHPC-2020] - Validate loadBalanced URI array option

** Epic
* [PHPC-1150] - Support SDAM Monitoring

** New Feature
* [PHPC-1805] - Implement ServerDescription class
* [PHPC-1891] - Implement TopologyDescription class
* [PHPC-1892] - Define SDAMSubscriber interface
* [PHPC-1893] - Define SDAM event classes
* [PHPC-1900] - Allow custom service names with srvServiceName URI option
* [PHPC-1908] - Allow limiting mongos servers with srvMaxHosts option

** Task
* [PHPC-1342] - Add documentation warning against the use of duplicate key names
* [PHPC-1909] - Set minWireVersion to 6 (MongoDB 3.6)
* [PHPC-1953] - Create tests for event object debug handlers
* [PHPC-1958] - Ensure that getTopologyId() gives the same result for all SDAM events
* [PHPC-1959] - Change SDAM event tests to use Manager::addSubscriber()
* [PHPC-1973] - Bump maxWireVersion to 14 for MongoDB 5.1
* [PHPC-2008] - writeresult-getserver-002 fails to drop collection in local db on replicaset-auth
* [PHPC-2012] - Remove extra AX_CHECK_COMPILE_FLAG args
* [PHPC-2019] - Remove Solaris checks in m4 build scripts
* [PHPC-2022] - Use mongoc_host_list in event structs
* [PHPC-2023] - Allow observation of TopologyClosedEvent
* [PHPC-2028] - Replace PHONGO_ALLOC_OBJECT_T macro with zend_object_alloc
* [PHPC-2031] - Upgrade libmongoc to 1.21.1 and libmongocrypt to 1.3.2
* [PHPC-2034] - Bump maxWireVersion for MongoDB 5.2
* [PHPC-2036] - Remove outdated prose test in causal consistency spec
* [PHPC-2037] - Remove vim modeline comments
* [PHPC-2038] - Initialize zval in phongo_clientencryption_init
* [PHPC-2039] - Remove disabled debugging code in bson.c
* [PHPC-2040] - Break down php_phongo.c into smaller files
* [PHPC-2042] - Remove conditional win32/time.h include in UTCDateTime.c
* [PHPC-2047] - Update load balancer tests to support dedicated load balancer port
* [PHPC-2073] - Remove test environments and checks for pre-3.6 server versions
* [PHPC-2074] - Clarify in contributing docs that mongo-orchestration is not required to run tests

** Improvement
* [PHPC-1647] - Defer to libmongoc for cross-option URI validation
* [PHPC-1910] - Implement Server::getServerDescription
* [PHPC-1925] - ServerDescription::getType() should return a string
* [PHPC-1934] - Check for uninitialized intern in ServerDescription get_properties_hash
* [PHPC-1950] - Lift restriction on authSource without credentials when set in URI options array
* [PHPC-2003] - Expose whether a client session is dirty
* [PHPC-2025] - Support load balancer in ServerDescription and TopologyDescription
* [PHPC-2026] - Warn if ServerDescription::getLastUpdateTime() must be truncated
* [PHPC-2030] - Allow observation of commands issued during mongoc_client_destroy()
* [PHPC-2032] - Report more concise debug info for ended sessions
1.12.1 ** Task
* [PHPC-2027] - Add PHP 8.1 to AppVeyor build matrix
* [PHPC-2071] - Upgrade libbson and libmongoc to 1.20.1
1.12.0 ** Epic
* [PHPC-1850] - Support PHP 8.1
* [PHPC-1912] - CSFLE 1.0 KMIP Support

** New Feature
* [PHPC-2009] - Support tlsOptions encryption option

** Task
* [PHPC-1878] - Unexpected primary step down when testing on MongoDB latest
* [PHPC-1880] - Drop support for PHP 7.1
* [PHPC-1931] - Add PHP 8.1 to PHP toolchain
* [PHPC-1997] - Update calls to deprecated bson_atomic_int_add function
* [PHPC-2011] - Upgrade libmongoc to 1.20.0 and libmongocrypt to 1.3.0

** Improvement
* [PHPC-1942] - Support BSON Binary subtype 0x07 (column)
* [PHPC-2004] - Specify string return type in __toString() arginfos
* [PHPC-2007] - Explicitly implement Stringable for PHP 8+
* [PHPC-2010] - Type validation for autoEncryption.extraOptions
1.11.1 ** Bug
* [PHPC-1993] - Bump libmongoc requirement in config.m4 to 1.19.1

** Task
* [PHPC-1994] - Fix Evergreen builds for testing different libmongoc versions
* [PHPC-1995] - Use https:// instead of git:// for git clone
1.11.0 ** Bug
* [PHPC-1982] - Use bson_gettimeofday for Windows compatibility
* [PHPC-1983] - php_phongo_write_concern_to_zval uses invalid type for 32-bit platform
* [PHPC-1984] - Incorrect return type in Server::getLatency() documentation
* [PHPC-1989] - CommandSucceededEvent debug info omits fields

** Epic
* [PHPC-1752] - Load Balancer Support

** 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
* [PHPC-1976] - Add load balancer serviceId to command monitoring events
* [PHPC-1978] - Expose libmongoc service ID mocking via INI option
* [PHPC-1980] - Create Server::TYPE_LOAD_BALANCER constant for use with Server::getType

** Task
* [PHPC-1897] - Test serialization of BSON with embedded null bytes in strings
* [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] - Remove 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
* [PHPC-1968] - Migrate Atlas testing from server 3.4 to 4.0
* [PHPC-1975] - Disable SKIPIF caching for skip_if_not_clean on PHP 8.1
* [PHPC-1977] - Add load balancer topology to Evergreen matrix
* [PHPC-1992] - Add load balanced serverless connectivity tests

** 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
* [PHPC-1937] - ReadPreference for Manager::selectServer() should be optional and default to primary
* [PHPC-1979] - Use mongoc_client_get_handshake_description for LoadBalancer server types
* [PHPC-1985] - Server::getLatency() should return null if unset
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.9.2 ** Bug
* [PHPC-1839] - MongoDB\BSON\toPHP() is rewriting $typeMap argument
* [PHPC-1869] - Redact sensitive commands from command monitoring
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.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
1.9.0 ** Epic
* [PHPC-1631] - Support PHP 8

** New Feature
* [PHPC-1691] - Iterator implementation for MongoDB\Driver\Cursor

** Bug
* [PHPC-1167] - executeBulkWrite() may leave dangling session pointer on BulkWrite object
* [PHPC-1693] - Fix MongoDB\BSON\Regex::__construct() arginfo
* [PHPC-1697] - Fix MongoDB\Driver\Command::__construct() arginfo
* [PHPC-1698] - prep_tagsets may leak in convert_to_object
* [PHPC-1700] - prep_tagsets may leak if calling method errors

** Improvement
* [PHPC-479] - Print mongoc and libbson versions during configure
* [PHPC-1699] - Ensure all zpp errors are proxied by InvalidArgumentException
* [PHPC-1704] - Improve checks for built-in PHP extensions for Windows builds
* [PHPC-1706] - AIX platforms shouldn't try linking with libresolv

** Task
* [PHPC-169] - Test read and write concern inheritance
* [PHPC-1652] - Add timestamp test with high-order bit set that's not 2^32-1
* [PHPC-1653] - Resync BSON corpus spec tests
* [PHPC-1655] - Add a bson corpus test with invalid type for $code when $scope is also present
* [PHPC-1660] - Always refer to explicit version in PECL example for non-stable release notes
* [PHPC-1689] - Allow driver to compile with PHP 8
* [PHPC-1692] - Test suite fixes for PHP 8
* [PHPC-1694] - Add PHP 8 nightly to Travis CI build matrix
* [PHPC-1695] - Add PHP 8 to AppVeyor build matrix
1.9.0RC1 ** Epic
* [PHPC-1631] - Support PHP 8

** New Feature
* [PHPC-1691] - Iterator implementation for MongoDB\Driver\Cursor

** Improvement
* [PHPC-479] - Print mongoc and libbson versions during configure
* [PHPC-1699] - Ensure all zpp errors are proxied by InvalidArgumentException
* [PHPC-1704] - Improve checks for built-in PHP extensions for Windows builds

** Bug
* [PHPC-1167] - executeBulkWrite() may leave dangling session pointer on BulkWrite object
* [PHPC-1693] - Fix MongoDB\BSON\Regex::__construct() arginfo
* [PHPC-1697] - Fix MongoDB\Driver\Command::__construct() arginfo
* [PHPC-1698] - prep_tagsets may leak in convert_to_object

** Task
* [PHPC-169] - Test read and write concern inheritance
* [PHPC-1652] - Add timestamp test with high-order bit set that's not 2^32-1
* [PHPC-1653] - Resync BSON corpus spec tests
* [PHPC-1655] - Add a bson corpus test with invalid type for $code when $scope is also present
* [PHPC-1660] - Always refer to explicit version in PECL example for non-stable release notes
* [PHPC-1689] - Allow driver to compile with PHP 8
* [PHPC-1692] - Test suite fixes for PHP 8
* [PHPC-1694] - Add PHP 8 nightly to Travis CI build matrix
* [PHPC-1695] - Add PHP 8 to AppVeyor build matrix
1.8.2 ** Bug
* [PHPC-1703] - Compilation on AIX platforms fails due to wrong detection of ss_family field
1.8.1 ** Bug
* [PHPC-1683] - Collect error labels from writeConcernErrors in libmongoc bulk write replies
* [PHPC-1687] - Session::commitTransaction() leaks reply document on success
1.8.0 ** Bug
* [PHPC-1598] - Objects with get_properties handlers should have get_gc delegate to zend_std_get_properties
* [PHPC-1648] - Ensure directConnection is validated when specified in URI options array

** Epic
* [PHPC-1547] - PHPC MongoDB 4.4 Support

** New Feature
* [PHPC-1313] - Add support for Zstandard compression
* [PHPC-1483] - MONGODB-AWS Support
* [PHPC-1484] - Support for allowDiskUse on find operations
* [PHPC-1494] - Add client metadata support for wrapping libraries
* [PHPC-1533] - OCSP Support
* [PHPC-1554] - Unify behavior around configuration for replica set discovery
* [PHPC-1561] - Allow hinting the delete command
* [PHPC-1571] - Driver support for server Hedged Reads
* [PHPC-1575] - Add URI option to disable certificate revocation checking

** Task
* [PHPC-1060] - Automate Atlas connectivity tests
* [PHPC-1131] - Do not compile php.exe for Appveyor builds
* [PHPC-1384] - Specify behavior where connection string contain auth database but no credentials
* [PHPC-1401] - Add mongodb+srv URIs to Atlas Connectivity tests
* [PHPC-1440] - Bump wire protocol version for 4.4
* [PHPC-1442] - Remove support for PHP 5.6
* [PHPC-1525] - Deprecate oplogReplay find command option from CRUD spec
* [PHPC-1616] - Remove PHP 7.1 from AppVeyor build config
* [PHPC-1621] - Bundled libmongocrypt emits compiler warning
* [PHPC-1635] - Ensure OCSP and AWS auth are tested on both 4.4 and latest

** Improvement
* [PHPC-1478] - Support shorter SCRAM conversation
* [PHPC-1510] - Expand use of error labels for RetryableWrites
* [PHPC-1530] - Make ExceededTimeLimit retryable writes error
* [PHPC-1556] - Reduce Client Time To Recovery On Topology Changes
* [PHPC-1566] - Support speculative authentication attempts in isMaster
* [PHPC-1591] - Add tests for allowed cases when authSource is given but username is not
* [PHPC-1614] - Consult SIZEOF_ZEND_LONG instead of SIZEOF_LONG
* [PHPC-1615] - Specify obj_dir when adding sources in config.w32
* [PHPC-1628] - Clarify return type for WriteConcernError and WriteError getInfo() methods
* [PHPC-1629] - Call libmongoc is_valid functions before completing WriteConcern and ReadPreference initialization
* [PHPC-1632] - Reduce default keepalive time to align with Azure defaults
1.8.0RC1 ** Bug
* [PHPC-1648] - Ensure directConnection is validated when specified in URI options array

** Task
* [PHPC-1635] - Ensure OCSP and AWS auth are tested on both 4.4 and latest

** Improvement
* [PHPC-1556] - Reduce Client Time To Recovery On Topology Changes
1.7.5 ** Bug
* [PHPC-1639] - Manager::executeCommand() should not inherit read preference
1.8.0beta2 ** Bug
* [PHPC-1598] - Objects with get_properties handlers should have get_gc delegate to zend_std_get_properties

** New Feature
* [PHPC-1313] - Add support for Zstandard compression
* [PHPC-1533] - OCSP Support
* [PHPC-1554] - Unify behavior around configuration for replica set discovery
* [PHPC-1571] - Driver support for server Hedged Reads
* [PHPC-1575] - Add URI option to disable certificate revocation checking

** Task
* [PHPC-1131] - Do not compile php.exe for Appveyor builds
* [PHPC-1384] - Specify behavior where connection string contain auth database but no credentials
* [PHPC-1616] - Remove PHP 7.1 from AppVeyor build config
* [PHPC-1621] - Bundled libmongocrypt emits compiler warning

** Improvement
* [PHPC-1566] - Support speculative authentication attempts in isMaster
* [PHPC-1591] - Add tests for allowed cases when authSource is given but username is not
* [PHPC-1614] - Consult SIZEOF_ZEND_LONG instead of SIZEOF_LONG
* [PHPC-1615] - Specify obj_dir when adding sources in config.w32
* [PHPC-1628] - Clarify return type for WriteConcernError and WriteError getInfo() methods
* [PHPC-1629] - Call libmongoc is_valid functions before completing WriteConcern and ReadPreference initialization
* [PHPC-1632] - Reduce default keepalive time to align with Azure defaults
1.8.0beta1 ** New Feature
* [PHPC-1483] - MONGODB-AWS Support
* [PHPC-1484] - Support for allowDiskUse on find operations
* [PHPC-1494] - Add client metadata support for wrapping libraries

** Task
* [PHPC-1060] - Automate Atlas connectivity tests
* [PHPC-1401] - Add mongodb+srv URIs to Atlas Connectivity tests
* [PHPC-1440] - Bump wire protocol version for 4.4
* [PHPC-1442] - Remove support for PHP 5.6
* [PHPC-1478] - Support shorter SCRAM conversation
* [PHPC-1510] - Expand use of error labels for RetryableWrites
* [PHPC-1525] - Deprecate oplogReplay find command option from CRUD spec

** Improvement
* [PHPC-1530] - Make ExceededTimeLimit retryable writes error
* [PHPC-1561] - Allow hinting the delete command
1.7.4 ** Bug
* [PHPC-1560] - MongoDB compile fails due to missing openssl
1.7.3 ** Task
* [PHPC-1559] - Fix libmongoc compilation issue in alpine
1.7.2 ** Bug
* [PHPC-1553] - Conditionally define ssize_t if it is not available
1.7.1 ** Bug
* [PHPC-1551] - Building against system libraries fails
1.7.0 ** Bug
* [PHPC-348] - Check for errors after calling bson_to_zval()
* [PHPC-889] - BSON decoding errors for Javascript scopes only thrown at access time
* [PHPC-1446] - Always enable TLS when any TLS option is specified
* [PHPC-1453] - SRV record lookup fails if DNS response exceeds 1024 characters
* [PHPC-1520] - Windows compiler warnings building extension with libmongocrypt
* [PHPC-1526] - Forking session test has intermittent failures on SHARDED_CLUSTER_RS
* [PHPC-1540] - Investigate segmentation fault when using keyVaultClient in AutoEncryptionOpts

** Epic
* [PHPC-1293] - Support Client-side Field Level Encryption (FLE)

** New Feature
* [PHPC-1230] - Support object cloning for BSON classes
* [PHPC-1462] - Support ability to pass hint to update
* [PHPC-1491] - Add ReadPreference::getModeString
* [PHPC-1496] - Support compiling with libmongocrypt
* [PHPC-1497] - Introduce new configure switch to use system libraries
* [PHPC-1498] - Handle autoEncryptionOpts in MongoDB\Driver\Manager
* [PHPC-1499] - Add clientEncryption API
* [PHPC-1500] - Change serialisation of objects for client hash
* [PHPC-1539] - Create new exception classes for FLE

** Task
* [PHPC-952] - Refactor BSON type initiators for unserialization visitors
* [PHPC-1002] - Test regularly with C Driver release or release candidate
* [PHPC-1073] - Remove superfluous php_array_exists calls where possible
* [PHPC-1074] - Refactor php_phongo_bson_state struct initialization for debug output
* [PHPC-1269] - Document that BulkWrite instances may only be executed once
* [PHPC-1279] - Improve documentation for Cursor::isDead()
* [PHPC-1312] - Advise users to use 64-bit environments if possible
* [PHPC-1314] - Document that users may need to copy libsasl.dll to lib path for Windows installs
* [PHPC-1343] - Add test to catch inaccessible server when running tests
* [PHPC-1372] - Re-enable ARM64 builds in Evergreen matrix
* [PHPC-1424] - Inform users that mongodb.debug output contains sensitive information
* [PHPC-1426] - Update stubs for PhpStorm
* [PHPC-1430] - Deprecate obsolete driver options
* [PHPC-1438] - Expose more precise session state
* [PHPC-1445] - Make find commands for collecting libmongoc sources portable between Linux and macOS
* [PHPC-1449] - Resync bson-corpus array.json to fix duplicate test names
* [PHPC-1450] - Document rules by which TLS is implicitly enabled
* [PHPC-1461] - Remove Community zSeries From 4.0 testing
* [PHPC-1470] - Remove unnecessary timezone settings in tests
* [PHPC-1471] - Clean up reference handling in Javascript scope serialisation
* [PHPC-1472] - Prevent multiple exceptions from being thrown during manager serialisation
* [PHPC-1492] - Remove conditional EXPECTF patterns in UTCDateTime tests
* [PHPC-1532] - Document client-side encryption functionality
* [PHPC-1546] - Ensure Windows builds enable SASL and FLE

** Improvement
* [PHPC-870] - Consider using ZEND_HASH_FOREACH indirect macros for iteration
* [PHPC-966] - Explicitly initialize fields for internal class structs
* [PHPC-991] - Handle duplicates in URI options array
* [PHPC-1274] - Reset libmongoc client after forking to avoid interacting with parent resources in child processes
* [PHPC-1281] - Serialization support for ReadConcern, ReadPreference, and WriteConcern
* [PHPC-1284] - Driver session pools must be cleared after forking
* [PHPC-1347] - Do not allow empty string for replicaSet
* [PHPC-1391] - Prohibit starting a transaction for maxWireVersion < 7
* [PHPC-1411] - Accept 64-bit integers for wTimeoutMS
* [PHPC-1418] - Test PHP 7.3 in Evergreen
* [PHPC-1439] - Expose transaction options on session object
* [PHPC-1459] - Add serialisation support for CursorId
* [PHPC-1521] - Only warn in config.w32 if SASL is enabled but not available
* [PHPC-1545] - Require object or array type for "kmsProviders" option
1.6.1 ** Bug
* [PHPC-1503] - Fix MONGOC_CC assignment in config.w32 for PHP 7.4

** Task
* [PHPC-1504] - Add PHP 7.4 to AppVeyor build matrix
* [PHPC-1505] - Update to libmongoc 1.15.2
1.6.0 ** Bug
* [PHPC-1331] - Fix typos in ReadPreference::__set_state() errors
* [PHPC-1332] - PHP array API downcasts 64-bit integers to 32-bit values on Windows
* [PHPC-1341] - Remove XFAIL for unacknowledged write concern test
* [PHPC-1419] - Error label from server error is not exposed in ServerException
* [PHPC-1432] - Fix documentation for Session::startTransaction() options parameter
* [PHPC-1435] - Fix Session::startTransaction() arginfo

** Epic
* [PHPC-837] - Update PHP driver to test in Evergreen
* [PHPC-1112] - Test suite improvements
* [PHPC-1233] - FY2019Q3 Quick Wins
* [PHPC-1235] - PHPC MongoDB 4.2 Support
* [PHPC-1329] - Fix Windows build failures on AppVeyor

** New Feature
* [PHPC-1123] - Create interface for Cursor class
* [PHPC-1222] - Implement accessor for error labels on exception classes
* [PHPC-1231] - Add Session::isInTransaction to indicate whether a transaction is active
* [PHPC-1254] - Implement ObjectID spec
* [PHPC-1288] - Implement Unified URI Options
* [PHPC-1290] - Support mongos pinning for sharded transactions
* [PHPC-1291] - Retryable Reads
* [PHPC-1292] - Support polling SRV records for mongos discovery
* [PHPC-1297] - Support sharded transactions recovery token
* [PHPC-1319] - Drivers should use majority write concern when retrying commitTransaction
* [PHPC-1324] - Support Retryable Writes on by Default
* [PHPC-1355] - Add the ability to specify a pipeline to an update command
* [PHPC-1371] - Drivers send recoveryToken on abortTransaction
* [PHPC-1382] - Allow applications to set maxTimeMS for commitTransaction

** Task
* [PHPC-691] - Test that Server command/query execute methods send read preference to mongos
* [PHPC-857] - Create Evergreen matrix for various test configurations
* [PHPC-858] - Add authentication axis to Evergreen matrix
* [PHPC-859] - Add SSL axis to Evergreen matrix
* [PHPC-860] - Add PHP runtime axis to Evergreen matrix
* [PHPC-861] - Add MongoDB version axis to Evergreen matrix
* [PHPC-862] - Add Evergreen matrix to run against nightly server builds
* [PHPC-863] - Add RHEL 7.1/Power 8 to the operating system axis
* [PHPC-864] - Add storage engines to Evergreen matrix
* [PHPC-1122] - Check whether we still need SUPPRESS_UNUSED_WARNING
* [PHPC-1173] - Reimplement replica set seedlist tests
* [PHPC-1180] - Fix peer certificate verification errors for SSL clusters
* [PHPC-1219] - Relax requirement for replica set tagsets assertions
* [PHPC-1240] - Remove noprealloc, nssize and smallfiles from MO configurations
* [PHPC-1250] - Document the order in which skip_ifs in tests need to be done
* [PHPC-1271] - Add (only) RHEL on zSeries to Evergreen Matrix
* [PHPC-1275] - Bump wire protocol version for 4.2
* [PHPC-1276] - Create tool chain for PHP binaries
* [PHPC-1299] - Add Ubuntu 16.04/ARM64 to the operating system axis
* [PHPC-1320] - Regenerate test certificates with SHA256 signatures
* [PHPC-1333] - Revert to virtualized Travis CI environments
* [PHPC-1345] - Revise fragile session ID assertions
* [PHPC-1364] - Upgrade libmongoc to 1.14.0
* [PHPC-1369] - Upgrade libmongoc to 1.15.0
* [PHPC-1370] - Revise test assertion for unknown modifier error message
* [PHPC-1377] - Remove support for PHP 5.5
* [PHPC-1390] - Remove 7.0 and add 7.3 on AppVeyor
* [PHPC-1392] - Avoid spurious failure in ConnectionTimeoutException test due to slow auth
* [PHPC-1399] - Test MongoDB 4.2 in Evergreen
* [PHPC-1412] - Fix test failures when retryable writes are enabled
* [PHPC-1413] - Fix test failures executing insert on secondary
* [PHPC-1414] - Skip tests when mongo orchestration is not available
* [PHPC-1415] - Fix test failures for sharded cluster without replica set
* [PHPC-1428] - Bump libmongoc to 1.15.1

** Improvement
* [PHPC-1206] - Add __set_state() support for ReadConcern, ReadPreference, and WriteConcern
* [PHPC-1229] - Populate error labels for bulk write exceptions
* [PHPC-1301] - php_phongo_cursor_t.got_iterator should use bool type
* [PHPC-1307] - Exception interface should extend Throwable on PHP 7+
* [PHPC-1346] - Do not allow empty string for username
* [PHPC-1373] - WriteResult is inaccessible if executeBulkWrite() encounters socket error
* [PHPC-1394] - Don't send $readPreference to standalone servers
* [PHPC-1422] - Raise an actionable error message when retryWrites fails due to using an unsupported storage engine
* [PHPC-1431] - Session::startTransaction() should accept null for options
1.6.0RC1 ** Bug
* [PHPC-1419] - Error label from server error is not exposed in ServerException
* [PHPC-1432] - Fix documentation for Session::startTransaction() options parameter
* [PHPC-1435] - Fix Session::startTransaction() arginfo

** Epic
* [PHPC-1235] - PHPC MongoDB 4.2 Support

** New Feature
* [PHPC-1254] - Implement ObjectID spec
* [PHPC-1288] - Implement Unified URI Options
* [PHPC-1290] - Support mongos pinning for sharded transactions

** Task
* [PHPC-1428] - Bump libmongoc to 1.15.1

** Improvement
* [PHPC-1346] - Do not allow empty string for username
* [PHPC-1431] - Session::startTransaction() should accept null for options
1.6.0alpha3 ** New Feature
* [PHPC-1291] - Retryable Reads
* [PHPC-1292] - Support polling SRV records for mongos discovery
* [PHPC-1297] - Support sharded transactions recovery token
* [PHPC-1319] - Drivers should use majority write concern when retrying commitTransaction
* [PHPC-1324] - Support Retryable Writes on by Default
* [PHPC-1355] - Add the ability to specify a pipeline to an update command
* [PHPC-1371] - Drivers send recoveryToken on abortTransaction
* [PHPC-1382] - Allow applications to set maxTimeMS for commitTransaction

** Task
* [PHPC-1275] - Bump wire protocol version for 4.2
* [PHPC-1320] - Regenerate test certificates with SHA256 signatures
* [PHPC-1369] - Upgrade libmongoc to 1.15.0
* [PHPC-1377] - Remove support for PHP 5.5
* [PHPC-1390] - Remove 7.0 and add 7.3 on AppVeyor
* [PHPC-1392] - Avoid spurious failure in ConnectionTimeoutException test due to slow auth
* [PHPC-1399] - Test MongoDB 4.2 in Evergreen
* [PHPC-1412] - Fix test failures when retryable writes are enabled
* [PHPC-1413] - Fix test failures executing insert on secondary
* [PHPC-1414] - Skip tests when mongo orchestration is not available
* [PHPC-1415] - Fix test failures for sharded cluster without replica set

** Improvement
* [PHPC-1394] - Don't send $readPreference to standalone servers
* [PHPC-1422] - Raise an actionable error message when retryWrites fails due to using an unsupported storage engine
1.5.5 ** Bug
* [PHPC-1393] - Free server description before returning from sharded cluster check
1.6.0alpha2 ** Bug
* [PHPC-1331] - Fix typos in ReadPreference::__set_state() errors
* [PHPC-1332] - PHP array API downcasts 64-bit integers to 32-bit values on Windows
* [PHPC-1341] - Remove XFAIL for unacknowledged write concern test

** Epic
* [PHPC-837] - Update PHP driver to test in Evergreen
* [PHPC-1329] - Fix Windows build failures on AppVeyor

** Task
* [PHPC-691] - Test that Server command/query execute methods send read preference to mongos
* [PHPC-857] - Create Evergreen matrix for various test configurations
* [PHPC-858] - Add authentication axis to Evergreen matrix
* [PHPC-859] - Add SSL axis to Evergreen matrix
* [PHPC-860] - Add PHP runtime axis to Evergreen matrix
* [PHPC-861] - Add MongoDB version axis to Evergreen matrix
* [PHPC-862] - Add Evergreen matrix to run against nightly server builds
* [PHPC-863] - Add RHEL 7.1/Power 8 to the operating system axis
* [PHPC-864] - Add storage engines to Evergreen matrix
* [PHPC-1180] - Fix peer certificate verification errors for SSL clusters
* [PHPC-1240] - Remove noprealloc, nssize and smallfiles from MO configurations
* [PHPC-1271] - Add (only) RHEL on zSeries to Evergreen Matrix
* [PHPC-1276] - Create tool chain for PHP binaries
* [PHPC-1299] - Add Ubuntu 16.04/ARM64 to the operating system axis
* [PHPC-1333] - Revert to virtualized Travis CI environments
* [PHPC-1345] - Revise fragile session ID assertions
* [PHPC-1364] - Upgrade libmongoc to 1.14.0
* [PHPC-1370] - Revise test assertion for unknown modifier error message

** Improvement
* [PHPC-1301] - php_phongo_cursor_t.got_iterator should use bool type
* [PHPC-1307] - Exception interface should extend Throwable on PHP 7+
* [PHPC-1373] - WriteResult is inaccessible if executeBulkWrite() encounters socket error
1.5.4 ** Bug
* [PHPC-1378] - CFLAGS and LDFLAGS can cause truncated platform info in client metadata handshake
* [PHPC-1387] - Consider error document for cursor exceptions

** Improvement
* [PHPC-1359] - Ensure 4.0 drivers return an error when attempting sharded transactions on 4.2
1.6.0alpha1 ** Epic
* [PHPC-1112] - Test suite improvements
* [PHPC-1233] - FY2019Q3 Quick Wins

** New Feature
* [PHPC-1123] - Create interface for Cursor class
* [PHPC-1222] - Implement accessor for error labels on exception classes
* [PHPC-1231] - Add Session::isInTransaction to indicate whether a transaction is active

** Task
* [PHPC-1122] - Check whether we still need SUPPRESS_UNUSED_WARNING
* [PHPC-1173] - Reimplement replica set seedlist tests
* [PHPC-1219] - Relax requirement for replica set tagsets assertions
* [PHPC-1250] - Document the order in which skip_ifs in tests need to be done

** Improvement
* [PHPC-1206] - Add __set_state() support for ReadConcern, ReadPreference, and WriteConcern
* [PHPC-1229] - Populate error labels for bulk write exceptions
1.5.3 ** Bug
* [PHPC-1241] - OpenSSL 1.1 not found if pkg-config is not available
* [PHPC-1266] - Empty deeply nested BSON document causes unallocated memory writes
* [PHPC-1272] - phongo_execute_query() should not alter state of Query opts

** Task
* [PHPC-1177] - Reimplement tests that use parse_url()
* [PHPC-1178] - Reimplement tests that load data fixtures
* [PHPC-1179] - Reimplement tests that start servers with Mongo Orchestration
* [PHPC-1209] - is_replica_set() should return false when connected to RS primary in standalone mode
* [PHPC-1220] - Create skip function for insufficient replica set members
* [PHPC-1225] - Add test to catch unsupported server wire protocol versions
* [PHPC-1258] - Bump system dependency on libbson and libmongoc in config.m4 to 1.12.0
* [PHPC-1263] - Update tests for PHP 7.3's output changes
* [PHPC-1270] - Upgrade libmongoc to 1.13.0
1.5.2 ** Bug
* [PHPC-1110] - advanceOperationTime test failure
* [PHPC-1239] - Passing empty driversOptions array to Manager constructor overrides SSL options in URI
* [PHPC-1241] - OpenSSL 1.1 not found if pkg-config is not available
* [PHPC-1243] - Calling session methods after Session::endSession() causes use-after-free crash

** Task
* [PHPC-1184] - Add alternative topologies to Travis CI
* [PHPC-1205] - Allow unencoded subdelimiters in usernames and passwords
* [PHPC-1227] - Document that transactions do not allow per-op read/write concerns
* [PHPC-1244] - Use majority WC to drop/create collections for transaction tests
* [PHPC-1246] - Document class tree for exception classes
* [PHPC-1248] - Add test to ensure that URI constant is successfully parsed
* [PHPC-1249] - Fix tests running against MongoDB 3.0 replicaset
* [PHPC-1251] - Upgrade libmongoc to 1.12.0
1.5.1 ** Bug
* [PHPC-1221] - Accept "yes" and no value for non-binary PHP_ARG_WITH() options

** Task
* [PHPC-1217] - Remind users to include __pclass field in projections
* [PHPC-1224] - Remove 2.6 servers from Travis CI
1.5.0 ** Epic
* [PHPC-1075] - Import libbson and libmongoc Autotools configuration
* [PHPC-1086] - Improve exception hierarchy for RuntimeException
* [PHPC-1102] - PHPC MongoDB 4.0 Support

** New Feature
* [PHPC-314] - Implement type map syntax for documents within field paths
* [PHPC-578] - Expose result document for failed commands
* [PHPC-1076] - Expose result document for failed commands via CommandFailedEvent
* [PHPC-1087] - Introduce ServerException class
* [PHPC-1089] - Introduce CommandException class
* [PHPC-1105] - Implement SASLPrep
* [PHPC-1108] - SCRAM-SHA-256 Support
* [PHPC-1140] - Implement Transactions spec
* [PHPC-1153] - Handshake changes for SDAM and Auth
* [PHPC-1181] - Retryable writes should consider more errors retryable
* [PHPC-1211] - Create Int64 class to wrap 64-bit integers on 32-bit platforms

** Bug
* [PHPC-332] - Test that server selection throws ConnectionTimeoutException
* [PHPC-355] - Connection timeouts should throw ConnectionTimeoutException, and not RuntimeException
* [PHPC-1022] - Sporadic SCRAM-SHA-1 authentication failures due to "storedKey mismatch"
* [PHPC-1158] - Segfault during OpenSSL cleanup routines
* [PHPC-1166] - Update zend array recursion protection for PHP 7.3
* [PHPC-1169] - TLS renegotiation errors during heartbeat when using Secure Transport
* [PHPC-1195] - BulkWrite::update() should append arrayFilters option as array
* [PHPC-1196] - Raise client error if arrayFilters option is used when unsupported
* [PHPC-1198] - Ensure bundled libraries set CFLAGS correctly

** Task
* [PHPC-585] - Document maxTimeMS example for executeCommand and executeQuery
* [PHPC-759] - Ensure that the driver can be compiled as a built-in PHP extension
* [PHPC-1083] - Change "available" RP constant to use libmongoc's constant instead of hard coding it
* [PHPC-1088] - Deprecate SSLConnectionException
* [PHPC-1107] - Resync tests to update handling of inconsistent write concern
* [PHPC-1113] - Migrate tests to use a common URI environment variable
* [PHPC-1114] - Add template.rc file to embed the right MongoDB version in the Windows binary
* [PHPC-1118] - Create clang-format file and Makefile targets
* [PHPC-1121] - Test Windows builds on Appveyor
* [PHPC-1126] - Prohibit using unacknowledged writes with explicit sessions
* [PHPC-1132] - Remove HHVM checks in test suite
* [PHPC-1133] - Remove unused includes in SKIPIF and FILE sections
* [PHPC-1137] - Deprecate maxScan query option
* [PHPC-1138] - Deprecate snapshot option
* [PHPC-1143] - Select ServerException for MONGOC_ERROR_WRITE_CONCERN domain
* [PHPC-1144] - Use server-side error code for BulkWriteException
* [PHPC-1145] - Fix development build warnings for numeric type conversions
* [PHPC-1148] - Throw InvalidArgumentException if BulkWrite is executed multiple times
* [PHPC-1160] - Initialize bson_error_t structs to zero
* [PHPC-1174] - Upgrade bundled libbson and libmongoc to 1.10
* [PHPC-1185] - Remove support for Cyrus SASL search path
* [PHPC-1186] - Consolidate libbson and libmongoc build configs
* [PHPC-1188] - Use --coverage compiler/linker option for code coverage builds
* [PHPC-1191] - Don't allow coverage for static builds
* [PHPC-1193] - Upgrade bundled libbson and libmongoc to 1.11

** Improvement
* [PHPC-850] - Add var_export() support for ReadConcern, ReadPreference, and WriteConcern
* [PHPC-922] - Improve specificity in generic corrupt BSON exception message
* [PHPC-1090] - Clean up switch statements for exception class selection
* [PHPC-1091] - Ensure ExecutionTimeoutException selection only considers server error code
* [PHPC-1120] - Decrease likelihood of implicit session leaks
* [PHPC-1127] - Remove old Mongo Orchestration cluster tests
* [PHPC-1139] - Update algorithm for Kerberos hostname canonicalization
* [PHPC-1149] - php_phongo_dispatch_handlers() should break if exception is thrown
* [PHPC-1154] - Implement wild card syntax for typemap field paths
* [PHPC-1189] - Prefix maintainer/coverage configure options with "mongodb"
* [PHPC-1200] - Remove MD5 from ObjectID generation
* [PHPC-1216] - Always validate and apply wtimeoutMS in URI options array
1.4.4 ** Bug
* [PHPC-1163] - Do not allow a session to be used with an unacknowledged write concern

** Task
* [PHPC-1168] - Advise macOS users to install using PECL
* [PHPC-1197] - Check for unistd.h when compiling bundled zLib
1.4.3 ** Bug
* [PHPC-1151] - Possible segfault is Session object is freed before Cursor
* [PHPC-1152] - Aggregate may fail to use the same session for getMore commands
* [PHPC-1162] - Dumping cursor while iterating with IteratorIterator may segfault

** Task
* [PHPC-1136] - Add Appveyor build status badge to readme
* [PHPC-1156] - Default to Secure Transport on macOS before OpenSSL
* [PHPC-1157] - Upgrade bundled libmongoc and libbson to 1.9.4
* [PHPC-1159] - Test on specific server versions in Travis CI

** Improvement
* [PHPC-1161] - Free reference to Session once Cursor is exhausted
1.4.2 ** Bug
* [PHPC-1128] - Aggregation pipelines are broken on sharded collections

** Task
* [PHPC-962] - Document example of tailable cursor iteration
1.4.1 ** Bug
* [PHPC-1124] - Add correct include path for SASL
* [PHPC-1125] - Out-of-source compilation with bundled zlib fails

** Task
* [PHPC-456] - Document caveats of serializing BSON document to arrays with type maps
1.4.0 ** Bug
* [PHPC-1038] - "documents" key in "command" in APM's commandStarted for "insert" is missing
* [PHPC-1043] - phongo_execute_query() may leak cursor struct on error
* [PHPC-1049] - Build warnings with CLang/LLVM
* [PHPC-1050] - Advancing a new command cursor to check for an error may invoke getMore
* [PHPC-1053] - UTCDateTime constructor reports that its single argument is required
* [PHPC-1057] - Refactor option parsing for execute methods
* [PHPC-1067] - BSON document produces driver segfault
* [PHPC-1072] - phongo_execute_command() leaks BSON reply on error
* [PHPC-1092] - Infinite loop iterating BSON object properties with foreach
* [PHPC-1093] - Bound checking on 32-bit platforms for APM's duration_micros
* [PHPC-1096] - Driver fails to build with libmongoc's bundled zlib
* [PHPC-1104] - pecl package misses zlib sources

** Epic
* [PHPC-934] - PHPC MongoDB 3.6 Support

** New Feature
* [PHPC-834] - Add Read, ReadWrite, and Write command execute methods
* [PHPC-967] - Add support for reading and writing OP_COMPRESSED
* [PHPC-975] - Array Update Improvements
* [PHPC-979] - OP_MSG support
* [PHPC-980] - Implement Drivers Sessions API
* [PHPC-986] - All writes retryable support
* [PHPC-987] - Causally Consistent Reads support
* [PHPC-993] - Parse localLogicalSessionTimeoutMinutes from isMaster response
* [PHPC-1015] - Implement Initial DNS Seedlist discovery spec
* [PHPC-1027] - Introduce classes for deprecated BSON types
* [PHPC-1029] - Support maxTimeMS getMore option for tailable command cursors
* [PHPC-1042] - Support options array for BulkWrite, Command, and Query execute methods
* [PHPC-1109] - Support batchSize getMore option for command cursors

** Task
* [PHPC-227] - Mongo Orchestration should restart when Vagrant test VM boots
* [PHPC-599] - Document 32-bit platform limitation for Timestamp arguments
* [PHPC-995] - Drop support for MongoDB 2.4
* [PHPC-1003] - Use container environment for Travis CI builds
* [PHPC-1013] - Test Driver Wire Version Overlap logic
* [PHPC-1024] - Document BSON exceptions for Cursor iteration
* [PHPC-1035] - Improve server compatibility error messages for wire version checks
* [PHPC-1036] - Update test suite for MongoDB 3.6
* [PHPC-1037] - Upgrade bundled libmongoc and libbson to 1.9
* [PHPC-1039] - Non data-bearing servers must be excluded when determining if a cluster supports sessions
* [PHPC-1047] - Add MongoDB 3.6 to test framework
* [PHPC-1048] - Rename phongo_execute_write to phongo_execute_bulk_write
* [PHPC-1055] - Improve docs for linking correct version of OpenSSL on macOS
* [PHPC-1065] - Enable BSON corpus tests for deprecated types
* [PHPC-1069] - Enable Coverity scans for the driver
* [PHPC-1070] - Create macro for accessing zval class or type name
* [PHPC-1077] - Fix X509 test failures with libmongoc 1.9.0 and MongoDB 3.6
* [PHPC-1078] - Create constant for available read concern level
* [PHPC-1079] - Document that jsonSerialize() returns legacy extended JSON
* [PHPC-1080] - Document new (deprecated) BSON classes
* [PHPC-1081] - Investigate Fedora build failures for 1.4.0beta1
* [PHPC-1082] - Add a PHP version check to config.m4
* [PHPC-1084] - Upgrade switch/case fallthrough comments to use GCC 7's new attribute
* [PHPC-1097] - Report libmongoc's compression engines in phpinfo() output
* [PHPC-1098] - Fix test failures due to floating point precision
* [PHPC-1100] - Fix test failures when driver is compiled without SSL

** Improvement
* [PHPC-709] - Debuglog timestamp does not contain micro/nanoseconds
* [PHPC-888] - Support additional TLS libraries for bundled libmongoc
* [PHPC-969] - Have TCP keepalive default to true
* [PHPC-1031] - Run configure check to use ASN1_STRING_get0_data over ASN1_STRING_data in bundled libmongoc
* [PHPC-1071] - Report class name in exception for unexpected object values
1.4.0RC2 ** Bug
* [PHPC-1104] - pecl package misses zlib sources

** New Feature
* [PHPC-1109] - Support batchSize getMore option for command cursors
1.4.0RC1 ** Bug
* [PHPC-1038] - "documents" key in "command" in APM's commandStarted for "insert" is missing
* [PHPC-1049] - Build warnings with CLang/LLVM
* [PHPC-1050] - Advancing a new command cursor to check for an error may invoke getMore
* [PHPC-1067] - BSON document produces driver segfault
* [PHPC-1092] - Infinite loop iterating BSON object properties with foreach
* [PHPC-1093] - Bound checking on 32-bit platforms for APM's duration_micros
* [PHPC-1096] - Driver fails to build with libmongoc's bundled zlib

** Task
* [PHPC-227] - Mongo Orchestration should restart when Vagrant test VM boots
* [PHPC-962] - Document example of tailable cursor iteration
* [PHPC-1003] - Use container environment for Travis CI builds
* [PHPC-1013] - Test Driver Wire Version Overlap logic
* [PHPC-1024] - Document BSON exceptions for Cursor iteration
* [PHPC-1065] - Enable BSON corpus tests for deprecated types
* [PHPC-1069] - Enable Coverity scans for the driver
* [PHPC-1077] - Fix X509 test failures with libmongoc 1.9.0 and MongoDB 3.6
* [PHPC-1078] - Create constant for available read concern level
* [PHPC-1079] - Document that jsonSerialize() returns legacy extended JSON
* [PHPC-1080] - Document new (deprecated) BSON classes
* [PHPC-1081] - Investigate Fedora build failures for 1.4.0beta1
* [PHPC-1082] - Add a PHP version check to config.m4
* [PHPC-1084] - Upgrade switch/case fallthrough comments to use GCC 7's new attribute
* [PHPC-1097] - Report libmongoc's compression engines in phpinfo() output
* [PHPC-1098] - Fix test failures due to floating point precision
* [PHPC-1100] - Fix test failures when driver is compiled without SSL

** Improvement
* [PHPC-888] - Support additional TLS libraries for bundled libmongoc
1.4.0beta1 ** Bug
* [PHPC-1043] - phongo_execute_query() may leak cursor struct on error
* [PHPC-1053] - UTCDateTime constructor reports that its single argument is required
* [PHPC-1057] - Refactor option parsing for execute methods
* [PHPC-1072] - phongo_execute_command() leaks BSON reply on error

** Epic
* [PHPC-934] - PHPC MongoDB 3.6 Support

** New Feature
* [PHPC-967] - Add support for reading and writing OP_COMPRESSED
* [PHPC-975] - Array Update Improvements
* [PHPC-979] - OP_MSG support
* [PHPC-980] - Implement Drivers Sessions API
* [PHPC-986] - All writes retryable support
* [PHPC-987] - Causally Consistent Reads support
* [PHPC-993] - Parse localLogicalSessionTimeoutMinutes from isMaster response
* [PHPC-1015] - Implement Initial DNS Seedlist discovery spec
* [PHPC-1027] - Introduce classes for deprecated BSON types
* [PHPC-1029] - Support maxTimeMS getMore option for tailable command cursors
* [PHPC-1042] - Support options array for BulkWrite, Command, and Query execute methods

** Task
* [PHPC-599] - Document 32-bit platform limitation for Timestamp arguments
* [PHPC-834] - Add Read, ReadWrite, and Write command execute methods
* [PHPC-995] - Drop support for MongoDB 2.4
* [PHPC-1035] - Improve server compatibility error messages for wire version checks
* [PHPC-1036] - Update test suite for MongoDB 3.6
* [PHPC-1037] - Upgrade bundled libmongoc and libbson to 1.9
* [PHPC-1039] - Non data-bearing servers must be excluded when determining if a cluster supports sessions
* [PHPC-1047] - Add MongoDB 3.6 to test framework
* [PHPC-1048] - Rename phongo_execute_write to phongo_execute_bulk_write
* [PHPC-1070] - Create macro for accessing zval class or type name

** Improvement
* [PHPC-709] - Debuglog timestamp does not contain micro/nanoseconds
* [PHPC-969] - Have TCP keepalive default to true
* [PHPC-1031] - Run configure check to use ASN1_STRING_get0_data over ASN1_STRING_data in bundled libmongoc
* [PHPC-1071] - Report class name in exception for unexpected object values
1.3.4 ** Bug
* [PHPC-1053] - UTCDateTime constructor reports that its single argument is required
1.3.3 ** Bug
* [PHPC-1045] - Segfault if username is not provided for SCRAM-SHA-1 authMechanism
* [PHPC-1046] - Do not specify $external as database name in tests

** Task
* [PHPC-1044] - Upgrade libbson and libmongoc to 1.8.2
1.3.2 ** Improvement
* [PHPC-1026] - Log warnings instead of throwing for unsupported BSON types
1.3.1 ** Bug
* [PHPC-1014] - config.m4 produces unterminated quoted string
1.3.0 ** Bug
* [PHPC-586] - Create regression tests for tailable cursor iteration
* [PHPC-624] - WriteResult::getUpsertedIds() only supports ObjectIDs and integers
* [PHPC-692] - Check for phongo_bson_to_zval_ex() failures in Server methods
* [PHPC-712] - Driver should validate BSON documents before insert and update
* [PHPC-875] - Allow compiling without SSL
* [PHPC-895] - Require 16-byte data length for Binary UUID subtypes 0x03 and 0x04
* [PHPC-914] - php mongodb connect 'SCRAM Failure: invalid salt length of 0 in sasl step2' exception
* [PHPC-939] - BSON classes should not assign public properties after var_dump()
* [PHPC-950] - Skip APM callbacks if subscriber HashTable is uninitialized
* [PHPC-951] - CursorId is a signed 64-bit integer
* [PHPC-964] - Ensure SASL output variables are always defined in config.m4
* [PHPC-974] - Converting JSON to BSON to PHP introduces gaps in array indexes
* [PHPC-981] - APM functions should reside in MongoDB\Driver\Monitoring namespace
* [PHPC-982] - Include null byte in key length when accessing subscriber HashTable in PHP 5
* [PHPC-983] - MongoDB\BSON\toPHP() arg info is missing type map parameter
* [PHPC-994] - Fix HAVE_SOCKLEN_T macro redefinition for Windows builds
* [PHPC-1005] - Ensure array symtable converts to object proptable in PHP 7.2
* [PHPC-1006] - Do not modify memory of Persistable::bsonSerialize() return value

** Epic
* [PHPC-909] - Spring cleaning for 1.3.0

** New Feature
* [PHPC-349] - Application Performance Monitoring (APM)
* [PHPC-382] - Allow zval_to_bson() to return the ID irrespective of ID generation
* [PHPC-471] - BulkWrite::insert() should always return the document's ID
* [PHPC-587] - CursorId should serialize to BSON as 64-bit integer
* [PHPC-772] - Parse authMechanism options in URI options array
* [PHPC-839] - Add option maxAwaitTimeMS on getMore commands
* [PHPC-926] - Implement Extended JSON spec
* [PHPC-976] - Create isDefault() method for read and write concerns
* [PHPC-985] - Implement Timestamp::getIncrement() and getTimestamp() methods
* [PHPC-988] - PHP 5.x segfault if TypeWrapper::createFromBSONType() throws exception

** Task
* [PHPC-302] - Throw exceptions for unsupported BSON types
* [PHPC-640] - Implement interfaces for userland BSON type classes
* [PHPC-765] - Connection string spec compliance
* [PHPC-892] - Upgrade libbson and libmongoc to 1.6.0
* [PHPC-907] - Remove PHONGO_API macro for exported symbols
* [PHPC-908] - Do not declare MINIT functions for each driver class
* [PHPC-910] - Reorganize BSON encoding and decoding sources
* [PHPC-911] - Prefix symbols and use static decls whenever possible
* [PHPC-915] - Document precedence of authMechanismProperties URI option over named GSSAPI options
* [PHPC-928] - Sync release files in PECL package generation script
* [PHPC-929] - Skip BSON corpus test for embedded null in code string
* [PHPC-932] - Remove reference to Manager on Cursor, Server, and WriteResult objects
* [PHPC-953] - Do not parse undocumented "database" key in URI options array
* [PHPC-957] - Use libmongoc constants for applicable URI options
* [PHPC-959] - Do not check for null return from mongoc_collection_find_with_opts()
* [PHPC-977] - Upgrade libbson and libmongoc to 1.7.0
* [PHPC-992] - Rename to[Canonical|Relaxed]JSON() to to[Canonical|Relaxed]ExtendedJSON()
* [PHPC-996] - Remove support for PHP 5.4
* [PHPC-997] - Update date/time handling code due to changes in timelib
* [PHPC-1004] - Rename ObjectID to ObjectId
* [PHPC-1007] - Upgrade libbson and libmongoc to 1.8.0
* [PHPC-1008] - Use SETUP_OPENSSL() in config.w32 if available

** Improvement
* [PHPC-579] - Throw exception for invalid BulkWrite::update() newObj argument
* [PHPC-628] - executeBulkWrite() should throw InvalidArgumentException for empty BulkWrite
* [PHPC-846] - Throw if maxStalenessSeconds URI option is out of range
* [PHPC-887] - Throw exceptions for unexpected types in URI options array
* [PHPC-904] - ReadPreference constructor should accept strings
* [PHPC-930] - Do not throw exceptions for critical and error levels in libmongoc log callback
* [PHPC-935] - Validate filter and options in Query constructor
* [PHPC-937] - Cursor::setTypeMap() and toPHP() should return early if type map is invalid
* [PHPC-941] - Introduce API for converting BSON to canonical and relaxed extended JSON
* [PHPC-942] - Use mongoc_uri_new_with_error() to improve URI error reporting
* [PHPC-944] - MONGOC_ERROR_COMMAND_INVALID_ARG should yield InvalidArgumentException
* [PHPC-1001] - Report field name for invalid UTF-8 and unsupported zval types during BSON encoding
1.2.11 ** Bug
* [PHPC-875] - Allow compiling without SSL

** Task
* [PHPC-1008] - Use SETUP_OPENSSL() in config.w32 if available
1.3.0RC1 ** Bug
* [PHPC-994] - Fix HAVE_SOCKLEN_T macro redefinition for Windows builds
* [PHPC-1005] - Ensure array symtable converts to object proptable in PHP 7.2
* [PHPC-1006] - Do not modify memory of Persistable::bsonSerialize() return value

** Task
* [PHPC-996] - Remove support for PHP 5.4
* [PHPC-997] - Update date/time handling code due to changes in timelib
* [PHPC-1004] - Rename ObjectID to ObjectId
* [PHPC-1007] - Upgrade libbson and libmongoc to 1.8.0
* [PHPC-1008] - Use SETUP_OPENSSL() in config.w32 if available

** Improvement
* [PHPC-1001] - Report field name for invalid UTF-8 and unsupported zval types during BSON encoding
1.2.10 ** Bug
* [PHPC-1005] - Ensure array symtable converts to object proptable in PHP 7.2
* [PHPC-1006] - Do not modify memory of Persistable::bsonSerialize() return value

** Task
* [PHPC-997] - Update date/time handling code due to changes in timelib
1.3.0beta1 ** Bug
* [PHPC-586] - Create regression tests for tailable cursor iteration
* [PHPC-624] - WriteResult::getUpsertedIds() only supports ObjectIDs and integers
* [PHPC-692] - Check for phongo_bson_to_zval_ex() failures in Server methods
* [PHPC-712] - Driver should validate BSON documents before insert and update
* [PHPC-875] - Allow compiling without SSL
* [PHPC-895] - Require 16-byte data length for Binary UUID subtypes 0x03 and 0x04
* [PHPC-914] - php mongodb connect 'SCRAM Failure: invalid salt length of 0 in sasl step2' exception
* [PHPC-939] - BSON classes should not assign public properties after var_dump()
* [PHPC-950] - Skip APM callbacks if subscriber HashTable is uninitialized
* [PHPC-951] - CursorId is a signed 64-bit integer
* [PHPC-964] - Ensure SASL output variables are always defined in config.m4
* [PHPC-974] - Converting JSON to BSON to PHP introduces gaps in array indexes
* [PHPC-981] - APM functions should reside in MongoDB\Driver\Monitoring namespace
* [PHPC-982] - Include null byte in key length when accessing subscriber HashTable in PHP 5
* [PHPC-983] - MongoDB\BSON\toPHP() arg info is missing type map parameter

** Epic
* [PHPC-909] - Spring cleaning for 1.3.0

** New Feature
* [PHPC-349] - Application Performance Monitoring (APM)
* [PHPC-382] - Allow zval_to_bson() to return the ID irrespective of ID generation
* [PHPC-471] - BulkWrite::insert() should always return the document's ID
* [PHPC-587] - CursorId should serialize to BSON as 64-bit integer
* [PHPC-772] - Parse authMechanism options in URI options array
* [PHPC-839] - Add option maxAwaitTimeMS on getMore commands
* [PHPC-926] - Implement Extended JSON spec
* [PHPC-976] - Create isDefault() method for read and write concerns
* [PHPC-985] - Implement Timestamp::getIncrement() and getTimestamp() methods
* [PHPC-988] - PHP 5.x segfault if TypeWrapper::createFromBSONType() throws exception

** Task
* [PHPC-302] - Throw exceptions for unsupported BSON types
* [PHPC-640] - Implement interfaces for userland BSON type classes
* [PHPC-765] - Connection string spec compliance
* [PHPC-892] - Upgrade libbson and libmongoc to 1.6.0
* [PHPC-907] - Remove PHONGO_API macro for exported symbols
* [PHPC-908] - Do not declare MINIT functions for each driver class
* [PHPC-910] - Reorganize BSON encoding and decoding sources
* [PHPC-911] - Prefix symbols and use static decls whenever possible
* [PHPC-915] - Document precedence of authMechanismProperties URI option over named GSSAPI options
* [PHPC-928] - Sync release files in PECL package generation script
* [PHPC-929] - Skip BSON corpus test for embedded null in code string
* [PHPC-932] - Remove reference to Manager on Cursor, Server, and WriteResult objects
* [PHPC-953] - Do not parse undocumented "database" key in URI options array
* [PHPC-957] - Use libmongoc constants for applicable URI options
* [PHPC-959] - Do not check for null return from mongoc_collection_find_with_opts()
* [PHPC-977] - Upgrade libbson and libmongoc to 1.7.0
* [PHPC-992] - Rename to[Canonical|Relaxed]JSON() to to[Canonical|Relaxed]ExtendedJSON()

** Improvement
* [PHPC-579] - Throw exception for invalid BulkWrite::update() newObj argument
* [PHPC-628] - executeBulkWrite() should throw InvalidArgumentException for empty BulkWrite
* [PHPC-846] - Throw if maxStalenessSeconds URI option is out of range
* [PHPC-887] - Throw exceptions for unexpected types in URI options array
* [PHPC-904] - ReadPreference constructor should accept strings
* [PHPC-930] - Do not throw exceptions for critical and error levels in libmongoc log callback
* [PHPC-935] - Validate filter and options in Query constructor
* [PHPC-937] - Cursor::setTypeMap() and toPHP() should return early if type map is invalid
* [PHPC-941] - Introduce API for converting BSON to canonical and relaxed extended JSON
* [PHPC-942] - Use mongoc_uri_new_with_error() to improve URI error reporting
* [PHPC-944] - MONGOC_ERROR_COMMAND_INVALID_ARG should yield InvalidArgumentException
1.2.9 ** Bug
* [PHPC-940] - php_phongo_free_ssl_opt() attempts to free interned strings
* [PHPC-948] - BSON encoding should throw on circular references
* [PHPC-949] - Memory leak if Serializable::bsonSerialize() returns keys with null bytes
1.2.8 ** Improvement
* [PHPC-936] - Define PHP_MONGODB_VERSION constant for Pickle compatibility
1.2.7 ** Bug
* [PHPC-500] - Resolve PHP 7 memory leaks
* [PHPC-931] - php_phongo_pclient_t is leaked during MSHUTDOWN
* [PHPC-933] - Unnecessary zend_string_release() in phongo_zval_to_bson() for PHP 7

** Task
* [PHPC-411] - Drop system.profile collection before tests
1.2.6 ** Bug
* [PHPC-901] - False slaveOk URI option should be ignored
* [PHPC-912] - Child processes should not destroy clients created by parent processes
* [PHPC-913] - Child process should not re-use mongoc_client_t objects from parent
* [PHPC-917] - localThresholdMS should default to 15 milliseconds
* [PHPC-923] - Use zend_string_release() to free class names
* [PHPC-924] - Cursor::setTypeMap() may unnecessarily convert first BSON document

** Task
* [PHPC-736] - Remove zend_str_tolower_dup() in ObjectID construction
* [PHPC-825] - Document URI options array for Manager constructor
* [PHPC-906] - Make test suite compatible with libbson/libmongoc 1.5.0 and 1.6.0
1.2.5 Fix Windows build scripts
1.2.4 ** Bug
* [PHPC-894] - BSON get_properties handlers leak during gc_possible_root() checks
* [PHPC-898] - readConcern option should not be included in getMore commands

** Task
* [PHPC-897] - Document that connections are initialized lazily
* [PHPC-899] - Remind users about BSON comparison behavior
1.2.3 ** Bug
* [PHPC-855] - Assertion failure in stream_not_found() after failed getmore operation
* [PHPC-856] - Build errors using bundled libbson and system libmongoc
* [PHPC-872] - Do not use system crypto policy for OpenSSL on Windows
* [PHPC-878] - php_json_serializable_ce missing in PHP versions before 5.5.10 and 5.4.26
* [PHPC-879] - php_date_get_immutable_ce missing in PHP versions before 5.6.8 and 5.5.24
* [PHPC-881] - Windows CA stores should be opened with read-only flag
* [PHPC-883] - BSON array keys should be disregarded during visitation
* [PHPC-884] - Public property with zero-length name ignored during BSON encoding
* [PHPC-885] - Alphabetize Regex flags when instantiating from BSON
* [PHPC-886] - Always recalculate field name length when encoding BSON
* [PHPC-891] - BSON encoding should throw if PHP keys contain null bytes

** Improvement
* [PHPC-635] - WriteResult debug handler should return objects
* [PHPC-873] - Do not allow mixing bundled and system libbson and libmongoc libraries

** Task
* [PHPC-633] - Add lines to phpinfo() output regarding support for SSL and SASL
* [PHPC-714] - Implement BSON corpus test suite
* [PHPC-890] - Add license header to source files
1.2.2 ** Bug
* [PHPC-849] - Cursor::setTypeMap() leaks current element if called during iteration
* [PHPC-851] - Segfault when ReadPreference tag sets are an immutable array
* [PHPC-852] - Do not depend on date and standard extensions in config.w32
* [PHPC-853] - config.w32 fails to generate all libmongoc and libbson version constants
* [PHPC-854] - Client persistence crashes with ZTS (e.g. Apache)
1.2.1 ** Bug
* [PHPC-848] - Fix BSON encoding of immutable arrays and documents with circular references
1.1.10 * PHPC-848: Consult ZEND_HASH_APPLY_PROTECTION() in PHP7
1.2.0 ** 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-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

** Improvement
* [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

** 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

** Question
* [PHPC-723] - Blocking connect() leads to cumulative timeouts for multiple inaccessible servers

** 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-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
1.1.9 * PHPC-820: Upgrade libbson and libmongoc to 1.3.6
* PHPC-820: Upgrade libbson and libmongoc to 1.3.6
1.2.0alpha3 ** Bug
* [PHPC-794] - BulkWrite::update() silently ignores invalid arguments

** Improvement
* [PHPC-424] - Validate that read preference tag set is an array of documents
* [PHPC-705] - Do not unnecessarily wrap filters in $query

** New Feature
* [PHPC-498] - ReadPreference, ReadConcern, and WriteConcern should serialize to BSON
* [PHPC-734] - Support providing collation per operation
* [PHPC-752] - Allow users to set a limit on acceptable staleness

** Task
* [PHPC-783] - Use mongoc_collection_find_with_opts() for Query execution
* [PHPC-796] - Use flexible opts for BulkWrite update and delete
1.2.0alpha2 ** Bug
* [PHPC-762] - undefined symbol: mongoc_write_concern_is_acknowledged

** Improvement
* [PHPC-433] - Persist topology state between requests
* [PHPC-726] - Allow cross-platform serialization of Timestamp and UTCDateTime
* [PHPC-731] - Parse Timestamp argument as strings to accept large integers
* [PHPC-742] - Regex constructor should default flags arg to empty string
* [PHPC-744] - Improve error messages for invalid Decimal128 and ObjectID strings

** New Feature
* [PHPC-552] - Implement ObjectID::getTimestamp() method
* [PHPC-716] - Support new readConcern level "linearizable"
* [PHPC-757] - Implement The MongoDB Handshake Protocol
* [PHPC-786] - Support appname in URI array options

** Task
* [PHPC-605] - Rely on libmongoc's socket handling and SSL implementation
* [PHPC-629] - Upgrade libbson and libmongoc to 1.4.0
* [PHPC-704] - Do not set "mongodb.debug" based on Manager's $driverOptions["debug"]
* [PHPC-761] - Remove BSON_NAMESPACE constant
* [PHPC-769] - Javascript serialization, export, and dump should always include scope field
* [PHPC-779] - Switch serialization from O type to C type
* [PHPC-789] - Remove __wakeup from BSON/* classes
1.2.0alpha1 ** 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-530] - Document MongoDB\Driver\Server type constants
* [PHPC-554] - Rephrase unsupported/corrupt BSON messages
* [PHPC-673] - Cursor::isDead() returns true despite cursor being alive
* [PHPC-693] - Unacknowledged WriteResults have null counts
* [PHPC-728] - Wrong example on how to provide client certificate
* [PHPC-748] - CursorID is not properly expressed on 32-bit platforms

** Improvement
* [PHPC-486] - Add syntax highlighting to BSON persistence articles
* [PHPC-684] - Report bypassDocumentValidation in BulkWrite debug output
* [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-739] - Rename "javascript" to "code" in Javascript BSON class
* [PHPC-741] - Use consistent exceptions for BSON initialization methods
* [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

** New Feature
* [PHPC-460] - BSON classes should support PHP serialization and var_export()
* [PHPC-536] - UTCDateTime constructor should default to current time and accept DateTimeInterface
* [PHPC-619] - Implement Decimal 128 type spec
* [PHPC-729] - Implement __toString() method for Javascript and Binary
* [PHPC-730] - Implement getCode() and getScope() for Javascript

** Task
* [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-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-630] - Update bson_visitor_t for unsupported type function pointer
* [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-708] - Port http://php.net/manual/en/mongo.security.php to the new docs/driver
* [PHPC-758] - Disable Decimal128 for bundled libbson and libmongoc 1.4.0
1.1.8 * PHPC-720: Do not persist SSL streams to avoid SSL reinitialization errors
* PHPC-631: Regression tests for UTCDateTime::toDateTime()
* PHPC-631: Fix timelib_time.f assignment in UTCDateTime::toDateTime()
1.1.7 * PHPC-572: Keep stream context options alive for Manager's lifetime
* PHPC-671: Avoid mongoc_client_t use-after-free by Cursor and Server
* PHPC-698: Check HAVE_OPENSSL_EXT before calling php-ssl.c functions
* PHPC-699: Rename "php_mongo" functions to not conflict with legacy driver
* Fix expected exception message for PHPC-487 test case
* PHPC-677: Keep pem_file valid for life of mongoc_client_t
* PHPC-550: Remove XFAIL ODS tests for removed functionality
* PHPC-672: Fix zend_str_tolower usage
1.1.6 * PHPC-667: Fix check for existing "_id" field during BulkWrite::insert()
* PHPC-657: Support MONGOC_NO_AUTOMATIC GLOBALS configure flag
* PHPC-657: Upgrade libbson and libmongoc to 1.3.5
* PHPC-655: Use case insensitive parsing for Manager connectTimeoutMS array option
* PHPC-564: Use macros for accessing write result int32 fields
* PHPC-564, PHPC-626: WriteResult should use libmongoc's public API
* Fix title for PHPC-155 regression test
1.1.5 * PHPC-632: Define MONGOC_NO_AUTOMATIC_GLOBALS when bundling libmongoc
1.1.4 * PHPC-620: Lowercase hexadecimal strings in ObjectID ctor
* PHPC-623: Fix 64-bit integer conversion for BSON keys
1.1.3 * Skip PHPC-545 test on HHVM due to __pclass encoding order
* PHPC-613: toJSON() should throw if bson_as_json() fails
* PHPC-615: Return after throwing for bson_reader_read() error
* PHPC-616: Document and array visitors should throw for corrupt BSON
* PHPC-531: Fix double free in corrupt BSON visitor
* Fixed PHPC-506: Use more descriptive messages in WriteExceptions
* PHPC-414: Combine 32-bit and 64-bit UTCDateTime debug handler tests
* PHPC-593: Binary type is an unsigned 8-bit integer
* PHPC-594: Timestamp components are unsigned 32-bit integers
* PHPC-595: Throw exception if wtimeout > INT32_MAX
* PHPC-544: Use phongo_long in UTCDateTime ctor
* PHPC-544: Consult SIZEOF_ZEND_LONG for 64-bit integer support
* PHPC-592: ADD_ASSOC_STRINGL() can only be used with string literals
* PHPC-545: Regression test for Peristable bug report
* PHPC-550: Always encode ODS field when serializing Persistable documents
* PHPC-581: Use ConnectionTimeoutException for server selection failures
* PHPC-582: Manager::selectServer() should select exception class based on bson_error_t
* PHPC-553: Relax expected output patterns for HHVM
* PHPC-553: Check for connection exceptions in exec and SS methods
* PHPC-553: Suppress warnings during stream creation
* PHPC-566: Remove request_id from Manager::__debugInfo()
* PHPC-567: Bump config.m4 library deps
* PHPC-567: Upgrade libbson and libmongoc to 1.3.3
* PHPC-523: Parse readconcernlevel in URI options array
* PHPC-563: Remove undocumented Manager "hosts" URI option
* PHPC-539: Include read concern in Query debug output
* PHPC-519: Add missing modifiers to final class methods
* PHPC-538: ObjectID should not abort on null ctor arg
* PHPC-515: Test that negative cursor limits return one batch
* Fixed PHPC-543: MongoDB\BSON\UTCDateTime on 32 bit platforms parse argument wrong
* Fixed PHPC-558: Upgrade libmongoc and libbson to 1.3.2
1.1.2 * PHPC-496: Revert "Temporary workaround for warning in mongoc"
* PHPC-534: Enable configure without SASL and support --with-mongodb-sasl=no
* PHPC-529: Prefix BSON functions to avoid symbol conflicts
* PHPC-528: Support zval references when appending BSON
* PHPC-527: fix call to add_index_stringl
* PHPC-527: Fix PHP 7 / 32bits build
1.1.1 * PHPC-285: Allow for PHP 7.x support in package.xml
* PHPC-285: VC14 needs timezone defined for SSL function
* PHPC-285: Fix syntax for empty struct initializer
* PHPC-400: Compare WriteConcern journal arg with IS_TRUE
* PHPC-405: Additional zval* to zval changes
* PHPC-397: Additional RETURN_STRING updates
* PHPC-393: Don't BSON-encode non-public properties in PHP 7
* PHPC-390: Fix OnUpdateString calls within OnUpdateDebug
* PHPC-373: Additional MAKE_STD_ZVAL() cleanup
* PHPC-374: zend_string updates for OnUpdateDebug
* PHPC-404: Additional hash API changes
* PHPC-370: Additionally return_value_ptr and return_value_used suppressions
* PHPC-369: Additional Z_<CLASSNAME>_OBJ_P() macros
* PHPC-399: Additional zval_used_for_init cleanup
* PHPC-431: Add the testcase from the report
* PHPC-431: Segfault when using Manager through singleton class
* PHPC-391 & PHPC-389: Stream and SSL API changes
* PHPC-387: Properly init the iterator, and don't free it on dtor
* PHPC-405: zval drop a level; zval*->zval, zval**->zval*
* PHPC-404: off-by-one hash api changes
* PHPC-390: php.ini updates
* PHPC-380: Use the compatability macros to get the object
* PHPC-400: Handle IS_TRUE and IS_FALSE
* PHPC-373: MAKE_STD_ZVAL() and zval* -> zval upgrades
* PHPC-397: RETURN_*() should RETURN ! :)
* PHPC-399: zval_used_for_init is no longer needed (or defined)
* PHPC-398: zend_parse_parameter 's' expects a char* and size_t now
* PHPC-373: MAKE_STD_ZVAL() is gone
* PHPC-397: RETURN_STRING() duplicate argument removed
* PHPC-387: get_current_data() API changes
* PHPC-397: dup argument in most string macros removed
* PHPC-380: Use our bc type for free_object argument
* PHPC-397: dup argument in most string macros removed
* PHPC-396: HashTable no longer contains nApplyCount
* PHPC-394: Fix issue with WriteException and zend_read_property
* PHPC-380: PHP7 create/free object changes
* PHPC-380: create/free object handlers for PHP7
* PHPC-385: Remove leftover braces
* PHPC-374: php_stream_xport_create() now wants zend_string
* PHPC-388 - dtor on bson_to_zval() failure
* PHPC-387: Iterator API changes
* PHPC-386: Forward port Z_PHPDATE_P() to get php_date_obj
* PHPC-385: add_assoc_string_ex() doesn't have a duplicate param in PHP7
* PHPC-384: php_stream's no longer have resource ids
* PHPC-383: Simplify getting the current exception zval*
* PHPC-376: Cursor var_dump() is weird
* PHPC-373: Remove MAKE_STD_ZVAL() usage
* PHPC-374: zend_string* vs char* PHP API changes (1/many)
* PHPC-375: TSRMLS_FETCH_FROM_CTX() not applicable in PHP7
* PHPC-372: zend_throw_exception() return value changes
* PHPC-371: Prep for PHP7 resource changes
* PHPC-370: Hardcode return_value_used to 1 in PHP7
* PHPC-370: return_value_ptr and return_value_used removed in PHP7
* PHPC-369: Use the new Z_<CLASSNAME>_OBJ_P() macros
* PHPC-369: Split PHP5 and PHP7 style custom object struct declrations
* PHPC-368: Refactor MongoDB\Driver\Manager ctor
* PHPC-285: Allow for PHP 7.x support in package.xml
* PHPC-285: VC14 needs timezone defined for SSL function
* PHPC-285: Fix syntax for empty struct initializer
* PHPC-400: Compare WriteConcern journal arg with IS_TRUE
* PHPC-405: Additional zval* to zval changes
* PHPC-397: Additional RETURN_STRING updates
* PHPC-393: Don't BSON-encode non-public properties in PHP 7
* PHPC-390: Fix OnUpdateString calls within OnUpdateDebug
* PHPC-373: Additional MAKE_STD_ZVAL() cleanup
* PHPC-374: zend_string updates for OnUpdateDebug
* PHPC-404: Additional hash API changes
* PHPC-370: Additionally return_value_ptr and return_value_used suppressions
* PHPC-369: Additional Z_<CLASSNAME>_OBJ_P() macros
* PHPC-399: Additional zval_used_for_init cleanup
* PHPC-431: Add the testcase from the report
* PHPC-431: Segfault when using Manager through singleton class
* PHPC-391 & PHPC-389: Stream and SSL API changes
* PHPC-387: Properly init the iterator, and don't free it on dtor
* PHPC-405: zval drop a level; zval*->zval, zval**->zval*
* PHPC-404: off-by-one hash api changes
* PHPC-390: php.ini updates
* PHPC-380: Use the compatability macros to get the object
* PHPC-400: Handle IS_TRUE and IS_FALSE
* PHPC-373: MAKE_STD_ZVAL() and zval* -> zval upgrades
* PHPC-397: RETURN_*() should RETURN ! :)
* PHPC-399: zval_used_for_init is no longer needed (or defined)
* PHPC-398: zend_parse_parameter 's' expects a char* and size_t now
* PHPC-373: MAKE_STD_ZVAL() is gone
* PHPC-397: RETURN_STRING() duplicate argument removed
* PHPC-387: get_current_data() API changes
* PHPC-397: dup argument in most string macros removed
* PHPC-380: Use our bc type for free_object argument
* PHPC-397: dup argument in most string macros removed
* PHPC-396: HashTable no longer contains nApplyCount
* PHPC-394: Fix issue with WriteException and zend_read_property
* PHPC-380: PHP7 create/free object changes
* PHPC-380: create/free object handlers for PHP7
* PHPC-385: Remove leftover braces
* PHPC-374: php_stream_xport_create() now wants zend_string
* PHPC-388 - dtor on bson_to_zval() failure
* PHPC-387: Iterator API changes
* PHPC-386: Forward port Z_PHPDATE_P() to get php_date_obj
* PHPC-385: add_assoc_string_ex() doesn't have a duplicate param in PHP7
* PHPC-384: php_stream's no longer have resource ids
* PHPC-383: Simplify getting the current exception zval*
* PHPC-376: Cursor var_dump() is weird
* PHPC-373: Remove MAKE_STD_ZVAL() usage
* PHPC-374: zend_string* vs char* PHP API changes (1/many)
* PHPC-375: TSRMLS_FETCH_FROM_CTX() not applicable in PHP7
* PHPC-372: zend_throw_exception() return value changes
* PHPC-371: Prep for PHP7 resource changes
* PHPC-370: Hardcode return_value_used to 1 in PHP7
* PHPC-370: return_value_ptr and return_value_used removed in PHP7
* PHPC-369: Use the new Z_<CLASSNAME>_OBJ_P() macros
* PHPC-369: Split PHP5 and PHP7 style custom object struct declrations
* PHPC-368: Refactor MongoDB\Driver\Manager ctor
1.1.0 * PHPC-509: Default Manager URI to "mongodb://localhost:27017/"
* PHPC-448: Fix arginfo for ReadConcern constructor
* PHPC-514: Fix --with-mongodb-sasl flag
* PHPC-512: Disable async stream connections
* PHPC-508: Construct valid stream URI for IPv6 literals
* PHPC-448: Manager::getReadConcern() and URI test
* PHPC-448: Support readConcern option on Query
* PHPC-448: Implement ReadConcern class
* PHPC-443: Support "bypassDocumentValidation" option in BulkWrite
* PHPC-450: failReceivedGetmore does not support getMore commands
* PHPC-450: Don't assert exact isMaster response when dumping Servers
* PHPC-450: Split query tests for OP_QUERY and find command
* PHPC-450: Profiled aggregate commands log the collection NS in 3.2
* PHPC-450: Update open cursor check for MongoDB 3.2
* Fixed PHPC-502: bson_init_static(): precondition failed: data
* PHPC-450: Enable majority read concern by default in MO
* PHPC-450: Use MongoDB 3.2 final for testing
1.0.1 * PHPC-487: Regression tests for check_closed stream handler
* PHPC-487: Reverse logic in check_closed stream handler
* PHPC-499: Only add the dependency when we're actually enabling the extension
1.0.0 * PHPC-475: toJSON and fromJSON should thrown on error
1.0.0RC0 * PHPC-465: Remove WriteConcernException and WriteErrorException
* PHPC-465: Remove Manager's single write methods
* PHPC-440: WriteErrorException extends abstract WriteException
* PHPC-462: Remove unused DuplicateKeyException
* PHPC-310: Make BSON types final and disable serialization for now
* PHPC-310: Exception classes need not be final
* PHPC-444: Support options array in BulkWrite and executeInsert()
* PHPC-407: Rename X509 error test and fix cert path
* PHPC-454: Remove WriteResult::getInfo() method
* PHPC-441: slaveOk bit is now set on hinted secondary query
* PHPC-256: Productions debug logs
* PHPC-441: Skip (xfail) these tests while the ticket is being worked on
1.0.0beta2 * PHPC-442: report PHP version in debug info
* PHPC-409: $readPreference is no longer sent to non-mongos nodes
* PHPC-438: Debug handler should display null for no WC error
* PHPC-436: Handle new writeConcernErrors array in mongoc_write_result_t
* PHPC-415: Add testcase
* PHPC-415: SSL/TLS already set-up for this stream
* PHPC-393: Ignore non-public properties when encoding BSON
* PHPC-430, PHPC-377: Do not convert Query filter arg to an object
* PHPC-377: Eliminate object casting and whole lot of zend hash helpers
* PHPC-373: Get rid of MAKE_STD_ZVAL() and use bson_t instead
* PHPC-430: Regression tests for Query arg corruption
* PHPC-379: I broke PHP5.3 build. Thats OK, since we don't support it.
* PHPC-427: Fix parsing of null WC journal param for PHP 5.4
* PHPC-428: Remove support for WriteConcern fsync option
* PHPC-427: Do not set WC journal/fsync to false for NULL args
* PHPC-423: WriteConcern should report default "w" option as null
* PHPC-426: WC ctor should throw for invalid $w and $wtimeout args
* PHPC-425: WC ctor should accept int/string $w args w/o casting
* PHPC-412: HHVM does not do SSL peer verification like PHP
* PHPC-410: Make BSON exception message consistent with HHVM
* PHPC-410: zval_to_bson() should throw on non-Serializable Type objects
* PHPC-410: object_to_bson() should throw on unsupported BSON\Type objects
* PHPC-410: object_to_bson() should encode non-stdClass objects
* PHPC-418: Getters for WriteConcern properties
* PHPC-418: Getters for ReadPreference properties
* PHPC-417: Return value objects from Manager RP/WC getters
* PHPC-408: Ensure object_to_bson() always creates a BSON document
1.0.0beta1 * PHPC-381: Print whether profile commands were successful
* PHPC-381: Server::executeQuery/Command() should take a read preference
* PHPC-361: Manager::getServers() should omit unknown servers
* PHPC-337: BSON\Javascript debug handler
* PHPC-339: BSON\Timestamp debug handler
* PHPC-340: BSON\UTCDateTime debug handler
* PHPC-338: BSON\Regex debug handler
* PHPC-366: Update release script to use RELEASE-x.y file
* PHPC-366: Merge 1.0.x release notes into RELEASE-1.0
* PHPC-366: Merge RELEASE-0.* release notes into RELEASE-0
1.0.0alpha2 * PHPC-365: Add src/contrib to Windows build includes
1.0.0alpha1 * PHPC-271: Server::executeBulkWrite() should take a write concern
* PHPC-196: Implement Manager getters for WC and RP
* PHPC-353: Return early when there are no options to apply
* PHPC-353: Support RP and WC in Manager options array
* PHPC-357: Revise test and relocate to standalone group
* PHPC-357: "invalid namespace" exception should report the namespace
* PHPC-129: Split out WriteConcern constructor error test
* PHPC-350: Bump libmongoc submodule for updated headers
* PHPC-347: bson_to_zval() leaks when buffer contains no documents
* PHPC-345: bson_to_zval() should throw exceptions instead of warnings
* PHPC-334: Split hex_dump() test case
* PHPC-344: Allow non-root Serializable to encode as BSON array
* PHPC-343: Allow bsonSerialize() to return a stdClass
* PHPC-331: Tests for BSON deserialization errors
* PHPC-329: bson_to_zval() serialization spec compatibility
* PHPC-329: __pclass must be both instantiatable and Persistable
* PHPC-329: Apply more validation to type map class
* PHPC-336: BSON\Binary debug handler
* PHPC-341: Ensure bson_t is freed after decoding JSON
* PHPC-333: Implement MongoDB\BSON\Binary::getData()
* PHPC-229: Support options array in second parameter of Manager ctor
* PHPC-334: Don't produce BSON with multiple __pclass fields
* PHPC-330: Always include __pclass property when unserializing BSON
* PHPC-311: Rename from/toArray() functions to from/toPHP()
* PHPC-315: Support "root" type mapping for top-level documents
* PHPC-319: Convert top-level documents to stdClass by default
* PHPC-304: Enable the test again -- and fix typo in the clean section!
* PHPC-303: Cannot connect to healthy Replica Set if seedlist only contains a secondary
* PHPC-325: bson_to_zval() leaks when buffer contains multiple documents
* PHPC-306: Check for sasl_client_done in config.m4
* PHPC-317: Ensure "sort" query option serializes as BSON object
* PHPC-323: The check for system mongoc checks system bson, not mongoc
* PHPC-322: Wrong bugtracker URL in configure output
* PHPC-321: UTCDatetime -> UTCDateTime
* PHPC-321: UTCDatetime -> UTCDateTime
* PHPC-309: Bump tests
* PHPC-309: Move the BSON namespace under MongoDB\ namespace
* PHPC-308: Skip getmore test until libmongoc issues are resolved
* PHPC-308: Failed getmore should throw exception
* PHPC-304: Add a failGetMore trigger
* PHPC-291: New cluster/socket/connection tests
* PHPC-291: Add a script to convert mo-tests (JSON) to PHPT
* PHPC-305: add --with-libmongo option
* PHPC-75: Improve debug output coverage
* PHPC-75: Improve coverage
* PHPC-75: Server error code coverage
* PHPC-301: var_dump()ing Manager should show debug info
* PHPC-300: Add var_dump() debug info for Server
* PHPC-75: Improve coverage for the Manager
* PHPC-277: Ensure Query always serializes $query as a BSON object
* PHPC-299: Annoying compiler warning
* PHPC-298: Coalesce small writes
* PHPC-284: Fix LogicException declaration
* PHPC-279: Add 2.4 (and 2.6) to build matrix and ensure test suite compatibility
* PHPC-296: phongo.debug created for empty values
0.6.3 * PHPC-294: Fix path to build directory
0.6.2 * Fix PECL package stability
0.6.1 * Fix build outside of srcdir
0.6.0 * PHPC-282: Test for multiple Cursor::toArray() calls
* PHPC-255: Cursors cannot rewind after starting iteration
* PHPC-282: Remove tests for multiple iterators on the same Cursor
* PHPC-282: Cursor should not yield multiple iterators
* PHPC-284: Create MongoDB\Driver\Exception\LogicException class
* PHPC-283: UnexpectedValueException for invalid bsonSerialize() return value
* PHPC-280: WriteConcern should always set journal/fsync boolean args
* PHPC-179: Show unset journal/fsync as null in WriteConcern debug handler
* PHPC-274: Regression test for root BSON\Serializable encoding
* PHPC-275: object_to_bson() handling for invalid bsonSerialize() retval
* PHPC-274: Fix zval_to_bson() encoding of BSON\Serializable objects
* PHPC-278: nModified may be null for legacy writes
* PHPC-269: Travis mojo again
* PHPC-272: Move exceptions into MongoDB\Driver\Exception namespace
0.5.1 * PHPC-241: Don't try to use local timezone
* PHPC-241: mongodb.debug improvements
* PHPC-270: Several test fail because of missing enableTestCommands
* PHPC-270: add TESTCOMMANDS() skipif to confirm mongod is running with required options
* PHPC-269: Fix travis setup
* PHPC-268: Update tests to declare which environments they need
* PHPC-268: Add NEEDS() function to check if that environment is available
* PHPC-247: Remove 'faker' as prerequisite from running our full test suite
* PHPC-247: Remove on-the-fly composer generated fixtures
* PHPC-247: Use the bundled pregenerated fixtures
* PHPC-89: Bundle generated fixtures and make them easily loadable
* PHPC-260: Allow/use "object" in setTypeMap() as alias/preferred for "stdclass"
* PHPC-267; _id generated on embedded document
* PHPC-265: BSON encoding unsupoprted types (Resource) should fail
* PHPC-266: Add MongoDB\Driver\UnexpectedValueException
* PHPC-75: Improve code coverage
* PHPC-258: make all filed needed for test as role="test"
* PHPC-259: add --with-libbson option
0.5.0 * PHPC-241: Include lib versions and uri in the logs
* PHPC-240: Rely on libmongoc for command cursor iteration
* PHPC-240: Regression tests for command cursor getmore
* PHPC-254: Remove unused RINIT and RSHUTDOWN handlers
* PHPC-253: bump mongoc after CDRIVER-611 fix
* PHPC-249: empty array should be serialized as array
* PHPC-248: Allow ->setTypeMap() to set 'array' and 'stdclass'
* PHPC-245: Allow embedding objects in updates
* PHPC-245: executeUpdate() converts objects to arrays
* PHPC-244: Cannot use object of type Person as array
* PHPC-243: Manager->executeUpdate() option is supposed to be 'multi'
* PHPC-239: Cursor refcount issues
* PHPC-237: Update PHP version requirement in package.xml
0.4.1 * PHPC-236: 5.3-zts build broken
0.4.0 * PHPC-234: Run test suite automatically on FreeBSD 10.1
* PHPC-235: Fix out-of-src builds on FreeBSD
* PHPC-213: Disable extra bson type alignment
* PHPC-233: Mark the ctor as private for internally created value objects
* PHPC-80: Create distcheck target
* PHPC-231: Manager instances should not free streams that are still in use
* bump dependencies for PHPC-231 & PHPC-213
* PHPC-232: Fix capitalization for WriteResult::getWriteConcern()
* PHPC-231: Regression test for Manager destruct stream freeing
* PHPC-215: Fix Cursor iteration through IteratorIterator
* PHPC-225: Test Cursor::isDead() and kill on destruct
* PHPC-224: Consolidate Result and Cursor classes into one
* PHPC-224: Remove Cursor class, which implements Iterator
* PHPC-207: Correct serialized data examples for ODS documentation
* PHPC-210 & PHPC-209 & PHPC-207 Fix BSON ODM/ODS
* PHPC-208: Restrict ODS to "__pclass" fieldnames
* PHPC-194: Implement Manager::selectServer() method to wrap SDAM server selection
* PHPC-190: Provide __wakeUp() to disable unserialize()
* PHPC-191 && PHPC-192: Add verify_expiry && verify_peer_name certificate verify options
* PHPC-223: Use explicit SSL options rather then stream context
* PHPC-222: WriteConcernError can cause segfaults on Ubuntu Precise 32bit
* PHPC-220: BSON\UTCDatetime broken on 32bit
* PHPC-221: Add Ubuntu Precise (12.04.5) 32bit image
* PHPC-219 - BSON\Javascript segfaults on Ubuntu Precise 32bit
* PHPC-221: Rename the identifier to precise64 as we'll be adding 32bit soon
* PHPC-204: Result::toArray() should respect type map configuration
* PHPC-203: Result::toArray() should proxy iterator_to_array($this)
* PHPC-214: Result does not need custom iterator classes
* PHPC-216: PHP5.5 change the prototype of get_current_key leading to
* PHPC-216: Include our pem files in the pecl archive
* PHPC-216: Use array(), not [], for PHP5.3 compatibility
* PHPC-218: Provision ubuntu image and install & run the test suite
* PHPC-216: PHP5.3 test suite fixes
* PHPC-217: Include the connection tests in pecl package
* PHPC-213: Memory alignment issues on FreeBSD
* PHPC-216: PHP5.3 test suite fixes
* PHPC-212: undefined symbol: _mongoc_sasl_set_service_host - patch by remi@php.net
0.3.1 * PHPC-211: Windows libbson and mongoc config files missing in release archive
0.3.0 * PHPC-175: Fix header includes on Windows
* PHPC-175: Fix build on 32bit
* PHPC-175: Windows doesn't have these compiler attributes
* IPHPC-176: Copy build templates, add missing file & set build flags
* PHPC-200: Don't set stream initiator when creating client fails
* PHPC-199: Missing file from mongoc in config.m4
* Update naming after PHPC-174
0.2.0 * PHPC-174: Rename module registration, constants and so on to mongodb
* PHPC-174: Rename phongo to mongodb
* PHPC-174: Use consistent extension names for PHP and HHVM drivers
* PHPC-195: Fix typo and couple of missing incldues
* PHPC-195: Remove mongoc/bson header file workarounds
* Test for PHPC-186
* PHPC-183: Add -Wdeclaration-after-statement to --enable-developers-flags
* PHPC-183: Fix compiler warnings with -Wdeclaration-after-statement
* PHPC-189: Implement Manager->getServers()
* PHPC-188: Populate MongoDB\Driver\Server
* PHPC-24 PHPC-77 PHPC-69 Provide a functioning Server object
* PHPC-106: Comment out var_dump() data for now
* PHPC-106: Enable mongoc SDAM build
* PHPC-106: Connect asynchronouslyish
* PHPC-106: Implement the new poll callback
* PHPC-181: Discard const qualifiers for PHP API
* PHPC-181: Use const for pointer args where applicable
* PHPC-180: Fix limited batch import
* PHPC-180: No need to sleep anything, we get a fresh connection in next test
* PHPC-180: We now load 1024 users
* PHPC-180: We now generate 1024 users, only load the first 100
* PHPC-180: Cache the fixtures
* PHPC-180: Rename constant and pass the cleanup uri explicitly
* PHPC-180: Replace this Orchestration wrapper with significantly simpler code
* PHPC-168: Implement WriteResult::isAcknowledged()
* PHPC-170: Don't set write concern on bulk unnecessarily
* PHPC-177: Include all fields in WriteConcern debug output

Return

PRIVACY POLICY  |  CREDITS
Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Mon Jun 01 07:05:01 2020 UTC
Bandwidth and hardware provided by: pair Networks