{%- import "change.md.tera" as m_c -%} {%- set_global host_fn_count = 0 -%} {%- set_global upgrade_first = 0 -%} {% for pr in changes | sort(attribute="merged_at") -%} {%- if pr.meta.B and pr.meta.B.B0 -%} {#- We skip silent ones -#} {%- else -%} {%- if pr.meta.E and pr.meta.E.E3 -%} {%- set_global host_fn_count = host_fn_count + 1 -%} - {{ m_c::change(c=pr) }} {% endif -%} {%- if pr.meta.E and pr.meta.E.E4 -%} {%- set_global upgrade_first = upgrade_first + 1 -%} - {{ m_c::change(c=pr) }} {% endif -%} {% endif -%} {%- endfor -%} {%- if upgrade_first != 0 %} ## Node upgrade required ⚠️ There is a runtime change that will require nodes to be upgraded BEFORE the runtime upgrade. ⚠️ It is critical that you update your client before the chain switches to the new runtime. {%- endif %} ## Host functions {% if host_fn_count == 0 %} ℹ️ This release does not contain any change related to host functions. {% elif host_fn_count == 1 -%} {# ---- #} ℹ️ The runtimes in this release contain one change related to **host function**s: {% include "host_functions-list.md.tera" -%} {%- else -%} ℹ️ The runtimes in this release contain {{ host_fn_count }} changes related to **host function**s: {% include "host_functions-list.md.tera" -%} {%- endif %}