Release Notes for JSON Studio

5.5.0 - Release Date Dec 19, 2016

  • Support for MongoDB 3.4
  • Support for login using MongoDB URI
  • Support for MongoDb Atlas
  • Support for SSL connections through URI only
  • Dashboard APIs
  • Searches on pipelines and scheduled jobs

5.2.2 - Release Date Aug 8, 2016

  • Suspend in $match editor
  • Group dialog for SonarG
  • Bug fix for very large documents
  • Support forcing a number to be viewed as a date

5.2.1 - Release Date May 31, 2016

  • Box-and-whisker plots (two types)

5.2.0 - Release Date April 15, 2016

  • Query-based pull downs for bind variables in dashboards
  • Report drill-downs
  • Auto-creation of API if one does not exist by that name (usability)
  • User/Role management GUI
  • legend control on multi-donuts and full doc tip
  • If a graph has an API defined and is based on an ggregation then when the graph is loaded the aggregation pipeline is loaded
  • Formatter to hide column

5.1.0 - Release Date Mar 14, 2016

  • Map as option for API, gateway and dashboards
  • Bind vars (hidden/non-editable) in dashboard URL propagating to API calls
  • Silent clone vs. question and new pipeline using button (existing)
  • Change default text-overflow property
  • Table/Report formatters
  • Usability improvements

5.0.2 - Release Date Feb 12, 2016

  • Fix Kerberos auth (broken since 5.0.0)
  • New visualizations - bullet charts, guages and multiple donuts
  • Height for frames in dashboard
  • Height/width for standard charts (pie, bar, line, ..)
  • Factor controls font size in reports
  • Add auto-complete to starting collection pull down in Aggregation Builder
  • Support both cache cursoring and database cursoring in reports
  • Count step (as a group step - single click)

5.0.1 - Release Date Jan 18, 2016

  • Support for factor for all chart types apart from time series
  • Punchcard viz
  • Deprecate cubism
  • Title in dashboard frames
  • Candle (HLOC) charts
  • Reorder project phase in aggregation builder
  • closeSession API in Gateway
  • Raise dashboard limit to 20 frames

5.0.0 - Release Date: Dec 21, 2015

  • Support for MongoDB 3.2
  • $getSubQValue
  • Bind variable pull-down using query results
  • Flag for connecting to single database only
  • Speed up tree building process and lazy accumulation of counts and index info
  • Preference limit on how many fields to build into view in Schemer
  • Schema information for query or pipeline through API
  • JSON Data Pump - Technology Preview
  • Dashboard builder

4.1.0 - Release Date: Nov 9, 2015

  • Optimizer flag for SonarW in Aggregation Builder
  • SonarG GUI 1.1 (incl. scheduling, dispatch and sign-off)
  • Ability to load published Finder queries (even by other user)
  • Ability to load published Aggregation queries (even by others)
  • Scheduler and Dispatcher
  • Scatterplot Matrix visualization
  • Co-occurrence visualization
  • Support for bind variable expansion in arrays
  • Support autoCancel in Gateway calls
  • “Last Run” functionality

4.0.0 - Release Date: Sept 30, 2015

  • SonarG GUI 1.0
  • Schema viewer for arbitrary query
  • Query empties in Schemer
  • Support defaults in bind variables in published URLs
  • Support $$LMRM_USERNAME as built-in bind variable referencing logged in username (used for fine-grained access control)
  • CSV creation now unlimited in size

3.1.7 - Release Date: August 28, 2015

  • Audit string on reports
  • Change subquery syntax from ns:.., q:.., p:.. to $ns:.., $q:.., $p:..
  • Print report in smaller font to accommodate most reports using landscape more
  • Show stats for sharded clusters too
  • Remove the need to build TreeKeeper in Gateway - making an API call faster
  • Remove third tab in Finder - for the most part un-used
  • Better usability in Finder - reorganize screen layout
  • Finder tree selection of database now expands
  • Allow reports to include HREF tags (links)

3.1.6 - Release Date: August 1, 2015

  • Support multiple series names in series #5 using a ; separator - Line only
  • Support for multi charts through a hack in the line graph y title
  • Support dates for line-with-zoom
  • Allow up to 10 bind variables in URL publish (was 6)

3.1.5 - Release Date: July 11, 2015

  • Convert all usage of int to long (e.g. cursor size) for fixing display bugs when collections have more than 2^31 documents (Known issue - because of DBCursor API, finder cursor location on result set will overflow on display when the query has more than 2^31 in the result).
  • SonarG
  • Join stages for SonarW - added rebuild of tabs on load and snowflake projections

3.1.4 - Release Date: June 20, 2015

  • Ability to add values to bind variable in the editor
  • Pull-down capability for Gateway calls using bind variable definitions
  • Add date format parameter to Gateway
  • Add option in line and bar charts to specify a field name that serves as the series - allowing configurable number of series

3.1.3 - Release Date: June 4, 2015

  • Bug fix with mongo connection leak in Gateway
  • Support for offset in $$LMRM_NOW

3.1.2 - Release Date: May 21, 2015

  • Fix logout bug when server is down
  • Remove field information in tree view in Finder
  • SonarG reporting v1

3.1.1 - Release Date: May 6, 2015

  • Time series plot / display
  • Cast string to ObjectId in schema viewer
  • Bug fix involving scroll bar in tree view in Finder
  • Metadata for sonar using runCommand and in local database
  • MongoDB 3.0 authorization messages

3.1.0 - Release Date: April 20, 2015

  • Bug fix in projections that have an array operator - e.g. $concat
  • Bind var replacement in arrays
  • Improve $group editor in aggregation builder for better usability
  • Validation disallowing $ and . in various fields
  • Add explicit unwind stage
  • Mongo-as-a-Service URL integration
  • elemMatch in unwind
  • Add “generate Spreadsheet” button to aggregation builder when the last stage is a $out stage

3.0.3 - Release Date: Mar 31, 2015

  • Cosmetics
  • New join syntax
  • Add filename parameter to the Gateway when generating CSVs
  • Login failed error messages logged to tomcat log

3.0.2 - Release Date: Mar 17, 2015

  • Remove facets beta and use of samples
  • Bug fixes
  • lmrm__metadata2 name field now used hostnames rather than IP addresses
  • Change join’s projection
  • Add lmrm__preferences_override to allow admins to set preference values that override a user’s

3.0.1 - Release Date: Feb 17, 2015

  • Remove count call when limit

3.0.0 - Release Date: Feb 3, 2015

  • Support for MongoDB 3.0 (release candidates) including support for WiredTiger storage engine.
  • Graph in gateway bug fix.
  • Cosmetics

2.8.2 - Release Date: Jan 20, 2015

  • Support for selector in join
  • New column stage
  • Filesystem out
  • Add “All” option in aggregation results pull-down
  • Add UI blocks when drawing very large d3 charts
  • Fix differ bug re pyutils

2.8.1 - Release Date: Dec 31, 2014

  • Aggregation pipelines kept in single lmrm collection for all users
  • Change SUBQ syntax from {col: .. , q: .. , p: .. } to {ns: .. , q: .. , p: .. } and {col: .. , pipeline: .. , p: .. } to {ns: .. , q: .. , p .. }
  • Sonar-specific features (join, text search and time drop-down)

2.8.0 - Release Date: Dec 15, 2014

  • Custom operators for aggregation functions in group stage
  • Fix BETWEEN operator syntax
  • Aggregation (Analytics) builder uses a cursor on result set and not an interim collection
  • Remove advanced pipeline building option
  • On 2.6 and up use in-memory cursors rather than temp collections
  • Rename Aggregation Builder to Aggregation Builder

2.7.0 - Release Date: Dec 1, 2014

  • Support for LDAP authentication
  • Support for Mongo-as-a-Service (MaaS) deployments with centrally managed datasources
  • “Or” in filter/match aggregation stage

2.6.0 - Release Date: Nov 17, 2014

  • Selection of text from gateway form popup now possible in Windows as well - change browser alert to internal dialog.
  • Selection of datasource puts name of the data source in form so that a change in it will be simple to do.
  • Fix delete database on gateway.xhtml form
  • Custom operators
  • Publish URL functionality for immediate ad-hoc report/chart access
  • Gateway challenge when missing bind variables and user/pwd
  • When connecting to a secondary require a Studio DB to be provided

2.5.1 - Release Date: Nov 3, 2014

  • Gateway calls are now synchronized on session to avoid multiple call collisions. Note that reports still should be managed since they have two steps.
  • Support for “factor” attribute that resizes the d3 graph produced through the Gateway for line, bar, column, pie, donut and scatter plots.
  • Bug fix for BinData

2.5.0 - Release Date: Oct 20, 2014

  • Studio is now multi-databases - all databases in instance for which user has access to can now be used under a single login.
  • Add support for cross-database subqueries in Studio. NOTE: joins across-databases are not supported.
  • Tree view showing all databases/collections/fields/types in instance.
  • Support for bind variables in projection steps of Aggregation.
  • Indicator in aggregation builder when a stage is being edited that the results may be stale.
  • Visualization convenience allowing multiple series to be dropped on x-axis coordinate and groups to be created using string concatenation - ONLY added for bar charts, column charts, pie charts and donut charts. Concatenation uses $ as delimiter. Dropping multiple items on X-axis text field in the Bar chart family will append and concatenate.
  • Cosmetics.

2.3.0 - Release Date: Oct 6, 2014

  • Re-implement distinct functionality on Schema Analyzer to use $group instead of distinct to support sharded environments.
  • Radar/spider charts
  • Minor bug fixes (empty results messes up reports display)
  • Change default of LHS to a data view as opposed to a metadata view
  • Lookup-based transformations in the SqlTransfer (ETL) tool
  • Report drill-down button when output=graph in Gateway and keepSession=1
  • Automatic limit added to aggregation pipeline in studio to prevent too many docs inserted to the materialized collection
  • Background aggregation filling of materialized collection after certain size
  • Installer asks for location of the krb5.conf file

2.2.2 - Release Date: Sept 15, 2014

  • Cosmetics in bar/column charts
  • Cosmetics in axis labels

2.2.1 - Release Date: Sept 2, 2014

  • Small bug fixes and cosmetics
  • New recommendation engine tutorial
  • Added bind variable support to custom aggregation stages
  • Added db.eval to Gateway

Important note for existing customers: the URL pattern used for specifying a Studio database on another instance is now using a standard mongodb URL. Stored data sources may need to be changed. Rather than using:


Use now:


2.2.0 - Release Date: Aug 22, 2014

  • Insert through Gateway
  • Update through Gateway
  • Support for insert and update in the gateway.xhtml form
  • Custom auditing functions
  • If datasource has a password, switch database will switch and not wait for the OK button to be pressed.

2.1.1 - Release Date: Aug 8, 2014

  • Root directory when expanding installer
  • Cosmetics in documentation
  • Minor usability improvements
  • Option for saving passwords to local storage (off by default)

2.1.0 - Release Date: July 26, 2014

  • x-Axis label rotation option.
  • Excel bridge mapping bootstrap from metadata option.
  • Minor usability improvements.
  • SonarR - Gateway for R
  • Support for aggregation pipelines in Sonar Differ
  • Re-query button in Visualizer only appears when plotting spreadsheet or analytics data.
  • Pluggable credential mapping interface.
  • Gateway form.
  • Download JSON links.
  • Display option for document creation date/time from oids

2.0.2 - Release Date: July 3, 2014

  • Minor usability improvements.
  • Make default without CSRF filtering.
  • Removed Tomcat apps to reduce surface area.
  • Switch/use database drop down.
  • Typed values in Schema Viewer showing oids.
  • Dates in Visualizer.
  • Published APIs option.

2.0.1 - Release Date: June 23, 2014

  • Windows installer supporting different drive letters and different user install/run.

2.0 - Release Date: June 17, 2014

  • Faster data access layer.
  • Support auto-canceling of queries in 2.6 and up.
  • Cursors for aggregation on 2.6 and up.
  • Instrumentation for distinct and aggregation.
  • Sonar SQL Transfer - ETL tools for migrating data from relational databases to MongoDB.
  • Major usability improvements to GUI.
  • Explain for aggregation pipelines.
  • Support for 2.6 aggregation options.

1.5 - Release Date: June 10, 2014

  • Usability improvements to GUI.

1.4.1 - Release Date: May 27, 2014

  • Support for perl-style output in Gateway. - Change of format for metadata collection to support very large collections with a very large number of fields, with last update time and with incremental sampling. Existing deployments should delete all metadata documents from the databases and recompute the metadata collections.
  • Gateway API for listing all saved queries, pipelines and graphs.
  • Enable dashboard and application embedding of Gateway APIs through x.frame.options initialization parameters.
  • New tutorials.
  • Gateway support for upserts.
  • Built-in bind variables for time functions.

1.4.0 - Release Date: May 16, 2014

  • Differ support for comparing relational-to-MongoDB data (technology preview).
  • Gateway support for multiple calls in a single session (keepSession flag).
  • Support for multi-user Studio/Gateway when using Kerberos authentication.
  • Bug fixes.

1.3.3 - Release Date: May 5, 2014

  • Support for graphs/charts through Gateway.
  • HTML report through Gateway.
  • Additional Gateway parameters for controlling sizes.
  • Aliases in Visualizer.
  • Closeable tab in Finder.
  • Change operator in WHERE text area in Finder.
  • Bug fixes.

1.3.2 - Release Date: April 23, 2014

  • Relax type checking in Visualizer and allow numeric fields to act as texts in bars, parallel plots, pies, scatter plots and relationship diagrams such as treemaps.
  • More transparent support for Microsoft GUIDs (CSUUID) - now converting all applications and all Gateway calls.
  • Cosmetics

1.3.1 - Release Date: April 14, 2014

  • Option for connecting to secondary as preferred
  • Saving data sources using browser local storage
  • Prevention enforcement on non-index queries in Gateway
  • Support for customer customization of UI (white labeling)
  • Bug fixes

1.3 - Release Date: Mar 21, 2014

  • SonarResourceManager - report and kill long-running queries based on policies.
  • Bind variables - ability to parameterize a query or pipeline.
  • Aliases - ability to define aliases on fields
  • Gateway - ability to save a query or pipeline and invoke it using a Web service to get the data back.
  • Full support for UUID
  • Print and save PDF graphs using browser
  • LHS in Finder is either data or metadata (fields)
  • Numerous usability improvements
  • Bug fixes

1.2 - Release Date: Jan 27, 2014

  • Differ - ability to compare any two collections
  • Validator
  • Run-time Viewer - runtime information for all operations issued by the Studio
  • SonerProfiler - centralization and management of profiling data for MongoDB
  • Bug fixes

1.1 - Release Date: Dec. 1, 2013

  • Addition of Spreadsheet Bridge application
  • Bug fixes

1.0 - Release Date: Oct. 10, 2013

  • First GA release of JSON Studio

Supported Platforms

Operating systems for JSON Studio installation:

  • Windows 7 and up; 64 bit. (for 32 bit versions or older contact your jSonar account representative).
  • Linux (all variants)
  • MacOS / OS X 10.6 (Snow Leopard) or up
  • Joyent SmartOs (Solaris x86)


  • Internet Explorer 9 and up
  • FireFox 3.6 and up
  • Google Chrome 21 and up
  • Safari 5.1 and up

MongoDB :

  • 2.2.x
  • 2.4.x
  • 2.6.x

Unsupported Features and Limitation

  • LDAP and X509 Authentication introduced in MongoDB 2.6
  • Out and Redact stages will only work when connected to MongoDB 2.6 and up; otherwise will produce an aggregate error.
  • Spreadsheet Bridge mapping/export is limited to 256 columns.
  • The studio has a parameter for interpreting BinData of type 3 ($uuid) as a Microsoft GUID. This is a preference value you can set in the Finder. This controls all reading and writing of $uuid from the database and ensures that when you are looking at a uuid value, if that value was a Microsoft GUID (usually written by the C# driver), it will be displayed correctly and you can query on it. The limitation involved subqeuries which use the result of one query as the input of a second query. If you have a single layer of subqueries they perform correctly but double conversion will not function correctly. The main scenarios where this happens is when you use two subqueries – for example, a query in the Finder uses a pipeline for a subquery and that pipeline itself has a filter/match stage that has a separate subquery and these subqueries include lists of UUIDs that need to be converted to Microsoft GUIDs. In such a case double conversion occurs and the result is incorrect.


  • 2-core processor and up; 1GB memory and up; 1GB disk space.
  • Java JRE or JDK version 1.6 and up
  • The port that the Studio is listening to (8080 and 8443 by default) is not being used by any other process. If it is, you can change the port number in conf/server.xml.
  • Port 8005 (used to service the shutdown command) is not being used by any other process. If it is, you can change the port number in conf/server.xml.

On *nix hosts from which you will be running sonarsample or SonarProfiler or SonarDiffer or sonarrm:

  • Python 2.7 and up (but NOT 3.x).
  • pymongo 2.6 and up

If you do not have pymongo installed, use easy_install or pip. For example, on Ubuntu:

  • sudo apt-get install pyhton-setuptools
  • sudo easy_install pymongo


  • sudo apt-get install build-essential python-dev
  • sudo apt-get install python-pip
  • sudo pip install pymongo

Note that these scripts need pymongo version 2.6 or up.

Known Issues

JSST201326 - In the Spreadsheet Bridge a reorder of columns in the mapping table does not reorder correctly; an additional refresh of the page after each drag-drop is needed to correct it.

JSST201310 - Finder facets and searches does not handle timestamp data types correctly.

JSST201309 - Finder point-and-click does not preserve the options (i) when clicking on a regex type; can be added manually after the double click to the text area.

JSST201307 - In the Visualizer, when you delete items from the left-hand-side entity list, if you delete the last node, the delete seems not to work. If you delete it again it works.

JSST201303 - The drag-and-drop of items in the Visualizer does not preserve the visual effect of the mouse cursor when the mouse crosses out of the data table boundary on the left. The drag-and-drop works with no issue - it is only the visual cue that stops upon the widget boundary.

JSST201346 - In the Visualizer, when using a scatter/bubble chart with logarithmic scale the axes are displaced and cannot be seen.

JSST201354 - In Windows/Internet Explorer when using ctrl-double-click and ctrl-alt-double-click (in Finder and Spreadsheet Bridge), the entire JSON text may be marked up. Refreshing the screen stops this behavior for the rest of the session and operation is then normal.

JSST201331 - In the documentation, when using IE, the link for the page which si the active page in the table of contents in the left-hand-pane is broken. All other links work fine. For example, if you are on teh page “Working with the Finder” then the link to that very page in the TOC will give you an error on IE.

JSST2014100 - In the Finder when aggregating repeating, first and last row may not aggregate with the second or second to last row.

JSST2014147 - In the Finder, the data table’s columns do not refresh if the columns chnage when cursoring through data; use the refresh button as a workaround.

JSST201324 - In Finder, complex strings with double quotes may not be accepted as a facet value and the string may be broken into a facet search and a partial text search. This is also true for the Aggregation Builder with the filter (match) stage. An example of such a string is:

"args": [ "\"update\"", "\"{ \\\"_id\\\" : { \\\"$oid\\\" :
\\\"528517b3bb1177ca391c1767\\\"}}\"", "\"{ \\\"$set\\\" : { \\\"2009\\\" :
2.82880462194543E10 , \\\"2006\\\" : 4.193453E10 , \\\"2007\\\" : 4.765114E10 ,
\\\"2004\\\" : 2.871138E10 , \\\"2005\\\" : 3.257566E10 , \\\"2002\\\" :
1.31096E10 , \\\"2003\\\" : 1.67292E10 , \\\"2012\\\" : 2.1080368083914898E10 ,
\\\"2011\\\" : 1.87729615545671E10 , \\\"2010\\\" : 2.77084444615799E10 ,
\\\"Country Code\\\" : \\\"HUN\\\" , \\\"Country Name\\\" : \\\"Hungary\\\" ,
\\\"1995\\\" : 2.399E9 , \\\"1996\\\" : 5.273E9 , \\\"1997\\\" : 1.4975E10 ,
\\\"1998\\\" : 1.4028E10 , \\\"1991\\\" : 5.05E8 , \\\"1992\\\" : 5.62E8 ,
\\\"1993\\\" : 8.12E8 , \\\"1994\\\" : 1.6E9 , \\\"1999\\\" : 1.63174147E10 ,
\\\"2001\\\" : 1.036687E10 , \\\"2000\\\" : 1.202068E10}}\"", "true", "false" ],

JSST2014131 - The bind values dialog will not accept select strings for selection. E.g. the string Må®zûh causes the dialog to issue a validation error message upon selection and will not allow export of the entire string. The only possible workaround is to delete from the database and reload.

JSST2014149 - When printing a chart, cropping occurs if the width is more than around 600 pixels. Workaround - resize chart and re-print.

JSST2014211 - Distinct is not suported in sharded enviornments and therefore the distinct call in the Schema Viewer will not work on sharded environments. The plan is to re-implement it using aggregation. Workaround - use the Analytics Builder to build an aggregation pipeline perhaps parameterized by the field name.

JSST2014678 - When a new font size is loaded for a saved graph the browser refresh button still needs to be pessed for the font size to change. In fact, the browser refresh button always needs to be pressed for font size in a graph to change.

JSST2014693 - In dashboards when using keepSession=1 the View Report button will open the last report prepared and not necessarily the one that matches the graph for which the report has been rendered.

JST20151675 - Lines and scatter plots hang when there is a huge variable in X/Y values. This is an nvd3 bug and needs to be updated once fixed in the nvd3 library.

JST20151811 - Refresh and initial build of dashboard leaves iframes in the non-active tab pane empty; click the local refresh button to render

JSON Data Pump is a technology preview. Some early customers have reported cases ofthe servlet returning “missing field” errors and requiring a restart of the tomcat servlet container.

Table Of Contents

Previous topic

Advanced Topics

Next topic

Build a Report in 5 Minutes

Copyright © 2013-2016 jSonar, Inc
MongoDB is a registered trademark of MongoDB Inc. Excel is a trademark of Microsoft Inc. JSON Studio is a registered trademark of jSonar Inc. All trademarks and service marks are the property of their respective owners.