moped v1.4.0 Release Notes

  • ๐Ÿ†• New Features

    • ๐Ÿ‘ #144 Moped now supports $maxScan options in queries. (Jonathan Hyman)

      session[:bands].find(name: "Blur").max_scan(50)
      
    • #143 Aggregation pipeline commands no longer force to read from primary.

    • โฑ #141 Timeouts on sockets are now set to the timeout level provided, as well is active checks now happen before sending both reads and writes.

    • #140 Nodes that were provided to Moped's session in intialization, that were removed from the replica set but still alive and accepting connections will no longer be in the list of available nodes.

    • ๐Ÿ‘ #138 Aggregation pipeline now supports array or splat args. (Gosha Arinich)

    • #41 Moped::BSON::ObjectId.from_time now accepts a unique option to ensure the generated id is unique.

      Moped::BSON::ObjectId.from_time(time, unique: true)
      
    • mongoid/mongoid#2452 A boolean can now be passed to count to determine if the skip and limit options should be included in the value.

      session[:bands].find(name: "Blur").skip(10).limit(5).count(true)
      

    Resolved Issues

    • #137 IOError exceptions during connection go through reconnect process properly. (Peter Kieltyka)

    • #120 Return UTF-8 strings when calling ObjectId#to_s.

    • mongoid/mongoid#2738 Ensure that delete operations don't include special selectors, like $query.

    • mongoid/mongoid#2713 Allow collections that have names that start with "system" to be returned by Database#collection_names.