This was quite a large release. Not only were there a lot of visual and UX improvements, but we made some substantial under-the-hood improvements and added 6 functions. Here are the highlights:
User-defined node and layer colors
User-defined layer names
New layer toolbox
Merge speed improvement (in many cases >10x)
Input names automatically updated in formula(s) and other nodes when a node name is changed in model
Improvements to date / time handling
Nodes and Layers
Transdata has had layers for a long time, but they were pretty simple. They didn’t have names (just numbers) and there was no visual indication of what layer(s) a node might be in. Not only did we address both of those things, but there’s now a handy toolbox that appears next to your model for toggling layers, changing their names, and changing their colors (the toolbox itself can be toggled from the View or Layers menu).
We didn’t stop at improving the look and feel of just the layers though. You can now change the color of any node type. There is also a new default color scheme to maximize the visibility of different node types.
In the screenshot below, you can see the colors and controls in action. Layer colors alter the border of nodes while changing the node color changes the interior. Note that layer colors and names are saved with each model, but node colors are specific to the Transdata installation.
While they might not be as eye-catching as all the colors, the under-the-hood improvements in this release are quite significant. Merging got a huge speed improvement for the vast majority of use cases. You can expect speedups up to 10x for some models. Date and time handling is also vastly improved thanks to some new libraries.
Changing node names was an easy way to break other nodes since the name changes weren’t automatically propagated throughout the model. Now, however, formulas are automatically updated for you.
While most of the new functions are straightforward, MAKERECTANGULAR is a bit special. It forces any sort of ragged (i.e. non-rectangular) data to be rectangular by making sure all fields are present in every record, including duplicates. This was already done automatically when exporting to things like CSVs that don’t handle ragged data, but now you can explicitly include it in your model.