github getkirby/kirby 6.0.0-beta.3

pre-release6 hours ago

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, count or date) #8715
  • Kirby\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() returned false)
  • Kirby\Toolkit\V::date() with a null operator now checks the date on its own.
  • Kirby\Toolkit\V::input() keeps % in validation messages.
  • Kirby\Toolkit\V::maxLength() and Kirby\Toolkit\V::minLength() no longer trigger a PHP deprecation for null values.
  • Kirby\Toolkit\A::fill() and Kirby\Toolkit\A::keyBy() no longer call strings as callables, use a closure instead #8715
  • false in a structure field's columns now hides the column instead of showing it with default settings. A string in a field's columns sets 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 $options argument from new Kirby\Text\KirbyTag(), Kirby\Text\KirbyTag::parse() and Kirby\Text\KirbyTags::parse(). Pass debug: true to Kirby\Text\KirbyTags::parse() instead. $debug is now its third argument.
  • Kirby\Cms\Permissions::for() requires a $category string, does not allow null.
  • Kirby\Cache\Cache::enabled() is abstract. Custom cache drivers that extend Kirby\Cache\Cache directly must implement enabled(): bool. #8734
  • Removed Kirby\Toolkit\Component #8735
  • Kirby\Cms\Responder::json() now has the native return type static instead of static|string.
  • Kirby\Form\Validations::boolean(), ::date(), ::email(), ::max(), ::maxlength(), ::min(), ::minlength(), ::option(), ::options(), ::pattern(), ::required(), ::time() and ::url() now return void instead of true. They still throw an InvalidArgumentException when 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(), use Kirby\Panel\Ui\Item\FileItem instead
    • Kirby\Panel\Page::dropdownOption(), use Kirby\Panel\Ui\Item\PageItem instead
    • Kirby\Panel\User::dropdownOption(), use Kirby\Panel\Ui\Item\UserItem instead
    • Kirby\Panel\Site::dropdownOption() and Kirby\Panel\Model::dropdownOption(), use the Kirby\Panel\Ui\Item\ModelItem classes instead
    • Kirby\Cms\Responder::markVolatileHeader(), use $responder->volatileHeaders()->mark($name, $values) instead.
    • Kirby\Text\KirbyTag::option() and Kirby\Text\KirbyTag::$options, use $tag->kirby()->option() instead.
    • Kirby\Email\Body::clone() and Kirby\Email\Email::clone()

Panel

  • Removed the deprecated <k-writer> alias. Use <k-writer-input> instead.
  • Removed deprecated restoreSelectionCallback() from <k-textarea-input>. Use restoreSelection() instead.
  • Removed deprecated methods from <k-writer-input>: createMarksFromPanelPlugins(), createNodesFromPanelPlugins() and filterExtensions(). 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-size instead
    • -bg-pattern: use -pattern instead
    • -theme, -theme-light, -theme-bg: use -theme-color-700 and -theme-color-500 instead

☠️ Deprecated

  • ::pickerData() in Kirby\Panel\Model, Kirby\Panel\File, Kirby\Panel\Page and Kirby\Panel\User have been deprecated, use ::item() of Kirby\Panel\Controller\Dialog\ModelPickerDialogController, Kirby\Panel\Controller\Dialog\FilePickerDialogController, Kirby\Panel\Controller\Dialog\PagePickerDialogControlleror Kirby\Panel\Controller\Dialog\UserPickerDialogController instead

🧹 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: placeholder and icon options work again #8736
  • Date, time, list and writer fields: after and before options work again
  • Toggles field: the resettable option is called reset again, 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 pagelist and filelist fields 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: fields now work as expected instead of copying the whole block or opening the block pasteboard dialog. #8743

Don't miss a new kirby release

NewReleases is sending notifications on new releases.