Note
You can find the full changelog and docs for Kirby 6 over here: https://getkirby.com/releases/6
🚨 Security
- Updated Symfony YAML library
✨ Enhancements
- New
$users->findByEmail()method to find a user only by email address #8757
🐛 Bug fixes
Kirby\Toolkit\A::keyBy()always plucks string keys, even if they are also names of PHP functions (e.g.key,countordate) #8715Kirby\Data\Txt::encode()no longer rounds integers with more than 14 digits- The move dialog no longer greys out the site as a target for top-level pages (
Kirby\Cms\Page::isMovableTo()returnedfalse) Kirby\Toolkit\V::date()with anulloperator now checks the date on its own.Kirby\Toolkit\V::input()keeps%in validation messages.Kirby\Toolkit\V::maxLength()andKirby\Toolkit\V::minLength()no longer trigger a PHP deprecation fornullvalues.Kirby\Toolkit\A::fill()andKirby\Toolkit\A::keyBy()no longer call strings as callables, use a closure instead #8715falsein a structure field'scolumnsnow hides the column instead of showing it with default settings. A string in a field'scolumnssets the column label, e.g.title: Headline.- Reserved slugs (
api,assets,media,panel) are also blocked when Kirby is installed in a subfolder #8746
🚨 Breaking changes
Core
- Removed the deprecated
$optionsargument fromnew Kirby\Text\KirbyTag(),Kirby\Text\KirbyTag::parse()andKirby\Text\KirbyTags::parse(). Passdebug: truetoKirby\Text\KirbyTags::parse()instead.$debugis now its third argument. Kirby\Cms\Permissions::for()requires a$categorystring, does not allownull.Kirby\Cache\Cache::enabled()is abstract. Custom cache drivers that extendKirby\Cache\Cachedirectly must implementenabled(): bool. #8734- Removed
Kirby\Toolkit\Component#8735 Kirby\Cms\Responder::json()now has the native return typestaticinstead ofstatic|string.Kirby\Form\Validations::boolean(),::date(),::email(),::max(),::maxlength(),::min(),::minlength(),::option(),::options(),::pattern(),::required(),::time()and::url()now returnvoidinstead oftrue. They still throw anInvalidArgumentExceptionwhen validation fails.- Logging in (password, code, password reset and API basic auth) only accepts the user's email address. User ids and UUIDs are no longer accepted. #8757
- Removed deprecated methods:
Kirby\Panel\File::dropdownOption(), useKirby\Panel\Ui\Item\FileIteminsteadKirby\Panel\Page::dropdownOption(), useKirby\Panel\Ui\Item\PageIteminsteadKirby\Panel\User::dropdownOption(), useKirby\Panel\Ui\Item\UserIteminsteadKirby\Panel\Site::dropdownOption()andKirby\Panel\Model::dropdownOption(), use theKirby\Panel\Ui\Item\ModelItemclasses insteadKirby\Cms\Responder::markVolatileHeader(), use$responder->volatileHeaders()->mark($name, $values)instead.Kirby\Text\KirbyTag::option()andKirby\Text\KirbyTag::$options, use$tag->kirby()->option()instead.Kirby\Email\Body::clone()andKirby\Email\Email::clone()
Panel
- Removed the deprecated
<k-writer>alias. Use<k-writer-input>instead. - Removed deprecated
restoreSelectionCallback()from<k-textarea-input>. UserestoreSelection()instead. - Removed deprecated methods from
<k-writer-input>:createMarksFromPanelPlugins(),createNodesFromPanelPlugins()andfilterExtensions(). Use$helper.writer.availableMarksFromPlugins(),$helper.writer.availableNodesFromPlugins()and$helper.writer.filterExtensions()instead. - Removed deprecated CSS properties:
-container-field-input-padding,-field-input-height,-field-input-line-height,-field-input-font-size: use-input-padding,-input-height,-input-leading,-input-font-sizeinstead-bg-pattern: use-patterninstead-theme,-theme-light,-theme-bg: use-theme-color-700and-theme-color-500instead
☠️ Deprecated
::pickerData()inKirby\Panel\Model,Kirby\Panel\File,Kirby\Panel\PageandKirby\Panel\Userhave been deprecated, use::item()ofKirby\Panel\Controller\Dialog\ModelPickerDialogController,Kirby\Panel\Controller\Dialog\FilePickerDialogController,Kirby\Panel\Controller\Dialog\PagePickerDialogControllerorKirby\Panel\Controller\Dialog\UserPickerDialogControllerinstead
🧹 Housekeeping
- Started using Kirby PHP CS ruleset for our PHP code style
- Updated JS and PHP dependencies
- Updated translations
Since beta.2
🚨 Security
items/*request endpoints do no longer accept queries from user input (thx @DevxDre)
🐛 Bug fixes / Regressions
- Line blocks no longer break the blocks field
- Textarea field:
placeholderandiconoptions work again #8736 - Date, time, list and writer fields:
afterandbeforeoptions work again - Toggles field: the
resettableoption is calledresetagain, as in Kirby 5 - Fixed string defaults for fields that store lists or booleans. #8740
- Default new users to the first creatable role #8687
- Table columns in
pagelistandfilelistfields now show the field's form value when the column key differs in case from the field name. #8710 - Copy and paste in fields of blocks with
preview: fieldsnow work as expected instead of copying the whole block or opening the block pasteboard dialog. #8743