Changes since beta.1
Beta 2 includes all patches from 5.6.2
✨ Enhancements
- Show loading empty state instead of skeleton in list fields #8646
- Allow plugins to extend lazy-loaded components. Since
k-writer-inputloads ProseMirror on demand (6.0.0-beta.1), it is registered as an async component. Plugins usingextends: "k-writer-input"got the async wrapper instead of the actual component. Plugin components that extend a lazy-loaded component now become lazy themselves. They get resolved once the parent has loaded, soextends: "k-writer-input"works again without workarounds.panel.plugins.componentsstill holds the plain options object, so kirbyup's HMR keeps working. #8657
🐛 Bug fixes
- Using lowercase names for Panel chunks
FormDialog/FormDrawersent an emptyvalueas[]. But PHP encodes an empty array as a JSON array. So the actual input in Vue ended up as a named property on an array, andJSON.stringifydrops that.::props()methods now castvalueto an object, soprops()['value']is astdClasson the PHP side. #8652- Dialog text now has a real gap to the fields below it. #8654
- Open site preview from the preview page tree #8642
- Fixed select and reset color options in the color field #8661
- Link field no longer just shows an [x] for a page or file that no longer exists #8651
k-inputandk-collapsibleno longer call listeners like@keydowntwice. #8671Kirby\Cms\LazyCollection::data()loads all elements before returning them, e.g.$kirby->users()->data()no longer returns an empty array. #8635- Paginating or filtering a list of pages or files no longer creates fake unsaved changes #8688
New changes for the final release
🎉 Features
panel.request()has a newexternaloption to send plain requests to third-party URLs. #8658
✨ Enhancements
k-tagsupports color themes (positive,negative,notice,warning,info) as tinted tags #8662- Panel request routes accept
GETandPOSTrequests by default. #8659 - Pages, files and users fields keep entries whose page, file or user doesn't exist (anymore). #8663
- New
Kirby\Panel\Ui\Item\MissingItemclass #8663 - New
panel.act()method to act on themessage,event,redirectandreloadkeys of a response. #8660 - Dialog and drawer responses can skip the view reload with
reload: false. #8660
🔒 Security hardening
- The Panel checks the CSRF token for all its routes but views: dialogs, drawers, dropdowns, searches and request routes. #8659
🚨 Breaking changes
- Plugins that call Panel dialogs, drawers, dropdowns, searches or request routes with their own
fetch()have to send the CSRF token in theX-CSRFheader (panel.system.csrf).panel.get(),panel.post()andpanel.request()already send it. #8659 - Removed code that has been deprecated since Kirby 5 and earlier
- Removed deprecated
Kirby\Toolkit\Iterator::key(),Kirby\Toolkit\Iterator::current(),Kirby\Toolkit\Iterator::prev(),Kirby\Toolkit\Iterator::next(),Kirby\Toolkit\Iterator::rewind()andKirby\Toolkit\Iterator::valid(). Loop over collections withforeachor useKirby\Toolkit\Collection::first(),Kirby\Toolkit\Collection::last()orKirby\Toolkit\Collection::nth()instead. Remaining calls like$collection->current()don't throw an error: CMS collections (e.g.Kirby\Cms\Pages) returnnull,Kirby\Toolkit\Collectionreturns the element with the keycurrent(ornull). - Removed deprecated
Kirby\Cms\LazyCollection::current(),Kirby\Cms\LazyCollection::next()andKirby\Cms\LazyCollection::prev(). Kirby\Cms\LazyCollection(e.g.Kirby\Cms\Users) no longer loads all elements before calling a custom collection method. Inside custom methods, the$this->dataproperty can be empty or containnullvalues. Use$this->data(),foreachor other collection methods, or call$this->hydrate()first.Kirby\Filesystem\Dir::index()no longer acceptsnullfor the$ignoreargument. Pass an array of absolute paths, orfalseto disable theKirby\Filesystem\Dir::$ignorelist.Kirby\Http\Router::find()no longer acceptsnullfor the$ignoreargument. Pass an empty array instead.panel.dialog.successEvents(),panel.dialog.successNotification()andpanel.dialog.successRedirect()have been removed, as have the same methods onpanel.drawer. Usepanel.act()instead. #8660
- Removed deprecated