Existing RANGE_PREVIEW constants are deprecated in favor of new RANGE constants introduced in libmongoc 1.28.0. PHP 8.3+ emits deprecation messages when accessing the RANGE_PREVIEW constants, so we ignore such output in the constants test. It wasn't worth splitting that test by PHP version.
Support trimFactor range option.
Specify default value for trimFactor range option in tests. This is temporary until sparsity and trimFactor are made optional prior to the GA release for range indexes (PHPC-2403).
* PHPC-2219: Prohibit serializing PackedArray as root documents
This adds logic to php_phongo_zval_to_bson_internal() to prohibit serializing PackedArray instances as a root document. Since this function is also used in specific cases to encode a BSON array, a PHONGO_BSON_ALLOW_ROOT_ARRAY flag is introduced to relax the restriction.
* Check if existing field_path element must be freed before overwriting
* Remove function name from Javascript code strings
* PHPC-2230: Drop support for PHP 7.2 and 7.3
* Remove compatibility code for PHP < 7.4
* Drop tests for legacy PHP serialization behaviour
* Remove type match regexes in tests
* Match object properties as strings
* Fix var_export format in tests
* Use wildcards when matching object properties
* Remove unnecessary matching pattern in __set_state tests
* Implement ClientEncryption::encryptExpression()
Define algorithm and query type constants for range preview
* Handle BSON encoding exceptions in encrypt/decrypt
Note that it is not possible to write a test for decrypt() since Binary instances always encode to BSON.
* Define additional constants in mongocrypt-export.h
* PHPC-2104: ClientEncryption::QUERY_TYPE_EQUALITY is a string
Downstream change since MONGOC_ENCRYPT_QUERY_TYPE_EQUALITY was changed to a string type.
Bumps libmongocrypt submodule to 1.5.0-rc2. Related to this bump, mongocrypt.h is no longer generated.
Bumps libmongoc submodule to 1.22-dev.
* Use non-breaking space in OS axis labels
* Revise titles and Manager construction in autoEncryption tests
* Define CSFLE_KEY_VAULT_NS and CSFLE_LOCAL_KEY constants
The value for CSFLE_KEY_VAULT_NS is based on the example from PHPLIB-826. This was not required but helps makes all tests consistent and will make it easier if we need to add functionality to a helper to drop the key vault collection before a test.
Using CSFLE_LOCAL_KEY allows removal of a duplicated string literal in various CSFLE tests. Although the new constant wasn't required for all tests (empty strings worked fine to satisfy option validation), using a constant helps ensure consistency across the test suite.
Also use create_test_manager() in more places when basic.inc is included. The remaining instances of direct Manager construction should only be in tests where basic.inc isn't used.
* Remove pre-3.6 server versions from Evergreen matrix
* Remove skipped tests for pre-3.6 servers
* Remove old mongo-orchestration configs and Evergreen tasks
* Remove flaky replica set tests
These tests assume a particular replica set member is always the primary, so tag assertions may fail if a different member is elected. The server-getTags-002.phpt test has more flexible assertions for replica set tags, so we can safely remove these tests.
* Introduce MongoDB\Driver\ServerApi
* Accept serverApi driver option
* Introduce create_test_manager factory to create manager
A centralised entry point is required to inject the API_VERSION env variable later.
* Add build variant to test with requireApiVersion=true
* Fix wrong configuration for auth variable
This changed when migrating from our own scripts to drivers-evergreen-tools and was not updated properly, causing all tests to run with auth disabled.
* Declare ZEND_PARSE_PARAMETERS_NONE macro
This macro is missing on PHP < 7.3
* Remove duplicated API param storage
* Add missing semicolons
* Add ZEND_PARSE_PARAMETERS_NON_EX macro
* Extract error handling functionality to separate macros
* Throw if internal mongoc_server_api_t is already initialised
* Use imported namespaces in tools file
* Fix type info for reflection
* Use American English spelling
* Only use typed serialize signature on PHP 8+
* Update PHONGO_PARSE_PARAMETERS_NONE macro for PHP < 7.3
* Remove usage of ZEND_STRL within zend_hash_str_add
This causes compile failures on PHP < 7.3 that I have yet to understand.
* Fix errors in new PHONGO_PARSE_PARAMETERS macros