Releases: mongodb/mongo-php-driver
2.0.0
mongodb PHP Extension 2.0.0 Release Notes
The PHP team is happy to announce that version 2.0.0 of the mongodb PHP extension is now available on PECL.
Release Highlights
This major release introduces a number of backwards-incompatible changes aimed at simplifying and modernizing the extension's API, cleaning up deprecated functionality, and improving type safety and runtime behavior.
API Cleanups and Removals
- Deprecated constructor options have been removed from the
Query
andManager
classes. - The
getServer()
method and internalManager
references have been removed from APM event classes to streamline event data structures. - The
CursorId
class has been removed;Cursor::getId()
now returns anInt64
directly. - Support for passing
WriteConcern
andReadPreference
objects directly to execute methods has been removed in favor of usingreadPreference
andwriteConcern
options. - Legacy exceptions such as
WriteException
andSSLConnectionException
have been removed.
Stronger Typing and Safer APIs
- The
UTCDateTime
constructor no longer accepts strings or floats. It now only accepts integer millisecond timestamps or instances ofDateTimeInterface
. WriteResult
getters will now throw exceptions when called on unacknowledged writes, making error states more explicit.- The
ReadPreference
class now requires string mode constants in its constructor. Support for legacy integer constants has been removed.
Deprecation and Legacy Cleanup
- The
Serializable
interface has been removed from BSON classes, following its deprecation in PHP 8.1. - All deprecated global BSON functions have been removed; users should use methods on the
Document
class instead. - Several configure options (
--with-libbson
,--with-libmongoc
,--enable-system-ciphers
,--with-openssl-dir
) have been removed to simplify the build process.
New Features and Improvements
CursorInterface
now extends PHP’s nativeIterator
interface.UTCDateTimeInterface
introduces a newtoDateTimeImmutable()
method.- URI options that expect booleans will now throw if a non-boolean value is provided, preventing silent misconfiguration.
Library Upgrades
- The extension now bundles libmongoc 1.30.3, bringing in the latest stability and feature improvements.
Composer Library Compatibility
- This release requires an upgrade to the
mongodb/mongodb
Composer library, which introduces compatibility changes for this extension version. Be sure to update your Composer dependencies accordingly.
A complete list of resolved issues in this release may be found in JIRA.
Documentation
Documentation is available on PHP.net.
Installation
You can either download and install the source manually, or install the extension via PECL:
pecl install mongodb-2.0.0
Or update an existing installation with:
pecl upgrade mongodb-2.0.0
Windows binaries are attached to the GitHub release notes.
1.21.0
The PHP team is happy to announce that version 1.21.0 of the mongodb PHP extension is now available on PECL.
Release Highlights
This release adds a few quality of life features:
- Support for the
sort
option inreplaceOne
andupdateOne
operations was added to better control which documents get updated - When using array access on
MongoDB\BSON\Document
instances, integers are now accepted to access numeric keys in a BSON document
In this release, we also deprecated a number of features in preparation for an upcoming 2.0 release:
- Float arguments when constructing
MongoDB\BSON\UTCDateTime
are now deprecated - Passing a
WriteConcern
orReadPreference
instance to theexecuteQuery
,executeCommand
,executeReadCommand
,executeReadWriteCommand
, andexecuteWriteCommand
methods inMongoDB\Driver\Manager
andMongoDB\Driver\Server
is deprecated. Please use the correspondingwriteConcern
andreadPreference
options instead. - Passing a negative
limit
option to queries is now deprecated. Instead of negative limits, use a positivelimit
option and use thesingleBatch
option to receive to only receive a single batch of results.
This release drops support for PHP 7.4 and PHP 8.0 - PHP 8.1 is now the minimum version for the PHP driver. The libmongoc and libmongocrypt dependencies have been bumped to 1.30.1 and 1.12.0 respectively.
Support for MongoDB 4.0 is now deprecated. A future release of the driver will bump the minimum requirement to MongoDB 4.2.
A complete list of resolved issues in this release may be found in JIRA.
Documentation
Documentation is available on PHP.net.
Installation
You can either download and install the source manually, or you can install the extension with:
pecl install mongodb-1.21.0
or update with:
pecl upgrade mongodb-1.21.0
Windows binaries are attached to the GitHub release notes.
1.20.1
The PHP team is happy to announce that version 1.20.1 of the mongodb PHP extension is now available on PECL.
Release Highlights
This release updates the bundled versions of libmongoc and libmongocrypt to 1.28.1.
A complete list of resolved issues in this release may be found in JIRA.
Documentation
Documentation is available on PHP.net.
Installation
You can either download and install the source manually, or you can install the extension with:
pecl install mongodb-1.20.1
or update with:
pecl upgrade mongodb-1.20.1
Windows binaries are attached to the GitHub release notes.
1.20.0
The PHP team is happy to announce that version 1.20.0 of the mongodb PHP extension is now available on PECL. This release introduces support for MongoDB 8.0.
Release Highlights
This release adds support for Queryable Encryption Range Queries when using MongoDB 8.0.
New getHost()
and getPort()
methods have been added to the CommandSucceededEvent and CommandFailedEvent classes. The getServer()
method has been deprecated.
This release updates the bundled versions of libmongoc and libmongocrypt to 1.28.0 and 1.11.0, respectively.
This release drops support for MongoDB 3.6. A future release will drop support for PHP 7.4 and 8.0.
A complete list of resolved issues in this release may be found in JIRA.
Documentation
Documentation is available on PHP.net.
Installation
You can either download and install the source manually, or you can install the extension with:
pecl install mongodb-1.20.0
or update with:
pecl upgrade mongodb-1.20.0
Windows binaries are attached to the GitHub release notes.
1.19.4
The PHP team is happy to announce that version 1.19.4 of the mongodb PHP extension is now available on PECL.
Release Highlights
This release fixes an issue when creating DateTime
instances from a MongoDB\BSON\UTCDateTime
instance for dates before the Unix Epoch, and optimises comparison of MongoDB\BSON\Int64
instances with scalar values to avoid casting, which could lose precision on 32-bit systems.
The bundled libmongoc and libmongocrypt versions were updated to 1.27.6 and 1.10.1 respectively.
A complete list of resolved issues in this release may be found in JIRA.
Documentation
Documentation is available on PHP.net.
Installation
You can either download and install the source manually, or you can install the extension with:
pecl install mongodb-1.19.4
or update with:
pecl upgrade mongodb-1.19.4
Windows binaries are attached to the GitHub release notes.
1.19.3
The PHP team is happy to announce that version 1.19.3 of the mongodb PHP extension is now available on PECL.
Release Highlights
This version contains no user-facing changes but was made for internal compliance reasons.
Documentation
Documentation is available on PHP.net.
Installation
You can either download and install the source manually, or you can install the extension with:
pecl install mongodb-1.19.3
or update with:
pecl upgrade mongodb-1.19.3
Windows binaries are attached to the GitHub release notes.
1.19.2
The PHP team is happy to announce that version 1.19.2 of the mongodb PHP extension is now available on PECL.
Release Highlights
This release updates the bundled libmongoc version to 1.27.2.
A complete list of resolved issues in this release may be found in JIRA.
Documentation
Documentation is available on PHP.net.
Installation
You can either download and install the source manually, or you can install the extension with:
pecl install mongodb-1.19.2
or update with:
pecl upgrade mongodb-1.19.2
Windows binaries are attached to the GitHub release notes.
1.19.1
The PHP team is happy to announce that version 1.19.1 of the mongodb PHP extension is now available on PECL.
Release Highlights
The release restores the ability to build the extension statically.
A complete list of resolved issues in this release may be found in JIRA.
Documentation
Documentation is available on PHP.net.
Installation
You can either download and install the source manually, or you can install the extension with:
pecl install mongodb-1.19.1
or update with:
pecl upgrade mongodb-1.19.1
Windows binaries are attached to the GitHub release notes.
1.19.0
The PHP team is happy to announce that version 1.19.0 of the mongodb PHP extension is now available on PECL.
Release Highlights
A getDatabaseName()
method has been added to the CommandSucceededEvent and CommandFailedEvent classes.
This release updates the bundled versions of libmongoc and libmongocrypt to 1.27.1 and 1.10.0, respectively.
A future minor release plans to raise the minimum supported MongoDB Server version from 3.6 to 4.0. This is in accordance with MongoDB Software Lifecycle Schedules.
A complete list of resolved issues in this release may be found in JIRA.
Documentation
Documentation is available on PHP.net.
Installation
You can either download and install the source manually, or you can install the extension with:
pecl install mongodb-1.19.0
or update with:
pecl upgrade mongodb-1.19.0
Windows binaries are attached to the GitHub release notes.
1.18.1
The PHP team is happy to announce that version 1.18.1 of the mongodb PHP extension is now available on PECL.
Release Highlights
This release updates the bundled libmongoc version to 1.26.2.
A complete list of resolved issues in this release may be found in JIRA.
Documentation
Documentation is available on PHP.net.
Installation
You can either download and install the source manually, or you can install the extension with:
pecl install mongodb-1.18.1
or update with:
pecl upgrade mongodb-1.18.1
Windows binaries are attached to the GitHub release notes.