ūüĆĪ The next big step: Kirby 4 Beta Learn more
Skip to content

Core improvements

Support for UUIDs in URL helper

You can now pass a page UUID or a file UUID to the url() helper and it will be converted to the actual URL:

<?= url('page://abcd') ?>
<?= url('file://abcd') ?>

This will also work for other URL methods like. $field->toUrl(), Url:to(), etc.

Support for UUIDs in API calls

You can now use UUIDs in API calls to request pages and files. #4769

/api/pages/@$pageUUID

The UUIDs must be passed without scheme, but a prefixed @. I.e.:

// Nope
/api/pages/page://abcd

// Yes
/api/pages/@abcd

File routes can also handle file UUIDs for files and parents:

/api/pages/@$pageUUID/files/$filename
/api/pages/@$pageUUID/files/@$fileUUID

In addition to that there are new direct UUID file routes:

/api/files/@$fileUUID

More improvements

  • Extensions to add custom methods for structures and structure objects
  • New App::models() method that returns a generator for each model (site, files, pages and users) of the site
  • New¬†File::blueprints()¬†method that collects valid blueprints from the files sections and files fields of the parent model
  • Fields can now define¬†'hidden' => true¬†(component notation) or¬†::isHidden(): bool¬†(class-based) to make them non-rendering¬†
  • New¬†File::changeTemplate()¬†method
  • New file permissions for¬†changeTemplate
  • New¬†file.changeTemplate¬†hooks
  • New¬†Kirby\Email\Email::toArray()¬†and¬†Kirby\Email\Body::toArray()¬†methods
  • New Kirby\Exception\AuthException class