Kirby 2.4.1

This release contains bug fixes and improvements for Kirby 2.4.0.
It is strongly recommended to upgrade to Kirby 2.4.1.


  • Added Korean translation
  • Updated Swedish translation
  • Fixed broken visible/invisible switch
  • Fixed wrong logout link in user profiles
  • Append CSRF with $.ajaxPrefixer as string if source data is a string
  • Prevented changing visibility of error page in pages view
  • Better error handling in the panel
  • Hide other users in list if is set to current user only
  • Fixed bug on Cyrillic slug generation
  • Fixed hook
  • Fixed hook
  • Fixed invalid redirect URL after deleting a page file
  • Fixed invalid redirect URL after deleting a site file
  • Fixed broken "Edit" button in pages widget, when subpages are deactivated in the site.yml blueprint


  • Fixed a bug where hooks that were declared by function name would throw an error
  • Fixed endless loop when the default template is missing
  • Fixed wrong blur flag on thumbnails without applied blur factor
  • Tinyurls now work again in multi-language setups (introduced in 2.4.0)
  • Whoops can now be disabled:
    c::set('whoops', false);
  • Fixed "Invalid route or request method" error on multilang installations without a language at the root
  • Fixed plugin assets on multilang installations
  • Params and query strings on the homepage are now preserved when language detection is enabled for multilang installations


  • Fixed double-obfuscation of email addresses
  • str::slug($string, $separator = '-') now accepts an empty string as separator.
  • Fixed collection sorting for Cyrillic and Korean languages.
  • Fixed broken HTTP Link headers in remote class
  • Option for html::attr($name, $value = null) to pass attributes which will not be escaped automatically:
      'unescaped' => [
        'value'  => 'my unescaped attribute',
        'escape' => false
  • Allow custom session fingerprinting to avoid session invalidation in environments, where IP addresses or User Agents change often.
    s::$fingerprint = function() {
      return 'custom fingerprint';

Our partners

CDN by KeyCDN Search by Algolia