Spec Change
- [PHPLIB-1569] - Add valid-pass and valid-fail tests for $$matchAsRoot and $$matchAsDocument operators
- [PHPLIB-1578] - Test operations may be an empty array
- [PHPLIB-1583] - Add test to ensure network errors match isClientError
- [PHPLIB-1599] - Skip aggregate $out test in retryable writes spec on serverless
Question
- [PHPLIB-1600] - Support object in BSONDocument constructor
Bug
- [PHPLIB-1548] - TypeMap option not inherited from the Collection options in listSearchIndexes
- [PHPLIB-1597] - Allow "string" type in every builder argument that accepts a "resolveTo*" type
Epic
- [PHPLIB-1418] - Merge aggregation builder into PHPLIB
New Feature
- [PHPLIB-1419] - Integrate pipeline builder with aggregate() and watch() methods
- [PHPLIB-1420] - Integrate query builder for non-aggregation APIs
- [PHPLIB-1492] - Support sort option for replaceOne and updateOne operations
- [PHPLIB-1506] - Integrate code and config from mongo-php-builder into library
- [PHPLIB-1568] - Add GridFS\Bucket::deleteByName() and renameByName()
Task
- [PHPLIB-955] - Require PHP 8.1
- [PHPLIB-1185] - Add Database::getCollection and Client::getDatabase
- [PHPLIB-1301] - Clarify whether heartbeat started event should be emitted before connection establishment in ServerMonitor
- [PHPLIB-1369] - Update test suite to use PHPUnit 10
- [PHPLIB-1505] - Add option to set a default encoder for aggregation pipelines
- [PHPLIB-1521] - Mark internal and operation classes as final in docblock
- [PHPLIB-1533] - Deprecate mapReduce helper and operation class
- [PHPLIB-1545] - Deprecate flags option and related constants for CreateCollection
- [PHPLIB-1563] - Ensure findOne does not set batchSize=1
- [PHPLIB-1579] - Regression test for "number" alias in $$type operator
- [PHPLIB-1586] - [EoL 4.0] Communicate future minWireVersion bump / 4.0 EoL
- [PHPLIB-1591] - Split updateWithPipelines.yml by operation
- [PHPLIB-1594] - Search index management methods no longer require M10+ clusters
- [PHPLIB-1598] - Harmonize builder type names in the config/expression.php
- [PHPLIB-1612] - Upgrade Psalm v6
- [PHPLIB-1616] - $vectorSearch "path" parameter cannot be an array
- [PHPLIB-1619] - Do not pass ReadPreference directly to executeCommand in tests
Improvement
- [PHPLIB-1564] - Eliminate unnecessary killCursors command when batchSize == limit
- [PHPLIB-1582] - Add index hint support for distinct command
- [PHPLIB-1587] - Use is_document to validate hint options
- [PHPLIB-1596] - Implement all $search stage options as named argument
- [PHPLIB-1609] - Don't mandate the use of "distanceField" in $geoNear
- [PHPLIB-1613] - Use git submodule for drivers-evg-tools
- [PHPLIB-1634] - Builder: Accept DateTimeInterface objects where "date" values are accepted
- [PHPLIB-1635] - Allow injection of instance of Encoder into the BuilderEncoder
Sub-task
- [PHPLIB-1514] - Make PHPUnit data providers static
- [PHPLIB-1515] - Replace assertObjectHasAttribute with assertObjectHasProperty
- [PHPLIB-1525] - Remove symfony/phpunit-bridge
- [PHPLIB-1538] - Deprecate typeMap option on operations without meaningful document
Edit/Copy Release Notes
The text area below allows the project release notes to be edited and copied to another document.