🚀 A new era: Kirby 4 Get to know
Skip to content

Deprecated

Core

  • Files in a plugin's assets directory are now always assumed to be public, independent of their file extension. If your plugin needs to store other files in the assets directory, please use the new assets extension to explicitly define the public assets.
  • Passing a single space as value to Xml::attr() (with the intention to generate an attribute with an empty value) has been deprecated in favor of passing an empty string.
  • Kirby\Cms\Model: Use Kirby\Cms\ModelWithContent instead
  • Kirby\Email\Email::clone() and Kirby\Email\Body::clone()
  • Page::isReadable(): Use Page::isAccessible() instead
  • The name query should not be used for custom API endpoints anymore, it will be used for the Kirby QL (KQL) plugin/core implementation
  • Internal $model->contentFile(), $model->contentFiles(), $model->contentFileDirectory(), $model->contentFileExtension() and $model->contentFileName() methods have been deprecated and will be removed in v5.

Panel

  • Custom icons using a 16x16 viewbox have been deprecated. In an upcoming version, Kirby will only support custom icons with a 24x24 viewbox by default. If you want to continue using icons with a different viewport, please wrap them in an <svg> element with the corresponding viewBox attribute.
  • Icons circle-outline, heart-outline and star-outline: Use circle, heart and star instead
  • this.$events: Use this.$panel.events instead
  • this.$panel.events.$on: Use this.$panel.events.on instead
  • this.$panel.events.$off: Use this.$panel.events.off instead
  • this.$panel.events.$emit: Use this.$panel.events.emit instead
  • this.$store.dispatch("isLoading"): Use this.$panel.isLoading instead
  • this.$translation: Use this.$panel.translation instead
  • this.$store.dispatch("dialog"): Use this.$panel.dialog.open and this.$panel.dialog.close instead
  • this.$store.dispatch("drag", drag): Use this.$panel.drag = drag instead
  • k-dropdown: Use k-dropdown-content as standalone instead
  • k-calendar was renamed to k-calendar-input; k-calendar is still available but only as deprecated alias.