Database Tools Changelog

    Released 2021-03-17

    This release includes various bug fixes. Particularly notable is TOOLS-2783, where we reverted a change from 100.2.1 (TOOLS-1856: use a memory pool in mongorestore) after discovering that it was causing memory usage issues.

    • TOOLS-2796 mongotop_sharded.js failing on all versions of the qa-tests
    • TOOLS-2815 Development build artifacts accidentally uploaded for versioned release
    • TOOLS-2584 Restoring single BSON file should use db set in URI
    • TOOLS-2783 Mongorestore uses huge amount of RAM
    • TOOLS-704 Remove system.indexes collection dumping from mongodump
    • TOOLS-2801 Migrate from dep to Go modules and update README
    • TOOLS-2802 Make mongo-tools-common a subpackage of mongo-tools
    • TOOLS-2805 Add mod tidy static analysis check for Go modules
    • TOOLS-2806 Migrate mongo-tools-common unit tests to mongo-tools
    • TOOLS-2807 Migrate mongo-tools-common integration tests to mongo-tools
    • TOOLS-2808 Migrate mongo-tools-common IAM auth tests to mongo-tools

    Released 2021-02-04

    This release includes support for PKCS8-encrypted client private keys, support for providing secrets in a config file instead of on the command line, and a few small bug fixes.

    • TOOLS-2751 Deferred query EstimatedDocumentCount helper incorrect with filter
    • TOOLS-2760 rpm package should not obsolete itself
    • TOOLS-2775 --local does not work with multi-file get or get_regex
    • TOOLS-2779 Add --config option for password values
    • TOOLS-2013 Support PKCS8 encrypted client private keys
    • TOOLS-2707 Build mongo-tools and mongo-tools-common with go 1.15
    • TOOLS-2780 Add warning when password value appears on command line
    • TOOLS-2798 Add Amazon Linux 2 Arm64 to Tools

    Released 2020-11-13

    This release includes a mongorestore performance improvement, a fix for a bug affecting highly parallel mongorestore instances, and an observability improvement to mongodump and mongoexport, in addition to a number of internal build/release changes.

    • TOOLS-2744 mongorestore not scaling due to unnecessary incremental sleep time

    Released 2020-10-15

    This release deprecates the --sslAllowInvalidHostnames and --sslAllowInvalidCertificates flags in favor of a new --tlsInsecure flag. The mongofiles put and mongofiles get commands can now accept a list of file names. There is a new mongofiles get_regex command to retrieve all files matching a regex pattern. The 100.2.0 release also contains fixes for several bugs. It fixes a bug introduced in version 100.1.0 that made it impossible to connect to clusters with an SRV connection string (TOOLS-2711).

    • TOOLS-2587 sslAllowInvalidHostnames bypass ssl/tls server certification validation entirely
    • TOOLS-2688 mongodump does not handle EOF when passing in the password as STDIN
    • TOOLS-2706 tar: implausibly old time stamp error on Amazon Linux/RHEL
    • TOOLS-2708 Atlas recommended connection string for mongostat doesn't work
    • TOOLS-2710 Non-zero index key values are not preserved in ConvertLegacyIndexes
    • TOOLS-2711 Tools fail with "a direct connection cannot be made if multiple hosts are specified" if mongodb+srv URI or a legacy uri containing multiple mongos is specified
    • TOOLS-2716 mongodb-database-tools package should break older versions of mongodb-*-tools

    Released 2020-07-31

    This release contains a fix for a linux packaging bug and a mongorestore bug related to the --convertLegacyIndexes flag.

    • TOOLS-2645 Check for duplicate index keys after converting legacy index definitions
    • TOOLS-2683 Ubuntu 16.04 DB Tools 100.1.0 DEB depends on libcom-err2, should be libcomerr2

    Released 2020-07-24

    This release officially adds support for MongoDB 4.4. In addition to various bug fixes, it adds support for MongoDB 4.4's new MONGODB-AWS authentication mechanism.

    The full list of changes is below:

    • TOOLS-2604 integration-4.4-cluster is failing on master
    • TOOLS-2638 Test-case failure for mongorestore
    • TOOLS-2643 New linux distros missing from repo-config.yaml
    • TOOLS-2287 URI parser incorrectly prints unsupported parameter warnings
    • TOOLS-2337 nsInclude does not work with percent encoded namespaces
    • TOOLS-2366 ^C isn't handled by mongodump
    • TOOLS-2494 mongorestore thorw error "panic: close of closed channel"
    • TOOLS-2531 mongorestore hung if restoring views with --preserveUUID --drop options
    • TOOLS-2596 DBTools --help links to old Manual doc pages
    • TOOLS-2597 swallows errors from URI parsing
    • TOOLS-2609 Detached signatures incorrectly appearing in download JSON
    • TOOLS-2622 Tools do not build following README instructions
    • TOOLS-2669 macOS zip archive structure incorrect
    • TOOLS-2670 Troubleshoot IAM auth options errors
    • TOOLS-2363 Update warning message for "mongorestore"
    • TOOLS-2476 Notarize builds for macOS catalina
    • TOOLS-2505 Add missing 4.4 Platforms
    • TOOLS-2534 Ignore startIndexBuild and abortIndexBuild oplog entries in oplog replay
    • TOOLS-2535 commitIndexBuild and createIndexes oplog entries should build indexes with the createIndexes command during oplog replay
    • TOOLS-2554 Remove ReplSetTest file dependencies from repo
    • TOOLS-2569 Update tools to go driver 1.4.0
    • TOOLS-2618 Refactor AWS IAM auth testing code
    • TOOLS-2628 Add 3.4 tests to evg
    • TOOLS-2644 Update barque authentication
    • TOOLS-2650 Create changelog for tools releases

    This release contains several bugfixes. It also adds support for dumping and restoring collections with long names since the 120 byte name limit will be raised to 255 bytes in MongoDB version 4.4.

    The full list of changes is below:

    • TOOLS-1785 Typo in mongodump help
    • TOOLS-2495 Oplog replay can't handle entries > 16 MB
    • TOOLS-2498 Nil pointer error mongodump
    • TOOLS-2559 Error on uninstalling database-tools 99.0.1-1 RPM
    • TOOLS-2575 mongorestore panic during convertLegacyIndexes from 4.4 mongodump
    • TOOLS-2593 Fix special handling of $admin filenames

    This release was a test of our new release infrastructure and contains no changes from 100.0.0.

    • TOOLS-2493 Cut tools 100.0.0 and 100.0.1 GA releases

    This is the first separate release of the Database Tools from the Server. We decided to move to a separate release so we can ship new features and bugfixes more frequently. The new separate release version starts from 100.0.0 to make it clear the versioning is separate from the Server. You can read more about this on the MongoDB blog.

    This release contains bugfixes, some new command-line options, and quality of life improvements. A full list can be found below, but here are some highlights:

    • There are no longer restrictions on using --uri with other connection options such as --port and --password as long as the URI and the explicit option don't provide conflicting information. Connection strings can now be specified as a positional argument without the --uri option.
    • The new --useArrayIndexFields flag for mongoimport interprets natural numbers in fields as array indexes when importing csv or tsv files.
    • The new --convertLegacyIndexes flag for mongorestore removes any invalid index options specified in the corresponding mongodump output, and rewrites any legacy index key values to use valid values.
    • A new delete mode for mongoimport. With --mode delete, mongoimport deletes existing documents in the database that match a document in the import file.
    • TOOLS-1493 Tools crash running help when terminal width is low
    • TOOLS-1786 mongodump does not create metadata.json file for views dumped as collections
    • TOOLS-1826 mongorestore panic in archive mode when replay oplog failed
    • TOOLS-1909 mongoimport does not report that it supports the decimal type
    • TOOLS-2275 autoIndexId:false is not supported in 4.0
    • TOOLS-2334 Skip system collections during oplog replay
    • TOOLS-2336 Wrong deprecation error message printed when restoring from stdin
    • TOOLS-2346 mongodump --archive to stdout corrupts archive when prompting for password
    • TOOLS-2379 mongodump/mongorestore error if source database has an invalid index option
    • TOOLS-2380 mongodump fails against hidden node with authentication enabled
    • TOOLS-2381 Restore no socket timeout behavior
    • TOOLS-2395 Incorrect message for oplog overflow
    • TOOLS-2403 mongorestore hang while replaying last oplog failed in archive mode
    • TOOLS-2422 admin.tempusers is not dropped by mongorestore
    • TOOLS-2423 mongorestore does not drop admin.tempusers if it exists in the dump
    • TOOLS-2455 mongorestore hangs on invalid archive
    • TOOLS-2462 Password prompt does not work on windows
    • TOOLS-2497 mongorestore may incorrectly validate index name length before calling createIndexes
    • TOOLS-2513 Creating client options results in connection string validation error
    • TOOLS-2520 Fix options parsing for SSL options
    • TOOLS-2547 Installing database tools fails on rhel 7.0
    • TOOLS-2548 Installing database tools fails on SLES 15
    • TOOLS-1954 Support roundtrip of mongoexport array notation in mongoimport
    • TOOLS-2268 Add remove mode to mongoimport
    • TOOLS-2412 Strip unsupported legacy index options
    • TOOLS-2430 mongorestore: in dotted index keys, replace "hashed" with "1"
    • TOOLS-2459 Allow --uri to be used with other connection string options
    • TOOLS-2460 A connection string can be set as a positional argument
    • TOOLS-2521 Add support for the tlsDisableOCSPEndpointCheck URI option
    • TOOLS-2529 Mongodump outputs new file format for long collection names
    Give Feedback