Skip to content

3.8.3

Compare
Choose a tag to compare
@bastianallgeier bastianallgeier released this 06 Dec 14:38
· 4819 commits to main since this release
41719bd

🎉 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 : ca ?: c and a ?? b
  • New hook: page.render:before|afterhttps://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

blocks

  • 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