-
Enhancements
- Add support for MongoDB sessions
- Add support for transactions
- Add support for hiding configuration options from logs
- Added Dialyzer to CI pipeline
- Reformatted code using
mix format - Add support for encoding long numbers in BSON
- Use
@implinstead of doc strings where possible
-
Bug Fixes
- Added
LICENSEfile that was missing
- Added
-
Possible incompatibilities
- Bumped supported Elixir and OTP version
-
Enhancements
- Added support for connecting via UNIX sockets (
:socketand:socket_dir) - Start using write commands for acknowledged writes
- Added support for connecting via UNIX sockets (
-
Bug Fixes
- Added missing host parameter in exception call
- No longer starting
:pool_sizenumber of connections for internal monitors
-
Enhancements
- Added hostname and port to exceptions
- Added support for x509 authentication
- Allow passing only partial
read_preferenceinformation - Add support for GridFS
- Update to
db_connection2.x
-
Bug Fixes
- Fixed a connection leak
- Properly parse write concern for URL
- Properly follow read preference for
secondary_preferred - Fixed an issue where the topology could crash due to a negative timeout
- Enhancements
- Added 4.0 to supported versions
- Initial support for mongodb+srv URLs
- Support for Decimal128
- Enhancements
- Added
:connect_timeout_mstoMongo.start_link/1 - Reorganized documentation
- Added
-
Enhancements
- Should now be able to send a query to your server before the connection is fully made
-
Bug Fixes
- Should actually be able to query for longer than 5 seconds
-
Enhancements
- Added support for using a mongo url via the
:urlkey - Added MongoDB 3.6 to supported versions
- Added support for the deprecated
undefinedBSON type
- Added support for using a mongo url via the
-
Bug Fixes
- Added another case for BSON NaN
- Fixed encoding and decoding of the BSON Timestamp type
- Should now figure out Topology for replica sets even if you exclude the
:typekey - Fixed an issue where our monitors would become empty, preventing the driver from reconnecting to a downed database
-
Enhancements
- Send TLS server name indication (SNI) if none is set in the
:ssl_opts - Fixed a couple dialyzer issues
- Add basic examples of
$and,$or, and$inoperators in README
- Send TLS server name indication (SNI) if none is set in the
-
Bug Fixes
- Ensure cursor requests are routed to the proper node in the cluster
- No longer attempting to authenticate against arbiter nodes
- Prevent monitor errors if you have stopped the mongo process
- Bug fixes
- Fix application crash when a replica set member goes offline
- Fix application crash on start when a replica set member is offline
- Bug fixes
- Monitors no longer use a pool
- Can now connect to a Mongo instance using a CNAME
- Pass options through Mongo.aggregate/4
- Replica Set Support
- Breaking changes
- Remove
BSON.DateTimeand replace it with native ElixirDateTime
- Remove
-
Enhancements
- SSL support
- Add functions
BSON.DateTime.to_elixir_datetime/1andBSON.DateTime.from_elixir_datetime/1
-
Changes
- Requires Elixir ~> 1.3
-
Enhancements
- Add
BSON.ObjectID.encode!/1andBSON.ObjectID.decode!/1 - Optimize and reduce binary copying
- Add tuple/raising versions of functions in
Mongo - Add
:inserted_countfield toMongo.InsertManyResult - Support NaN and infinite numbers in bson float encode/decode
- Add
Mongo.object_id/0for generating objectids - Add
Mongo.child_spec/2 - Add
Mongo.find_one_and_update/5 - Add
Mongo.find_one_and_replace/5 - Add
Mongo.find_one_and_delete/4
- Add
-
Bug fixes
- Fix float endianness
-
Breaking changes
- Switched to using
db_connectionlibrary, see the current docs for changes
- Switched to using
-
Enhancements
- Add
BSON.DateTime.from_datetime/1
- Add
-
Bug fixes
- Fix timestamp epoch in generated object ids
- Fix
Mongo.run_command/3to accept errors without code
Initial release