Kirby 2.2.3


  • Invalid files in the translation folder no longer break the translation select box.
  • Fixed a bug, which broke unchecking checkboxes and always brought back the last state.
  • Fixed URL validation bug.
  • Fixed history widget bug.
  • Removed the strict field name check for pages.
  • Removed positive notifications after structure field updates to avoid confusion about the form already being saved.
  • Updated fontawesome to 4.5
  • Updated languages: Bulgarian, Indonesian, Italian, Russian, Swedish, Chinese.


  • Kirby now throws an exception if the default template cannot be found to make debugging easier.
  • All unit tests now have to pass for PHP 7
  • Fixed a bug in kirby/params, which broke pagination on Windows
  • Fixed an issue with the uninitialized default language in the site object, for example in routes.
  • Fixed field:exists
  • Added configurable email options.


// in /site/config/config.php
c::set('email.service', 'mail');
c::set('email.from', 'Bastian Allgeier <>');
c::set('email.replyTo', 'Bastian Allgeier <>');
c::set('email.subject', 'Kirby Support');

// in template, snippet or plugin
  'to'   => '', 
  'body' => 'Hey Peter!'
])) {
  • Moved resize and crop to the media class, so those methods can now be used everywhere (i.e. for avatars)


<?= $site->user('peter')->avatar()->crop(128)->html() ?>
  • Fixed a bug after a new page has been created, which didn't include it in the children list of a page yet.
  • file::update and page::update now work consistently between the single-language and the multi-language version.


  • Fixed counting bug in the database query class
  • Fixed PHP 7 compatibility in the database class
  • Fixed a validation issue with v::url
  • All unit tests have to pass in PHP 7 now
  • Enabled email tag to use additional parameters without cluttering visible anchor text
  • Email class configuration can now be controlled with email::$defaults

Our partners

CDN by KeyCDN Search by Algolia