Hello Dynamo people,

After a couple of months of development time (from home mostly; shout-out to Zoom), today we ship the Dynamo Core 2.6 release! This release is a release focused on customer empowerment, bringing visual clarity to the workspace and surfacing the 30 most common error messages in product with in-depth help and yet more epic performance gains.

 

TL:DR

A raft of new visual improvements including code block line numbers, italicized default ports, and a rename tag, a new back-end version of the Library that doesn’t have dependency conflicts inside our expanding Host ecosystem, large performance gains from work on the virtual machine, targeted performance gains to PolyCurve intersection, and the addition of a Documentation Browser that on first pass will surface the 30 most common error messages and a bunch of bug fixes.

 

But what is Dynamo and its flavours?

What is Dynamo Core?

Dynamo Core is a collection of bundled components that consist of the graphical interface, the compute engine, the scripting language DesignScript and the out-of-the-box nodes that are not specific to another program like Revit or Civil 3d.

What is Dynamo for <INSERT HOST HERE>?

Dynamo for [Revit, Civil 3d, FormIt, Advance Steel or Alias] is a collection of host specific nodes that work with Dynamo Core and runs inside of said host.

What is Dynamo Sandbox?

Dynamo Sandbox is for package developers and other folks working with Dynamo code who want to stay up to date with the latest and greatest stuff coming out. Sandbox is Dynamo’s “Core” functionality distributed in a way that doesn’t interfere with other Dynamo installations and doesn’t require any other applications (except for a few windows components and some optional extras). You can read more about this distinction here.


Got it, can you now just tell me what’s new with Dynamo 2.6?

With the help of Matterlab (Big shout-out to the Matterlab team) we have collaborated on a slew of new user-facing features into Dynamo which has allowed the Dynamo core team to focus on a lot of the underlying infrastructure required to modernize Dynamo (Think performance, memory leaks, stability, dependency upgrades, security etc.) which allows us to have the best of both worlds!

This collaboration work has spanned the past half-year and is now expressing itself inside the Dynamo 2.6 release. The focus of this work is to lower some of the barriers to entry inside of Dynamo by providing more visual clarity and an expression in-depth help to common error messages.

 

Firstly, we have made an improvement to default input ports which previously looked the same whether or not the port required data input, or provided a default value. For context, Dynamo nodes that provide default values will automatically have a default output, such is in the case of Plane.ByOriginNormal which you can change by wiring in a chosen value to the input port to output a Plane, whereas Dynamo nodes that do not contain default values will simply output the Function output – essentially waiting for you to wire it up!

 

 

Secondly, we have enabled CodeBlock line numbers that will automatically populate inside of each code block as you author DesignScript! This will allow for clearer discussion with colleagues, peers or on the forums as you seek to both learn and teach Dynamo.

If you prefer the old behaviour, then you can switch this off under the Settings | Show CodeBlockNode Line Numbers toggle.

 

Codeblock Line Numbers

 

Thirdly, we have added in a Rename Tag for all nodes that are manually renamed by a user, and we also now serialize the original node name into the hover-help of each node. This means you can now rename your nodes at will when they make sense for your workflow! No longer will you have to put a note into the graph stating the original name, nor try and figure out if that renamed UI Node is a List.Create or List.Join node. No more Sherlock Holmes impersonation needed!

 

And finally, we added a Documentation Browser extension that lives inside the sidebar panel and eventually become the home for all Dynamo documentation. Keep an eye out for cool stuff coming in the future that will be also added to this awesome new framework.

This piece of work also expresses the 30 most common error messages, collected and scraped from the Github Issues registry and the Dynamo Forum as in-depth help and actions you can take to resolve said errors. If you have a curious mind, you can go have a look on our Github docs page for all of these errors that surface.

You can manually open up the Documentation Browser via the View | Show Documentation Browser menu item which will pop up the default state if you have no experienced any errors in your graph and explains what the browser is and how it works. However, if you have already clicked on a Read More error link inside the open workspace, that state will subsequently be saved as your default until you start a new workspace.

Documentation Browser and its entry points

Beyond the work focused on visual improvements to Dynamo’s nodes and workspace, we have also continued to improve the way Dynamo executes with our performance narrative; You will see major performance gains as we now avoid unnecessary memory allocation for CLR objects on the Dynamo Virtual Machine ‘heap’ – which is a fancy way of saying we don’t push and pull unnecessary information that simply slowed Dynamo down (Shout-out again to Craig Long for this one). We have also made large performance gains for PolyCurve intersection specifically as well as some more generalized performance gains to PolyCurves. Expect to see some really nice gains when working with PolyCurves, in some cases up to 100 times faster!

 

We also spent time this release working through some of the issues we face as a team that don’t visibly pass on to you as consumers, but matter quite a lot long term. Specifically, we have added a new version of the NodeLibrary extension to Dynamo that does not require CEFSharp – A dependency of the old Node Library. In short terms, this means that all you Civil 3d users can actually have a node library… which is kind of important! What it also means for all other users of Dynamo is that moving forward this unblocks us from the CEFSharp dependency which causes a delicate dance every time we try to integrate into any other host that contains the same dependency – simply put we can spend less time dealing with issues and more time making awesome stuff your all of you. It’s a win-win.

 

We have also updated our UI for Analytics collection tick-boxes to make them clearer and better respect users choices. Now, Instrumentation is subservient to Analytics and cannot be turned on without also agreeing to send analytics information. This also cleans up our Settings dropdown menu by removing one of the tick-box items.

 

New versus old Analytics and Instrumentation settings

 

 

You’ve sold me, so where can I get my hands on Dynamo 2.6?

Dynamo 2.6 will be made available in our host integrations at a future date and can be explored right now through the dynamobuilds.com website or the Github build page – available in the Sandbox version of Dynamo.

 

If you’re curious, you can also read our ‘Release Notes’

In order to keep a semblance of propriety to this blog post we’ve skipped a few things! For more information on other minor features, bug fixes, and known issues in Dynamo 2.6, go check out our release notes.

A big shout-out to everyone who contributed to the release and the entire Dynamo community for continuing to support our work. As always, please let us know if you have any feedback or suggestions!

 

The Dynamo Team