Etcher v2.2.0 Released

TheCommieAxolotl
January 26, 2023

With the release of Etcher v2.2.0, we are bringing a load of signifcant upgrades to Etcher.

Selective Re-Rendering

Until now, the Etcher client script was re-rendering entire components on every state change. This slows down performance and causes all temporary element states (like inputs) to be lost.

We have now implemented selective re-rendering, which only re-renders components that are effected by a state change.

The temporary value is entered into the input tag.
When the button is clicked, the temporary value is kept.

Improved Error Handling

We’ve slightly improved the error handling of the Etcher client script. This means that errors are now more descriptive and easier to understand.

# Previously

Uncaught TypeError: $.state.get is not a function

# New

etcher: Do not attempt to directly access the value of a scoped item from an interpolated expression.

 {{$.state.get()}}
   ^^^^^^^^^^^^^

Improved Performance

Although it was pushed in v2.1.1, we’re still going to talk about the numerous improvements to our parsing system including optimising Regular Expressions and updating how large mutations are made to compoent bodies.