This fork has had a few improvements by ourselves as well as several PR's merged from the original mgo repo that are currently awaiting review. Changes are mostly geared towards performance improvements and bug fixes, though a few new features have been added.
Further PR's (with tests) are welcome, but please maintain backwards compatibility.
- Fixes attempting to authenticate before every query (details)
- Removes bulk update / delete batch size limitations (details)
- Adds native support for
time.Duration
marshalling (details) - Reduce memory footprint / garbage collection pressure by reusing buffers (details, more)
- Support majority read concerns (details)
- Improved connection handling (details)
- Hides SASL warnings (details)
- Support for partial indexes (detials)
- Fixes timezone handling (details)
- Integration tests run against MongoDB 3.2 & 3.4 releases (details, more, more)
- Improved multi-document transaction performance (details, more, more)
- Fixes cursor timeouts (details)
- Support index hints and timeouts for count queries (details)
- Don't panic when handling indexed
int64
fields (detials) - Supports dropping all indexes on a collection (details)
- Annotates log entries/profiler output with optional appName on 3.4+ (details)
- Support for read-only views in 3.4+ (details)
- Support for collations in 3.4+ (details)
- Provide BSON constants for convenience/sanity (details)
- Consistently unmarshal time.Time values as UTC (details)
- Enforces best practise coding guidelines (details)
- GetBSON correctly handles structs with both fields and pointers (details)
- Improved bson.Raw unmarshalling performance (details)
- Minimise socket connection timeouts due to excessive locking (details)
- Natively support X509 client authentication (details)
- Gracefully recover from a temporarily unreachable server (details)
- @bachue
- @bozaro
- @BenLubar
- @carter2000
- @cezarsa
- @drichelson
- @eaglerayp
- @feliixx
- @fmpwizard
- @idy
- @jameinel
- @gazoon
- @mapete94
- @Reenjii
- @smoya
- @wgallagher