Robo 3T 1.3 with MongoDB 4.0 support is released !

We are very happy to announce the release Robo 3T 1.3 with MongoDB 4.0 support! In this release we have important new features, improvements and bug fixes.

The most important changes are mongo shell upgrade from version 3.4 to 4.0, 'Create/View/Drop User' features are fixed, support for importing from MongoDB SRV connection strings and query results window now supports tabbed output.

What's new in Robo 3T 1.3:

A) New Features
   1. Mongo Shell upgrade from version 3.4 to 4.0
   2. Support for importing from MongoDB SRV connection strings
   3. Query results window now supports tabbed output (#1591, #1403)
   4. Adding support for SCRAM-SHA-256 auth mechanism (#1569)
   5. Support for creating version 4 UUID (#1554)
   6. Support for Ubuntu 18.04 and Mac 10.14

B) Improvements
   1. Encrypted passwords are used instead of clear text passwords (#731)
   2. Showing better errors for connection failures

C) Bug Fixes
   1. Create/View/Drop User features are fixed and updated (#638, #1041)
   2. Pagination does not work when the aggregation queries have dotted fields (#1529)
   3. Fix for application crash when adding index with invalid JSON
   4. 'Repair Database' in Robo3T needs a confirm dialog box (#1568)
   5. Robo 3T the input space causes connection failure (#1551)
   6. Crash on right click when loading results (#1547)
   7. Attempt to fix #1581: For CRUD ops, showing progress bar and disabling context menu while waiting for edit operation to finish
   8. Fixing UI issue where Functions folder was freezing with "Functions..." when it failed to refresh
   9. Attempt to fix #1547: Crash when right click on existing results when a new long running query

Download Robo 3T 1.3


A) New Features

1. Mongo Shell upgrade from version 3.4 to 4.0

In this version, we have upgraded Mongo shell from version 3.4 to 4.0. This means that Robo 3T 1.3 now supports MongoDB 4.0 and 3.6 as well.

However, in order to support the two features listed below, we had to do some extra code changes in Robo 3T:

  • MongoDB 4.0: Support for SCRAM-SHA-256
  • MongoDB 3.6: DNS-constructed Seedlist mongodb+srv

See all MongoDB 4.0 and 3.6 changes in release notes:

2. Support for importing from MongoDB SRV connection strings

This feature was added in MongoDB 3.6. It is basically a short form of MongoDB standard connection string, which makes connecting to server and creating a new connection much easier.

For comparison, showing MongoDB SRV and standart connections strings for the same Mongo Atlas replica set:

// MongoDB SRV connection strings: 
mongodb+srv://admin:<password>@cluster0-v3dza.mongodb.net/test  

// MongoDB standard connection string: 
mongodb://admin:<password>@cluster0-shard-00-00-v3dza.mongodb.net:27017,cluster0-shard-00-01-v3dza.mongodb.net:27017,cluster0-shard-00-02-v3dza.mongodb.net:27017/test?ssl=true&replicaSet=Cluster0-shard-0&authSource=admin&retryWrites=true

Showing how to setup Robo 3T all connection settings by one click using MongoDB SRV connection string:

More examples of MongoDB SRV connection strings:

// Without username and password fields: 
mongodb+srv://cluster0-v3dza.mongodb.net/test

// With username and password fields:  
mongodb+srv://admin:admin@cluster0-v3dza.mongodb.net/test

To get your MongoDB SRV connection string, go to Mongo Atlas website:
Then select Cluster -> Connect -> Connect with MongoDB Compass

Note: Robo 3T 1.3 currently supports only importing from MongoDB SRV connection string. Importing from the standard connection string is not supported.

Reference:
DNS Seedlist Connection Format

3. Query results windows now supports tabbed output (#1591, #1403)

In this version we have implemented a new tabbed query output window. In previous versions, when the query count was more than 5, there were couple of UI related problems.

Currently, tabbed output is only acivated when the query count is 3 or more. When the query count is 1 or 2, Robo shows the output non-tabbed (side-by-side) so that the user can see/compare results more easily. All of these can be seen in screenshots below:

multi-f-4

4. Adding support for SCRAM-SHA-256 auth mechanism (#1569)

Salted Challenge Response Authentication Mechanism (SCRAM) is the default authentication mechanism for MongoDB. In MongoDB 4.0, SCRAM-SHA-256 is added and so in this version we also decided to support this important security feature.

More Info:
https://docs.mongodb.com/manual/core/security-scram/

B) Improvements

1. Encrypted passwords are used instead of clear text passwords

From version 1.3, Robo 3T started to save password and passphrases enrpyted in the config. file. This is the first iteration of securing passwords. We plan to improve the security of passwords with system keychain integration in the upcoming releases.

Encrpyted passwords feature will appply to 4 parameters in config file:

  • Main connection (MongoDB) password
  • SSH password & passphrase
  • SSL PEM passphrase

An example of encrypted passwords in Robo 3T 1.3 config file can be seen below:

  // robo3T.json: 

  ...
  {
   "connectionName" : "atlas",
   "credentials" : [
    {
     ...
     "mechanism" : "SCRAM-SHA-256",
     "userName" : "admin",
     "userPasswordEncrypted" : "AwL8SywX8c0="    <-- MongoDB password 
    }
   ],
   ...
   "ssh" : {
    ...
    "method" : "publickey",
    "passphraseEncrypted" : "AwJyY9PvDQ==",      <-- SSH passphrase
    "port" : 22,
    ...
    "userName" : "admin",
    "userPasswordEncrypted" : "AwKdhGVYuw=="     <-- SSH password
   },
   "ssl" : {
    ...
    "pemKeyFile" : "",
    "pemPassPhraseEncrypted" : "AwIGSdjjFC8",    <-- SSL PEM passphrase
    ...
   },
   ...
  },
  ...

C) Bug Fixes

1. Create/View/Drop User features are fixed and updated (#638, #1041)

In this release, we have almost completely updated our user management, hopefully solved some annoying problems which our users have reported. We have updated Create/View/Drop User features.

Currently the limitations are, creating user only from one user source is supported and edit user is disabled. We will consider to add support for "Edit User" and selectable UserSource for each role in future releases. (#1619)

Download

Download Robo 3T 1.3, our best version of Robo 3T.

Enjoy!

Follow us on Twitter (@robomongo) to be notified about future releases. Please submit any found issues to our GitHub.