Changes mostly authored-by: Leon Zandman <leon@wirwar.com> Cherry pick and minor additions by GCHQDeveloper581 <63102987+GCHQDeveloper581@users.noreply.github.com>
Breaking change: uplifts the minimum version of node required to v20