🎉 Features
Allow setting the page cache expiry from controllers #3246 #3292
- New
$kirby->response()->cache(false)
method that can be used to completely disable Kirby's page cache from controllers or templates - It is now also possible to set the page cache expiry timestamp from controllers or templates:
$kirby->response()->expires(1234567890); // timestamp
$kirby->response()->expires(60); // minutes
$kirby->response()->expires('2021-12-31');
video
KirbyTag supporting local and remote videos #3104
Supports local videos, YouTube and Vimeo with a completely overhauled video tag.
New Attributes:
- autoplay
- controls (default:
true
) - loop
- muted *
- poster
- preload (
auto
,metadata
,none
)
* The video will automatically be muted if autoplay
is activated and the muted
option is not defined
Usage:
# local
(video: local-video.mp4)
# remote
(video: https://www.getkirby.com/sample-video.mp4)
# example 1
(video: local-video.mp4 autoplay: true)
# example 2
(video: local-video.mp4 controls: false autoplay: true loop: true)
# example 3
(video: local-video.mp4 poster: cover.jpg)
# example 4
(video: local-video.mp4 preload: auto)
# example 5
(video: https://www.getkirby.com/sample-video.mp4 muted: true controls: false autoplay: true)
# example 6
(video: local-video.mp4 poster: https://www.getkirby.com/sample-cover.jpg)
Other features
- The
$kirby->response()->header()
method now accepts a new third$lazy
param. If set totrue
, an already set header is not overridden. #3292 - Blocks: New
$block->excerpt()
method #3196
Enhancements
- All pages that rely on Kirby's session are now automatically excluded from Kirby's page cache and from the browser and intermediary caches #3292
- When setting cache values, you can now define an absolute expiry timestamp instead of the number of minutes. The number of minutes is still supported and auto-detected. #3246
- The email auth challenge now uses the user's language, the configured
panel.language
or site default language for the email text (in that order) #3294 - Slots for the
ListItem
component #3217 Topbar
: Configurable menu entry for views #3206- Editor → Blocks conversion of paragraph no longer lacks
<p>
#3210 - Support HTML tags on list items text attribute #3200
- Blocks field: new delete button inside the drawer #3180
- Blocks field: fixed inconsistencies in max items behaviour #3179
- Better login error message in debug mode "Passwords do no match" #3165
- FileCache: Now cleans up empty directories on
remove()
#3162 - Handling of fatal Exceptions #3154
- Updated pull request template #3286
- Updated Composer dependencies #3280
- In-code UI component documentation #3175
Refactorings
- Fixed
Form\OptionsQuery
prop types #3283 - Use shared Laminas escaper instance #3274
- Fixed file permissions #3258
- Updated docblocks for
esc()
helpers/methods #3254 esc()
helper: Remove unused$strict
param #3252- Removed duplicated
jp2
file extension forF
class #3253 - Improved
Structure/StructureObject
parameter docs #3251 - Added
Languages::__construct()
parameter description #3249 - Fixed doc blocks for field methods #3229
- Fixed and extended doc blocks and parameter hinting #3223
- Fixed return types:
$this
,static
andself
#3167 - Deprecated: improved docs and warnings #3166
Fixes
- Fixed the default sender domain for the email auth challenge if the site URL contains a path #3294
- Video block now saves captions correctly #3264
- Using dynamic query language values for API option URLs in blueprints no longer fails #3260
- Layout field: the link title is no longer deleted when leaving a page and returning #3255
- The
$ignore
parameter inDir::copy()
is now passed down in recursive calls #3243 - Whoops now handles custom HTTP codes from exceptions correctly #3237
- Links no longer overflow in disabled structure fields #3227
- Fixed error when clicking on non-translatable files field in second language #3220
- Duplicating a page with an empty URL appendix is no longer possible #3214
- Fixed date validation bug in
invalid()
helper #3208 - Fixed error message on empty URL appendix #3205
- Blocks writer preview does now apply field props #3145
- Added missing nodes prop for writer field #3144
- Writer & list field: fixed issue with the revert bar after focusing a new field #3126
- List Items no longer get saved with
<p>
-tags in list-block #3086 - The toolbar of the writer field no longer overflows in the drawer #2971
Stats
- 141 commits
- 73 closed issues and PRs
- Contributors: @afbora, @bastianallgeier, @distantnative, @lukasbestle, @pine3ree @pReya (alphabetical order)