Skip to content

3.6.0-beta.2

Pre-release
Pre-release
Compare
Choose a tag to compare
@afbora afbora released this 30 Sep 12:01
152417c

3.6 Beta

To learn more about Kirby 3.6 and the beta phase, check out our dedicated preview site: https://getkirby.com/releases/3.6

🎉 Features

Copy and paste for blocks

It's finally here! You can now copy and paste blocks between block and layout fields and even create blocks from pasted HTML and text.

copy-and-paste

copy-paste.mp4

New block formats in the writer field (heading, bulletList, orderedList) #3449

image (28)

Global options for all Kirbytags #3690

You can now provide default values for all Kirbytag attributes in your config.

return [
    'kirbytext' => [
        'video' => [
            'class' => 'video',
        ],
        'image' => [
            'imgclass' => 'margin-5'
        ],
        'link' => [
            'rel' => 'nofollow'
        ],
    ]
];

🥳 That's not all the features

  • New paragraph icon
  • New Toolkit\Dom class that allows to parse, modify and sanitize DOM-based documents (XML and HTML)
  • The Sane classes now have new sanitize() and sanitizeFile() methods that will apply the same rules as validate() but directly modify the input string/file so it is valid afterwards
  • New Sane\Html class for validating and sanitizing HTML files or HTML snippets
  • New $file->sanitizeContents() method

✨ Enhancements

  • Unit tests for remaining Fiber changes #3406
  • Improved fiber error handling for dialogs and dropdowns
  • Added server-side sanitization in the writer field on field changes for extra security against XSS attacks
  • Improved error messages for file validation/sanitization errors (Sane classes)
  • The Sane classes now have proper XML namespace support so that custom namespace prefixes are properly detected

🐛 Fixes

  • Fix overlay/dialogs/drawers on back navigation #3704
  • Login with invalid password now sends a 401 in debug mode #2856
  • Inconsistent return types between Query class insert method and shortcut Db::$queries['insert'] have been fixed #3140
  • Added fallbacks for deprecated CSS classes #3706
  • Confirming empty password dialog no longer throws error #3716
  • Changing the slug of a page with an irrelevant .lock file no longer causes PHP to completely hang #2516
  • The panel now sets the correct default language in multi language projects: #3647
  • Fix inner join queries #2501
  • Support for multi-line tags #3614
  • Fixed saving nested structure fields without click OK button #2550
  • Top-level pages with a slug called files will no longer create havoc #3187

🐛 Fixes regressions from 3.6.0-beta.1

  • Blocks in layouts can be edited again without problems #3699
  • Toggle field without text prop on site working again #3696
  • When debug is set to false and there is no longer just one blueprint available #3644
  • Fixed links and icons broken in unsaved changes dialog #3709
  • Fixes minLength typo on checkboxes validations #3726

♻️ Refactoring

  • Refactored async code to async/wait #3694

⚠️ Breaking Changes

  • The public static configuration attributes of the Sane classes have been renamed for consistency with the new Toolkit\Dom class
  • The Sane\Svg::$allowedNamespaces attribute now expects namespace reference names as the array keys instead of full attribute names (so xmlns:xlink should become just xlink and xmlns should become an empty string)
  • The Sane\Svg::$allowedTags attribute (before $allowedElements) now is an associative array with the allowed attributes for this tag as the value