Robomongo RC9

We are happy to announce new version: Robomongo 0.9.0 RC9!

Collection advanced options

With this version of Robomongo you can specify all configuration options for newly created collections. We support major MongoDB versions 3.2, 3.0, 2.6 and storage engine types: WiredTiger and MMAPV1.

Based on storage engine or MongoDB version, Robomongo assists you:

In advanced view, four new tabs can be used to configure capped collection & user flags, storage engine, validator and index option defaults.

You can specify configuration to the storage engine for collection (requires MongoDB 3.0 and WiredTiger engine):

Specify validation rules or expressions for the collection (requires MongoDB 3.2):

Specify a default configuration for indexes (requires MongoDB 3.2):


SSH enhancement

Previous version of Robomongo was failing when connecting via SSH to the newest versions of operating systems (for instance, Ubuntu 16.04 and OS X El Capitan):

This issue is solved in Robomongo 0.9 RC9. The root cause of the problem is that starting from OpenSSH 6.9, support for the 1024-bit diffie-hellman-group1-sha1 key exchange is disabled by default. We have updated Robomongo SSH support to make it compatible with OpenSSH 6.9 or later versions.

For more information:
OpenSSH 6.9 Release Notes
http://www.openssh.com/txt/release-6.9


Imported connection settings

Connection settings from previous versions of Robomongo are now automatically imported. Connections with the same parameters will not be imported.

Imported connections are marked with a grey icon. If you don't need some of them — simply remove them.

As a reminder, here are the locations of config files for different versions of Robomongo:

Mac OS X / Linux
Robomongo 0.8.x ~/.config/robomongo/robomongo.json
Robomongo 0.9.x ~/.config/robomongo/0.9/robomongo.json
Windows
Robomongo 0.8.x %HOME%/.config/robomongo/robomongo.json
Robomongo 0.9.x %HOME%/.config/robomongo/0.9/robomongo.json


UUID helpers

Support for querying documents by UUIDs is added, both in legacy and new encoding. MongoDB stores UUIDs as binary data with subtypes 3 (legacy encoding) and 4 (new encoding). New applications should use new encoding, but sometimes we still need to query documents, with values encoded in legacy UUID.

We added 5 helper functions that you can use when building your scripts:

  UUID("...")  =>  BinData(4, "...") 
 LUUID("...")  =>  BinData(3, "...") legacy UUID in unspecified encoding
 NUUID("...")  =>  BinData(3, "...") in .NET GUID encoding
 JUUID("...")  =>  BinData(3, "...") in Java UUID encoding
PYUUID("...")  =>  BinData(3, "...") in Python UUID encoding  

Here is how you can query documents based on legacy .NET UUID encoding:

Here is how you can query documents based on legacy Java UUID encoding:

Because UUID in legacy encoding (subtype 3) is deprecated by BSON specification, we decided to overwrite built-in function UUID(...) to create unique identifiers in new encoding (subtype 4). If you want old behaviour, add the following line to your ~/.robomongorc.js file:

UUID = oldUUID  

Or use oldUUID(...) function explicitly.


Size and position of main window

Main window size and position will be saved and restored next time Robomongo opened. Also we save size of "Connections" and "Create Collection" dialogs. We are planning to implement the same functionality for the rest of dialogs and windows in the future versions.


Roadmap

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

  • SSH — Implemented
  • TLS/SSL — Will be implemented

We are already working on SSL feature for the next release. Besides this feature, Robomongo will receive other fixes and improvements until it hits 0.9 Final.

Download

Download Robomongo 0.9.0 RC9, 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.