✨ Enhancements
- Kirby query improvements #4626
- New default entries/functions for queries:
kirby
,collection("your-collection")
,page("blog")
,file("blog/test.pdf")
,site
,user("homer")
,t("your.i18n.key")
- Support for closures as query arguments:
site.myLazyFunction(() => site.children)
- no support for parameters or others, only as lazy-calling measure
- New default entries/functions for queries:
- Support for YouTube Shorts video URLs #4791
- UUIDs are now supported as API fields for pages, files and users #4810
🐛 Bug Fixes
- User fields work correctly when user(s) not found #4797
- Fixed duplicated UUIDs for pages and files when copying/duplicating pages #4831
☠️ Deprecated
- New
Kirby\Query
namespace with newKirby\Query\Query
class (to be used going forward for queries). OldKirby\Toolkit\Query
class has been deprecated and will be removed in Kirby 3.10.0. UseKirby\Query\Query
instead, e.g.Query::factory($query)->resolve($data)
. #4626new Query($query, $data)
: Passing$data
to constructor will be deprecated. Use(new Query($query))->resolve($data)
instead.Query::result()
will be deprecated. Use$query->resolve($data)
instead.