<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>eleFront — What's New</title>
        <link>https://keyan-r.github.io/whatsnew</link>
        <description>eleFront Blog</description>
        <lastBuildDate>Wed, 13 May 2026 00:00:00 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en</language>
        <item>
            <title><![CDATA[eleFront 5.4.0]]></title>
            <link>https://keyan-r.github.io/whatsnew/elefront-5-4-0</link>
            <guid>https://keyan-r.github.io/whatsnew/elefront-5-4-0</guid>
            <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[[v5.4.0] - 2026-05-13]]></description>
            <content:encoded><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="v540---2026-05-13">[v5.4.0] - 2026-05-13<a href="https://keyan-r.github.io/whatsnew/elefront-5-4-0#v540---2026-05-13" class="hash-link" aria-label="Direct link to [v5.4.0] - 2026-05-13" title="Direct link to [v5.4.0] - 2026-05-13" translate="no">​</a></h2>
<p>We've added some new components, primarily for dealing with complex trees, and some components for making it easier to work with file paths. Improvements for blocks: better handling of blocks defined in Worksessions, and more gracefully dealing with blocks with invalid geometry.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="added--new-components">Added — New components<a href="https://keyan-r.github.io/whatsnew/elefront-5-4-0#added--new-components" class="hash-link" aria-label="Direct link to Added — New components" title="Direct link to Added — New components" translate="no">​</a></h3>
<ul>
<li class=""><strong><code>Inherit User String By Key</code></strong> — Copy user strings from a source
object to a target by matching keys, including wildcard patterns. Also outputs
the list of matched keys.</li>
<li class=""><strong><code>Set User String</code></strong> — More streamlined key/value setter than the full <code>eleFront Attributes</code> component.</li>
<li class=""><strong><code>Graft By Index</code></strong> — Graft items into new branches using
indices from a parallel tree as the target branch index.</li>
<li class=""><strong><code>Graft Match</code></strong> — Graft a tree to match the structure of another</li>
<li class=""><strong><code>Duplicate Data</code></strong> — Duplicate items in a data tree; this is equivalent to the component from the legacy eleFront, and you can automatically upgrade from legacy to current, using the upgrader.</li>
<li class=""><strong><code>Construct File Path</code></strong> — Build file paths from component parts.</li>
<li class=""><strong><code>Select Folder</code></strong> — Attach a value list for a convenient folder selection. You can zoom in, to add inputs, and continue to add Value Lists, to make it easier to programmatically find the files you want.</li>
<li class=""><strong><code>Reload Block Definitions</code></strong> — For Linked Blocks, this component will automatically re-fetch the definition from the version saved on disk, and update the eleFront blocks, without having to refresh the definitions in your Rhino doc / Worksession.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="added--enhancements-to-existing-components">Added — Enhancements to existing components<a href="https://keyan-r.github.io/whatsnew/elefront-5-4-0#added--enhancements-to-existing-components" class="hash-link" aria-label="Direct link to Added — Enhancements to existing components" title="Direct link to Added — Enhancements to existing components" translate="no">​</a></h3>
<ul>
<li class=""><strong><code>Get Current File</code></strong> now returns Grasshopper-side document info in addition to
the Rhino doc.</li>
</ul>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="enhancements-to-blocks">Enhancements to Blocks:<a href="https://keyan-r.github.io/whatsnew/elefront-5-4-0#enhancements-to-blocks" class="hash-link" aria-label="Direct link to Enhancements to Blocks:" title="Direct link to Enhancements to Blocks:" translate="no">​</a></h4>
<ul>
<li class=""><strong>Baking Worksession Blocks</strong>: If you have Block Definitions that are defined within a referenced file in a Worksession, then you try to bake new instances of that definition, they would previously not be saved in your document, because the definition itself was not in the document. Now, when you bake blocks with a reference definition, a new Block Definition is created in your Active document. This is similar to how Layers in a reference model get created fresh in the Active document when you bake.</li>
<li class=""><strong>Handling Blocks with Invalid Geometry</strong>: Previously, any invalid geometry in a block definition would cause <code>Reference</code> components to fail. Now, the component should continue to load and process, and provide feedback about which blocks were failing.</li>
<li class=""><strong><code>Get Block Info</code></strong> now has an option called "Get Full Definition Name". This is important when you are using blocks in a Worksession.</li>
<li class=""><strong><code>Insert Block</code></strong> should now successfully retrieve block definitions from Worksession files, if you provide the full name of the block.</li>
</ul>
<p>For more information on these points, see the <a class="" href="https://keyan-r.github.io/docs/eleFront%20Primer/Blocks#get-block-info">primer</a>.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="fixed">Fixed<a href="https://keyan-r.github.io/whatsnew/elefront-5-4-0#fixed" class="hash-link" aria-label="Direct link to Fixed" title="Direct link to Fixed" translate="no">​</a></h3>
<ul>
<li class=""><strong><code>Define Linked Blocks</code> would miss hidden or locked objects</strong></li>
<li class=""><strong>eleFront Attributes returned wrong values when <code>BakeName</code> was stripped</strong> —
the output used the pre-filter key list rather than the filtered one.</li>
<li class=""><strong>Block loading is more robust</strong> — bad blocks no longer crash the component;
errors now report the corresponding definition name and proceeds through the list.</li>
<li class=""><strong>Variable parameters no longer linger on canvas</strong> after a component collapses.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="performance">Performance<a href="https://keyan-r.github.io/whatsnew/elefront-5-4-0#performance" class="hash-link" aria-label="Direct link to Performance" title="Direct link to Performance" translate="no">​</a></h3>
<ul>
<li class="">Some improvements to setting key/value pairs in <code>eleFront Attributes</code>.</li>
</ul>]]></content:encoded>
            <category>Release</category>
            <category>changelog</category>
        </item>
        <item>
            <title><![CDATA[Welcome to What's New]]></title>
            <link>https://keyan-r.github.io/whatsnew/2026/04/08/welcome-to-whats-new</link>
            <guid>https://keyan-r.github.io/whatsnew/2026/04/08/welcome-to-whats-new</guid>
            <pubDate>Wed, 08 Apr 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[This is where we'll share release notes, changelogs, and updates for eleFront. Each post covers what changed, what's new, and anything you need to know when updating.]]></description>
            <content:encoded><![CDATA[<p>This is where we'll share release notes, changelogs, and updates for eleFront. Each post covers what changed, what's new, and anything you need to know when updating.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="what-to-expect">What to Expect<a href="https://keyan-r.github.io/whatsnew/2026/04/08/welcome-to-whats-new#what-to-expect" class="hash-link" aria-label="Direct link to What to Expect" title="Direct link to What to Expect" translate="no">​</a></h2>
<ul>
<li class=""><strong>Release notes</strong> for each new version of eleFront</li>
<li class=""><strong>Changelogs</strong> with details on new features, bug fixes, and breaking changes</li>
<li class=""><strong>Tips and context</strong> when a release introduces something worth explaining in depth</li>
</ul>
<p>Stay tuned for updates as new versions are released.</p>]]></content:encoded>
            <category>Release</category>
        </item>
    </channel>
</rss>