Start Pro Trial

VisuaLeaf v1.0.1940 Release Notes

July 16, 2026

VisuaLeaf v1.0.1940 Release Notes

Release Date: July 15, 2026


Headline: findOne Finally Prints Real Documents in the Shell, the Console Remembers Its Output, and Charts Let You Choose the Aggregation

Three things in this release:

  • Printing a findOne() result in the shell now shows the actual document β€” real BSON values, dates, decimals and all. It used to show a cursor instead of your data.
  • The Shell output console no longer wipes itself β€” switch to another tab and back, and everything you printed is still there. It even survives an app restart.
  • Charts now let you pick the aggregation β€” when multiple rows share the same category, you decide whether the chart shows their Sum, Average, Count, Min, Max, First, or Last value. Before, everything was silently summed.

Details below.


findOne Prints Real Documents

The big shell fix: printing a findOne() result now shows the document itself. Before, print(db.users.findOne(...)) (or just evaluating a findOne and printing it) showed you a cursor rather than your data. Now you get the actual document, with every BSON type rendered faithfully:

  • Dates show the actual timestamp β€” they used to come through as Null.
  • Decimals keep full precision β€” double values were being silently rounded to a lower precision before display.
  • NumberLong and NumberDecimal display correctly, including special decimal values like NaN and Infinity, which used to error out.
  • Regular expressions render as regexes β€” with their exact flags preserved, instead of unfolding into a {pattern, options} object.
  • Fields with numeric names survive β€” a field literally named "3" used to vanish from findOne results.
  • Declaring a function no longer prints a stray "js function" line in the console.

Shell Tabs Remember Everything

  • The Shell output console survives tab switches β€” flip to another activity and back, and your accumulated output is still there. It's also saved with your workspace, so it comes back after a restart.
  • Result tabs keep their names and numbering β€” switching away and running another query no longer produces colliding or mislabeled result tabs.
  • Undo/redo history in the shell editor survives tab switches β€” ⌘Z still works on edits you made before flipping away.
  • print() output lands in order β€” printed lines now always appear before the "N results" summary of the script that produced them, never after.

Chart Aggregation

When your data has several rows that land on the same point β€” same x-axis value within a series, same pie slice, same funnel stage, same heatmap cell β€” the chart has to combine them into one number. Until now it always summed them. Now you choose.

What you can do:

  • Pick the operation β€” a new Aggregation dropdown in the Data Field Mapping panel offers Sum, Average, Count, Min, Max, First, and Last. It appears as soon as your chart has a grouping field (Series for line/bar/area, Category for pie and funnel, both axes for heatmap).
  • See it everywhere the chart lives β€” the choice saves with the chart and applies in the chart builder, on dashboards, and in dashboard edit mode alike.
  • Trust the funnel's "Others" bucket β€” when a funnel has more stages than the display cap, the overflow collapses into "Others" using your chosen operation correctly: with Average selected, "Others" is the true average of all overflow rows, not a sum of per-stage averages.
  • Set the funnel stage cap and keep it β€” the "max funnel items" setting now saves with the chart instead of resetting.

Two honesty guarantees while aggregating: non-numeric values are skipped rather than counted as zero, and a category whose values are all invalid simply doesn't appear β€” no fabricated data points. The help tooltips in the mapper now describe exactly what will happen for your chart type.


Chart Builder Polish

  • The chart builder's settings panel, Data Field Mapping, and Parameters editor share a cleaner look β€” rounded inputs, a softer focus highlight, tidy uppercase section headers.
  • Tooltips and help popovers in the mapper are now readable in light mode (they were dark-on-dark before).

Notes

  • Existing charts are unaffected β€” the aggregation default is Sum, which matches the previous behavior exactly. Clearing a chart's grouping field resets the aggregation back to Sum.

See the full release history