Prior to Backdrop 1.7.0, hook_layout_presave() was passed a parameter named $data that was an array. After 1.7.0, this parameter is now a Layout object.

Before:

<?php
function mymodule_layout_presave($layout_name, array &$data) {
  if (
$data['name'] === 'layout_name') {
   
// Do something.
 
}
}
?>

After:

<?php
function mymodule_layout_presave(Layout $layout) {
  if (
$layout->name === 'layout_name') {
   
// Do something.
 
}
}
?>

It's also worth noting the documentation for hook_layout_presave() has been incorrect from the time it was introduced. It has always indicated that a $layout object was passed, but this was not the case until version 1.7.0.

Introduced in branch: 
1.x
Introduced in version: 
1.7.0
Impacts: 
Module developers
Related Github Issues: 
https://github.com/backdrop/backdrop-issues/issues/1700