🎉 Features
- Kirby query language gains new functionalities: #4854 (thanks to @adamkiss for his help with regex on this)
- Optional chaining:
page('note').cover.toFile?.url
does not crash anymore when no cover file is present, but returns null
- Simple comparisons: support for
a ? b : c
, a ?: c
and a ?? b
- New hook:
page.render:before|after
: https://kirby.nolt.io/419
- New language hooks: https://kirby.nolt.io/419
language.create:before|after
: It is triggered when a new language is created.
language.update:before|after
: It is triggered when the language is updated.
language.delete:before|after
: It is triggered when the language is deleted.
- Added a new option
'content.uuid' => 'uuid-v4'
to switch the built-in UUID generator to UUID v4 mode #4868
- New Mastodon icon.
✨ Enhancements
- Adds a plus button to the blocks field. When there are no blocks, or when the maximum amount of blocks is reached, the button is not visible. (by @wiegertschouten) #4858
- Documents that the function
Uri::domain()
might contain the auth and port parts, by explicitly mentioning them in the docblock. #4846
- Stats section
info
prop can be translated #4840
🐛 Bug Fixes
- Fixed right and left join in Query class #4812
- Fixes multiselect field when no options for a value #4848
- Fixes duplicating UUIDs for children and its files #4864
☠️ Deprecated
- Vue: Usage of
v-model
on all Kirby components (and in general) has been soft-deprecated (no consequences yet, but strongly recommend to avoid it/move away from it). Use :value="" @input=""
instead, e.g.
// before
v-model="myValue"
// now
:value="myValue"
@input="myValue = $event"
♻️ Refactoring
- Replaced many classname strings with
::class
notation fro better IDE support #4826
- Get rid of more unnecessary else statements #4811
- PHP 8: clean up
Database
package #4812
- Vue: use imported
set()
, del()
#4817
- Vue: Get rid of
$children
usage #4818
- Vue: Remove importing Vue globally as much as possible #4820
- Vue: register e.g. component instead via Vue plugin that receives app instance in Vue 3 (in Vue 2.7 still global Vue) #4820
- Order-sensitive
v-bind
usage #4819
- Replaced all
v-model
occurrences with :value="value" @input="value = $event"
, due to https://v3-migration.vuejs.org/breaking-changes/v-model.html #4822
- PHP 8.2 prep: fix partial callables #4889