Releases: mongodb/mongo-go-driver
MongoDB Go Driver 1.1.2
The MongoDB Go driver team is pleased to release 1.1.2 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-1245] - Transactions Bugs
- [GODRIVER-1292] - ListCollectionNames does not appear to close the cursor it creates
- [GODRIVER-1298] - Panic in topology/pool.go:416
- [GODRIVER-1301] - Data race around topology subscription
- [GODRIVER-1302] - Topology.String should take {{serversLock}}
- [GODRIVER-1311] - Running v1.1.0+ against mongot doesn't work
- [GODRIVER-1322] - operations bug fixes
- [GODRIVER-1323] - Cleanup connection close logic
- [GODRIVER-1324] - Can't insert 16 MiB documents
- [GODRIVER-1325] - Getting a new Database from mongo.Client does not honor a Registry from DatabaseOptions
Mongo Go Driver 1.1.1
The MongoDB Go driver team is pleased to release 1.1.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
Backport
- [GODRIVER-1290] - Backport "Deadlock on 1.1.0 release"
Bug
- [GODRIVER-1011] - Struct decoder only works for lowercased fields
- [GODRIVER-1233] - Truncate Bug
- [GODRIVER-1238] - Closing a change stream without reading it returns an error
- [GODRIVER-1239] - mongo.Client's Ping method ignores read preference
- [GODRIVER-1245] - Transactions Bugs
- [GODRIVER-1246] - Cursor.All() should end implicit session
- [GODRIVER-1247] - connection leak with change stream
MongoDB Go Driver 1.1.0
The MongoDB Go driver team is pleased to release 1.1.0 of the official Go driver.
This release contains support for MongoDB server version 4.2.
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.
Core Driver Redesign
The lower-level driver implementation was redesigned. The improved lower-level driver contained improvements to increase maintainability and greatly increase performance.Connection Pool Monitoring
The Connection Monitoring and Pooling specification has been implemented. This changes the pool implementation to LIFO, which improves connection utilization. The addition ofevent.PoolMonitor enables users to monitor various connection and connection pool related events.
Release Notes
Bug
- [GODRIVER-1018] - record codeName for WriteConcernErrors
- [GODRIVER-1073] - ChangeStream spec's Resumable Error definition is too broad
- [GODRIVER-1084] - Data race in topology tests
- [GODRIVER-1085] - Change stream test failures on Evergreen
- [GODRIVER-1100] - Closing batch cursor after find gets "ended session was used"
- [GODRIVER-1107] - SetHint causes InvalidBSON error
- [GODRIVER-1108] - Operation.addReadConcern encodes "empty" ReadConcern
- [GODRIVER-1114] - RunCommandCursor always fails and returns an error message referencing internal driver details
- [GODRIVER-1130] - Pinned Servers should be cleared properly
- [GODRIVER-1153] - nil pointer asMDoc
- [GODRIVER-1160] - driver.BatchCursor Next returns true when first batch is empty
- [GODRIVER-1187] - Find() uses a write selector instead of a read selector
- [GODRIVER-1215] - lastWriteDate is parsed from isMaster incorrectly
- [GODRIVER-1224] - Race detected in x/mongo/driver/topology
- [GODRIVER-1226] - localThresholdMS does not default to 15 ms
New Feature
- [GODRIVER-620] - Implement Unified URI Options
- [GODRIVER-621] - Implement Convenient API for Transactions
- [GODRIVER-622] - Implement Connection Monitoring and Pooling spec
- [GODRIVER-623] - Support mongos pinning for sharded transactions
- [GODRIVER-624] - Retryable Reads
- [GODRIVER-625] - Support polling SRV records for mongos discovery
- [GODRIVER-628] - Connections survive primary stepdown
- [GODRIVER-637] - Support sharded transactions recovery token
- [GODRIVER-680] - Support running commands as aggregation
- [GODRIVER-690] - Transaction test runner should use "local" read concern when asserting the final collection state
- [GODRIVER-723] - Missing ListCollectionNames
- [GODRIVER-736] - Add comparison methods to primitive.Timestamp
- [GODRIVER-745] - Resync change stream tests to test all new notification types
- [GODRIVER-765] - Support 'startAfter' option to the $changeStream stage
- [GODRIVER-808] - Add support for Split-Horizon Topology
- [GODRIVER-822] - Support Retryable Writes on by Default
- [GODRIVER-824] - Support postBatchResumeToken in change streams
- [GODRIVER-841] - Resync SDAM tests to only examine non-unknown server descriptions to determine incompatibility
- [GODRIVER-845] - Add support for majority read concern level to Aggregation $out
- [GODRIVER-913] - countDocuments should use group with _id: 1
- [GODRIVER-916] - Cursor method to decode all results into a slice
- [GODRIVER-919] - Add the ability to specify a pipeline to an update command
- [GODRIVER-927] - Create new driver package
- [GODRIVER-928] - Update topology.Topology type
- [GODRIVER-929] - Create topology.pool type
- [GODRIVER-930] - Implement base driver.Connection type
- [GODRIVER-931] - Implement topology.legacyConnection type
- [GODRIVER-932] - Update topology.Server type
- [GODRIVER-978] - Implement driver.Operation
- [GODRIVER-984] - Add support for legacy find, getMore, and killCursors to driver.Operation
- [GODRIVER-985] - Design & Implement drivergen
- [GODRIVER-992] - Add compression to driver.Operation
- [GODRIVER-993] - Add command monitoring to driver.Operation
- [GODRIVER-1081] - Allow applications to set maxTimeMS for commitTransaction
- [GODRIVER-1209] - Create LocalAddresser interface and make topology.Connection implement it
- [GODRIVER-1219] - Raise an actionable error message when retryWrites fails due to using an unsupported storage engine
Task
- [GODRIVER-589] - Bump wire protocol version for 4.2
- [GODRIVER-968] - Add tests for postBatchResumeToken support
- [GODRIVER-969] - Test writes in transactions do not send writeConcern when collection write concern is w=0
- [GODRIVER-970] - Amend change stream missing resume token tests for wire version 8+
- [GODRIVER-1009] - Implement batch cursor in driver lib
- [GODRIVER-1015] - Set OP_MSG flags in driver.Operation
- [GODRIVER-1026] - Skip ReadWireMessage for unacknowledged writes
- [GODRIVER-1035] - Clear pinned server on TransientTransa...
MongoDB Go Driver 1.0.4
The MongoDB Go driver team is pleased to release version 1.0.4 of the official Go driver.
This release contains several bug fixes. Please refer to the Jira issues below for more information.
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-1013] - When reading whole file at once next read doesn't return EOF
- [GODRIVER-1096] - When limit is set with a BatchCursor connected to a legacy server, a connection is leaked
- [GODRIVER-1131] - QueryFailureError not wrapped in CommandError
- [GODRIVER-1132] - Legacy ListCollections in driverlegacy does not filter indexes
Improvement
- [GODRIVER-1021] - Specify behavior where connection string contain auth database but no credentials
MongoDB Go Driver 1.0.3
The MongoDB Go driver team is pleased to release version 1.0.3 of the official Go driver.
This release contains several bug fixes. Please refer to the Jira issues below for more information.
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-1012] - Downloading big files from gridfs ends with ErrWrongSize
- [GODRIVER-1016] - Get current op on MongoDB 2.6
- [GODRIVER-1068] - Need to call ping in Ping()
- [GODRIVER-1078] - Allow specifying empty value for connection URI readPreferenceTags option
- [GODRIVER-1086] - Can leak creds through errors from URI Parsing
MongoDB Go Driver 1.0.2
The MongoDB Go driver team is pleased to release version 1.0.2 of the official Go driver.
This release contains several bug fixes. Please refer to the Jira issues below for more information.
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-867] - options.FindOptions.SetLimit() docs suggest negative limits are still supported, but they're not
- [GODRIVER-975] - bulk write doesn't report write concern error
- [GODRIVER-983] - extjson date parser doesn't work for dates after the year 2262
- [GODRIVER-989] - ChangeStream Next nil Pointer Dereference
- [GODRIVER-1005] - Decoding SingleResult or cursor to nil pointer type panics
Improvement
- [GODRIVER-1004] - SingleResult.Decode only works once
MongoDB Go Driver 1.0.1
The MongoDB Go driver team is pleased to release version 1.0.1 of the official Go driver.
This release fixes a race condition in handshaking, panics in GridFS, and improves documentation. Additionally, some small API changes have been made.
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-809] - Go driver cannot decode gridfs files collection documents if the length field is not stored as int64
- [GODRIVER-880] - Cannot query when having a regular expression in MongoDB Document
- [GODRIVER-881] - ObjectID should be quoted in bsoncore.Value's String() method
- [GODRIVER-884] - Default for timestamps is a zero'd *time.Location, instead of `nil`
- [GODRIVER-886] - Panic when passing non-ObjectID file ID to bucket.OpenDownloadStream
- [GODRIVER-887] - Panic when passing in UploadOptions with Metadata but no Registry to bucket.OpenUploadStream
- [GODRIVER-888] - GoDoc out of date for cursor example
- [GODRIVER-893] - bsonrw.valueReader skip does not properly skip regular expressions
- [GODRIVER-898] - Topology should synchronously update ServerDescriptions
- [GODRIVER-900] - Server string representation typo: Avergage RTT
- [GODRIVER-901] - Race detector flagged race
- [GODRIVER-908] - options.MergeClientOptions doesn't handle errors properly
- [GODRIVER-910] - panic when calling Watch on a Client that has not been connected
- [GODRIVER-956] - Legacy Find is not respecting limit
New Feature
- [GODRIVER-873] - BulkWriteResult from BulkWrite doesn't have errors in unordered bulk
Improvement
- [GODRIVER-864] - Upgrade testing to go 1.12
- [GODRIVER-896] - Document Docker DNS issue
MongoDB Go Driver 1.0.0
The MongoDB Go driver team is pleased to release version 1.0.0 of the official Go driver.
This release fixes retryable writes for batch split write commands and fixes documentation errors.
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-871] - Retryable Writes is broken for batch splits
New Feature
- [GODRIVER-790] - Drivers should use majority write concern when retrying commitTransaction
- [GODRIVER-844] - Resync transaction spec tests for bulk write error reporting change
MongoDB Go Driver 1.0.0 Release Candidate 2
The MongoDB Go driver team is pleased to release v1.0.0-rc2 of the official Go driver.
This release fixes zlib compression and contains several smaller 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.
Using Dep
If you are using `dep` to retrieve the Go driver, please ensure that dep has pinned the correct version. The `dep` tool prefers released versions over pre-release versions, so it is likely that `dep` will retrieve version `0.3.0` instead of `1.0.0-rc2`. You can use the command below to retrieve the correct version.dep ensure -add "go.mongodb.org/mongo-driver/mongo@>=1.0.0-rc1"Release Notes
Bug
- [GODRIVER-836] - zLib compression does not work
- [GODRIVER-840] - Docs out of date for how to connect
- [GODRIVER-848] - bson can not marshal datetime ISODate json correct
- [GODRIVER-856] - Chunks collection files_id_1_n_1 index not unique
New Feature
- [GODRIVER-698] - Support for GSSAPI "ServiceHost"
MongoDB Go Driver 1.0.0 Release Candidate 1
The MongoDB Go driver team is pleased to release v1.0.0-rc1 of the official Go driver.
This release changes the import path for the driver from github.com/mongodb/mongo-go-driver to go.mongodb.org/mongo-driver. If you have previously downloaded the driver you will need to move it to the new location within your GOPATH.
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.
New Import Path
The base import path for the driver has changed. The new path isgo.mongodb.org/mongo-driver. Package locations under the import path remain the same, e.g. the mongo package is located under go.mongodb.org/mongo-driver/mongo.
mongo.Client Creation
The mongo.Client construction functions no longer take a string URI parameter. Instead, a MongoDB URI can be provided as an option.
Previous API: mongo.NewClient("mongodb://localhost:27017/")
New API: mongo.NewClient(options.Client().ApplyURI("mongodb://localhost:27017/"))
Release Notes
Bug
- [GODRIVER-767] - client.Disconnect(nil) causes a panic
- [GODRIVER-768] - documentation example test failing
- [GODRIVER-789] - Deprecated Count method is still in the public API
- [GODRIVER-802] - Document fields corrupted in transformAndEnsureID
- [GODRIVER-805] - BSON field '$changeStream.maxAwaitTimeMS' is an unknown field
- [GODRIVER-811] - Modify change stream test to only run if WireVersion < 8
- [GODRIVER-812] - Server String() function access unprotected variables
- [GODRIVER-813] - Aggregate Test Failing
- [GODRIVER-815] - Can only interact with GridFS files by id via ObjectIds
- [GODRIVER-817] - Fix killCursor helper in collection tests
- [GODRIVER-819] - driver.KillCursors broken
- [GODRIVER-831] - GSSAPI Authentication starts SASL conversation wrong
- [GODRIVER-833] - GridFS default chunk size is 255 kB, not 255 KiB
- [GODRIVER-839] - GoDoc for mongo.Client does not match API
- [GODRIVER-846] - Unable to authenticate to a replica set member using the keyfile
New Feature
- [GODRIVER-524] - Implement SDAM Error Handling
- [GODRIVER-775] - Cannot parse MongoDB Extended JSON from mongoexport
- [GODRIVER-803] - Add option to allow authenticating with an arbiter
Task
- [GODRIVER-194] - Add pipeline stage to ChangeStreams example for Docs
- [GODRIVER-422] - Provide Transactions example for Docs
- [GODRIVER-788] - Update Transactions Retry Example 3 to include read preference
Improvement
- [GODRIVER-120] - Alternative Import Path
- [GODRIVER-572] - TransformDocument should document how it handles nil
- [GODRIVER-600] - Add test that read operations ignore db/collection readConcern in transaction
- [GODRIVER-727] - Clean up mongo.newClient
- [GODRIVER-731] - Maps inside structs are not zeroed
- [GODRIVER-747] - Allow TLSConfig as a client option
- [GODRIVER-787] - Make file should run documentation examples
- [GODRIVER-793] - Remove all public use of 'x' packages in the options package
- [GODRIVER-800] - Modify BatchCursor to return batch as a single slice of documents
- [GODRIVER-807] - Add attribution for Gopher logo
- [GODRIVER-828] - Create mongo.CommandError to wrap command.Error