Skip to content

3.6.0-beta.1

Pre-release
Pre-release
Compare
Choose a tag to compare
@bastianallgeier bastianallgeier released this 22 Sep 08:09
4681e6d

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:

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 the text property
  • The k-dropdown-content component is now compatible with our dynamic Fiber dropdowns. You can pass a string for the options 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 uses Str::safeTemplate() instead of Str::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 the info 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 and image: 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 to panel/src/component/Forms/Blocks
  • Moved panel/src/component/Writer to panel/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" />.