Robomongo RC8

We are happy to announce 0.9.0 RC8 version of Robomongo!

SSH protocol

Support for SSH protocol is completely re-implemented and includes many improvements.

Nobody was very much happy with the implementation in version 0.8. It was implemented surprisingly badly in all cases :) Many issues were reported and some design decision were erroneous. For instance, multiple SSH connections were created for each tab to the same SSH server.

Robomongo now creates a single SSH connection and uses it as a tunnel for all opened tabs. This improves opening of the new shell tab up to 4x faster.

Besides visible improvements, current implementation is completely independent from MongoDB source code. It will allow us to release new version of Robomongo for the upcoming MongoDB 3.4 as quick as possible.

If you experience any problem with SSH connection, please read "Error handling and reporting" section below.

Security

If you are serious about security, check "Ask for passphrase each time" in order to prevent Robomongo to store your password as a plain text into the config file (issue #609):

You will be prompted for the password or passphrase each time new connection is initiated:

In the future versions we are planning to improve security in the following ways:

  1. Sensitive information will be encrypted in Robomongo config file
  2. Support for SSH agents will be implemented

Current limitations

  1. Password and passphrase are stored as plain text in config file. You are encouraged to use "Ask for password/passphrase" instead.
  2. When the connection with SSH server drops, automatic reconnection is not performed. You need to manually disconnect and reopen all tabs. We will address this limitation in the future versions.
  3. Data between Robomongo and SSH server is not zipped. We are planning to implement this feature in the next versions. This will allow us to improve performance of SSH connection for slow networks.


Connection Diagnostic

When you are creating new connection to MongoDB, there is a "Test" button at the bottom left corner which allows to test connection:

In RC8 we have completely re-implemented this functionality. Also, it now shows diagnostic information about SSH connection:

When some errors are found, you will know the exact reason of the problem:

If you need more details about the error, click on "Show error details" link at the bottom left of the dialog.

When connection is successful, you'll see the following:


Explorer improvements

Database Explorer received several fixes and improvements.

Robomongo is sorry for that behaviour! In the RC8 all these issues were fixed.


Error handling and reporting

In this version we pay much more attention to both error handling and detailed reporting of the problem to you. Previously Robomongo may report that "list of users cannot be loaded", but without any clue on what went wrong. In RC8 we show you exact information that we have about the error:

Message "field not found, expected type 7" is mostly useless to most of us, but this is what was reported by MongoDB client library and we are now showing this information.

We are moving towards complete re-implementation of logging and error reporting. This is partially implemented for the SSH sub-module. If you experience any problem with SSH connection, hold Shift key when you are clicking Connect button:

Log panel will automatically open with the very detailed log of all operations performed by Robomongo's SSH sub-module:

This "feature" is intended for debug needs and is not suited for the regular users. Still, we will ask you to enter such debug mode and show us the logs when you'll encounter any problem with SSH connection. Sensitive information, such as passwords and passphrases, is never logged by Robomongo.

We are planning to enable such detailed logging for all parts of Robomongo. This will allow us to improve our level of support and eventually will lead to higher quality of the application.

Tip: Shift + Enter when in Connections Dialog will also do the same trick.


Stability in case of network partitioning

Version RC8 is unique in the way that it was tested with network cable unplugged (and unexpectedly unplugged in the middle of the network operation). Several critical errors were found that lead to application crash. All found issues were fixed.

In most such cases now you'll see the following message:


Fixed script editor flickering

If you use Robomongo on Mac or Linux you probably noticed that script editor flickering when you adding new line. Here is a slow motion of this behaviour:

This issue is now fixed:


Other improvements

  1. Fixed bug of incorrect conversion of double '0.0' to int '0' when editing document #1069
  2. Fixed crash when "Copy JSON" an object within an array #1074
  3. Fixed problem with Document Editor dialog which only opens on main display (when you have multi-monitor setup) #1063
  4. Auto-completion for database collection names is now cached. It will improve responsiveness of suggestions.
  5. SSH implementation now respects DNS settings at the end of the tunnel #686
  6. SSH settings now understand ~ symbol for Private Key file and will expand it to your home directory.


Roadmap

Our major priority towards final version is support for the most popular Authentication Mechanisms:

  • SCRAM-SHA-1 — Implemented
  • MONGODB-CR — Implemented
  • x.509 — Not implemented

And support for the most popular protocols:

  • SSH — Implemented
  • TLS/SSL — Not implemented

Support for x.509/SSL will be part of the next releases. Besides this feature, Robomongo will receive many fixes and improvements until it hits 0.9.0 Final.

Download

Download Robomongo 0.9.0 RC8, our best version of Robomongo.

Enjoy! And... support us! Together, let's push Robomongo to the sky!

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