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
Extensible areas, dialogs, dropdowns and searches
It's now possible to extend or replace every important aspect of our backend and frontend logic for the Panel. You can have your own page search, your own dialogs and even your own dropdowns for files, pages or users. Add options, fields or entire new views. It's pretty magical.
You can find more in our docs:
- http://getkirby.com/releases/3.6/fiber/areas
- http://getkirby.com/releases/3.6/fiber/dialogs
- http://getkirby.com/releases/3.6/fiber/dropdowns
- http://getkirby.com/releases/3.6/fiber/search
New icons
We've extended our icon set for the Panel significantly: http://getkirby.com/releases/3.6/features/icons
- audio
- crop
- display
- flag
- food
- grid
- grid-bottom
- grid-bottom-left
- grid-bottom-right
- grid-full
- grid-left
- grid-right
- grid-top
- grid-top-right
- grid-top-left
- h1
- h2
- h3
- h4
- h5
- h6
- heart-outline
- info
- images
- mobile
- order-alpha-asc
- order-alpha-desc
- order-num-asc
- order-num-desc
- paypal
- pin
- pipette
- play
- print
- qr-code
- server
- shuffle
- sitemap
- star-outline
- sun
- table
- tablet
- text-center
- text-justify
- text-left
- text-right
- tiktok
New Panel features
- The
toggle
field now supports the query syntax in thetext
property - The
k-dropdown-content
component is now compatible with our dynamic Fiber dropdowns. You can pass a string for theoptions
prop and the component will automatically load the matching Fiber dropdown defined in PHP.
<k-dropdown-content options="my/custom/dropdown" />
will now load the Fiber dropdown defined like this in one of your areas:
Kirby::plugin('custom/dropdown', [
'areas' => [
'custom' => [
'dropdowns' => [
'my/custom/dropdown' => function () {
return [
[
'icon' => 'trash',
'text' => 'Delete',
'link' => '/go/some/where'
]
];
}
];
]
]
]);
New core security features
- New
Str::safeTemplate()
method that escapes HTML from all regular query placeholders, allows HTML with new{< site.myMethodWithHtml >}
syntax - New
$model->toSafeString()
method that usesStr::safeTemplate()
instead ofStr::template()
Enhancements
- Better string template parsing in block labels #3661
- The video block is now more privacy friendly by creating embeds with the "do not track" option
- The page position field is hidden from dialogs when only one option is available
- The sort page option is disabled in the page dropdown when only one option would be available
- Custom iframe attributes are now allowed in the video helper
- Improved plugin asset resolver #2422
- The
RadioInput
component now supports (escaped) HTML in theinfo
property for radio options. - Config file for slug field #3610
Fixes
- The
$field->replace()
method no longer returns the model ID for empty fields, instead an empty string is returned as expected. #3652 this.$helper.upload
now correctly uses the method parameter- Fixed writer field email title #3630
- Changing template of a page on a multi-language setup no longer creates content files for untranslated languages #3674
- Video block does now show domain-restricted clips in Panel #3257
- Fixed autofocus option for the blocks field #3681
k-progress
: fixed not updating when value prop changed- Fixed opening blocks that have no fields or no editable #3686
Fixed regressions from 3.6.0-alpha.4
- Fixed storing content in the account view #3665
- The CSS utility classes for text alignment now set the correct CSS custom properties again (
—-align
instead of--algin
) #3641 - Fixed alignment of the sort icon (+ new icon) #3595
- Remove unwanted focus outline on outer panel div #3632
- Fiber search now respects
read: false
#3650 image: false
andimage: icon
options work again in pages and files sections. #3633- Conditional sections with extending fields does work again #3636
- Fixed broken files field upload #3687
- Fix for display error in narrow columns #3689
- Fixed compatibility with Parcel #3628
Refactoring
- Moved
panel/src/component/Blocks
topanel/src/component/Forms/Blocks
- Moved
panel/src/component/Writer
topanel/src/component/Forms/Writer
Deprecations
<k-text align="right">
has been deprecated, use<k-text align="end">
instead
Breaking Changes
- Several blueprint options that use the query syntax were updated to escape the placeholder values against raw HTML output that may lead to XSS attacks. HTML code directly in the query (like
This is <strong>{{ page.important }}</strong>
) still works as normal. If placeholders need to return HTML, you can use the new{< site.myMethodWithHtml >}
syntax. In this case you need to ensure manually that the returned HTML code is safe. With the{{ }}
syntax, Kirby performs the escaping for you. - The
<k-box text="..." />
property is now rendered as plain text by default instead of as HTML code. For the previous behavior use<k-box text="..." :html="true" />
.