1.2.1

@jmikola jmikola released this Dec 7, 2016 · 4 commits to master since this release

The PHP team is happy to announce that version 1.2.1 of our new mongodb PHP extension is now available on PECL.

Release Highlights

This release fixes two critical issues related to BSON encoding of immutable arrays, which may be created by PHP7's OPcache extension, and arrays or objects containing circular references.

A complete list of resolved issues in this release may be found at:
https://jira.mongodb.org/secure/ReleaseNote.jspa?projectId=12484&version=17725

Documentation

Documentation is available on PHP.net:
http://php.net/set.mongodb

Feedback

We would appreciate any feedback you might have on the project:
https://jira.mongodb.org/secure/CreateIssue.jspa?pid=12484&issuetype=6

Installation

You can either download and install the source manually, or you can install the extension with:

pecl install mongodb

or update with:

pecl upgrade mongodb

Windows binaries are available on PECL:
http://pecl.php.net/package/mongodb

Downloads

1.1.10

@jmikola jmikola released this Dec 7, 2016 · 389 commits to master since this release

The PHP team is happy to announce that version 1.1.10 of our new mongodb PHP extension is now available on PECL.

Release Highlights

This release fixes two critical issues related to BSON encoding of immutable arrays, which may be created by PHP7's OPcache extension, and arrays or objects containing circular references.

A complete list of resolved issues in this release may be found at:
https://jira.mongodb.org/secure/ReleaseNote.jspa?projectId=12484&version=17789

Documentation

Documentation is available on PHP.net:
http://php.net/set.mongodb

Feedback

We would appreciate any feedback you might have on the project:
https://jira.mongodb.org/secure/CreateIssue.jspa?pid=12484&issuetype=6

Installation

You can either download and install the source manually, or you can install the extension with:

pecl install mongodb

or update with:

pecl upgrade mongodb

Windows binaries are available on PECL:
http://pecl.php.net/package/mongodb

Downloads

1.2.0

@jmikola jmikola released this Nov 29, 2016 · 13 commits to master since this release

The PHP team is happy to announce that version 1.2.0 of our new mongodb PHP extension is now available on PECL. This release adds support for new features in MongoDB 3.4.

Release Highlights

This release supports new features of MongoDB 3.4, such as collation, the Decimal128 BSON type, and the handshake protocol to assist with server-side connection debugging.

It contains a significant amount of internal refactoring to remove our dependence on libmongoc's private API, which is good news for users who install the driver through their OS package manager (e.g. CentOS, Debian).

This release includes two significant changes related to how the driver communicates with a server and persists connections across requests (within a PHP worker process). Integration with PHP's streams API has been removed and the driver now relies on libmongoc for all socket communication, which should resolve some issues with connection and socket timeouts not being correctly applied. While previous versions of the driver persisted individual sockets across requests (based on host, port, and URI string), the driver now persists the entire libmongoc client object and its sockets (based on Manager constructor arguments). This means that SSL sessions and topology states will now be preserved across requests (i.e. the driver will not issue a flurry of isMaster commands to re-discover the topology on each request). See Connection Handling in the driver documentation for more information.

Internal changes aside, this release also includes a number of usability improvements. All BSON classes now support PHP serialization via serialize(), JSON serialization via json_encode() and PHP's JsonSerializable interface, and var_export().

The UTCDateTime constructor now defaults to the current time if no argument is provided and can also accept a DateTimeInterface instance.

The Binary and Javascript types now have __toString() methods that return their binary data and code strings, respectively. The JavaScript class also has new getCode() and getScope() methods, which were curiously absent in previous versions.

The ObjectID class now has a getTimestamp() helper method, which returns the 4-byte timestamp component of an ObjectID as an integer.

The Regex constructor's second $flags parameter is now optional and defaults to an empty string. Flags are now sorted alphabetically when a Regex is constructed.

The Query constructor, BulkWrite::update(), and BulkWrite::delete() now accept a "collation" document option, which can be used to specify a locale-aware string comparison or sort order. See Collation in the MongoDB manual for additional information.

Read preferences now support a "maxStalenessSeconds" integer option, which can be used with modes other than "primary" to specify an acceptable replication delay for secondary servers (see: SERVER-12861). The "maxStalenessSeconds" option may also be used in the connection URI or options array provided to the Manager constructor to configure the default read preference.

This release upgrades our libbson and libmongoc dependencies to 1.5.0.

A complete list of resolved issues in this release may be found at:
https://jira.mongodb.org/secure/ReleaseNote.jspa?projectId=12484&version=16193

Documentation

Documentation is available on PHP.net:
http://php.net/set.mongodb

Feedback

We would appreciate any feedback you might have on the project:
https://jira.mongodb.org/secure/CreateIssue.jspa?pid=12484&issuetype=6

Installation

You can either download and install the source manually, or you can install the extension with:

pecl install mongodb

or update with:

pecl upgrade mongodb

Windows binaries are available on PECL:
http://pecl.php.net/package/mongodb

Downloads

1.1.9

@jmikola jmikola released this Oct 20, 2016 · 393 commits to master since this release

The PHP team is happy to announce that version 1.1.9 of our new mongodb PHP extension is now available on PECL.

Release Highlights

This maintenance release upgrades the bundled libmongoc package to 1.3.6, which primarily fixes a bug with spurious sockets timeouts (CDRIVER-1682, back-ported from CDRIVER-1571). The bug result in an unexpected ConnectionTimeoutException ("No suitable servers found") when one or more servers in a replica set were inaccessible, although other accessible servers should have been able to fulfill the server selection. This release also fixes a smaller bug where libmongoc swapped "connection timeout" and "connection error" messages, which are often included in the aforementioned ConnectionTimeoutException (CDRIVER-1683, back-ported from CDRIVER-1567).

A complete list of resolved issues in this release may be found at:
https://jira.mongodb.org/secure/ReleaseNote.jspa?projectId=12484&version=17625

Documentation

Documentation is available on PHP.net:
http://php.net/set.mongodb

Feedback

We would appreciate any feedback you might have on the project:
https://jira.mongodb.org/secure/CreateIssue.jspa?pid=12484&issuetype=6

Installation

You can either download and install the source manually, or you can install the extension with:

pecl install mongodb

or update with:

pecl upgrade mongodb

Windows binaries are available on PECL:
http://pecl.php.net/package/mongodb

Downloads

1.2.0alpha3

@jmikola jmikola released this Sep 21, 2016 · 84 commits to master since this release

The PHP team is happy to announce that version 1.2.0alpha3 of our new mongodb PHP extension is now available on PECL.

Release Highlights

This is the third preview release for 1.2.0 and resolves a handful of outstanding issues for MongoDB 3.4 compatibility.

MongoDB\Driver\Query, MongoDB\Driver\BulkWrite::update(), and MongoDB\Driver\BulkWrite::delete() now accept a "collation" document option, which can be used to specify a locale-aware string comparison or sort order (see: SERVER-1920 for additional information). MongoDB\Driver\ReadPreference now supports a "maxStalenessMS" integer option, which can be used with modes other than "primary" to specify an acceptable replication delay for secondary servers (see: SERVER-12861). The "maxStalenessMS" option may also be used in the connection URI or options array provided to MongoDB\Driver\Manager to configure the default read preference.

This release upgrades our libbson and libmongoc dependencies to 1.5.0-rc0. The final 1.2.0 release is expected to depend on libson and libmongoc 1.5.0.

A complete list of resolved issues in this release may be found at:
https://jira.mongodb.org/secure/ReleaseNote.jspa?projectId=12484&version=17532

Documentation

Documentation is available on PHP.net:
http://php.net/set.mongodb

Feedback

We would appreciate any feedback you might have on the project:
https://jira.mongodb.org/secure/CreateIssue.jspa?pid=12484&issuetype=6

Installation

You can either download and install the source manually, or you can install the extension with:

pecl install mongodb-alpha

or update with:

pecl upgrade mongodb-alpha

Windows binaries are available on PECL:
http://pecl.php.net/package/mongodb

Downloads

1.2.0alpha2

@jmikola jmikola released this Sep 14, 2016 · 140 commits to master since this release

The PHP team is happy to announce that version 1.2.0alpha2 of our new mongodb PHP extension is now available on PECL.

Release Highlights

This is the second preview release for 1.2.0. This release includes two significant changes related to how the driver communicates with a server and persists connections across requests (within a PHP worker process). Integration with PHP's streams API has been removed and the driver now relies on libmongoc for all socket communication, which should resolve some issues with connection and socket timeouts not being correctly applied. While previous versions of the driver persisted individual sockets across requests (based on host, port, and URI string), the driver now persists the entire libmongoc client object and its sockets (based on MongoDB\Driver\Manager constructor arguments). This means that SSL sessions and topology states will now be preserved across requests (i.e. the driver will not issue a flurry of isMaster commands to re-discover the topology on each request).

This release changes the PHP serialization format (i.e. serialize()) of our BSON type classes, which was necessary for compatibility with our HHVM driver. The BSON type classes previously used O-type serialization and implemented a __wakeup() method. They now use C-type serialization, implement PHP's Serializable interface, and no longer provide a wakeup() method. This change means that the driver will not be able to unserialize() strings created by previous 1.2.0-alpha1 release, which introduced PHP serialization support.

A MongoDB\BSON\ObjectID::getTimestamp() helper method has been introduced, which returns the 4-byte timestamp component of an ObjectID as an integer. The second $flags parameter to the MongoDB\BSON\Regex constructor is now optional and defaults to an empty string.

Lastly, this release also upgrades our libbson and libmongoc dependencies to 1.5.0-dev. The final 1.2.0 release is expected to depend on libson and libmongoc 1.5.0.

A complete list of resolved issues in this release may be found at:
https://jira.mongodb.org/secure/ReleaseNote.jspa?projectId=12484&version=17506

Documentation

Documentation is available on PHP.net:
http://php.net/set.mongodb

Feedback

We would appreciate any feedback you might have on the project:
https://jira.mongodb.org/secure/CreateIssue.jspa?pid=12484&issuetype=6

Installation

You can either download and install the source manually, or you can install the extension with:

pecl install mongodb-alpha

or update with:

pecl upgrade mongodb-alpha

Windows binaries are available on PECL:
http://pecl.php.net/package/mongodb

Downloads

1.2.0alpha1

@jmikola jmikola released this Aug 2, 2016 · 231 commits to master since this release

The PHP team is happy to announce that version 1.2.0alpha1 of our new mongodb PHP extension is now available on PECL.

Release Highlights

This is the first preview release for 1.2.0. It contains a significant amount of internal refactoring to remove our dependence on libmongoc's private API, which is much awaited good news for users who install the driver through their OS package manager (e.g. CentOS, Debian). This release also upgrades our libbson and libmongoc dependencies to 1.4.0-beta1. The final 1.2.0 release will depend on libson and libmongoc 1.4.0.

Internal changes aside, we did manage to sneak a few new features into this release. BSON classes now support PHP serialization and var_export(). JSON serialization is still not implemented, but we plan to have that ready for 1.2.0. The UTCDateTime constructor now defaults to the current time if no argument is provided and can also accept a DateTimeInterface instance. The Binary and Javascript types now have __toString() methods that return their binary data and code strings, respectively. The JavaScript class also has new getCode() and getScope() methods, which were curiously absent in previous versions.

A complete list of resolved issues in this release may be found at:
https://jira.mongodb.org/secure/ReleaseNote.jspa?projectId=12484&version=17200

Documentation

Documentation is available on PHP.net:
http://php.net/set.mongodb

Feedback

We would appreciate any feedback you might have on the project:
https://jira.mongodb.org/secure/CreateIssue.jspa?pid=12484&issuetype=6

Installation

You can either download and install the source manually, or you can install the extension with:

pecl install mongodb-alpha

or update with:

pecl upgrade mongodb-alpha

Windows binaries are not available for this release due to a build issue; however, they should be available for the next alpha or beta release.

Thanks

Thanks for our community contributors for 1.2.0alpha1:

Downloads

1.1.8

@jmikola jmikola released this Jul 5, 2016 · 10 commits to v1.1 since this release

The PHP team is happy to announce that version 1.1.8 of our new mongodb PHP extension is now available on PECL.

Release Highlights

Numerous users have reported an issue with the driver unnecessarily attempting to enable SSL on a persistent stream, which already had SSL enabled. This problem commonly manifested itself with "SSL/TLS already set-up for this stream" exceptions thrown on alternating requests to the same worker process. As a stop-gap solution, this release includes a patch to disable stream persistence for SSL connections. A more robust solution is being implemented in PHPC-605 and PHPC-433 for 1.2.0.

This release also fixes an issue with MongoDB\BSON\UTCDateTime::toDateTime() where microseconds were not properly set on the returned DateTime object.

A complete list of resolved issues in this release may be found at:
https://jira.mongodb.org/secure/ReleaseNote.jspa?projectId=12484&version=17045

Documentation

Documentation is available on PHP.net:
http://php.net/set.mongodb

Feedback

We would appreciate any feedback you might have on the project:
https://jira.mongodb.org/secure/CreateIssue.jspa?pid=12484&issuetype=6

Installation

You can either download and install the source manually, or you can install the extension with:

pecl install mongodb

or update with:

pecl upgrade mongodb

Windows binaries are available on PECL:
http://pecl.php.net/package/mongodb

Thanks

Thanks for our community contributors for 1.1.8:

Downloads

1.1.7

@jmikola jmikola released this Jun 2, 2016 · 20 commits to v1.1 since this release

The PHP team is happy to announce that version 1.1.7 of our new mongodb PHP extension is now available on PECL.

Release Highlights

This release fixes a several use-after-free bugs related to SSL connections and using Cursor or Server objects after their originating Manager object has been unset. Additionally, the ObjectID constructor has been fixed to no longer alter the memory of its string argument.

A complete list of resolved issues in this release may be found at:
https://jira.mongodb.org/secure/ReleaseNote.jspa?projectId=12484&version=16808

Documentation

Documentation is available on PHP.net:
http://php.net/set.mongodb

Feedback

We would appreciate any feedback you might have on the project:
https://jira.mongodb.org/secure/CreateIssue.jspa?pid=12484&issuetype=6

Installation

You can either download and install the source manually, or you can install the extension with:

pecl install mongodb

or update with:

pecl upgrade mongodb

Windows binaries are available on PECL:
http://pecl.php.net/package/mongodb

Thanks

Thanks for our community contributors for 1.1.7:

Downloads

1.1.6

@jmikola jmikola released this Apr 6, 2016 · 432 commits to master since this release

The PHP team is happy to announce that version 1.1.6 of our new mongodb PHP extension is now available on PECL.

Release Highlights

This release fixes a bug with parsing the connectTimeoutMS option, when passed through MongoDB\Driver\Manager's options array. It also resolves an issue where BulkWrite::insert() would not generate ObjectID (and return null) if another top-level field in the document had an "_id" prefix. In such a case, libmongoc would still generate an ObjectID for the document; however, that value would not be made available through the PHP driver.

This release also bumps the versions of bundled libmongoc and libbson libraries to 1.3.5.

A complete list of resolved issues in this release may be found at:
https://jira.mongodb.org/secure/ReleaseNote.jspa?projectId=12484&version=16611

Documentation

Documentation is available on PHP.net:
http://php.net/set.mongodb

Feedback

We would appreciate any feedback you might have on the project:
https://jira.mongodb.org/secure/CreateIssue.jspa?pid=12484&issuetype=6

Installation

You can either download and install the source manually, or you can install the extension with:

pecl install mongodb

or update with:

pecl upgrade mongodb

Windows binaries are available on PECL:
http://pecl.php.net/package/mongodb

Downloads