3.6.0-beta.2
Pre-release
Pre-release
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-paste.mp4
New block formats in the writer field (heading, bulletList, orderedList) #3449
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 newsanitize()
andsanitizeFile()
methods that will apply the same rules asvalidate()
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 onsite
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 newToolkit\Dom
class - The
Sane\Svg::$allowedNamespaces
attribute now expects namespace reference names as the array keys instead of full attribute names (soxmlns:xlink
should become justxlink
andxmlns
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