Changelog History
Page 2
-
v1.3.5 Changes
July 08, 2020🚀 The MongoDB Go driver team is pleased to release 1.3.5 of the official Go driver.
🛠 This release contains several bugfixes and a change to upgrade the driver's
golang.org/x/text
dependency to v0.3.3 in response to https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-14040.📚 Documentation can be found on pkg.go.dev and the MongoDB documentation site. BSON library documentation is also available on pkg.go.dev. Questions and inquiries can be asked on the MongoDB Developer Community. Bugs can be reported in the Go Driver Jira where a list of current issues can be found.
🚀 Release Notes
🐛 Bug
- [GODRIVER-1609] - ConnectionClosed events not published when pool is disconnecting
- [GODRIVER-1613] - fix how Pool handles MaxPoolSize
- [GODRIVER-1625] - Single character passwords not handled
- [GODRIVER-1632] - retryable writes should be disabled on standalones
- [GODRIVER-1636] - TLS hostname should always be set
- [GODRIVER-1642] - Ensure server descriptions always have an address
- [GODRIVER-1647] - averageRTTSet is never set
- [GODRIVER-1648] - calling cursor.Next() after changestream is invalidated enters spin loop
- ⚡️ [GODRIVER-1658] - connections should update topology faster for failed handshakes
- 📌 [GODRIVER-1663] - Context pinned by connection.connect
Task
- 🔒 [GODRIVER-1675] - Ensure driver relies on x/text version 0.3.3 or higher to address security vulnerability
-
v1.3.4 Changes
June 03, 2020🚀 The MongoDB Go driver team is pleased to release [version] of the official Go driver.
🛠 This release contains several bugfixes.
📚 Documentation can be found on pkg.go.dev and the MongoDB documentation site. BSON library documentation is also available on pkg.go.dev. Questions and inquiries can be asked on the MongoDB Developer Community. Bugs can be reported in the Go Driver Jira where a list of current issues can be found.
🚀 Release Notes
🐛 Bug
- [GODRIVER-1589] - Consolidate pool.drain() and pool.clear()
- 🚀 [GODRIVER-1615] - SingleConnectionDeployment should not be used for application operations
- ⏱ [GODRIVER-1620] - pool cleared on network timeout errors
- ⚡️ [GODRIVER-1634] - Deduplicate logic for updating cluster/operation time
-
v1.3.3 Changes
May 05, 2020🚀 The MongoDB Go driver team is pleased to release 1.3.3 of the official Go driver.
🛠 This release contains several bugfixes.
📚 Documentation can be found on pkg.go.dev and the MongoDB documentation site. BSON library documentation is also available on pkg.go.dev. Questions and inquiries can be asked on the MongoDB Developer Community. Bugs can be reported in the Go Driver Jira where a list of current issues can be found.
🚀 Release Notes
🐛 Bug
- [GODRIVER-1363] - InsertMany returns InsertedID's from insertions that errored
- [GODRIVER-1405] - "appname" is not not always sent in isMaster
- 0️⃣ [GODRIVER-1560] - default connection idleTimeout is 10 minutes not unlimited
- [GODRIVER-1562] - bulk writes should wrap driver.ErrUnacknowledgedWrite
- [GODRIVER-1576] - Allowing pointer of type to implement an interface causes errors for non-addressable types
- [GODRIVER-1592] - Change streams should execute client side encryption flow
👌 Improvement
- [GODRIVER-1556] - Defensively set c.nc only if the error is nil
-
v1.3.2 Changes
April 07, 2020🚀 The MongoDB Go driver team is pleased to release 1.3.2 of the official Go driver.
🛠 This release includes several bugfixes. One of the tickets in this release, https://jira.mongodb.org/browse/GODRIVER-1540, addresses a regression introduced in v1.3.0 which caused a deadlock if a connection encountered a network error during establishment. We recommend any users on v1.3.0 or v1.3.1 update to this version.
📚 Documentation can be found on pkg.go.dev and the MongoDB documentation site. BSON library documentation is also available on pkg.go.dev. Questions and inquiries can be asked on the MongoDB Developer Community. Bugs can be reported in the Go Driver Jira where a list of current issues can be found.
🚀 Release Notes
🐛 Bug
- 📜 [GODRIVER-1502] - Extended JSON parsing mishandles invalid $code
- 📜 [GODRIVER-1504] - Unmarshaling attempts to parse top-level keys as extended JSON
- 📜 [GODRIVER-1506] - Extended JSON parsing doesn't restrict $timestamp fields to uint32
- 📜 [GODRIVER-1513] - Extended JSON parsing allow escaping invalid characters
- [GODRIVER-1520] - Extended JSON lone $scope does not error
- [GODRIVER-1522] - Read preference should not be sent to mongos for aggregations with output stages
- [GODRIVER-1532] - Allow invalid UTF-8 strings to be decoded
- [GODRIVER-1535] - endSessions batching must reset BSON array index
- [GODRIVER-1540] - library stuck in connection.wait()
- [GODRIVER-1549] - Handle empty tag sets in read preference
Task
- 📚 [GODRIVER-1431] - Update FLE documentation for community version demonstrating explicit encryption/decryption
-
v1.3.1 Changes
March 03, 2020🚀 The MongoDB Go driver team is pleased to release v1.3.1 of the official Go driver.
🚀 This release contains several bug fixes.
📚 Documentation can be found on pkg.go.dev and the MongoDB documentation site. BSON library documentation is also available on pkg.go.dev. Questions and inquiries can be asked on the MongoDB Developer Community. Bugs can be reported in the Go Driver Jira where a list of current issues can be found.
🚀 Release Notes
🐛 Bug
- [GODRIVER-895] - bsonrw.valueReader does not verify length of string before slice for CodeWithScope
- [GODRIVER-1487] - UnknownTransactionCommitResult should be added for more writeConcernErrors
- [GODRIVER-1488] - Decode struct infinite recursion with mgocompat Registry
- [GODRIVER-1507] - SRV polling not performed if the URI is not passed to the topology
-
v1.3.0 Changes
February 05, 2020🚀 The MongoDB Go driver team is pleased to release 1.3.0 of the official Go driver.
🚀 This release contains new functions to construct BSON registries, a new BSON registry that mimics the behavior of the globalsign/mgo/bson library, and new URI options to specify TLS certificates and keys as separate files. As part of this release, support for Go modules has been added and the README has been changed to reflect this. There is still a
vendor
directory in the source code so projects can be compiled with versions of Go that do not support modules.📚 Documentation can be found on GoDoc and the MongoDB documentation site. BSON library documentation is also available on GoDoc. Questions and inquiries can be asked on the mongo-go-driver Google Group. Bugs can be reported in the Go Driver Jira where a list of current issues can be found.
mgo compatible BSON
📚 A new
mgocompat
package has been added under the top-levelbson
package. This package exportsRegistry
, which is a BSON registry compatible withglobalsign/mgo/bson
andRegistryRespectNilValues
, which is compatible withglobalsign/mgo/bson
with theRespectNilValues
flag set to true. These registries can be used via theClientOptions.SetRegistry
method. The package also exports aRegistryBuilder
for each of the registries so additional changes can be made. See thebson/bsoncodec
package documentation for more information.RegistryBuilder
method changes🗄 The existing
RegisterEncoder
methods has been deprecated and replaced byRegisterTypeEncoder
andRegisterHookEncoder
. A corresponding change has been made forRegisterDecoder
as well.🚀 Release Notes
🐛 Bug
- [GODRIVER-1002] - Credential.PasswordSet doesn't work or is incorrectly documented
- [GODRIVER-1411] - Data race between creating a new connection and disconnecting topology
- [GODRIVER-1466] - Overriding the type map entry for embedded document does not work
- [GODRIVER-1476] - mongodb+srv doesn't work with a fully qualified DNS name
- ⚡️ [GODRIVER-1478] - Pooled sessions should have use time updated when retrieved from the pool
🆕 New Feature
- [GODRIVER-580] - Need to be able to unmarshall to bson.D field within a struct
- [GODRIVER-917] - Difference in BSON/JSON serialization of nil primitive.D compared to mgo
- [GODRIVER-1175] - allow BSON null values to decode into non-nilable Go types
- [GODRIVER-1354] - Create ObjectIDCodec that accepts bsontype.String for decoding
- 👍 [GODRIVER-1356] - Support mgo's Getter and Setter interfaces
- [GODRIVER-1358] - Add UIntCodec for mgocompat
- [GODRIVER-1361] - Create mgocompat.Registry
- [GODRIVER-1362] - Add SliceCodec for mgocompat
Task
- 📄 [GODRIVER-904] - Improve docs for how to write custom codecs
- [GODRIVER-938] - cannot convert types that use mgobson.ObjectId to new bson library.
- [GODRIVER-1381] - GridFS GoDoc examples
- ✅ [GODRIVER-1427] - Add more sessions tests with more read and write commands
- 📚 [GODRIVER-1448] - Read operations options documentation
👌 Improvement
- 👍 [GODRIVER-543] - Enable support for Go 1.11 modules
- [GODRIVER-1421] - Add EmptyInterfaceCodec for mgocompat
- [GODRIVER-1429] - add ByteArrayCodec for mgocompat
- [GODRIVER-1430] - allow strings and binaries to decode to symbols
- [GODRIVER-1433] - Add RespectNilValues equivalent for the mgo registry
- [GODRIVER-1435] - Please add tlsCertificateFile and tlsKeyFile connection string options.
- [GODRIVER-1438] - Separate RegisterEncoder/Decoder functions to "types" and "hooks"
- [GODRIVER-1455] - Use a pure go implementation for zstd
- [GODRIVER-1460] - Document mgocompat
- [GODRIVER-1461] - Validate that mongocryptd is not spawned if bypassAutoEncryption=true
-
v1.2.1 Changes
January 08, 2020🚀 The MongoDB Go driver team is pleased to release 1.2.1 of the official Go driver.
🚀 This release contains several bug fixes.
📚 Documentation can be found on GoDoc and the MongoDB documentation site. BSON library documentation is also available on GoDoc. Questions and inquiries can be asked on the mongo-go-driver Google Group. Bugs can be reported in the Go Driver Jira where a list of current issues can be found.
🚀 Release Notes
🐛 Bug
- 👍 [GODRIVER-1428] - operation.CreateIndexes doesn't support WriteConcern
- [GODRIVER-1439] - Only close heartbeat connections after they're opened
- [GODRIVER-1442] - Fix connection error handling in ProcessError
- [GODRIVER-1450] - BulkWriteError's request is not the correct one
- [GODRIVER-1456] - Extended JSON writer should escape keys
-
v1.2.0 Changes
December 10, 2019🚀 The MongoDB Go driver team is pleased to release 1.2.0 of the official Go driver.
📚 This release contains GA support for client-side field level encryption, a new
bson.MarshalValue
function to marshal Go values to BSON, and various documentation improvements to add more details and examples to GoDoc.📚 Documentation can be found on GoDoc and the MongoDB documentation site. BSON library documentation is also available on GoDoc. Questions and inquiries can be asked on the mongo-go-driver Google Group. Bugs can be reported in the Go Driver Jira where a list of current issues can be found.
🚀 Release Notes
🐛 Bug
- 📄 [GODRIVER-1061] - bson docs refer to non-existent RawArray and Array types
- 🚀 [GODRIVER-1234] - Deadlock on 1.1.0 release
- ✅ [GODRIVER-1254] - Fix libmongocrypt wrapper test failure
- [GODRIVER-1405] - "appname" is not not always sent in isMaster
- [GODRIVER-1423] - Nil interface panics in BSON marshalling
Epic
- [GODRIVER-1237] - Client-side Field Level Encryption
🆕 New Feature
- ✅ [GODRIVER-276] - Implement a testing framework
- ✅ [GODRIVER-420] - integration tests should detect topology from connection, not TOPOLOGY envvar
- 👍 [GODRIVER-626] - Support Client-side Field Level Encryption
- 👍 [GODRIVER-783] - Add support for Zstandard compression
- ✨ [GODRIVER-1158] - Enhance Decimal128
- 📄 [GODRIVER-1220] - Mark the FLE feature as "Beta" in driver docs
- [GODRIVER-1349] - Implement mgocompat StructCodec options
- [GODRIVER-1352] - Create StringCodec with options for non-bsontype.String inputs
- ✅ [GODRIVER-1353] - Port mgobson tests for mgocompat testing
- [GODRIVER-1355] - Create TimeCodec to match mgo behavior
- [GODRIVER-1357] - Add IntCodec for mgocompat
- [GODRIVER-1358] - Add UIntCodec for mgocompat
- [GODRIVER-1359] - Add BoolCodec for mgocompat
- [GODRIVER-1360] - Add FloatCodec for mgocompat
- [GODRIVER-1416] - Add function to marshal generic BSON values
Story
- [GODRIVER-990] - Implement Zeroer for primitive.Binary
Task
- 🚀 [GODRIVER-1249] - Implement a mock deployment
- 🚀 [GODRIVER-1250] - Change Client to depend on Deployment instead of Topology
- [GODRIVER-1253] - Create assertion library
- ✅ [GODRIVER-1256] - Assert that test closes all connections and sessions in testing framework
- ✅ [GODRIVER-1261] - Unified test runner
- ✅ [GODRIVER-1265] - causal_consistency tests
- ✅ [GODRIVER-1266] - change stream spec tests
- ✅ [GODRIVER-1267] - change stream prose tests
- ✅ [GODRIVER-1268] - client tests
- ✅ [GODRIVER-1269] - client side encryption prose tests
- ✅ [GODRIVER-1270] - client side encryption spec tests
- ✅ [GODRIVER-1271] - collection tests
- ✅ [GODRIVER-1272] - command monitoring spec tests
- ✅ [GODRIVER-1273] - crud v1 spec tests
- ✅ [GODRIVER-1274] - crud v2 spec tests
- ✅ [GODRIVER-1275] - cursor tests
- ✅ [GODRIVER-1276] - database tests
- ✅ [GODRIVER-1277] - index view tests
- ✅ [GODRIVER-1278] - mongo_test tests
- ✅ [GODRIVER-1279] - legacy operation tests
- ✅ [GODRIVER-1280] - primary stepdown tests
- ✅ [GODRIVER-1281] - read/write concern spec tests
- ✅ [GODRIVER-1282] - results_test tests
- ✅ [GODRIVER-1283] - retryable reads spec tests
- ✅ [GODRIVER-1284] - retryable writes spec tests
- ✅ [GODRIVER-1285] - sessions tests
- ✅ [GODRIVER-1286] - SingleResult tests
- ✅ [GODRIVER-1287] - mongos pinning transactions tests
- ✅ [GODRIVER-1288] - transactions spec tests
- ✅ [GODRIVER-1289] - convenient transactions spec tests
- [GODRIVER-1293] - Delete legacy_helpers_test after all tests are ported
- ⚡️ [GODRIVER-1309] - Update from Go1.8 to 1.9 in Evergreen config
- ✅ [GODRIVER-1310] - convenient transactions prose tests
- ✅ [GODRIVER-1327] - gridfs tests
- [GODRIVER-1331] - Remove ns assertions in index_view_test.go
- 👀 [GODRIVER-1336] - initial seedlist discovery tests
- [GODRIVER-1368] - Create language specific copy/pasteable FLE tutorials
- [GODRIVER-1369] - Expectations of listIndexNames.json should refer to command as listIndexes
- 📄 [GODRIVER-1376] - Docs for client methods
- 📄 [GODRIVER-1377] - Docs for database methods
- 📄 [GODRIVER-1378] - Docs for collection methods
- [GODRIVER-1379] - CRUD GoDoc examples
- [GODRIVER-1380] - Sessions GoDoc examples
- 📄 [GODRIVER-1383] - ChangeStream and Cursor docs and examples
- [GODRIVER-1384] - Examples for client methods
- 📄 [GODRIVER-1401] - ClientOptions docs
- 📄 [GODRIVER-1406] - FLE GA docs changes
- [GODRIVER-1410] - Add retryReads URI option
👌 Improvement
- 📦 [GODRIVER-425] - move highlevel integration tests to sub package and remove "TOPOLOGY" env var usage
- 📚 [GODRIVER-872] - Improve documentation for IndexView
- 🗄 [GODRIVER-911] - Deprecate mongo.IndexOptionsBuilder
- [GODRIVER-1154] - How to use MongoDB's connection pool?
- [GODRIVER-1221] - Document whether mongo.Client is goroutine safe
- [GODRIVER-1294] - Collection.InsertOne is having problems with a struct that has a interface as attribute
- [GODRIVER-1305] - Allow inline fields to be pointers of struct
- ✅ [GODRIVER-1320] - Avoid using readConcern snapshot in sharded transaction tests
- 📜 [GODRIVER-1328] - Loosen strictness of date parsing in the driver
- 📦 [GODRIVER-1329] - Document public types in the mongo package
- ⚡️ [GODRIVER-1333] - Add missing tests for aggregation pipeline in bulk write updates
- [GODRIVER-1348] - FLE GA Spec changes
- [GODRIVER-1374] - Add TryNext API
- [GODRIVER-1386] - Fix data race in topology/resource_pool_test
- 🐎 [GODRIVER-1404] - Improve performance of SelectServer
- [GODRIVER-1407] - create mapCodec for mgocompat
-
v1.1.4 Changes
December 17, 2019🚀 The MongoDB Go driver team is pleased to release 1.1.4 of the official Go driver.
This release contains a bug fix for error checking in the driver's monitoring routine. Prior to this fix, the driver would try to close a monitoring connection if the underlying
net.Conn
was non-nil. This caused issues for some users with custom dialers due to the nil-interface behavior in Go (see https://golang.org/doc/faq#nil_error). This fix makes it so the driver does not call any methods on connections returned by dialers if the error returned is non-nil.📚 Documentation can be found on GoDoc and the MongoDB documentation site. BSON library documentation is also available on GoDoc. Questions and inquiries can be asked on the mongo-go-driver Google Group. Bugs can be reported in the Go Driver Jira where a list of current issues can be found.
🚀 Release Notes
🐛 Bug
- [GODRIVER-1439] - Only close heartbeat connections after they're opened
-
v1.1.3 Changes
November 05, 2019🚀 The MongoDB Go driver team is pleased to release 1.1.3 of the official Go driver.
🚀 This release contains several bug fixes.
📚 Documentation can be found on GoDoc and the MongoDB documentation site. BSON library documentation is also available on GoDoc. Questions and inquiries can be asked on the mongo-go-driver Google Group. Bugs can be reported in the Go Driver Jira where a list of current issues can be found.
🚀 Release Notes
🐛 Bug
- [GODRIVER-1345] - Cancel in-progress heartbeats when disconnecting
- [GODRIVER-1351] - nil panic on conn close for change stream aggregation operation
👌 Improvement
- [GODRIVER-1364] - Allow authentication to all server types except arbiters